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
rejon_ has quit [Ping timeout: 252 seconds]
cladamw has joined #qi-hardware
<wolfspraul> wpwrak: did someone else already update the m1 sheet order in schhist?
<wolfspraul> I'm just going through to update to what you wrote but it seems we have that already :-)
cladamw has quit [Quit: Ex-Chat]
<wolfspraul> but strange, in the web view it's different somehow. I will rebuild the history
<wpwrak> yeah. maybe it just wasn't built with the right order yet.
<wolfspraul> rebuilding now
cladamw has joined #qi-hardware
<wpwrak> running a local build too, to compare
xiangfu has joined #qi-hardware
GNUtoo-desktop has quit [Quit: [INFO] fsogsmd : received signal -11, exiting.]
<cladamw> (variable's value undefined) wpwrak if shows up a value is undefined when i used variable to set, but i'm very sure those variables defined in other frame, does this mean a variable in current frame must to referred to its parent frame ?
AwAyla is now known as Ayla
GNUtoo-desktop has joined #qi-hardware
Openfree` has quit [Remote host closed the connection]
Openfree` has joined #qi-hardware
GNUtoo-desktop has quit [Quit: [INFO] fsogsmd : received signal -11, exiting.]
<wpwrak> cladamw: variables are visible in the frame in which they are defined and in all the child frames. they are not visible in frames that are parents of the frame in which the variables are defined.
<cladamw> wpwrak, can i imagine as they child (visible) are local variables for child frame, invisible one are global variables to related parents of frames ?
Ayla has quit [Quit: dodo]
<wpwrak> what i mean is that a variable defined in a frame can be used in that frame and in all child frames. it doesn't exist in frames that are parents of the frame in which it is defined.
<wpwrak> however, those parents may define variables of the same name. but they would be distinct items.
<wpwrak> you could call a variable "global" if it is defined in the root frame. however, that's no different from how all other variables work.
<wpwrak> wolfspraul: 41:20 minutes later ... there's indeed something wrong with the order :-(
<wpwrak> digging ....
<cladamw> wpwrak, interesting ... now i just felt that if a vector C (in B frame) pointed to A frame, if I defined (X, Y) for C, and there's X includes variables in A, then it's okay. If I let vector pointed to C, then shows up X's value is undefined. btw, I need to practice more. :-)
wej has quit [Ping timeout: 272 seconds]
<wpwrak> vectors can't cross frames
<roh> wpwrak: you are developing your own cad now?
<cladamw> yeah ... i meant when i set (X, Y) for a vector. :-)
<wpwrak> roh: just the footprint editor, fped
* roh thinks the world needs better foss cam first ;)
<roh> wpwrak: hrhr.. i see
<wpwrak> roh: but you can use it as CAD as well. for 2D, it's actually pretty good if you don't need overly fancy things. (not that it would be hard to add more features, but i like to keep it simple)
<wpwrak> roh: i'm even experimenting with 2.5D, but i'm less pleased with the results there
<roh> wpwrak: check out 'cambam'
<roh> there is a version which runs on linux now too. its in .net, so mono then
wej has joined #qi-hardware
<cladamw> wpwrak, btw, playing your Fped needs strong Mathematics on: geometry, algebra; and hierarchical conceipts.
<wpwrak> cladamw: see, those long hours at school were good for something ;-)))
<wpwrak> roh: is it open source ?
<roh> wpwrak: sadly not.
<wpwrak> roh: sigh
<roh> wpwrak: the functions heekscad used via heekscam in libkurve and so on are foss
<roh> also stuff like the adaptive roughing algos etc
<roh> so.. the code is there in principle.. but nobody made a reasonable useable app out of it
<wpwrak> roh: meanwhile, cameo (that's my CAM data conditioning system) can now do polygons inside polygons correctly. i'm using CGAL for the tricky offsetting operation.
<roh> i would really like to have somthing which i can use to make gcode from dxf
<roh> defining how the different elements should be used
<wpwrak> cladamw: you should normally not need a log of algebra. but geometry and hierarchy, definitely yes. the main difficulty is in breaking down the reference design in a way that makes sense. the reference drawings have their own logic, but it's never explicitly stated. so you have to first solve that puzzle. after that, making fped produce it is relatively easy.
<cladamw> wpwrak, the 'Variables' section i think you are too busy to introduce it in details -> http://people.openmoko.org/werner/fped/gui.html
<wpwrak> roh: that i have is something that takes gerber/gnuplot and produces gnuplot (and i have a gnuplot to rml-1 converter. shouldn't be too hard to write a gnuplot to g-code converter as well)
<wpwrak> cladamw: yeah, the manual still needs work :) right now, it's more a teaser ...
<roh> wpwrak: well.. i didnt want to go into that low-level you seem to use that much.
<cladamw> wpwrak, yeah ... no problems, i like very much on this tool: easy to figure background knowledges from school and how they( math ) applies in this tool. :-)
<wpwrak> roh: still lacking a nice parametric 3D cad :)
<cladamw> the problems for me now is that I need to get used to each icons and relationships in GUI, etc ...
<roh> i usually design in qcad and then have different steps to test the design (laser in plywood, iterate till fit) and generate gcode from the result of that
<roh> wpwrak: autocad *veg*
<roh> propably also rhino, solidworks and whattheyareallnamed
<wpwrak> roh: my 2.5D is basically a set of layers with Z information. i hacked fped to allow vectors to cross frame boundaries, so one can set up the basic geometry in the root frame and then build on that. but it's not very pretty.
<roh> wpwrak: doesnt help me at all. i need stuff i can work with visually.
<wpwrak> cladamw: (case.fpd is where fped shows its full power ;-)
<wpwrak> roh: the 2.5D stuff is semi-visual. the fped gui can visualize it, but you can't edit everything there at the moment (because of the hacked vectors)
<roh> wpwrak: you know that basically all grown up cad tools do constraint handling as well, right?
<roh> which in the end is nothing but parametric working
<wpwrak> roh: not more than four or five wars at a time ;-)
<roh> hehe
<roh> i still hope somebody will add cam features to librecad at some point (what was qcad once)
<cladamw> wpwrak, what's bacon ?
<cladamw> wpwrak, okay, add its case to my full example. :-)
<wpwrak> cladamw: (get used to icons, etc.) mastering fped is mainly a questions of developing a workflow. like with most other tools. once you made a few footprints, you'll find it easy to make more.
<wpwrak> (bacon) a case design for a small battery-powered device
<roh> We found it out when an Ukrainian hacker sent a message to our mailing list. His English was very poor and we couldn't figure out what he meant until he replied with a code snippet in C.
<roh> wonderful snippet
rlifchitz has joined #qi-hardware
<wpwrak> cladamw: this is what it looks like (with an unpopulated pcb inside, and the bottom side not yet finished): http://downloads.qi-hardware.com/people/werner/tmp/bacon-top.jpg
<wpwrak> wolfspraul: seems that the problem is that i forgot to put FPGA_ before each of the BANKn in SCHHIST_ORDER. rerunning ...
<cladamw> wpwrak, tks. :)
<wpwrak> roh: the role of my "low-level stuff" varies. i the case of 2D, it's mainly machine setup and toolpath generation. the actual design happens in fped or kicad and is reasonably friendly. e.g., this is an fped-made 2D design: http://projects.qi-hardware.com/index.php/p/wernermisc/source/tree/master/m1/case/case.fpd
<wpwrak> roh: for 2.5D, things turn considerably darker, though. for example, here you can see the whole pipeline for that plastic case: http://projects.qi-hardware.com/index.php/p/wernermisc/source/tree/master/bacon/case/Makefile
<roh> wpwrak: hm. well.. i guess my designs are simply some factors more complex then
<wpwrak> the actual toolpath generation and machine setup is pretty straightforward, though: http://projects.qi-hardware.com/index.php/p/wernermisc/source/tree/master/bacon/case/cam.sh
<wpwrak> yeah, if you have complex curves, then fped and such reach their limits
<roh> and my toolpathes have toolchanges in them nowadays.. so i usually have some ops only on parts of the file.
<roh> not even that. but drilling cycles, pockets etc.
<roh> stuff like 'my millhead looks like that, this is what i want to do, and thats how the object looks like to do it on. ah.. and $foo is your safe-height
<wpwrak> i have toolchanges as well. for pcbs, i generate a drill and a mill path. (could be multiple drills, but i try to avoid that)
<wpwrak> my mills are all cylindrical :)
<roh> heh. well.. i have only used the ballmills once now, but they make nice watelines possible
<roh> eh waterline
<wpwrak> what's a waterline ?
<roh> think of you want to mill a riverbed
<roh> and now push everything down below the waterline and slowly let it come up
<wpwrak> non-cylindrical mills could be interesting for undercuts (without rotating the workpiece)
<wpwrak> ah, you mean that you get smoother "steps"
<roh> one can remove material with cylindric ones to save time, but in the end one takes a ball and does zigzag or waterline over the surface to remove material
<cladamw> wpwrak, is it okay to you ? i see a "F" is to define name for Footprint name.
<wpwrak> looks good, yes
<wpwrak> we can later add these things to BOOKSHELF as well, and link them with the N: tag
<cladamw> okay, i see.
rejon_ has joined #qi-hardware
<qi-bot> [commit] Adam Wang: INFO: added tag F: mdip (master) http://qi-hw.com/p/kicad-libs/d18ba26
wolfspraul has quit [Quit: leaving]
rejon_ has quit [Ping timeout: 256 seconds]
rejon_ has joined #qi-hardware
rejon_ has quit [Ping timeout: 276 seconds]
rejon_ has joined #qi-hardware
xwalk has quit [Ping timeout: 265 seconds]
emeb has quit [Quit: Leaving.]
cladamw has quit [Quit: Ex-Chat]
Martix has joined #qi-hardware
xwalk has joined #qi-hardware
<qi-bot> [commit] Werner Almesberger: schhist/schhist2web: correct handling of deferred columns (master) http://qi-hw.com/p/eda-tools/78bcb8d
cladamw has joined #qi-hardware
phirsch__ has joined #qi-hardware
phirsch has quit [Ping timeout: 260 seconds]
rejon_ has quit [Ping timeout: 244 seconds]
jekhor has joined #qi-hardware
jurting has joined #qi-hardware
jluis|work has joined #qi-hardware
<qi-bot> [commit] Adam Wang: mdip.fpd: added. (master) http://qi-hw.com/p/kicad-libs/ba2a95b
<cladamw> wpwrak, just finished my first module by your Fped. :) Not just copy-and-paste art, from zero text to gradually added instances and objects. So pls kindly help to comment it. Meanwhile still learning your some useful 'table' and other magic math.
<cladamw> wpwrak, this one I didn't add any 'measurements' as it's a 'generic' MDIP package for a 'side' = 2 ... 6
<wpwrak> (build from scratch) very good ! let's see how it works ...
<wpwrak> meaurements are a bit tricky. you'll notice that fped doesn't always let you pick the things you want. so this takes a bit of experimenting.
<wpwrak> looks pretty good. it's nicely structured, too
Textmode has quit [Ping timeout: 255 seconds]
wolfspraul has joined #qi-hardware
<wpwrak> wolfspraul: this should do the trick: SCHHIST_ORDER=m1:POWER:FPGA_Dec:FPGA_BANK0:FPGA_BANK1:FPGA_BANK2:FPGA_BANK3:EXPANSION_RESET:DRAM:NOR_FLASH:AUDIO:DVI-I:VIDEO_IN:MISC_CONTROL:ETHERNET:USB_A-B:USB_C-D:USB_E-F:MISC
<wpwrak> wolfspraul: you'll also want to pull the latest eda-tools. there were a few bugs in an earlier change to populate the table, which messed up the columns. if you rebuild, you can run from the cache.
xiangfu has quit [Ping timeout: 240 seconds]
<wpwrak> cladamw: one slight improvement would be to assign pitch*(i-(side-1)/2) to a variable (e.g., x) in the "pins" frame, and then use x in the vector. instead of doing all the calculation there.
<cladamw> wpwrak, tks ! which x ? Doesn't I use math expression ? :-)
<wpwrak> you could add a variable "x" in frame "pins" and assign the value pitch*(i-(side-1)/2) to it
<wpwrak> then the vector that's currently (pitch*(i-(side-1)/2), 0mm) becomes simply (x, 0mm)
<wpwrak> oh, and i would specify the pad sizes in mil, since those components have an imperial heritage
<wpwrak> when you add measurements, you'll see that your land pattern is too narrow
<wpwrak> you can change the unit fped uses when displaying dimensions by clicking on the little white box in the lower right corner
<wpwrak> "mm" and "mil" so what you'd expect. "auto" makes fped look for the simplest value for each dimension, and then pick the corresponding unit
<cladamw> nice remind, i didn't notice there's option to change unit, good. :)
<wpwrak> e.g., after changing Px and Py to mil, measurements of the pad sizes will yield distances in mil when set to "auto", since, for example, 360 mil is simpler (less non-zero digits) than 9.144 mm
xiangfu has joined #qi-hardware
<wpwrak> here's a version with a few measurements: http://downloads.qi-hardware.com/people/werner/tmp/mdip-meas.fpd
<wpwrak> when adding measurements, you normally have to specify the offset from the line between the endpoints (or one endpoint some projection of the other, depending on what sort of measurement it is) and the line with arrows on which the value is displayed
<wpwrak> e.g., for the measurement of the distance between the outer pad edges (360 mil), i've set an offset of 5 mm
<wpwrak> offsets can also be negative
Martix has quit [Ping timeout: 252 seconds]
<cladamw> nice ! so Fped can accept like 70.07874mil(1.78mm), but you usually let it be 70mil; and 59.84252mil(1.52mm) to be 60mil ?
<cladamw> yeah ... my land pattern doesn't meet 10.54mm. :(
<cladamw> okay, so measurements still can be done in one vertical side, but horizontal side can't.
<wpwrak> (horizontal) sure it can ;-) you just have to pick the right pair of points
<wpwrak> e.g., upper left corner of pad 1 to lower right corner of pad N/2+1
<cladamw> oah ? i was thought horizontal one can't since 'loop side'. Nice !
<wpwrak> (70.078774mil) just following the specification in http://www.fairchildsemi.com/ds/6N/6N138.pdf
<wpwrak> there, the sizes in mil are nice round numbers
<cladamw> yeah ... so i meant it's good to use 'round' or exact right 70.07874mil ?
<wpwrak> (loop side) that's why the measurements have somewhat odd semantics. see http://projects.qi-hardware.com/index.php/p/fped/source/tree/master/README#L570
<wpwrak> the "right" value is 70 mil, not 70.07874 mil
<wpwrak> you get 70.07874 mil only if you take a design that is based on mil, use the value in mm (which has been translated from mil), and then calculate back to mil
<wpwrak> if you can't find good points for taking a measurement, you can also add a vector just for that purpose. e.g., for measuring Py, the only points available are the lower right corner of pad 1 and the upper left corner of pad 2. if you don't like that, you can add, say a vector to -Px/2, -Py2 and then measure everything on the left side
xiangfu has quit [Ping timeout: 276 seconds]
<wpwrak> you can get even finer control over the measurements by editing the .fpd file: http://projects.qi-hardware.com/index.php/p/fped/source/tree/master/README#L619
<cladamw> good. i found my mistakes on calculation, width should be 355mil. :-)
<wpwrak> and the outline may need a separate width parameter
<cladamw> okay .... tks for pointing the measurements, need to practice more. :-O
<wpwrak> you'll have fun :)
xiangfu has joined #qi-hardware
panda|x201 has quit [Read error: Connection reset by peer]
<qi-bot> [commit] Adam Wang: mdip.fpd: 1) set mil unit 2) added measurements 3) set width = 355 mil (master) http://qi-hw.com/p/kicad-libs/c1811e3
panda|x201 has joined #qi-hardware
<cladamw> wpwrak, check out for latest. yeah ! lots fun in measurements. :-)
<cladamw> wpwrak, but i still didn't add width parameter in 'outline' frame. :) as go for other topic to learn. :-O
jurting has quit [Ping timeout: 245 seconds]
jurting has joined #qi-hardware
<cladamw> wpwrak, btw, the unit setting is powerful then could quickly confirm dimensions with datasheet. i think this was a motive to develop Fped, bravo !
<wpwrak> yeah, now it looks quite good
<wpwrak> (confirm dimensions) thanks ;-) yes, making reviews easy is one of the main design goals.
<wpwrak> another one is to take care of repetitive tasks. things like iterating over all the pins or iterating over several package sizes.
pabs3 has quit [Ping timeout: 246 seconds]
Ayla has joined #qi-hardware
pabs3 has joined #qi-hardware
cladamw has quit [Quit: Ex-Chat]
xwalk has quit [Ping timeout: 265 seconds]
cladamw has joined #qi-hardware
DocScrutinizer has quit [Disconnected by services]
DocScrutinizer has joined #qi-hardware
zear_ has joined #qi-hardware
jekhor has quit [Ping timeout: 245 seconds]
zear has quit [Ping timeout: 260 seconds]
xiangfu has quit [Ping timeout: 240 seconds]
xiangfu has joined #qi-hardware
jivs_ has joined #qi-hardware
cladamw has quit [Quit: Ex-Chat]
zear_ is now known as zear
jivs__ has joined #qi-hardware
jivs_ has quit [Ping timeout: 240 seconds]
jivs__ has quit [Ping timeout: 244 seconds]
jivs__ has joined #qi-hardware
GNUtoo-desktop has joined #qi-hardware
methril has quit [Ping timeout: 244 seconds]
methril has joined #qi-hardware
emeb has joined #qi-hardware
rejon has joined #qi-hardware
xiangfu has quit [Ping timeout: 276 seconds]
methril has quit [Ping timeout: 265 seconds]
methril has joined #qi-hardware
Ayla has quit [Quit: leaving]
Ayla has joined #qi-hardware
jluis|work has quit [Ping timeout: 265 seconds]
Martix has joined #qi-hardware
jekhor has joined #qi-hardware
jivs__ has quit [Quit: Leaving]
Ayla is now known as AwAyla
phirsch__ has quit [Read error: Connection reset by peer]
phirsch_ has joined #qi-hardware
zear has quit [Ping timeout: 248 seconds]
zear has joined #qi-hardware
AwAyla is now known as Ayla
GNUtoo-desktop has quit [Quit: [INFO] fsogsmd : received signal -11, exiting.]
<qi-bot> [commit] Werner Almesberger: b2/subex.c (compose): use stralloc_n instead of open-coding its functionality (master) http://qi-hw.com/p/eda-tools/db279b7
<qi-bot> [commit] Werner Almesberger: b2/boom.c (usage): -Q wasn't mentioned; explain -q and -Q (master) http://qi-hw.com/p/eda-tools/7c8fc30
<qi-bot> [commit] Werner Almesberger: b2/: add parsing of KiCad eeschema BOMs (option -b) (master) http://qi-hw.com/p/eda-tools/ddd22ba
<qi-bot> [commit] Werner Almesberger: b2/bom.c (bom_parse_line): check that components reference are unique (master) http://qi-hw.com/p/eda-tools/9445f2c
<qi-bot> [commit] Werner Almesberger: b2/util.c: new function unique_n for strings limited by length and not NUL (master) http://qi-hw.com/p/eda-tools/b9066c6
<qi-bot> [commit] Werner Almesberger: b2/subst.c (parse_var): use unique_n (master) http://qi-hw.com/p/eda-tools/a537cc5
<qi-bot> [commit] Werner Almesberger: b2/: add parsing of supplemental symbol information (option -X) (master) http://qi-hw.com/p/eda-tools/f223789
<qi-bot> [commit] Werner Almesberger: b2/bom.h (struct bom): remove unused "next" pointer (master) http://qi-hw.com/p/eda-tools/4fb17f6
<qi-bot> [commit] Werner Almesberger: b2/: run variable substitution on BOM entries (untested) (master) http://qi-hw.com/p/eda-tools/ec04163
<qi-bot> [commit] Werner Almesberger: b2/: add BOM dumping; dump processed BOM entries (master) http://qi-hw.com/p/eda-tools/66aea07
panda|x201 has quit [Quit: Leaving]
wej has quit [Ping timeout: 248 seconds]
wej has joined #qi-hardware
jekhor has quit [Ping timeout: 260 seconds]
xwalk has joined #qi-hardware
jurting has quit [Ping timeout: 244 seconds]
<wolfspraul> wpwrak: good morning :-)
<wolfspraul> schhist reran entirely with latest eda-tools, and I think it looks good now
<wolfspraul> nice!
<wpwrak> whee ! victory ! :)
xiangfu has joined #qi-hardware