#milkymist IRC log for Monday, 2012-05-21

kristianpaulmusl libc dont use autotools, afaik not a OS besides linux i'm aware could use it..00:13
cladamwwpwrak, good morning ! Does MIDI KiCad connector numbering still confuse with you ? 3-5-2-4-1 numbering is okay to you ?01:05
cladamwwpwrak, does this http://en.wikipedia.org/wiki/DIN_connector#Analog_audio still have confusion to compare m1 ?01:07
wpwrakheya !01:19
wpwrakno, now i understand the MIDI connector numbering. the data sheet confused me.01:20
wpwrakyou'd think, when implementing a connector design that's so standard that the whole series is named after the standards series (DIN means German Industrial Norm/standard), they would have had the decency of preserving the numbering :)01:23
cladamwwpwrak, so now is okay to you , right ? :-)01:32
wpwrakyes :)01:33
cladamw(C163+C244) thanks for got you. i typed wrong.01:33
cladamwto asymmetrical - in rc1, there's only three blocks of bypassing capacitors in schematics: C[157..C161], C[162..166] and C156.01:34
cladamwthere's no special reasons for asymmetrical, i just recalled that why we got this results now :01:35
wpwrakso the 10 nF vs. 100 nF mixup is probably something that happened when they did the layout01:36
cladamwin rc1, there's no bypass capacitor in U14.18. but seems there's a C156(1u F) existed in schematic, so now I discovered house out C156 to U14.18 only.01:36
wpwrakand we'll probably never understand where the 1 uF comes from ;-))01:36
wpwrakah, good. then that's where this comes from01:37
cladamwthe became this whole ASYMMETRICAL things and no one discovered until you.01:37
wpwrakthere's a reason why i try to have very detailed and clean schematics :)01:37
wpwrakwith the table that says what goes where, the layout will be properly defined01:38
cladamwso in later rc2, we all seems to directly add another two blocks in schematics: C[240..245] and C[248..252] to fullfill01:38
wpwraknow, we should do the same for the FPGA ...01:38
cladamwyeah ... so this really defintely confused you at all, and also there's no table on schematics to show how they are being placed to respective pins.01:39
cladamwso now, let's fix them to be symmetrical, i.e. to make capacitances are the same, is it okay to you ? and we see m1r4's results. :-)01:40
wpwrakNOR may also want explanations. there's 1 x 1 uF plus 3 x 100 nF.01:41
cladamwbut where's that 1 uF to place ?01:42
wpwrak(make it symmetric) dunno. it seems to work at the moment, so i think we have no urgent need to clean this up. of course, if something breaks after making it symmetric, that would be VERY interesting ;-)01:42
wpwrakwhich 1 uF ?01:43
cladamwC156 ( 1 uF )01:43
wpwrakah yes, that's a very good question, isn't it ? ;-)01:44
cladamwyou don't want to try to make this time symmetric ?01:44
cladamwsince you just discovered it, i think it's good.01:45
wpwrakperhaps C245 should become 1 uF then. so that both pins 18 have the same bypassing.01:45
wpwraki'm neither strongly for nor against making it symmetric. i think it may not matter that much, since bypassing often has very large tolerances. and some people may be afraid of this causing trouble. ("never change a working design")01:46
wpwrakon the other hand, what we have now is quite messy. so cleaning it up would be an improvement.01:46
cladamwsounds good but i am reading your points on  "1 x 1 uF plus 3 x 100 nF"01:46
cladamw("never change a working design") >>> :-)01:47
wpwrak(1 x 1uF ...) what i'm saying is that, if we have a group of bypass caps with different values, then there should be an explanation where they go01:48
wpwrakthe nastiest bit in that regard is of course the FPGA. there you have something like 100 caps, with all sorts of values, and no indication where they should go.01:48
wpwrakwell, only 70 caps. still pretty chaotic ;)01:49
wpwrakfor the FPGA, i wouldn't make a table. that's too much work. but just put the pin number next to the cap.01:50
wpwrak("never change a working design") and the extended version: "never change a working design, no matter how wrong it is" :)01:51
cladamwso now, no need to change C245 to be 1uF as no matter how wrong it is ?01:53
wpwrakfor me, the most interesting result from discovering and examining the U14/U15 asymmetry is not that there may be a problem with the DRAM, but that this shows that we have a gap in the information flow to layout01:53
wpwraki'd leave the decision to wolfgang. i think i can predict sebastien's opinion already :)01:53
cladamwsure, so enhance this gap is like you pointed: table and mark respective pins which we didn't do it.01:55
wpwrakyes, what will close the gap. and it may lead to more interesting discoveries :)01:55
wpwraksorry for digging out all those work-intensive issues :)01:57
GitHub77[board-m1] adamwang pushed 1 new commit to master: https://github.com/milkymist/board-m1/commit/57069aa0ecb0ff39dc870cadfd00d2976c6dbaa001:58
GitHub77[board-m1/master] Dram.sch: fixed wrong type texts on C163+C244 instead of C162+C244 - Adam Wang01:58
cladamwwpwrak, don't say that words: I liked those diggings. to know such important bugs and I'll add this into wiki for schematic editing rules. It's very worthy to.02:01
wpwrakgood that you don't mind :) and yes, great to have that in the wiki02:03
GitHub4[board-m1] adamwang pushed 1 new commit to master: https://github.com/milkymist/board-m1/commit/cc12d1ffc75261b93455e005045f20a25ece9b8002:50
GitHub4[board-m1/master] DVI-ISingle.sch: fixed cross-style junction between R[144..146] and GND. - Adam Wang02:50
GitHub199[flickernoise] xiangfu pushed 1 new commit to master: http://git.io/VWjdZw05:11
GitHub199[flickernoise/master] pdfreader.c: update head files path - Xiangfu05:11
Action: lekernel is out to buy a reverse engineerable wacom tablet08:27
Fallenouyou want to replace usb mouse and keyboard with a touch-something ? :)08:29
Fallenouto get rid of usb ?08:29
Fallenouwait, wacom is usb afaik08:30
rohFallenou: it its. and it needs a special pen. no finger-foo08:52
FallenouI had a laptop with a wacom screen08:52
rohin short: its a capacitive sensor, and the pen is a resonator which you can detune (button(s))08:53
Fallenouit was usable with both the pen and the finger08:53
Fallenoucapacitive sensor works with finger as well08:53
rohthen it wasnt purely a wacom tablet but also had another component, either resistive touch or similar stuff08:53
FallenouI guess it depends on the signal processing08:53
rohFallenou: finger sensing is working completely differen when looking at the effects afaik. also you have much less precision.08:54
FallenouI am using a capacitive 7" touchscreen at the office, powered by an atmel chip (mxt224E) with my fingers08:54
Fallenouit can track up to 10 fingers and it works pretty nicely08:54
rohsure. but it doesnt have the precision of a wacom by far.08:54
Fallenouyou must be right I don't know if mine is very precise08:55
Fallenouit's precise enough for clicking on GUI :)08:55
rohwacoms do tenth of a mm precise with pens. also they detect the angle of the pen you hold.08:55
Fallenouon something like an Android OS08:55
rohand pressure some can do too.08:55
FallenouI guess it's bad for someone who wants to draw (artist and co)08:55
rohmeans: has nothing to do with boring touchscreens, either single or multitouch.08:55
Fallenouatmel capacitive detects the angle too08:56
rohFallenou: they can do a lot. but all disable all nice feats as soon as you want fingers to work08:56
rohfinger-useable screens are simply bad design.08:57
Fallenoubut still, it's precise enough and good enough to click on a UI :)08:58
Fallenoulike flickernoise for instance08:58
rohatleast i still have to see a single usecase where fingers get me any advantage to proper pointer devices as re have em already.08:58
rohFallenou: forget it.08:58
rohFallenou: touchscreens are NOT timing precise.08:59
FallenouI mean not the performance mode08:59
rohand driving another screen is out of the question with the mm1 hardware. it barely manages to drive one.08:59
rohFallenou: osd on vga out needs to stop anyhow. its a major fail i get asked about every time someone looks at it.09:00
rohvga out is PRESENTATION screen. putting a menu there is simply unprofessional and you need to be able to change stuff around while its running. so from my pov there is only a network interface left to use.09:00
Fallenouyou mean vga out should only output the performance mode and not the setting GUI ?09:01
rohyes. no ui ever on vga. or somehow locked that it may not happen by accident.09:01
Fallenouyou're right, I think it's like this because it was the easiest way to start09:01
rohcurrently its simply not a professional tool., but a Consumer electronic toy.09:01
rohits on the software to change that it behaves like a professional tool.09:02
rohthe hardware should be up to do both09:02
FallenouI agree09:02
rohbbiab..need to fetch some breakfast09:03
Fallenougood fetch(and decode/execute/write back)09:03
lekernelroh: I think I had already explained a bit what my plans were. yes, it will have a second screen.09:08
rohlekernel: i see. nice. do we also get faster ram then?09:09
lekernelyes, we already have in fact09:09
lekernelall those problems are more because of lack of time than any fundamental technical limitation...09:10
lekernelget those people on board instead of just criticizing09:10
rohhave them all covered. sounds good09:11
rohwell... memory bandwith is a real limit. just asking to see if you09:11
rohmeh. i lost a sentence09:11
lekernelFallenou: who said I was going to keep the original electronics? what I want is assimilate their sensor technology to build an improved reactable interface10:09
Fallenouhow will you deal with patent issues ?10:14
lekerneljust ignore10:16
lekernelor rather - one by one. if they go after us, this means we've come out of the closet, which is the #1 problem at the moment10:16
lekernelso... cheap FR2 PCB material, multiplexing with old school 4051/4053's, ASIC, and two yet unidentified chips10:55
lekernel2100 B42 JRC, in 8-pin SMT10:55
lekernelop amps maybe?10:56
lekernelhttp://semicon.njr.co.jp/njr/hp/fileDownloadMedia.do?_mediaId=9833 looks like a good suspect... checking10:59
cladamwwpwrak, hi how do you think that when we can use your boom applied into m1r4 ?12:49
wpwrakcladamw: you would generate a BOM and then pass it through boom. boom is currently non-interactive, so all the information has to be in the schematics (plus a few support files)12:53
wpwrakone thing that's important for boom are the footprints. i think they're not defined yet.12:54
cladamwhmm ? from footprints ?12:55
cladamwah .... i recalled12:55
wpwrakthere are three places where you can set footprints: 1) in the component library (there, the setting acts as a suggestion - the "Footprint Filter"). 2) in the schematics, where it provides the default value for the specific component. 3) in cvpcb, where you make the final decision.12:56
cladamwwpwrak, btw, these days I played around fped which is really powerfull12:56
wpwrakif there's a default in the schematics and nothing contrary has been set, cvpcb will take that value. in any case, what has been set explicitly in cvpcb "wins". that is stored in the .cmp file12:57
wpwrak(fped) glad you like it :-)12:57
wpwrak(footprints) they're particularly important for resistors, capacitors, and such, since there's no other information that allows boom to select the right package12:58
cladamw(fped) i know now you ususally used it to generate mechanical frame which is what i wanted. I just don't know and not realized.12:58
wpwrakfor capacitors, footprints also indirectly determine the voltage. so they're even more important there. (of course, in an ideal world, we would actually specify the voltage in the schematics :)12:59
cladamwalright, f.g. I've seen the stdpass.fpd and dip.fpd, they are built very well and systematizely13:00
wpwrak(fped for mechanical) yes, good examples are here: http://projects.qi-hardware.com/index.php/p/wernermisc/source/tree/master/labsw/mech/13:01
wpwrakand here: http://projects.qi-hardware.com/index.php/p/wernermisc/source/tree/master/m1/case/13:01
wpwrakthe firs is the front panel of labsw, the second are replacement panels (for two sides) for m1 (e.g., with the horizontal hole for the jtag usb cable)13:02
cladamwyes, i viewed them today, which is super nice for me. so my questions are:13:04
wpwrakof course, you need a CNC mill to fully enjoy these mechanical designs :)13:04
cladamw1. since fped's conceipts are objects and instances, how you determine that how vectors to be as "backbone" and depict the shape you want ?13:07
cladamw2. a geometric ratio of vector (raw data) combines said as n=1, s;13:09
cladamwa vector is likely you were trying to unfold pins arrays for examples ? i hope i can get whole back knowledge soon.13:11
wpwrak1) you have to choose a structure for the geometric design. there are usually many choices for how you do it. e.g., you could do everything with vectors that start at the origin and calculate all the coordinates, you could attach vectors to other vectors, and you could also do things in frames. there's no firm rule - you basically have to do what feels "natural"13:11
wpwrak2) in a vector, you can say  n*100mil  and then there will be an instance for each value of n. so with  loop n = 1,5  you get an instanced with that length set to 100 mil, one with 200 mil, ..., 500 mil13:13
cladamwi think i can build another footprint like http://www.fairchildsemi.com/ds/6N/6N138.pdf  in these two days. when i played around your this fped which is much funny.13:14
cladamwyeah, really really fun tool.:-)13:15
wpwrakone important thing with fped: there's still a bug somewhere that can cause some corruption (some vectors suddenly attach to the wrong place). i haven't figured out yet what's happening - it's doesn't occur very often and i've never been able to reproduce it. so please save often :)13:16
cladamwthe dip.fpd you established good parameters then combined that vector then magic drawn.13:16
wpwrakthe "magic" is the important part, yes ;-)13:16
cladamwyeah...i run into much more corruption, and quited13:16
cladamwbtw, are you always 'follow' datasheet's suggestions for body size ? or expand it a little ?13:17
wpwrakdepends a bit. i normally try to follow the data sheet. but if there is conflicting information or if i see that the part has difficulties, then i make changes13:20
cladamwso one *.fpd at best to include all series packages for pins are [2..20] , etc. ?13:21
wpwrake.g., for stdpass.fpd, i combined information from several vendors. since they all have a different idea what the "correct" footprints should be like :)13:21
wpwrakyes, that's the easiest approach. you can also vary more parameters, like i've done in qfn.fpd13:22
wpwrakthere;s a bit of background information for qfn.fpd in http://projects.qi-hardware.com/index.php/p/kicad-libs/source/tree/master/modules/INFO13:23
cladamwso we don't need to set rules for naming those parameters, do you?13:25
wpwrak(multiple parameters) in qfn.fpd, when you click on zone_ratio_35 or paste_ratio_20 (on the left side, both in the root frame), you see the values for the current footprint. so you don't have to calculate them by hand :)13:27
cladamwlike "P, Ax, Ay, Bx, By, ... ", etc... Elements used for construction, such as vectors, only appear in fped. so no need to always to follow yours ?13:27
wpwraki often try to follow the parameter names vendors use13:27
wpwrakthey only appear in fped13:27
wpwrakof course, when you compare with the data sheet(s) that provide the original geometry, it helps if the names are the same or at least similar13:28
wpwrakthat's not always possible, though. e.g., if you use parameters from different vendors and they use different naming schemes. e.g., for qfn. there' my naming is mainly based on what NXP do.13:29
wpwrakregarding style, i try to avoid complicated formulas in vectors. so i do the calculation in a variable assignment and then just use that variable. this way, the formula is visible on the left side and not hidden in the vector.13:30
cladamwyeah i see. so now i just knew that why this fped came out. :-)13:33
cladamwwpwrak, which version in your fped now ? rev 43928db ?13:35
wpwrakrev 5130707+13:36
wpwrakoh, yours is newer than mine ;-)13:37
wpwrakah no. they're the same. i just didn't rebuild after committing.13:37
cladamwthe same, good. tks.13:39
wpwrakbtw, revision numbers are not ordered - they're just the beginning of the git hash. for example, 5130707 would be older than 43928db13:39
lekernelFallenou: the patent has expired by the way. http://www.freepatentsonline.com/4878553.pdf14:33
lekernelwolfspraul: to answer your concern about the large PCB behind the screen, they do it with a 2-layer FR2 board. can't imagine this would be very expensive...14:34
lekernel(2-layer == double-sided)14:35
lekernelthen we can easily put the multiplexers on the same board and connect it with 10-20 pins to the multilayer FR4 board with the FPGA etc. on it14:36
wpwrakso .. no local visual feedback ?14:44
lekernelthe screen I'm talking about here is a LCM for the local GUI14:49
wpwrakbut you'd then have the whole screen assembly (with lots of metal) between surface and the PCB14:59
lekernelyeah, we need to find a way to ditch the metal15:02
lekernelit can definitely be done15:05
lekernelby the way - is Kicad scriptable? (to generate repetitive PCB patterns)15:05
kristianpaulgeda is..15:06
wpwrak(kicad) not yet. but if you can express this as a footprint, you can generate it with fped. fped is very good at doing repetitive things.15:12
lekernelhmm we'd need vias15:13
lekernelwith stuff connected on both ends of course15:13
wpwrak(bongofish) so he put a wacom tablet behind an lcd - and it just worked ? (the narrative on that site is quite mandering)15:13
lekernelmore or less... maybe removing the metal15:13
lekernelit doesn't work through my laptop LCD15:14
wpwrakmaybe two footprints then, one for the top, the other for the bottom15:14
lekernelor do that part in geda? the sensor PCB is just the generated structure + multiplexers15:15
lekernelor without any PCB layout program even :)15:15
lekerneli'm sure there must be some appropriate python vector graphics lib...15:16
wpwrakyou could just generate gerber directly15:17
wpwrakof course, that way DRC won't work15:17
GitHub126[milkymist-ng] sbourdeauducq pushed 2 new commits to master: http://git.io/g5_xGA17:47
GitHub126[milkymist-ng/master] Connect Ethernet IRQ - Sebastien Bourdeauducq17:47
GitHub126[milkymist-ng/master] Add timer - Sebastien Bourdeauducq17:47
GitHub101[milkymist-ng] sbourdeauducq pushed 1 new commit to master: http://git.io/agI-TQ17:53
GitHub101[milkymist-ng/master] Common interrupt numbers - Sebastien Bourdeauducq17:53
GitHub128[migen] sbourdeauducq pushed 1 new commit to master: https://github.com/milkymist/migen/commit/9449bbea0a98a4037d9b84d2878e44a7cc72896417:57
GitHub128[migen/master] Add LICENSE file - Sebastien Bourdeauducq17:57
GitHub57[milkymist-ng] sbourdeauducq pushed 1 new commit to master: http://git.io/unKFMg18:02
GitHub57[milkymist-ng/master] libbase: unmask UART interrupt correctly - Sebastien Bourdeauducq18:02
GitHub117[milkymist] sbourdeauducq pushed 1 new commit to master: https://github.com/milkymist/milkymist/commit/889a57c9accdeb1ff3ffbba58e78086dab099a1d20:23
GitHub117[milkymist/master] bios/boot: fix off by one error in SFL magic string - Sebastien Bourdeauducq20:23
GitHub131[migen] sbourdeauducq pushed 1 new commit to master: https://github.com/milkymist/migen/commit/493b181af1e3a3dd889b1923e9295d058cce4e4520:56
GitHub131[migen/master] bank/description: pad unaligned multi-word registers at the top - Sebastien Bourdeauducq20:56
GitHub134[milkymist-ng] sbourdeauducq pushed 5 new commits to master: http://git.io/w_Gw_w20:58
GitHub134[milkymist-ng/master] tools/mkmmimg: remove LZMA option - Sebastien Bourdeauducq20:58
GitHub134[milkymist-ng/master] bios/ddrinit: use new padding scheme for address register - Sebastien Bourdeauducq20:58
GitHub134[milkymist-ng/master] bios: timer support - Sebastien Bourdeauducq20:58
Fallenouthings seem to accelerate over here :)21:02
Action: Fallenou likes those numerous commits21:03
Fallenoudtlb exception handling needs testing21:03
Fallenoulet's write tests21:04
--- Tue May 22 201200:00

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