Topic for #qi-hardware is now Copyleft hardware - http://qi-hardware.com | hardware hackers join here to discuss Ben NanoNote, atben / atusb 802.15.4 wireless, and other community driven hw projects | public logging at http://en.qi-hardware.com/irclogs
phirsch_ has quit [Excess Flood]
phirsch has joined #qi-hardware
Ayla has quit [Quit: dodo]
xiangfu has joined #qi-hardware
phirsch_ has joined #qi-hardware
cladamw has joined #qi-hardware
phirsch has quit [Ping timeout: 252 seconds]
rejon has joined #qi-hardware
GNUtoo-desktop has quit [Quit: [INFO] fsogsmd : received signal -11, exiting.]
Openfree` has quit [Remote host closed the connection]
Openfree` has joined #qi-hardware
cladamw has quit [Quit: Ex-Chat]
cladamw has joined #qi-hardware
<wpwrak>
cladamw: heya ! i have a new idea for things like QFP
<cladamw>
wpwrak, good morning ! yes.
<wpwrak>
cladamw: i found IPC 7351. they have actually very nice formulas for going from the package definition to footprints
<wpwrak>
so instead of defining the footprint parameters directly, we could probably just calculate them from the package parameters
<wpwrak>
that should avoid all the ugly guesswork
<wpwrak>
also, 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.
<wpwrak>
these variations may explain why we get so different patterns from different companies, even though all claim to use exactly the same standards
<wpwrak>
doing 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.
<wpwrak>
so i'm not sure if it makes sense for you to work on qfp.fpd at the moment, since it should become obsolete very soon
<wpwrak>
(well, not entirely obsolete. but its internal logic would change a lot)
<cladamw>
(obsolete) hmm ... good and also bad. :)
<cladamw>
so Fped will meet IPC 7351 and try to have features with three variations option ?
<cladamw>
will new Fped impact all your existing *.fpd ?
<wpwrak>
(IPC) yes, that's the idea
<wpwrak>
all the old things will still work
<wpwrak>
it'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.
<wpwrak>
have you read the whole README yet ?
<cladamw>
i see, but i think that i still can work on SOIC and else, just later to change a little.
<cladamw>
you committed new info on README ?
<cladamw>
checking ...
<wpwrak>
SOIC may be quite similar to QFP. SSOP certainly will be. so that would come after.
<wpwrak>
yes, there's a bit of new stuff in README
<wpwrak>
lemme push all the changes (the last bit is still incomplete)
<qi-bot>
[commit] Werner Almesberger: test/floor: add two real-life-like rounding problems (mil to mm) (master) http://qi-hw.com/p/fped/9115444
<qi-bot>
[commit] Werner Almesberger: add %iprint, to track variables during instantiation (master) http://qi-hw.com/p/fped/3c39600
<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 way
<cladamw>
a marker like for dip, qfn or qfp is good
<wpwrak>
(marker) but of course, there's the problem that it is hidden when you place the component
<cladamw>
yes, 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. :-)
<wpwrak>
(smt machine) ah, that's interesting. didn't know that
<wpwrak>
maybe we should make it really small then :)
<cladamw>
since a inner marker is useless and smt technician will use fiducial and offset for placing (i.e. smt needs to calibrate offset.) no good.
<cladamw>
wpwrak, no problem ,when i build new *.fpd, I'll always make marker to be outside. :)
<cladamw>
and smaller.
<wpwrak>
regarding 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 density
<cladamw>
aha ... sounds good naming
<wpwrak>
density is how the package parameters get translated to the footprint. A makes a large footprint, B a medium one, C a tiny one
<cladamw>
this three features makes me remembered that om ivorin used C tiny one for phone footprints. :-)
<wpwrak>
yeah, the OM phones were very tightly packed :)
<wpwrak>
now, the new features in fped:
<cladamw>
it was reasonable, but for a referenced-likely plateform hw, an alternative option to choose function in Fped is good direction.
<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 you
<wpwrak>
so you no longer need to go up to the list of packages and synchronize with the table all the time
<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.
<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 2
<wpwrak>
you 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.1mm
<wpwrak>
the nice thing is that it doesn't matter whether X is in mm or mil
<cladamw>
okay.
<wpwrak>
s/the the/get the/
<cladamw>
do i need to update Fped now to use ? or one ~ too days later ?
<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 instead
<wpwrak>
this currently only works in a script, not in the GUI (the GUI should do the right thing, but you can't edit this)
<cladamw>
alright, so i think that i update new Fped once you let me know it's done. :-)
<wpwrak>
this 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 that
<cladamw>
(unfinished feature) that one yes i feel it's nice. I like it. :-)
<wpwrak>
it's basically what is called an "inner join" in relational databases
<cladamw>
btw, do you know that how many people used your Fped so far ?
<cladamw>
(inner join) i can imagine its work. :)
<wpwrak>
it'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 chips
<wpwrak>
the 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 :)
<cladamw>
(inner join) nice "Mapping" method. :)
wej has joined #qi-hardware
<wpwrak>
yeah :) i've been thinking of this for a very long time. and now i finally figured out how to do it :)
<wpwrak>
the 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 :)
<cladamw>
i 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.
xiangfu has quit [Ping timeout: 246 seconds]
<wpwrak>
yes, 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 confusing
xiangfu has joined #qi-hardware
<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 ;)
xiangfu has quit [Ping timeout: 250 seconds]
xiangfu has joined #qi-hardware
xiangfu has quit [Quit: Leaving]
xiangfu has joined #qi-hardware
LunaVorax has quit [Remote host closed the connection]
<qi-bot>
[commit] Werner Almesberger: gui_frame.c: display a question mark before variables used as key (master) http://qi-hw.com/p/fped/326a480
<qi-bot>
[commit] Werner Almesberger: support switching variables between assignment and key (WIP) (master) http://qi-hw.com/p/fped/4c3dea7
rejon has joined #qi-hardware
jurting has joined #qi-hardware
panda|x201 has joined #qi-hardware
cladamw has quit [Ping timeout: 260 seconds]
panda|x201 has quit [Ping timeout: 246 seconds]
jekhor has joined #qi-hardware
cladamw has joined #qi-hardware
xiangfu has quit [Ping timeout: 256 seconds]
panda|x201 has joined #qi-hardware
xiangfu has joined #qi-hardware
rejon has quit [Ping timeout: 246 seconds]
Textmode has quit [Quit: Ex-Chat]
LunaVorax has joined #qi-hardware
<LunaVorax>
Hi everyone
<xiangfu>
LunaVorax, Hi
<viric>
hello
<viric>
hm question about the linux scheduler... what can give a loadavg of 90, and 'top' showing 99% idle?
panda|x201 has quit [Ping timeout: 245 seconds]
methril has quit [Quit: Leaving]
<LunaVorax>
Hi xiangfu
<lindi->
viric: processes in disk sleep
<viric>
they are counted in loadavg? I suspected so.
<lindi->
viric: yes, it is the average number of processes that are not in S state
<viric>
ah, *not in S*
<viric>
I thought it would be in R state
<viric>
lindi-: and if that happens with disk not doing activity? (by HD led)
<lindi->
viric: it can be a bug?
<viric>
I thought so... I dumped the task states, and some were blocked at reiserfs code calling some timeouts or so
<viric>
concurrency bugs in disk code can appear that way in loadavg I imagine
<lindi->
viric: yeah if this is reproducible you might want to test with some other fs
<viric>
not reproducible anymore. moo. :)
<viric>
thank you a lot
<viric>
very enlightening.
Maroni has joined #qi-hardware
<viric>
lindi-: qemu uses 21 threads to do disk IO, for a single VM.
wolfspraul has quit [Quit: leaving]
rejon has joined #qi-hardware
lindi- has quit [Remote host closed the connection]
lindi- has joined #qi-hardware
jivs has joined #qi-hardware
<jivs>
Hello xiangfu,
<xiangfu>
jivs, Hi
<jivs>
Have u had chance to try the updated guile2 on your system?
<jivs>
it should compile fine now. please let me know if there is any issue.
<xiangfu>
jivs, great.
<xiangfu>
jivs, the build host will report that in next ~30 hours. and I am compiling that now.
<jivs>
okay great...
<jivs>
thanks xiangfu for the quick merge
<viric>
do you use guile2 in the nanonote?
<xiangfu>
under nanonote guile is 1.8.7.
jekhor has quit [Ping timeout: 245 seconds]
<xiangfu>
guile2 will included in next release. :)
<viric>
ah ok
<xiangfu>
viric, I only show people that there is guile in Nanonote. I don't know much about guile.
<viric>
my question was more for jivs, I imagined he cares on guile there.
<viric>
some time ago, I helped one guile2 maintainer ensure it works in the nanonote. :)
<viric>
not for openwrt, but for nix, of course
<jivs>
hi viric
<jivs>
guile2 runs in nanonote now
<viric>
in openwrt in the nanonote you mean
<jivs>
it will be included in the next release as xiangfu
<jivs>
yes openwrt
jivs_ has joined #qi-hardware
jivs has quit [Quit: Leaving]
rejon has quit [Ping timeout: 240 seconds]
rejon has joined #qi-hardware
<xiangfu>
I got a configure error: configure: error: building Guile 2.0.5 but `/usr/bin/guile' has version 1.8.8"
panda|x201 has joined #qi-hardware
rejon has quit [Ping timeout: 265 seconds]
rejon has joined #qi-hardware
rejon has quit [Ping timeout: 246 seconds]
<jivs_>
xiangfu: let me rerun that on my system without guile on the host
<jivs_>
it may have bypassed on mine because of that
woakas has quit [Ping timeout: 276 seconds]
xwalk has quit [Ping timeout: 252 seconds]
<cladamw>
wpwrak, 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.