#qi-hardware IRC log for Monday, 2012-05-28

wpwrakcladamw: heya ! i have a new idea for things like QFP01:14
cladamwwpwrak, good morning ! yes.01:15
wpwrakcladamw: i found IPC 7351. they have actually very nice formulas for going from the package definition to footprints01:15
wpwrakso instead of defining the footprint parameters directly, we could probably just calculate them from the package parameters01:15
wpwrakthat should avoid all the ugly guesswork01:16
wpwrakalso, IPC 7351 defines variations of parameters. so for each package, you could get at least three differently sized footprints. of course, fped could also make these three variants.01:17
wpwrakthese variations may explain why we get so different patterns from different companies, even though all claim to use exactly the same standards01:17
wpwrakdoing things this way will benefit from fped having a few new features which i'm adding these days. i think i have solved the nastier bits already, but there's still 1-2 more days of work to do.01:19
wpwrakso i'm not sure if it makes sense for you to work on qfp.fpd at the moment, since it should become obsolete very soon01:20
wpwrak(well, not entirely obsolete. but its internal logic would change a lot)01:20
cladamw(obsolete) hmm ... good and also bad. :)01:20
cladamwso Fped will meet IPC 7351 and try to have features with three variations option ?01:22
cladamwwill new Fped impact all your existing *.fpd ?01:22
wpwrak(IPC) yes, that's the idea01:22
wpwrakall the old things will still work01:23
wpwrakit's just that a few new features will make it a lot easier to construct the things according to IPC7351. for example, i've added a rounding function. and i'm extending the functionality of tables.01:24
wpwrakhave you read the whole README yet ?01:24
cladamwi see, but i think that i still can work on SOIC and else, just later to change a little.01:24
cladamwyou committed new info on README ?01:24
cladamwchecking ...01:24
wpwrakSOIC may be quite similar to QFP. SSOP certainly will be. so that would come after.01:25
wpwrakyes, there's a bit of new stuff in README01:25
wpwraklemme push all the changes (the last bit is still incomplete)01:25
qi-bot[commit] Werner Almesberger: test/floor: add two real-life-like rounding problems (mil to mm) (master) http://qi-hw.com/p/fped/911544401:25
qi-bot[commit] Werner Almesberger: add %iprint, to track variables during instantiation (master) http://qi-hw.com/p/fped/3c3960001:25
qi-bot[commit] Werner Almesberger: introduce keyed tables (?var syntax; WIP) (master) http://qi-hw.com/p/fped/3488cf801:25
qi-bot[commit] Werner Almesberger: test/tsort: fix permission (wasn't excecutable) (master) http://qi-hw.com/p/fped/101bd1101:25
cladamwwpwrak, btw, i don't like the marker inside outline frame.01:25
cladamwwpwrak, sure.01:26
wpwrak(marker) it's a tricky thing. i put it there so that it doesn't get in the way. e.g., if you want to put some pad / TP near the component, then the marker on the silk would get in the way01:26
cladamwa marker like for dip, qfn or qfp is good 01:26
wpwrak(marker) but of course, there's the problem that it is hidden when you place the component01:27
cladamwyes, it's a tricky, but i just like to tell you that smt machine use a outer marker better than inside the area of footprint it picks and places it. :-)01:28
wpwrak(smt machine) ah, that's interesting. didn't know that01:28
wpwrakmaybe we should make it really small then :)01:29
cladamwsince a inner marker is useless and smt technician will use fiducial and offset for placing (i.e. smt needs to calibrate offset.) no good.01:29
cladamwwpwrak, no problem ,when i build new *.fpd, I'll always make marker to be outside. :)01:30
cladamwand smaller.01:30
wpwrakregarding naming, components would have names like QFP32-MS026BBA-B. QFP for the general shape, 32 for the number of pins, MS26BBA for the JEDEC standard that defines the package parameters, and B for the density01:31
cladamwaha ... sounds good naming01:31
wpwrakdensity is how the package parameters get translated to the footprint. A makes a large footprint, B a medium one, C a tiny one01:31
cladamwthis three features makes me remembered that om ivorin used C tiny one for phone footprints. :-)01:33
wpwrakyeah, the OM phones were very tightly packed :)01:34
wpwraknow, the new features in fped:01:35
cladamwit was reasonable, but for a  referenced-likely plateform hw, an alternative option to choose function in Fped is good direction.01:35
wpwrak- first, when you change the current row in a table and if that table influences what package is being defined (like in qfn.fpd or qfp.fpd), then fped will try to automatically select that package for you01:36
wpwrakso you no longer need to go up to the list of packages and synchronize with the table all the time01:36
wpwrak(density) fped would simply generate all the variants. then it's up to designer of the pcb to choose which footprint size they like.01:37
wpwrak- next feature: i added a function called floor(). it rounds its argument to the next lowest integer. e.g., floor(2.1) would be 201:38
wpwrakyou can also use it to do things like rounding to 0.1 mm as follows: given a dimension X, you would the the rounded value with floor(X/0.1mm)*0.1mm01:39
wpwrakthe nice thing is that it doesn't matter whether X is in mm or mil01:39
wpwraks/the the/get the/01:39
cladamwdo i need to update Fped now to use ? or one ~ too days later ?01:40
wpwrak- and the next feature (unfinished): you can tell fped that a column in the table doesn't define a variable but synchronizes with a variable defined elsewhere instead01:40
wpwrakthis currently only works in a script, not in the GUI (the GUI should do the right thing, but you can't edit this)01:41
cladamwalright, so i think that i update new Fped once you let me know it's done. :-)01:42
wpwrakthis mechanism would allow you to do two things: 1) split a large table into multiple tables, and 2) if you have parameters that apply to multiple entires in the table, you can assign a unique key and use that01:42
cladamw(unfinished feature) that one yes i feel it's nice. I like it. :-)01:43
wpwrakit's basically what is called an "inner join" in relational databases01:44
cladamwbtw, do you know that how many people used your Fped so far ?01:44
cladamw(inner join) i can imagine its work. :)01:45
wpwrakit'll be useful for the IPC calculations, because there are sets of parameters that change a bit with chip dimensions, but each set applies to many dimensions. so instead of repeating the set of parameters a dozen times, you'd just have one entry in a separate table and put the index in the table with all the chips01:45
wpwrakthere are examples of the floor() function in the regression tests, here: http://projects.qi-hardware.com/index.php/p/fped/source/tree/master/test/floor01:46
wpwrakand for the tables, a few examples here: http://projects.qi-hardware.com/index.php/p/fped/source/tree/master/test/keys01:46
wpwrakthe syntax ?variable_name in a table means that this column is a key. so in the first example, the first table sets "a" to the values 1 or 2 and in the second table, only the corresponding entries are selected. the end result is a translation from english to german :)01:49
cladamw(inner join) nice "Mapping" method. :)01:51
wpwrakyeah :) i've been thinking of this for a very long time. and now i finally figured out how to do it :)01:53
wpwrakthe implementation is not extremely efficient (fped first produces all the combinations and then rejects the ones that don't match), but modern PC are fast :)01:54
cladamwi thought Fped in the end can generate mostly footprints that industry use then it's enough, in the other hand Fped becomes not only for footprint generations&review purpose, could be also for next your generation tool of 2D or 2.5D ancestor.02:00
wpwrakyes, for simple 2D it's quite nice. for 2.5D, i'm not convinceed. i have a 2.5D design made with fped, but it's a bit confusing02:04
wpwrak(simple 2D) as long as you don't need things like tangents, measure angles, and so on. e.g., making M1 front and rear plates was fun and easy. roh probably suffered a lot more with qcad ;)02:05
qi-bot[commit] Adam Wang: added SOIC footprints: 8, 14 and 16 pins. (master) http://qi-hw.com/p/kicad-libs/f077efe05:54
qi-bot[commit] Werner Almesberger: gui_frame.c: display a question mark before variables used as key (master) http://qi-hw.com/p/fped/326a48005:58
qi-bot[commit] Werner Almesberger: support switching variables between assignment and key (WIP) (master) http://qi-hw.com/p/fped/4c3dea705:58
LunaVoraxHi everyone07:43
xiangfuLunaVorax, Hi07:46
virichm question about the linux scheduler... what can give a loadavg of 90, and 'top' showing 99% idle?07:49
LunaVoraxHi xiangfu 07:54
lindi-viric: processes in disk sleep07:55
viricthey are counted in loadavg? I suspected so.07:56
lindi-viric: yes, it is the average number of processes that are not in S state07:56
viricah, *not in S*07:57
viricI thought it would be in R state07:57
viriclindi-: and if that happens with disk not doing activity? (by HD led)08:14
lindi-viric: it can be a bug?08:14
viricI thought so... I dumped the task states, and some were blocked at reiserfs code calling some timeouts or so08:15
viricconcurrency bugs in disk code can appear that way in loadavg I imagine08:15
lindi-viric: yeah if this is reproducible you might want to test with some other fs08:15
viricnot reproducible anymore. moo. :)08:16
viricthank you a lot08:16
viricvery enlightening.08:16
viriclindi-: qemu uses 21 threads to do disk IO, for a single VM.08:34
jivsHello xiangfu, 09:02
xiangfujivs, Hi09:04
jivsHave u had chance to try the updated guile2 on your system?09:04
jivsit should compile fine now. please let me know if there is any issue.09:05
xiangfujivs, great.09:06
xiangfujivs, the build host will report that in next ~30 hours.  and I am compiling that now. 09:07
jivsokay great...09:07
jivsthanks xiangfu for the quick merge 09:12
viricdo you use guile2 in the nanonote?09:14
xiangfuunder nanonote guile is 1.8.7. 09:29
xiangfuguile2 will included in next release. :)09:30
viricah ok09:30
xiangfuviric, I only show people that there is guile in Nanonote. I don't know much about guile.09:30
viricmy question was more for jivs, I imagined he cares on guile there.09:30
viricsome time ago, I helped one guile2 maintainer ensure it works in the nanonote. :)09:31
viricnot for openwrt, but for nix, of course09:31
jivshi viric09:31
jivsguile2 runs in nanonote now09:32
viricin openwrt in the nanonote you mean09:32
jivsit will be included in the next release as xiangfu 09:34
jivsyes openwrt 09:34
xiangfuI got a configure error: configure: error: building Guile 2.0.5 but `/usr/bin/guile' has version 1.8.8"10:14
jivs_xiangfu: let me rerun that on my system without guile on the host 10:53
jivs_it may have bypassed on mine because of that10:54
cladamwwpwrak, how to use arc in Fped ? center, start and end point, but how to drag ? I found it always a circle. so must be the steps I made wrong.11:04
LunaVoraxOh seriously guys11:04
LunaVoraxPiwik stats on http://en.qi-hardware.com/wiki/Piwik_stats requires flash?11:04
wpwrakcladamw: yo ufirst make a circle. then you drag the radius point13:10
cladamwwpwrak, hehe ... i just knew how to use it already but thanks. :-)13:11
wpwraki guessed at much :)13:13
qi-bot[commit] Adam Wang: ir.fpd: added IR receiver footprint (master) http://qi-hw.com/p/kicad-libs/e92838c13:17
cladamwwpwrak, I've not named a good name for this IR, still gaved a TSOP348 same from Vishay's series. we can rename it later. :-)13:19
cladamwtomorrow's work to edit JS28F256J3F105 footprint TSOP-56 and TO-252, etc. :)13:22
cladamwwpwrak, i go off line. 88613:23
qi-bot[commit] Werner Almesberger: fix whitespace anomalies (master) http://qi-hw.com/p/fped/f2d398615:16
qi-bot[commit] Werner Almesberger: make variable type changes also commit the value (name) being edited (master) http://qi-hw.com/p/fped/5d76af215:16
viricmth: I think the mplayer "-vo v4l2" expects a hw mpeg decoder at its end15:30
mthit doesn't check capabilities and settle for just YUV decoding if that's all that is available?15:33
viricI don't think so. the docs specify mpeg decoder.15:34
viricwhat about 'vidix'?15:34
virichm isn't vidix what dvdk used?15:36
viricI can't remember15:36
viricvidix looks like a very old thing15:36
mthI haven't looked into dvdk's code yet, I've only heard it described15:37
viricmth: I just found http://gumstix.8.n6.nabble.com/DSS2-Patches-V4L2-Video-Drivers-td652897.html15:42
viricunrelated hw, but seems to do something with v4l215:42
mthit mentions overlays, but it's hard to make out more without deeper study15:45
viricit's about using a TI omap as display afaiu15:45
viricas some image processing unit15:46
viricbut with v4l2 interface15:46
viricI'd like to know what userland tools they have, sending to it15:46
qi-botThe build was successful: http://fidelio.qi-hardware.com/~xiangfu/build-nanonote/openwrt-xburst.full_system-20120527-1148 17:41
--- Tue May 29 201200:00

Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!