#milkymist IRC log for Friday, 2012-01-27

wpwrakanyone care to test this one ? the git versions look good. everything the latest.00:11
wolfspraulyou mean the daily build?00:42
wpwrakyup00:49
wpwrakat least from the outside, it looks as if it should be as good as the binaries i've uploaded yesterday00:49
wpwrakwell, actually even the ones from today :)00:50
wolfspraulI'm brave, flashing now01:02
wolfspraulI fully expect this to brick my m1 :-)01:02
wpwrakwell, you already have all the files you need to unbrick it ;-)01:03
wolfspraulsame as before, mouse doesn't work01:06
wpwrakfunny01:06
wolfsprauland probably nothing else on usb01:06
wolfspraulwe'll get to the bottom of it, don't worry01:07
wolfspraulmaybe the bitstream comes out differently? different ise version?01:07
wpwrakhmm, that's one possibility01:08
wpwrakcould also be that the softusb firmware didn't make it01:08
wpwrakthat would be my main suspect01:08
wpwrakthe source is in milkymist.git but then it travels into rtems01:09
wolfspraulgoing back to your binaries now with m1nor01:09
wpwraknow, rtems has its own obsolete copy of it, so it it doens't pick up the version from milkymist.git, things will go badly01:10
wolfspraulback to your image - wors01:12
wolfspraulworks01:12
wpwrakbtw, does anyone need a ledm board for M1r4 development ? i have a second pcb (etched and tinned but not populated)01:12
wolfspraulthe test software needs to test-enable all leds01:13
wpwrakoh, and now that it's dark outside ...01:14
wolfspraulother than that I don't have a need on my end right now01:14
wolfspraulthe design should be verified, manufacturing implications should be minor01:14
wpwrak(enable all leds) easy: mfill 0xe0009000 255 0x6001:14
wolfspraultest software needs to be amended01:14
wolfspraulok but it needs to be integrated into the pass/fail flow to be efficient01:15
wpwrakshould it step through them or just turn them all on ?01:15
wolfspraulwhat kind of testing is enough? turn them all one at once?01:15
wpwrakor walk / ... ?01:15
wolfspraulwhat do we want to test?01:15
wolfspraulthat all parts are soldered correctly01:15
wolfspraulimagine some of the resistors not being soldered correctly01:15
wpwrakif you have a short between columns or between rows, an "everything on" test wouldn't show it01:15
wolfspraulyes01:16
wpwrakalso, if a LED is rotated, either nothing of the pair would come on01:16
wolfspraulso the test should catch faulty leds, and it should catch a soldering problem of any individual part in the circuit01:16
wpwrakit could send the LEDs running around the board. one at a time01:17
wolfspraulat the same time it should be efficient to walk through, and log its findings, or rather log the test results as input by the operator01:17
wpwrakphew. logging is tricky ;-)01:17
wpwrakinput from the operator is easier :)01:17
wolfspraulnah, it's just one round, and then enter yes/no01:17
wolfspraulif you think that rotating through them one by one is enough to test the above cases, that's good then01:18
wolfspraulpart can be missing, soldered badly, rotated, damaged or malfunctioning01:19
wolfspraulprobably more01:19
wpwrakone problem with being so energy-efficient is also that it would be hard to measure whether a led is lit, since the long-term average current is just about 400 uA01:19
wolfspraulafter smt is the first and best opportunity to test it all as a set01:19
wolfspraulno need to go to that level of automation01:19
wolfspraula yes/no entry is perfectly fine01:19
wolfspraulif they go around the board and each is lit for what? 0.5 seconds? that's just 10 secsonds then01:20
wpwraki think rotating should test all the things we can reasonably test01:20
wolfspraulno problem01:20
wpwrakyeah, half a second per led should be plenty01:20
wolfspraulshould we turn them all on together at the end?01:21
wolfsprauljust in case :-)01:21
wolfspraul3 seconds? :-)01:21
wolfspraulor maybe first turn them all one, then go through one by one?01:22
wpwrakfor automated testing, the current could be increased to 6 mA for one led (limited by the resistor). maybe an option :)01:22
wolfspraulI think all-on first is good too01:22
wolfsprauldo a little boundary testing, then go through one by one to make sure the grid is good01:23
wpwrakhmm yes, why not01:23
wpwrakan automated test may actually work. with the array going full blast, i see a clear increase01:28
wolfspraulmeasured how?01:28
wpwrakmultimeter in the DC in path01:29
wolfsprauladam currently has a script on his notebook, which will feed serial output from the test software right into the log file which will end up on the server01:29
wolfspraulattaching more things to that would be difficult enough to not be worth it right now01:29
wpwraka single led barely registers. but that's also because of the multiplexing.01:30
wolfspraulbut I'm thinking about logging this01:30
wolfspraulit's not worth it for us right now01:31
wolfsprauladam keeps an eye on the current *all the time* out of survival thinking01:31
wpwrakfake non-multiplexed does provide a clear increase01:31
wolfspraulit's like his third eye constantly looking to the power supply01:31
wpwrakall this is with the M1 in a halfway normal configuration, ethernet and rii keyboard connected01:31
wpwrakso it's not super-quiescent01:32
wpwrakyeah. i think we can definitely do this01:32
wpwrak(current) the power supply itself should take care of that ;-)01:33
wpwraki can set up mine to make quite a riot if things go above the threshold (in addition to the normal "overcurrent" beep)01:33
wolfspraulwhat do you want to do?01:37
wolfspraulAdam manually keeps an eye on current, by default01:37
wolfspraulwe don't need to define an expected current pattern right now and then somehow match it to the test software that is goign through the peripherals - too much work for too little gain01:38
wpwraki'm tempted to make an automated test. we can then let adam catch up.01:38
wolfspraulvery bad return on investment01:38
wpwraknaw. once the test is made, it can be pulled out anytime01:38
wpwrakand eventually we want to automate such things anyway01:38
wolfspraulthe power supply measurements would need to be matched with the flow of the test software coming in over serial in real-time01:38
wpwraknot necessarily :)01:39
wpwrakit can just detect whether the current is changing in the right way01:39
wolfspraulhow is it connected to the test software?01:39
wpwrakthe one running on the m1 ? not at all. you'd manually start the test and it would tell you if it sees the right pattern01:40
wpwrakintegration can wait until we add more elements to this01:41
wpwrakbut having one test that works would a) provide motivation to do this, and b) already provide several prerequisites01:41
wpwrake.g., the ability to talk to adam's multimeter01:42
wolfspraulsounds like we are opening a can of worms without any need to do so right now01:42
wolfspraulin the long run I agree, of course. a programmable power supply that can follow test execution is great.01:42
wpwrakit's precisely this wall of fear i want to breach01:42
wolfspraulno fear01:42
wolfsprauljust work01:42
wolfsprauland very bad return on investment01:42
wolfspraulAdam will not use this, for sure01:43
wpwrakwe're not doing it because it's scary. and we'll always be scared because we never dare to do it.01:43
wolfspraulhe keeps an eye on the power supply, and that's better than any test software could ever do, after *A LOT* of tweaking and automating01:43
wpwrakoh, he might. it just has to be non-intrusive01:43
wolfspraulnot scary at all01:43
wolfsprauljust bad return01:43
wolfspraulvery bad01:43
wolfspraulyou are right - watching current is the #1 thing after smt and in testing01:44
wpwraki wouldn't expect him to start adding test cases, but using semi-automated current tests shouldn't be something to be afraid of. it could even just run continuously and tell him what it sees01:44
wolfsprauland doing that under the control of a wise and powerful computer/software - great01:44
wolfspraulbut the amount of work we need to put into that now until it even catches up with manually keeping an eye on the power supply - crazy01:44
wolfspraulit's not about afraid here, it's about waste of money01:45
wpwrakthe thing is that he can't really see this on the power supply01:45
wolfspraulthe human eye is better in that case, right now01:45
wpwrakhe sees other things there. like the board going berserk. but these are small and rapid changes.01:46
wpwrakplus there's a pattern to them. the pattern has to be right, too. very hard for humans to see. pretty easy for computers, though.01:47
wolfspraulnot worth it01:47
wpwrakyou underestimate the value of giving adam advanced tools ;-)01:48
wolfspraulI know it won't be used, it's too difficult and uneconomical01:48
wolfspraulyou don't spend 100 USD to create something that costs 80 USD01:48
wolfspraulI rather throw away the 80 USD loss01:49
wolfspraullater on I fully agree with you, also on importance etc.01:49
wolfspraulbut we have so many things we don't test01:49
wolfspraultemperature01:49
wpwrakif we ever want to do current measurements, he'll have to do pretty much all the steps there anyway. like connecting the M1 through a multimeter. and connecting the multimeter to a pc.01:49
wpwrakand that's probably the bulk of the work01:50
wolfspraultrust me it's uneconomical. the actual fail cases you are hunting are too rare.01:51
wpwrakfor the actual test, he'd just run the current monitor program. every once in a while, it would say "pattern detected", a bit later "X rounds okay", and then "pattern lost". that's all.01:51
wpwraki'm not hunting so much for fail cases01:51
wolfspraulyeah I know what you want :-)01:51
wpwraki want to bring adam closer to more reliable tests01:51
wolfspraulyou can do it in your lab, but it won't be used in reality01:51
wolfspraulit's uneconomical01:51
wolfspraulI will not pay the losses01:52
wolfspraulif you want this to be used, you have to wire money to me01:52
wolfspraulit's not worth the effort01:52
wolfspraulconceptually I'm all in love with it of course01:52
wpwrakalso the manual led test has lots of potential for human error. e.g., you can miss a change (the leds aren't evenly distributed, so it's not like a continuous movement). worse, if a led on the other side goes on when it shouldn't, you may not even see it.01:52
wolfspraulafter a while you will, and for the remaining exotic cases, well, they will just go undetected01:53
wolfspraulin larger runs when you have more operators and changing operators and more people that know the board less, it may make more sense01:54
wpwrakyes, if you stare long enough at it, you will eventually spot the weird ones. it's also good if adam does some spotting, because there may be surprises we didn't think of01:54
wolfsprauloh totally01:54
wolfspraul2 seconds all on, after that rotate through each one for 0.5 seconds, enter pass/fail manually, log over serial, done01:55
wpwrakthe thing is that we have zero automation on adam's side. so if anything comes up that needs a bit more sophisticated testing, he can't do it. or he has to spend a lot of time playing robot.01:55
wolfspraulzero automation? -> test software?01:55
wpwrakand we can't even trust his results entirely because of human error - which gets worse when playing robot01:56
wolfspraulin fact I think we are automated quite well01:56
wolfspraulyou just try to rationalize the automated current watch now01:56
wolfspraulwe can talk with adam about test time / board and where it's painful01:56
wolfspraulbut in the last run, we have made a lot of improvements01:56
wolfspraulwhich is mostly in small details like a script here or there01:57
wolfspraulalso we do a 1h rendering test now01:57
wolfspraulyou propose to have a camera watch a screen (none attached right now), and compare with expected rendering? :-)01:57
wolfspraulour testing is great, when we add the leds we just add one more simple test case and fine01:57
wpwrak(automation) okay, there are some automated tests. but only of things that are basically inside the M1. nothing that involves outside observation.01:57
wolfsprauladams power supply is set to a strict maximum, that's 80% of what we need there :-)01:58
wpwrakrendering is tricky :) i've seen a lot of failure modes by now ...01:58
wolfspraulyes, but please not - any automation of that kind of testing just adds more uneconomical things01:58
wolfspraulit's not practical01:58
wolfspraulthen we can sell each m1 for 5000 USD01:58
wolfspraulwe have to be real01:58
wolfspraulit's like you make a bicycle, and at the end some worker makes a short test ride01:59
wolfsprauland done01:59
wpwraki think you greatly overestimate the complexity of this01:59
wolfsprauland nobody will start to work on a bicycle-riding robot that will test each molecule of the structure to its guaranteed safe margins or whatever01:59
wolfspraulfor you it's easy01:59
wolfsprauland I like it to be an independent system first, with pattern, which can then later be integrated02:00
wolfspraulall fine02:00
wolfspraulbut at that point it will stop on my side02:00
wolfspraulit won't be used02:00
wolfspraulonly in the buenos aires lab :-)02:00
wpwrakwell, i like incremental development :)02:00
wolfspraulyes current is important, but by far the easiest for us is to watch it manually02:01
wolfspraultrust me02:01
wolfspraulI'm speaking for Adam, he will tell you after his holiday02:01
wolfspraulit's about economics02:01
wolfspraulthe thing we are making is not worth thousands of dollars, it's not a pacemaker, it's not used in an airplane, and so on02:01
wpwrakyou can't test the leds by watching current manually. at least not within a reasonable amount of time. if you want to spend ten minutes staring at the instrument and manually reconfiguring the leds, then yes.02:02
wpwrakand you may still miss something, because it's so repetitive02:02
wolfspraulhow did we test the total of 6 leds we have right now (3 on m1, 3 on jtag-serial)?02:02
wolfspraulyou zoom in on the wrong detail, imho02:02
wolfspraulwe rotate through them, and done02:03
wpwrakwhat i'm saying is that, once you have covered the basics of monitoring current, then you can do a lot of things very easily.02:03
wolfspraulI don't even know whether the 3 leds we have right now have any test, because it will be apparent when booting and rendering whether they work or not02:03
wpwrakwhat i think you're afraid of is the cost of covering these basics02:03
wolfspraulyou can, if it's economical02:03
wolfspraulno, my cost is 002:04
wolfspraulit won't be used02:04
wolfspraulcost = 002:04
wolfspraul:-)02:04
wpwrakso instead you accumulate inefficiency. each time there would be something you could do better if you had the basic ability, you decide it's too expensive to do it just for that.02:04
wolfspraulit's a tiny detail taken out of proportion02:05
wolfspraulyou are worried about which case?02:05
wolfspraula led with some malfunction that makes it suck up current?02:05
wpwrakso you build an inefficient process instead. repeat this a few times and you've paid a huge cost for inefficiency while still not having advanced towards a proper solution.02:05
wolfspraulgo ahead and do it :-)02:05
wolfspraulmanufacturing is about economics. a process that costs 10 USD to save 5 USD will be turned off very fast...02:06
wpwrak(go and do it0 that's the right attitude ! :)02:06
wolfspraulwhich case is it?02:06
wolfspraulthe specific failure case you hope to catch...02:06
wpwraknaw, we're currently not into production economics. it's all about covering the basics.02:06
wolfspraul:-)02:06
wolfspraulalright then02:07
wolfspraulI cannot even think of a led failure case where this could help02:07
wpwrakthere are a lot of failure cases this can catch: basically all we listed before. (plus a few we didn't)02:07
wolfspraulwe've had a number of current problems in rc3, maybe at least you wait until you hear from Adam where they came from02:07
wolfspraulcertainly not the leds02:07
wpwrakbut the key is that it does this in an automated way. no tired operator involved.02:08
wolfspraulit's unpractical and won't be used02:08
wolfspraulsome shiny equipment standing in the corner02:08
wolfspraulhappens sometimes, right? :-)02:08
wpwrakah, i know that "wolfgang the pessimist" pattern already. remember #1024 ? ;-)02:08
wolfspraulok I tried to make my point02:09
wpwraknaw, adam should already have the equipment. not very shiny, though. a bit of a capital injection into his lab wouldn't be amiss ... not for this case, but in general. with what he has, he's halfway blindfolded.02:09
wolfspraulthe rc3 we have in stock are just fine02:10
wolfspraultesting is about economics, once you forget that you can stop testing right there02:10
wolfspraulI suggest you at least look for real current problems, not imagined ones like with the leds02:12
wpwraksure. the economic objective is scalability, improved failure detection, and less time wasted on false alarms02:12
wolfspraulbecause there were quite a few in rc3 (all easily spotted manually)02:12
wpwrakplus, the ability to track down issues faster02:12
wolfspraulnot worth it02:13
wolfspraulI will ask Adam when he's back, then we see02:13
wolfspraulI can only tell you my experience right now, and I focus on the economics02:13
wpwraki remember someone spending a good amount of time at a certain factory in china trying to get remote access to their test line. you were happy then. remember those good days, not the misery that followed :)02:14
wolfspraulalso I'd hate to invent test case on my own genius thoughts. instead, we ask how others are testing in mass-production (in Taipei), and then we know what makes sense02:14
wolfspraulI know02:14
wolfspraulI could imagine that in most cases, current consumption is not programmatically monitored02:15
wolfspraulI have never seen it. I can imagine that it does happen for very high-value products though.02:15
wpwrakwhat i need from adam is him to set up his multimeter such that it can be accessed from the pc. he probably hasn't done that yet. then i need to figure out how to talk to his model. may be easy, may be tricky. we'll see.02:16
wolfspraulwaste of time and money, there is nothing to gain for us there.02:16
wpwrakif it's too hard, we have to postpone this until you get him better equipment02:16
wolfspraulhe will tell you :-) (without me playing dirty tricks...)02:16
wolfspraulit's not worth it, no matter what equipment02:16
wolfsprauladam is a production guy02:16
wpwrakhe's also an engineer. don't underestimate him :)02:17
wolfspraulif yield is bad, you have 2 options first: be smarter on testing and process *or* make more02:17
wolfspraulcurrent problems are typically drastic, a short will typically burn through at least one chip02:18
wolfspraulthere's no way you will not catch it later in the test process02:18
wpwrakyes, but in order to be smarter, you have to have the means to do so02:18
wolfsprauland they are too rare to justify being caught earlier, definitely for us right now02:18
wolfspraulit may not be worth to be smarter02:18
wpwrakand if you don't have them yet, then the day you have a yield problem is a bad time to start02:18
wolfspraulyou can just make more boards, test quickly, discard the ones that don't pass (spare parts)02:19
wpwrakit's like thinking about an oil change only when your car stops working02:19
wolfspraulwe are going in circles. I need specific cases.02:19
wolfspraulin rc3 we had current problems, but all caught easily manually02:19
wpwrakcases of what exactly ? i already told you that this can detect all the various led issues we've discussed02:19
wolfsprauland it would be very hard to automate the catching of those02:19
wolfspraulwhat is wrong with the led?02:20
wpwrakit could be missing, not soldered, shorted, rotated02:20
wolfspraulyou will just see whether it's on or off02:20
wolfspraulmissing - eye02:20
wolfspraulnot soldered - eye02:20
wolfspraulshorted - eye02:20
wolfspraulrotated - ?02:20
wpwrakthe traces leading to it could be interrupted or shorted (e.g., under the BGA)02:20
wpwrakrotated: wrong polarity02:21
wolfspraulyou are trying to tell Adam (or me) what causes work in testing, but Adam is doing the work. he can tell you.02:21
wpwraknot soldered: sometimes very hard to see. in many cases something you only spot if you already know that there is a problem and where02:21
wolfspraulwe improved testing a lot in rc3, for Adam, and it was mostly very small things that helped him a lot.02:21
wpwraksure. you can do everything manually :-)02:22
wolfsprauland I will continue exactly along those lines - fix the real problems he has, not invent new problems for him from excessive testing systems02:22
wpwrakwhy even have M1 ? you can do it all with pencil and paper ;-)02:22
wolfspraulseriously we need knowledge of real problem cases before adding test cases02:23
wolfsprauleverything else is crazy, we can improve testing forever02:23
wolfspraulwe had 90*3 = 270 leds on rc302:23
wolfspraulI am sure 0 problems (0 found problems)02:23
wolfsprauland even if there was an undetected problem somewhere, it's not worth to try to find it02:24
wpwrakwell, none of the problems i mentioned are particularly uncommon02:24
wolfspraulanother 600+ leds on the jtag-serial run02:24
wolfspraullet's just ask Adam. I will...02:24
wpwrakin other words, you think led testing is completely superfluous. now we're getting somewhere ;-)02:24
wolfsprauland if there are problems, we need to find the most economic test cases to catch them02:24
wolfspraulif there are no problems, we wait until we find a problem (and no, we cannot test everything to make sure we will never have a problem, that doesn't work)02:25
wolfspraulargh02:25
wolfspraulall-on, then rotate through02:25
wolfspraulsounds good to me02:25
wolfspraulthe current discussion went too far for me02:25
wolfspraulI've done and overseen a lot of testing on the line02:26
wolfspraulI know when current is important - mostly right at the beginning before boot/bringup02:26
wolfspraulthings that come later are isolated to some chips02:26
wpwrakthe current monitoring would work with the above rotation. think of it as an automated version of the operator who chases around the m1, watching the leds.02:26
wolfspraulsure02:27
wolfspraulgreat concept02:27
wpwrak(current) wait .. it's not about the system massively overloading02:28
wolfspraulI think we are not too far apart actually. You are probably not suggesting uneconomic test steps either.02:28
wpwrakthat's what adam is looking for. he doesn't want the board to go critical.02:28
wolfspraula test step that doesn't find anything is to be removed02:28
wolfspraulsorry I gotta go sleep, only 4h left, then meetings here there, timezones, argh02:28
wpwrakthe current test i'm talking about is more analytical. it tells us what the board is doing.02:28
wolfspraulmy heart has to take 4-5 hours sleep and 0.5-1l coffee / day02:28
wolfspraulwe may not need that testing in the run02:29
wpwrakawww ...02:29
wolfspraulit's design testing02:29
wpwraknasty amount of coffee02:29
wpwrakno no, it's production testing ;-)02:29
wolfspraulyeah will reduce a little. but there's a burger king nearby that just has such great coffee, they got a brand new machine.02:29
wpwrakjust for you ;-)02:29
wolfspraultrust me you are going too far with this, please let's ask adam02:29
wolfspraulI am going by actual real experience02:30
wolfspraulAdam can ask others that are making products with a combined millions of leds02:30
wolfsprauland then we do exactly as they do02:30
wolfsprauland you will be surprised :-) (or maybe not, you know China...)02:30
wpwrakdesign testing would be worrying about the difference whether i see 6.3 mA or 6.1 mA, and why. the production testing would be whether i see 0, 3, 6, or 12 mA :)02:31
wolfspraullet's see what cases exist02:31
wolfspraulnot in theory, but in production reality02:31
wpwrakyeha, the chinese approach of just throwing people at a problem has its merits :)02:31
wolfsprauland then we see whether it's worth to hunt them down02:31
wpwrakbut eventually, their salaries will go up, too :)02:32
wolfspraulif a led sucks up 12mA instead of 6, but is still on - so what?02:32
wpwrakthat means there's another LED that's on, too02:32
wolfspraulif it appears to work it may just work02:32
wolfspraulhow about that? :-)02:32
wpwrakno. there's somethign wrong.02:32
wolfspraulsome late-night philosophy02:32
wolfspraulif it appears to work it works02:32
wolfspraulwrong is if the manufacturer goes out of business02:33
wpwrakif it appears to work, your tester isn't paying attention :)02:33
wolfspraulwe are all human02:33
wpwrakor his training was deficient02:33
wolfspraulyou can't get me now, I get my human untested sleep02:33
wolfsprauln802:33
wpwrakhehe ;-) sweet dreams of chasing leds !02:33
wolfspraulnah. ask adam what others do, put smile on, do the same02:34
wpwraki'm pretty sure they have current tests. it's a cheap, efficient, and versatile thing to have.02:35
xiangfuwpwrak, I update the milkymist and flickernoise . but I can't compile any patch anymore. it always give me: "can initialize non-system variables only to zero near 'decay'"03:54
xiangfu"can initialize non-system variables only to zero near 'XXXX'"03:54
xiangfuI think I finish the fullscreen preview under Video-In. now test the code.03:55
xiangfudid I needs update the soc.fpg?03:55
xiangfus/did/should03:55
wpwrakat which patch does it fail ?04:16
Last message repeated 1 time(s).04:36
xiangfuhere is what I do. update m1 to rc3 images. include soc, bios, flickernoise04:42
xiangfuthen update my local repo. milkymist and flickernoise.04:42
xiangfucompile and install the fpvm04:42
xiangfucompile flickernoise.04:42
xiangfunetboot flickernoise04:43
wpwrakthe error means that something isn't right in one of your patches04:43
xiangfuthen every patch fail at different line.04:43
wpwrakoh04:43
xiangfuthen I try to compile one of them under 'Patch editor'04:43
xiangfuit give [line X can initialize non-system variables only to zero near 'XXXX']04:43
wpwrakfascinating :)04:44
wpwrakcan you please try my FN binary ? http://downloads.qi-hardware.com/people/werner/tmp/m1-20120126/flickernoise.fbi04:44
xiangfuthis FN binary. fail at : Rovastar & Idiot24-7 - Balk Acid (DMX)...04:54
xiangfuand mouse totally no power04:54
xiangfuall other images are form rc3. only reflash the flickernoise.04:55
wpwrakhmm, maybe get bios and soc from here: http://downloads.qi-hardware.com/people/werner/tmp/m1-20120125/04:56
wpwrakthough the versions in your daily build looked okay04:56
wpwrakah, there was a syntax error in balk acid04:57
wpwraki fixed it on dec 11. please update :)04:57
wpwrakhttps://github.com/milkymist/flickernoise/commit/081b9ee145f5d7c98519f8e5de8a3c9ed8fafe9304:59
xiangfuok. let me reflash the dailybuild and with the data partition05:01
xiangfuthe dailybuild also build the data partition.05:02
xiangfuso I will just 'reflash_m1.sh --snapshot  milkymist-firmware-01262012-2301 data' :)05:02
wpwrakkewl. let's hope for the best :)05:03
xiangfuyes. your images works fine.05:08
wpwrakvictory !!! ;-))05:08
wpwraknow we have to figure out what breaks yours ...05:09
wpwrak#1: are you copying the sorfusb firmware from milkymist.git into rtems before building rtems ?05:09
xiangfuno.05:10
wpwraksomething  like this: cp ../../milkymist/software/libhal/softusb-input.h ../c/src/lib/libbsp/lm32/shared/milkymist_usbinput/softusb-input.h05:10
wpwrakokay, that would explain why usb doesn't work :)05:10
xiangfuno.05:10
xiangfuoh. yes.05:11
wpwrakwe could also update the file in rtems, but given that softusb sometimes changes very rapidly, that doesn't look like a very convenient approach05:13
wpwrakso, best of the build process just gets the version from milkymist.git05:13
xiangfuyes. just finish modify the script makefile. testing now :)05:19
wolfspraulI indeed had some more led testing dreams/nightmares, but luckily forgot them09:21
wpwrak;-)))09:21
wpwrakpity. would be interesting to know what sort of things haunt your dreams :)09:21
GitHub99[scripts] xiangfu pushed 1 new commit to master: http://git.io/2Y3hHA09:46
GitHub99[scripts/master] cleanup help message and update email address - Xiangfu Liu09:46
lekernelrejon: I guess that's you who posted "Open Hardware License. The open hardware movement received a boost when CERN published an Open Hardware License." on twitter10:09
lekernelthe "funny" thing about that is that I posted about it on the mailing list MONTHS before it got noticed, and no one gave a shit. that's pretty depressing.10:10
FallenouI guess CERN twitter account is more popular than Milkymist Mailing list !10:11
lekerneloh, yes, of course. but I'm just giving further reasons for my insisting on getting stuff posted on high-impact blogs and such.10:13
Fallenouyes you're right10:16
FallenouIt would be cool to have more and more posts about Milkymist on high-impact blogs/magazines10:16
Fallenouthe article on Xilinx magazine was nice !10:16
Fallenoudon't know if it's read by a lot of people though10:16
lekernelso far, it's been a complete failure, with exactly zero return10:17
Fallenoumaybe open silicium/gnu linux mag reach more people10:18
Fallenoueven if it's only frenchy stuff10:19
Fallenouat least geeks are reading it10:19
lekerneldid that too, was slightly better, but not brilliant10:19
FallenouWould Milkymist be a good platform for 2D games ? I mean PFPU/TMU , would they be usefull to draw things for a game ?10:21
Action: Fallenou trying to think about other field of applications than VJ10:21
wolfspraulthe finnish reporter Thihi who has a review unit will be back in the channel here to talk about his review, thoughts, etc. next week10:27
qi-botThe Firmware build was successfull, see images here: http://fidelio.qi-hardware.com/~xiangfu/build-milkymist/milkymist-firmware-01272012-1053/11:41
GitHub57[scripts] xiangfu pushed 1 new commit to master: http://git.io/RlRfhA11:49
GitHub57[scripts/master] update the dailybuild folder data format. only save success build - Xiangfu Liu11:49
GitHub33[scripts] xiangfu pushed 1 new commit to master: http://git.io/b3kIfQ11:53
GitHub33[scripts/master] compile-flickernoise: copy softusb-input firmware to rtems - Xiangfu Liu11:53
lekernelthat could be the reason for Wolfgang's problems... we should send a new softusb firmware upstream someday11:55
lekernelor move it somewhere else11:56
xiangfuyes.11:56
xiangfulekernel, BTW: if you think my patch on static network configure is ok. I will push it. :)11:56
xiangfuit's a small patch. :D11:57
lekernelyes, go ahead... I was planning to commit it today11:57
lekernelbtw, here's another small task: https://www.rtems.org/bugzilla/show_bug.cgi?id=184111:58
GitHub91[flickernoise] xiangfu pushed 2 new commits to master: http://git.io/xjGAZw11:59
GitHub91[flickernoise/master] add default ip, gateway, dns - Xiangfu Liu11:59
GitHub91[flickernoise/master] save and restore the static network configure - Xiangfu Liu11:59
xiangfulekernel, yes. it's under my TODO list. I just finish the chinese new year vocation. when I finish the fullscreen patch. I will work on that.11:59
xiangfulekernel, sorry. I didn't reply your email. but I add it to my TODO list. :D12:00
wpwrak(softusb) perhaps the rtems device could just have an ioctl to load firmware provided by the caller ? that way, it could be in FN, which already shares code regularly with milkymist.git12:08
wpwrakpushing updates to rtems doesn't sound so good, because there's an inevitable lag, and some updates will need tight coordination among the participants12:08
wpwrakxiangfu: (network config) thanks ! i couldn't figure out from the code whether it does what i was looking for, but if it does, thanks a lot ! :-) i'll give it a try soonish12:09
wpwrak(softusb) or just copying it over from milkymist.git as we do now works too, of course. it's just not as elegant.12:11
xiangfuwpwrak.  let me know if it not working.12:11
wpwrakoh, and do we really want to promote opendns.com ?12:15
wolfspraulif we need a default dns server somewhere, I suggest Google's 8.8.8.812:16
xiangfuwpwrak, I think someone in qihardware mailing list suggest using opendns.12:18
xiangfuwpwrak, in fact I compare the opendns and google's 8888. google is faster then opendns.12:18
wpwraki also find google cleaner. of course, some people hate google because it's google, but ...12:19
xiangfuI am using 8.8.8.8 everywhere. my server. my laptop. :)12:19
wpwrakhehe ;-)12:19
wpwrakme too12:19
wpwrakthe problem with opendns.com isn't so much speed bu that it lies to you if a name can't be resolved. e.g., if you have a typo or the destination is down12:19
lekernelyeah let's use google then12:20
xiangfuwpwrak, ok12:20
xiangfulekernel, ok12:20
wpwrakthis can go as far as, say,  wget  http://this.is.unreachable.com/file.foo  "succeeding"12:20
wpwrakunanimous vote. nice :)12:20
lekernelI'm actually using google dns too because my ISP also practices this irritating DNS spam12:20
xiangfuyes. DNS spam everywhere.12:21
xiangfupushing ...12:24
GitHub183[flickernoise] xiangfu pushed 1 new commit to master: http://git.io/l6njYg12:24
GitHub183[flickernoise/master] switch to Google Public DNS - Xiangfu Liu12:24
xiangfuwpwrak, I have a problem on my local build. I am using bios and soc under : http://downloads.qi-hardware.com/people/werner/tmp/m1-20120125/12:25
xiangfuwpwrak, and I am using the SDK from rc3 release. then compile rtems local.12:25
xiangfucompile latest libfpvm.12:25
xiangfucompile FN.12:25
xiangfunetboot the FN image12:25
xiangfuthen I can't compile any patch.12:26
xiangfuit give me line X: can initialize non-system variables only to zero near 'XXXX'12:27
wpwrakhmm, so that one's still around12:27
xiangfuI can't test the small fullscreen preview patch12:28
xiangfu:(12:28
wpwrakyour build works from a fresh checkout ? or do you work on a tree that already contains files ?12:28
xiangfuI do 'git clean -d -f; make clean load'12:29
xiangfuif the files is not tract by git. will delete by 'git clean -d -f'12:29
lekernelhe, there's someone from https://casper.berkeley.edu/ following migen on github12:29
lekernellooks fun12:29
wpwrakhmm. maybe something gets overlooked. but let's keep this for later. do you still have the files from the build around ?12:29
xiangfuwhat fiels?12:30
xiangfuall files is under my laptop.12:30
wpwrakthe tree in which the build ran. i.e., src/compiler/fnp.ids12:30
wpwrak(in flickernoise)12:30
xiangfuyes. I have that12:31
wpwrakcan you please paste the first lines of it somewhere ? the first non-comment line should be   sx              pfv_sx          pvv_sx12:32
wpwrakoh, and what is your /bin/sh ? dash or bash ?12:33
xiangfuhttp://pastebin.com/8F20Snwm the whole file :)12:33
xiangfudash12:33
xiangfu(I update my ubuntu to 11.10 forget modify that to bash. I always using bash before. )12:34
wpwrakfnp.ids is perfect12:36
wpwrakcan you give me an example of a patch that failed and at which line that happened ?12:37
xiangfuthe error is : line 1: can initialize non-system variables only to zero near 'decay'12:37
xiangfuthe patch is only one line: video_a=1;decay=0;12:38
wpwrakokay. in fnp.inc, is there an entry for "decay" ? should look like this: http://pastebin.de/2279712:40
wpwrak(again, in src/compiler/)12:40
wpwrakand, likewise, there should be an entry for video_a: http://pastebin.de/2279812:42
xiangfuyes. there is. exactly same12:42
xiangfuyes. there is video_a12:43
wpwrakhmm. getting mysterious12:43
xiangfuonly one line "video_a=1" also not working.12:43
xiangfuthe error is different:12:44
xiangfuit's :12:44
xiangfuline 1: can initialize non-system variables only to zero near 'EOF'12:44
wpwrakyes, that's the same cause12:44
wpwrakfor some reason, it doesn't find the symbol table entry12:45
qi-botThe Openwrt build was successfull, see images here: http://fidelio.qi-hardware.com/~xiangfu/build-milkymist/milkymist-openwrt.minimal-20120127-1251/12:46
xiangfu^ data format have changed. :)12:47
wpwrakactually, that could happen ... :)12:48
wpwrakbut the make clean ought to take care of it12:48
GitHub52[flickernoise] wpwrak pushed 2 new commits to master: http://git.io/DDjrrA12:48
GitHub52[flickernoise/master] ptest.c: committed unfinished code that didn't even compile, oops - Werner Almesberger12:48
GitHub52[flickernoise/master] Merge branch 'master' of github.com:milkymist/flickernoise - Werner Almesberger12:48
wpwraknow, after a git pull, if you go to compiler/src/, then   make all test   does that work ?12:49
wpwrakthe tests should finish with  Passed all 244 tests12:50
wpwrakgah ! already friday !? where did the week go ? i was just asking myself whether it was wednesday or already thursday ...12:51
xiangfustill same error :(12:52
wpwrakwhich test fails ?12:52
xiangfuin simple mode. it fails at first patch. then I using 'Patch Editor' open the one line patch.12:53
xiangfuit give same error.12:53
xiangfuline1: can iniialize non-system variables only to zero near 'decay'12:53
wpwrakthe commit i just made didn't change code that runs on the M1. that was to fix a bad commit that broke the regression tester12:54
wpwrakso now you should be able to run the regression tests :)12:55
wpwrakto do so,  cd src/compiler; make all test12:55
xiangfuerror: http://pastebin.com/xJTJjcCc12:57
wpwrakexcellent. we're getting somewhere :)12:58
wpwrakif you run  ptest/ptest -s ''  does it show the list of variables, alphabetically sorted ? (from _Xi to zoom)13:01
wpwrakah, and in your shell, what does  echo $LANG  say ?13:02
xiangfuthe first one is : bAdditiveWaves13:02
xiangfulast one is : zoom13:02
xiangfutotal 14113:02
xiangfuen_US.UTF-813:03
wpwrakaha. so the ones with underscore got sorted elsewhere13:03
wpwrakLANG messes up the sort order. how sweet ...13:03
xiangfuwhat should I do?13:06
lekernelunset LANG13:06
wpwraknaw,   git pull ;-)13:06
GitHub83[flickernoise] wpwrak pushed 1 new commit to master: http://git.io/6-uVaA13:06
GitHub83[flickernoise/master] compiler: set LANG=C before running "sort" in idgen - Werner Almesberger13:06
wpwrakLANG is the bane of shell scripts. introduces weird breakage at the strangest places13:07
wpwraki didn't see this one coming, though. thought the strings there were "safe"13:09
xiangfustill the same :(13:09
xiangfumaybe I have some other shell variable13:10
wpwrakhmm, maybe. can you paste the output of  env  ?13:10
wpwrak(you did a make clean first, did you ?)13:11
wpwrak(because if not, make won't realize it has to rebuild fnp.inc)13:11
xiangfuno13:12
xiangfuafter make clean. all works fine.13:13
xiangfuPassed all 244 tests13:13
wpwrakvictory !! ;-)13:13
xiangfuand ptest give correct order. from _Xi to zoom13:13
wpwrakdamn. i should have kept a bottle of champagne :)13:14
xiangfuI will pay for the champagne. :) thanks werner.13:14
wpwrakFN should compile patches fine now. thanks for helping to debug this !13:14
xiangfuI have a lot of beer . because chinese new year. :)13:14
xiangfuyes. now all patches works fine now.13:15
wpwrak(beer) excellent ;-)))13:17
lekerneland we should celebrate 5 years of Milkymist next summer :)13:17
wpwrakwow :)13:18
lekernelconveniently this will be near EHSM, which hopefully will happen :)13:19
wpwrakEnvironmental Health and Safety Management ?13:22
lekernelhe, I sent you an email about this13:22
lekernelI'm organizing a conference about some real DIY and OSHW this summer in Berlin13:23
wpwrakaah ! Exceptionally Hard & Soft Meeting13:24
lekernelyeah, that one :)13:24
wpwraksounds like fun. alas, berlin = pretty expensive to get there ...13:27
xiangfuwpwrak, fullscreen patch coming out. :)13:27
wpwrakhehe :)13:27
xiangfudouble check. before send out patch. :)13:27
lekernelwe're planning to pay for speakers' travel expenses ... assuming we get funding (which is the #1 reason why EHSM might not happen)13:28
Action: xiangfu have a 'm1reboot' script file local. I think this small command is real cool as long as you connect the jtag :)13:29
wpwrakhttp://projects.qi-hardware.com/index.php/p/wernermisc/source/tree/master/m1/jtag-boot   ->   make boot   ? :)13:30
Action: stekern is using wpwrak's jta-boot13:32
stekern+g13:32
xiangfuyou already have. :)13:32
xiangfumy version is a little different:13:33
xiangfucable milkymist13:33
xiangfudetect13:33
xiangfuinstruction CFG_OUT 000100 BYPASS13:33
xiangfuinstruction CFG_IN 000101 BYPASS13:33
xiangfupld reconfigure13:33
xiangfuonly 'pld reconfigure' :)13:33
wpwrakyeah, that's just the reset13:33
xiangfuhttp://pastebin.com/Mua8W4Cu13:34
xiangfuyes. just reset13:34
wpwrakmine boots what comes after standby. useful if you still have the old standby bitstream that waits for the button13:34
wpwrakbut yes, things are simpler now :)13:34
lekernelxiangfu: your FS implementation seems ok for me13:36
xiangfulekernel, ok. got it.13:36
lekernelofc it's quite a hack, but why duplicate code :)13:36
wpwraknice ;-)  char *code = "video_a=1;decay=0;";13:38
GitHub120[flickernoise] xiangfu pushed 2 new commits to master: http://git.io/ajo6mg13:39
GitHub120[flickernoise/master] videoin: add fullscreen button - Xiangfu Liu13:39
GitHub120[flickernoise/master] videoin: finish fullscreen function - Xiangfu Liu13:39
GitHub1[migen] sbourdeauducq pushed 1 new commit to master: https://github.com/milkymist/migen/commit/5466a82933a5e2eee41b55bd171bef9200c2400813:41
GitHub1[migen/master] doc: cosmetic changes - Sebastien Bourdeauducq13:41
xiangfuwpwrak, :)13:42
xiangfusee you guys13:42
xiangfuwpwrak, read file needs much more code :D. (I plan read the fullscreen patch before)13:43
lekernelthat's would be bad idea13:43
lekernelnot because it needs more code, but because the binary is no longer self contained and has the dependency on this weird patch to get full screen support13:44
wpwrakyeah, depending on an external file to be around would be inconvenient13:44
lekernelhttp://opencores.org/forum,OpenRISC%20-%20ASIC%20Funding,0,464814:21
qi-botThe Firmware build was successfull, see images here: http://fidelio.qi-hardware.com/~xiangfu/build-milkymist/milkymist-firmware-20120127-1347/14:34
larsche sounds convincing14:35
lekernelI love the "taking down the US drone with our bare hands" part :-)14:37
larschm, i missed that part14:38
Fallenouhe also seems a little bit too optimistic14:42
Fallenouor self confident14:42
Fallenoubut maybe he really has some ground breaking ideas to challenge big companies :)14:42
lekernelremote: /data/github/current/lib/github/config/resque.rb:27: undefined method `constantize' for "GitHub::Jobs::GrabAuthor":String (NoMethodError)16:01
lekernelmeh16:01
lekernelI got that on pushing commits16:01
larsckaputt!16:03
qi-botThe Firmware build was successfull, see images here: http://fidelio.qi-hardware.com/~xiangfu/build-milkymist/milkymist-firmware-20120127-1546/16:34
GitHub52[migen] sbourdeauducq pushed 1 new commit to master: https://github.com/milkymist/migen/commit/5405a83ff9068d0921fc8820cf01bbaefd43a4d519:27
GitHub52[migen/master] fhdl: memories working - Sebastien Bourdeauducq19:27
GitHub101[migen] sbourdeauducq pushed 1 new commit to master: https://github.com/milkymist/migen/commit/2726ba224273e88dab86750807e2a51e987fb0c120:28
GitHub101[migen/master] doc: memories - Sebastien Bourdeauducq20:28
GitHub18[migen] sbourdeauducq pushed 2 new commits to master: https://github.com/milkymist/migen/compare/2726ba2...685b5eb20:44
GitHub18[migen/master] fhdl: make WRITE_FIRST default - Sebastien Bourdeauducq20:44
GitHub18[migen/master] fhdl: support memory read enable - Sebastien Bourdeauducq20:44
GitHub21[milkymist-ng] sbourdeauducq pushed 1 new commit to master: http://git.io/4sM46Q21:14
GitHub21[milkymist-ng/master] Add on-chip SRAM - Sebastien Bourdeauducq21:14
lekernelon-chip SRAM in 31 lines, including read-write and byte-granular SRAM core. great!21:14
wpwrakwow. so  medit 0xe0009000 1 2 3 4  will work ? :)21:16
lekernelit should already do - it's only MMIO that has special alignment requirements21:17
wpwrakah ... yeah, i guess i would have notices if ram had issues :)21:18
GitHub26[migen] sbourdeauducq pushed 1 new commit to master: https://github.com/milkymist/migen/commit/a99c2acfa8264e6695163b95912ac950d0eed0ca21:26
GitHub26[migen/master] Remove explicit bus names and rely on the new automatic namer - Sebastien Bourdeauducq21:26
GitHub86[milkymist-ng] sbourdeauducq pushed 1 new commit to master: http://git.io/mTbo8Q21:26
GitHub86[milkymist-ng/master] Remove explicit bus names - Sebastien Bourdeauducq21:26
lekernel27 lines21:39
wpwrak:)21:41
mwallelekernel: have you ever disassembled your beagle?22:00
lekernelthe USB analyzer? yes, I had a quick look22:02
mwallewhats inside? a cypress ezusb + cpld?22:03
lekernelyes22:03
Action: mwalle wonders if the spi/i2c is the same hardware as the usb one22:03
lekernelsomething like that22:03
mwalledid you find anything about the protocol between the beagle and the host?22:03
lekernelyeah, it seems to be using some compression22:04
lekernelbut I didn't insist22:04
lekernelI no longer have this device anyway... it was quite expensive and the software is mediocre (tons of malfunctions when you send broken USB packets? in a debug tool?) and proprietary22:05
mwallesold it?22:06
lekernelreturned it22:06
mwalleah ok ;)22:06
lekernelyou can probably do more with openbench/saelae/whatever and some scripts, which at least you can fix when they break22:09
wpwraksomeone could turn M1 into a USB analyzer :)22:11
mwalleyeah at work we have a beagle spi/i2c analyzer22:18
mwallealthough it seems to sample the bus, one cannot see any waveforms22:19
lekernelyeah, that's another thing which annoyed me with the usb one22:20
mwalleat least its easy to read download the firmware, maybe i find time to analyze it22:21
lekerneland when I asked them they answered it wasn't possible because the beagle used an USB PHY (which it does not)22:21
Action: mwalle wonders where the firmware is stored, i can't find any eeprom22:22
lekernelprobably downloaded over USB22:23
mwallenope, i have no driver, and it already has the right vid/pid (and firmware)22:23
lekernelmaybe in the cpld?22:24
mwalleits a xc957222:26
mwalletheres some soic8 chip i cant identify, but i guess thats serves for some usb protection22:26
mwalleh006 64c 122:27
mwalleah atmel 24c64c ;)22:32
kristianpaulsram yeah !23:07
--- Sat Jan 28 201200:00

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