#qi-hardware IRC log for Thursday, 2011-07-28

mthhmm, Mr Drillux triggers a reboot00:01
Aylasome minutes ago, my dingoo rebooted while I was coding00:02
Aylaand USB wasn't even plugged00:02
Aylait was idleing at gmenu2x00:02
mththis one was not random though, I can reproduce it00:02
Aylalet me guess00:03
Aylayou have USB plugged in00:03
Aylawithout USB, does it powers off instead of rebooting?00:04
mthno, it also reboots then00:06
Aylasnes9x does poweroff when entering the in-game menu00:06
Aylajust because /proc/jz does not exist, then it can't read the battery00:07
Aylathe guy did code a poweroff-when-low-battery function :)00:07
mthcan the disabling of the fb console be added at a later moment than previously?00:11
mthfor example, in the gmenu2x startup script00:11
mthor maybe even in the same place that sets the SDL-don't-clear flag?00:12
mthI'd like to get logging if the frontend startup fails00:12
mthby the way, console apps are broken for me now, is there a way to fix that?00:14
mthby adding a flag to the ini file if needed00:14
mththey are broken even if bind is not set to 000:14
mthah, it was about redirecting to a log file, iirc00:16
mththere is no log viewer menu item anymore though00:17
Aylamth: I don't really know where to put that command00:17
mthI guess the first step would be to have an per-app flag whether the app is graphical or text-based00:19
mthand remove the global log flag00:19
mthwell, we could omit logging of graphical apps, but does that ever make sense?00:20
mthand we could log text apps using "tee", but again, does it make sense?00:20
AylaI don't understand, you want to remove the log feature?00:24
mthno, I want to auto-enable it when it makes sense00:25
Aylathen I was thinking about the contrary, log the graphical apps and not the text apps00:25
mthI guess with a text-based app that is not (n)curses based, logging might be useful00:25
mthAyla: yes, that was my original idea as well00:26
mthI'm wondering though whether there are exceptions to that rule00:26
mthon the NN, the full keyboard means a lot more text-based applications are useful00:27
mthsomething like a telnet/ssh session might be useful to log00:28
mthwhile an (n)curses application would not be useful to log00:28
mthmaybe I'm overcomplicating things though for an initial version00:29
AylaI think the log is fine as it is right now00:29
mththe log makes apps like alsamixer unusable00:29
mthis the sysfs "bind" file really only changeable when the console is visible?00:32
Aylano, you can change it when gmenu2x is running for instance00:34
mthif I try that, the value stays 100:35
Aylare-activating the console works, I didn't test the other way00:36
mthre-activating works during the loading screen, not while gmenu2x is still running00:37
mthnot here, anyway00:37
AylaI'm off now00:47
AylaI'll see that tomorrow00:47
wolfspraulmarcan: hi there and welcome!01:13
marcanhello :)01:14
wolfspraulfyi - marcan is the guy behind the OpenLase project http://marcansoft.com/blog/2010/11/openlase-open-realtime-laser-graphics/01:14
marcanI'm about to catch some sleep, but we should have some overlap during my morning/your afternoon :)01:15
wolfspraulwhich is a laser projector, thanks to Tuxbrain for digging it up...01:15
wolfspraulmarcan: sure :-) I'm here all day long, just sipping my morning coffee :-)01:15
rejonsigh..... http://blog.slyon.de/2011/07/26/openmoko-gta04-is-getting-reality/01:20
wolfspraulmarcan: just asked rejon who confirmed that you cannot put the laser rendition of the bad apple clip under a cc license01:35
marcanright, I figured01:37
wolfspraulI like the fact that it's scanned from a video01:37
marcanmaybe once I learn japanese I'll be able to ask for permission :)01:37
wolfspraulmaybe we can scan another video that is already cc licensed?01:38
wolfspraulit's not super important though, just that I think that's a capability worth talking about01:38
marcanyeah, but it's going to be hard to find something that works that well01:38
marcanwell, technically, an early prototype of the tracer is in the LASE demo video - used for metaballs and fire, which are first rendered as bitmaps01:38
wolfspraulunderstand, needs to be pulled through some black&white naturalization or high-contrast or whatever filter01:38
marcan(after that was when I had the idea of plugging in ffmpeg and the whole video tracing thing took off)01:39
marcanoh, it doesn't require that01:39
marcanI have a Canny edge tracer that looks for edges, regardless of whether the video is black/white01:39
marcanand does a pretty good job01:39
marcanbut of course it can't magically turn a normal video into a perfect stylized shadow art thing like that bad apple video01:39
wolfspraulreal life problems :-)01:40
wolfspraulbut the idea is still cool!01:40
marcanI've been meaning to apply it to a realtime depth image lifted from a Kinect01:41
rejonthat is pretty cool marcan01:41
marcanthat should give us something very similar to the Bad Apple video, but from a live feed :)01:41
rejonmarcan: can use some images from http://openclipart.org and animate them01:41
rejonor make something similar01:41
wolfspraulmarcan: ah yes, I think rejon is openclipart founder :-)01:41
wolfspraulrejon: is that right Jon?01:42
marcanthere's an svg2ild in there for static images (that can be embedded in openlase apps), though it doesn't (yet) do animation01:42
marcan(that's how the LASE title and the Euskal Encounter outro were done for LASE)01:42
wolfspraulso since marcan has not gone to sleep yet, just for the record the idea being discussed here is to manufacture his laser projector as copyleft hardware01:43
wolfspraultuxbrain was so super excited about it and said it had to be combined with milkymist one - SOMEHOW01:43
marcan(fwiw, it was always meant to be open hardware ;)01:43
wolfspraulsure, we know01:43
wolfspraulit will take some time for more people to understand how it's built, how it could be used with our video synthesizer, and so on01:44
wolfspraulmarcan: it would be awesome if you could do the electrical design in KiCad, we've done a lot of work with KiCad and come to like it01:44
marcanthat's what I was thinking about using01:45
marcanI've never used it but it's been on my TODO list for a while01:45
wolfspraulrejon: (marcan correct me if I'm wrong) my understanding of the design is that at the core it's a cheap laser pointer, then some mirrors and electro motors for positioning, and a microcontroller/circuit to integrate the whole thing01:45
marcanEagle freeware being closed source and limited, and gEDA, well, can be a bit annoying at times01:45
marcankicad looks good, I've just been waiting for an excuse to try it :)01:45
wolfspraulmarcan: you are in the right place here, we've done _A LOT_ of KiCad work01:46
marcanas for the hardware, it's even simpler01:46
wolfsprauldata is fed to the projector mainly in the form of audio channels, on M1 (Milkymist One), maybe we can hook it up over USB...01:46
marcanthere's a tiny micro but it's just there for some power/safety stuff01:46
marcanthe core is just a USB sound card feeding straight into the motor drivers01:46
wolfspraulmarcan: if you don't have a repository yet, feel free to use the projects.qi-hardware.com server01:47
wolfspraulfor the KiCad files01:47
wolfspraulbut I think you have a repo already, then it's more important to keep it all in one place...01:47
marcanyeah, I have an OpenLase Git on git.marcansoft.com01:47
marcanI'll put the hardware stuff on a repo next to that01:47
wolfspraulwe've done quite a bit of work for server-side KiCad automation, like schematics history for example http://projects.qi-hardware.com/schhist/m1-jtag-serial/01:48
kristianpaulha, is sounded like like jean michel jarre, and it is :-), great stuff 01:48
wolfspraulbut yes, keep it in one place01:48
marcanyeah, I saw that on the tuxbrain talk01:48
marcanthat definitely convinced me to try it :)01:48
wolfspraultry what?01:48
wolfspraulah yes, definitely01:49
marcanthe motors are off the shelf chinese galvos (they come with the mirrors and all that) with their drivers and whatnot01:49
wolfspraulI can dismiss any concerns about 'not ready for professionals' today, easily. we've done enough work in the last years to know it's not true.01:49
marcanthe current design is a patchwork of stuff (hacked USB sound card, hacked laser pointer, galvos, etc.)01:49
marcanbut I want to unify all the electronics into one or a few boards designed from scratch as all-digital controllers, at least up until the galvos01:49
wolfspraulour goal should be to integrate everything as much as possible, and to make it as cheap and robust as possible01:50
wolfsprauleasier said than done :-)01:50
marcanso I wouldn't use the original galvo controllers (the galvos can be sourced standalone, I've asked for them once)01:50
marcanI think I can get huge advantages in performance and features that way :)01:50
wolfspraulfor sourcing, I suggest digi-key as a first orientation on availability01:51
marcanfor electronics, of course01:51
marcanbut you won't find galvos on digi-key ;)01:51
wolfspraulif you need stuff that is not on digikey, like modules or those galvos, please bring it up as early as possible and I do some reasearch in China01:51
wolfspraul100% of our vendors and supply chain are documented01:52
wolfspraulI am not holding _any_ information back when I manufacture something01:52
wolfspraulfor example this is the inventory I currently have, various leftovers mostly :-) http://en.qi-hardware.com/wiki/Sharism_inventory01:52
wolfsprauland vendors we buy from http://en.qi-hardware.com/wiki/Vendor_Code01:53
marcanthose are the ones I'm using right now01:53
marcan(took me a while to track down those guys, since I originally got them through a reseller on eBay)01:53
marcanI had to find them because the reseller vanished and I blew one of my galvos01:53
wolfspraulmarcan: what other parts do you believe exist anywhere in the laser projector that are not 'common'01:54
wolfspraullet's define 'common' as 'not on digikey' for now01:54
kristianpaulcan you project in water vapour?01:55
wolfspraulfirst the galvos, and anything else?01:55
marcanjust the laser(s) themselves I guess01:55
rejonyes, on openclipart01:55
marcan(and the two dichro mirrors if we do RGB)01:56
marcan(dichros are used to mix the lasers into one beam)01:56
rejonanother idea is to just rerender something like http://bigbuckbunny.com with only the black and white, remove background01:56
wolfspraulmarcan: I need more technical information on those parts01:56
rejonor what is their new film, http://sintel.com01:56
wolfspraulas much as you know about them, hard specs01:56
marcanwolfspraul: the galvos, or the other stuff?01:56
wolfsprauleverything that is not on digikey :-)01:56
wolfspraulso I think now we have:01:57
wolfspraul1) galvos01:57
wolfspraul2) laser01:57
wolfspraul3) dichros01:57
wolfspraulif we call these things 'modules', we need to be careful with those modules01:57
wolfspraulI don't want to depend on completely opaque ebay sources01:57
marcanof course01:57
wolfspraulthe spot market in Shenzhen is a heaven for modules, but I need to spend a little time to see which is the best way to source 'standardized' modules01:58
wolfspraulfor example for LCM, or touch panels, or many others types I'm very clear nowadays01:58
wolfspraulbut of course for those 3 - no idea now :-)01:58
marcanI think we want to do two things, 1) make the board as generic as possible so people can use their own modules, 2) find some "reference" sources for complete kits or whatever if we do that01:58
wolfsprauloh I want to make a full product, including mechanical design, everything01:59
marcansure, but I think we also want to be able to sell the board to someone who wants to use it to build their own projector01:59
wolfspraulnot me, you can do that :-)01:59
marcansince everyone seems to want different colors/powers/galvo quality :)01:59
wolfspraulor Tuxbrain :-)01:59
marcansure :)01:59
wolfspraulfine, but I am interested in making those decisions towards what _we_ consider is 'good' quality02:00
wolfspraulso the end user can just buy the thing and it will work02:00
wolfspraulsince everything is open, opportunities for branching out in a new direction are always there02:00
wolfspraulin fact making that easy is a key goal02:00
marcanwhich means I need to experiment still :)02:00
wolfspraulbut because that is easy, I can solely focus on what I believe is a good integrated product02:00
wolfsprauldefinitely, this will take months02:01
wolfspraulwhat would help me now is to understand more about the galvos, laser and dichros we need02:01
wolfspraultheir specs02:01
marcanfor 1) I only know of those galvos, 2) I'm just using DealExtreme pointers, but thankfully diode laser modules aren't rocket science and are fairly interchangeable; 3) no clue about dichros yet (I haven't done RGB yet), but I understand it's a pretty generic item02:01
wolfspraulwith 'now' I don't mean right now (you need to go sleep), but I mean in next days/weeks02:02
marcani.e. a hunk of glass passing one wavelength and reflecting another, it doesn't really matter who you get it from02:02
wolfsprauldealextreme is not bad02:02
wolfspraulit's like a remote version of digging through shenzhen spot markets02:02
wolfspraulof course super inefficient compared with a trip there02:02
marcantheir lasers are a bit hit and miss at times though :P02:03
wolfsprauleverything there is :-)02:03
wolfspraulbut if you would spend a week with me walking around the markets, you would realize the inability to build a reproducible online shop out of this :-)02:03
wolfspraulthat's the work I can contribute to your project actually02:04
marcanhaha :)02:04
wolfspraulfind cheap ways to integrate everything02:04
wolfspraulcleanup the sources02:04
wolfspraulfind some hard-to-source modules02:04
marcanyeah, having someone who knows his way around Chinese markets is a huge bonus02:04
marcanespecially since that's the only way to get affordable laser parts (particularly the galvos)02:04
marcan(and the lasers)02:04
wolfspraulwell we need to dig out the facts, specs etc.02:04
marcanI'd say we need to decide on them first :)02:05
wolfspraulonce we dig this out, we can do sourcing anywhere, in the end it is quite possible that many parts actually come from Japan/Korea/Taiwan02:05
marcanbasically I want to start working on the new hardware soonish and see where that gets me, I don't think I'll be able to start deciding on hard specs until I have some prototypes for the electronics and I can actually test stuff02:05
marcanbut if you want to know what my _current_ hacky projector looks like, well, the basic specs are 30kpps galvos, and a 200mW (currently) DPSS green laser diode02:06
wolfspraulyou have a much clearer idea on specs than me right now, so it helps if you write up what type of laser/galvo/dichro _might_ work02:06
wolfspraulah there you go :-)02:06
kristianpaulsorry interrupt again but, i'm confuse, where are the schematics here  git.marcansoft.com ?02:07
marcan(there's no such thing as a green laser diode)02:07
marcankristianpaul: the schematics aren't on the git, I just wrote a quick blog post about the hardware some time ago02:07
marcansince the current version is very much DIY/adapt-as-you-go, not really a 100% reproducible product02:07
qi-bot[commit] Xiangfu Liu: new package for keep milkymist config files (master) http://qi-hw.com/p/openwrt-packages/787a43002:08
marcanbut the two parts I built from scratch (the main controller board and the laser driver) have their respective schematics02:08
marcanthere's the writeup on the hardware02:08
wolfspraulmarcan: anything other than galvo/laser/dichro that's not on digikey?02:09
rejoncheck out my qi-hw project: http://en.qi-hardware.com/wiki/Laoban_Soundsystem02:10
marcanother than mechanical stuff (case, heatsinks, mounts, that kind of stuff), not that I can think of02:10
marcanthe final design is very much up in the air, but I don't intend to use anything exotic02:10
marcanthe only mildly weird thing is I want to use an XMOS micro, which is a newfangled multicore event-driven thing that I think is a good match, but that's on digi-key too02:11
wolfspraulmarcan: I am not an electrical engineer, I can barely read a circuit02:11
wolfsprauljust clarifying my role02:11
wolfspraulso what I can help with is sourcing, manufacturability02:11
marcanrejon: wow, 6000W :)02:12
wolfspraulso you will see me following your project very much from a sourcing side. asking questions about specs of parts etc.02:12
wolfspraulif you use KiCad, you can follow some of the naming conventions we've come up with, if you like02:12
kristianpauland hopefully safety ;)02:12
marcanthe new design will be much safer (laser-wise) than what I have now02:13
marcansince I'll do the galvo driving loop in the micro, if the galvos break/stop moving I can turn off the laser02:13
wolfspraulmarcan: Werner Almesberger (wpwrak) may have feedback for you once your KiCad project is up. Stuff is also written up and you can look at the KiCad projects on projects.qi-hardware.com02:13
marcanright now that can't be detected since the galvo drivers give no feedback :)02:13
marcan(the #1 unsafe situation for a laser scanner is that the laser stops and delivers full power to one point, then if someone gets hit in the eye you've got a problem)02:14
marcanwolfspraul: will do02:14
kristianpaul(feedback) yeah, was about to point that..02:14
wolfspraulthis is super alpha, but still http://en.qi-hardware.com/wiki/Copyleft_Hardware_Style_Guide02:15
wolfspraulfeel free to use if it makes sense for you, we are all learning and debating what's best...02:15
kristianpaulhey, i missed that page, looks interesting02:16
marcanduly noted02:16
kristianpaulcan you replace laser by some sort of hihg power LED or something?02:16
kristianpaulwell, just barelly asking02:17
marcanI've had a crazy year (moves, conferences, stuff to organize, jobs etc), but as soon as I get more "stable" in the coming months I want to start seriously cleaning up OpenLase and working on the hardware02:17
marcansince I've had several interested people, and just not enough time to really start documenting things properly :/02:17
marcankristianpaul: not really, it needs to be a laser to be collimated02:18
wolfspraulI'm interested too, it allows me to dig into parts I haven't digged in before (galvos/dichros/laser), and out of that we can build good products in the future, maybe :-)02:18
marcanyou can't really focus an LED down to a line02:18
marcanone of the cool things about the laser projector is you can project on uneven of way off-angle surfaces02:18
kristianpaulwell, be safe ! i'll follow your blog for now as well :)02:19
marcanand there are no focus issues, you just adjust the transform02:19
rejonwolfspraul: btw the point of laoban soundsystem always was to make copyleft/open soundsystems02:19
rejonears are super sensitive02:19
rejonand bass/sound is all around02:19
rejonvision you have to get heads pointed at02:19
wolfspraulmarcan: so that's my wishlist - more documentation about the desired/required/best specs for those 3 parts02:19
marcanwolfspraul: will do, just don't expect it "real soon" because I'm still very much unclear about it still, I need to start doing some prototyping first :)02:20
wolfspraulmarcan: do you have a picture of the innards of your current projector?02:21
kristianpaulhttp://www.teledynelighting.com/products/PhotonEngine/default.asp may be?02:21
marcanit doesn't have a case, so more like the outards ;)02:21
wolfspraulmarcan: oh sure, keep us posted about the prototyping. I'm sure those are exactly the points that will come up there.02:21
marcanas you can see, veery hacky construction ;)02:22
kristianpaulbut works very well !02:22
marcanthanks :)02:22
kristianpauland no injuries so far, right? :)02:22
marcannot that I know of anyway :)02:22
marcanI'm pretty careful, and I've got my safety goggles02:23
marcanthe rule at 100mW or so, as far as I can calculate, is that it should be safe as long as it's drawing something nontrivial (though you don't want to get hit deliberately, of course)02:23
wolfspraulmarcan: are all pictures/videos on your blog or posted by you cc-by?02:23
marcanso the danger is while you're adjusting or messing with the projector itself, and that's when you use goggles :)02:23
marcanwolfspraul: consider all the pictures cc-by, as for the videos, if they don't contain third-party source video or audio, same thing02:24
wolfspraulgot it, great!02:24
wolfspraulmarcan: can the projector be passively cooled?02:26
marcancurrently it's all passive, though if we put it in a case it might be a good idea to get some airflow02:26
marcanbut with some clever engineering (using the case as a heatsink...) it can probably be done entirely passive02:26
wolfspraulon that picture, where are the galvos?02:27
wolfspraulthe power supply is bottom left02:27
marcantop center/rightish02:27
wolfspraulah ok02:27
wolfspraulwhat's the top left part?02:27
wolfspraulwhere is the laser output?02:27
marcantop left is the laser02:27
marcanmounted on a heatsink and with a black cover on top to catch any stray reflections, if any02:28
wolfspraulyes, you should definitely try to avoid a fan02:28
marcanmy one interesting unknown re: cooling right now is cooling the lasers themselves02:28
marcan"pro" stuff tends to use TEC cooling (peltier) as far as I know, for temperature stability02:28
marcanI'm not using any of that yet, but I do notice some instability with the laser module02:29
marcanso I might experiment with that02:29
wolfspraulyes, good02:29
qi-bot[commit] Xiangfu Liu: m1: add busybox EXTRA_CFLAGS option (master) http://qi-hw.com/p/openwrt-packages/622652402:29
marcanok, I should be getting some sleep :)02:30
rejonnight marcan cool stuff!02:32
rejongreat to see you join us in here02:33
rejonthings are moving02:33
kristianpaulahh outw_p is from the outb familly 02:50
kristianpauli guess i can just re-use the mmio functions from milkymist rtems bsp02:54
wolfspraulkristianpaul: how's the gps stuff coming along btw?03:06
kristianpaulthis a nice doc svn.psas.pdx.edu/svn/psas/trunk/gps/documentation/adg_thesis_final.pdf03:07
kristianpaulwolfspraul: working on osgps porting 03:07
kristianpaulwell, for now verifying code compatiblity03:07
kristianpaulseems write/read not big deal03:07
kristianpaulnow remains, registers compatibillity check, and intterupt handling03:08
wpwrak(openlase) neat stuff !06:03
wpwrakmarcan: (safety) how fast can you switch the laser on/off ? e.g., could you control its power with a PWM without getting the beam visibly chopped ? and when the beam hits an eye, how long do you have before it does damage ?06:05
wpwrak(hw guide) makes me realize just how much we still have to document :-) complete naming conventions, sizing conventions for schematics (text, symbols), idem for footprint/layout (a lot more parameters), tables of parameters per component types, ... then there are a few things at the extreme end of the range, like caps with merely fF (and tolerances in % or F) that deviate from the usual rules06:08
wpwrak(hw guide) next, package naming conventions, footprint style conventions/recommendations, workflow (e.g., how do i add a symmbol or a footprint; how do i generate gerbers from my project), recommended mechanical parameters, footprint dimensioning rules and recommendations (these are my favourite - remember all those long posts full of obscure numbers and more references than the average PhD thesis, with all the sources violently contra06:12
wpwrakdicting themselves ? :)06:12
rejonhopefully we will pick up some phds too wpwrak06:12
wpwrak(hw guide) sourcing best practices, etc. etc.06:13
wpwraka PhD in copyleft hw would be sweet ;-)06:13
rejonanother option06:16
wpwrakwell, sebastien should be about halfway there. llhdl should also satisfy the prerequisite theoretical work. write a few conference papers and find a university where they're not too picky about form, and voila :)06:17
wolfspraulhalfway, phew. i'm halfdead. even just working on sourcing makes me feel there's still 1000 things I cannot even spell right.06:18
wolfspraulAdam's testing is slowly making progress btw06:19
wolfspraulwe have to wait for full data for all 90 pcbas first06:19
wolfspraul7 in 100% pass condition now, I hope this goes up! :-)06:20
wpwrak93% yield isn't half bad06:20
wolfspraulno I have 7 boards that pass 100%06:21
wolfspraulafter testing 27 :-)06:21
wolfspraulbut we need a full data set first...06:21
wpwrakoh :)06:21
wolfspraulfirst priority - make as many boards 100% pass as quickly as possible06:22
wolfspraulsecond priority - understand systematic problems of this run so that the next run has better yield/less problems06:22
wolfspraulthird priority - fix boards one by one, starting with the easiest, moving towards the harder ones, and stopping when it's so hard (per board) that it makes no economic sense to continue, and instead start the next run06:23
wolfspraulwe are in #1 now06:23
wpwrakyes, makes sense06:24
rejongood logik06:25
wpwrak#1 has actually to parts: #1.1 make a few work 100%, so you know that there's no common fatal flaw. #1.2 get boards ready for distribution/selling. #1.2. may or may not be in you critical path, depending on what other things you need (e.g., case parts, accessories, box, ...)06:26
awrejon, hi 06:27
wolfspraulwpwrak: #1.1 is what the very first board is for, that is taken off the smt line before the rest is pushed through. A bit risky maybe to only take 1, but that's how it's done normally.06:27
awi am still testing..rc3 though06:27
wolfspraulI guess the assumption is that the smt/reflow process is so deterministic that if there are no problems with the first board, the rest can be pushed through safely06:28
wolfspraultoo much data in that situation wouldn't help you either, because the line is waiting...06:28
wpwrak(just one) yeah, one is hard enough work and you have just one adam :)06:28
awrejon, so my apartment/office here now is messy a little, after testing all boards firstly maybe we can meet at somewhere. ;-)06:28
wpwrakin theory, >1 board would be good to spot very bad variations or exceeded tolerances. but the value of adding boards quickly diminishes. and your smt line will only have so much patience ;-)06:29
rohyay. glueing done. solvent jar closed (i hope i can let it be closed for some time now)06:34
rejonaw: cool man06:34
rejondon't want to distract you06:34
rejoni'm here near taipei 10106:34
rohnow letting it rest a few hours.. will do qc on the remaining sheets now and then check the yesterday-glued 75 (qc) and package them06:35
rohrejon: youre in tpe? nice.06:35
wpwrakroh: does the solvent at least smell "nice" ? ;-)06:36
rohi havent smelled it yet. i guess thats a good sign06:36
wpwrakhow boring ;-)06:36
roha chemist i know warned me about it, but commented that its 'a nice turn when it happens'06:36
rohi guess he must know. (/me likes physics but chemicals are still something i consult people on a default basis)06:37
awrejon, ;-)06:38
wpwrakroh: you should once try pcb speed etching. mix ~30% HCl and ~30% Peroxide in equal parts, then insert the PCB and agitate it a bit. make sure spills and fumes will be contained :)06:39
rejonaw: there is something brewing for next tues. then you can meet a few people working on parts of the puzzle :)06:40
wpwrakroh: if you're really good, you will even be able to get the board out before it's completely ruined :)06:40
rejonmight be better06:40
wolfspraulwpwrak: "may the yield be with you" :-)06:40
rohwpwrak: i am really happy we got a ventillation system here06:42
rohwpwrak: used it a lot lately for making sure nobody gets harmed.06:42
wpwraksigh, what happened to the mad scientists of the good old days ?06:43
rohit has 3 power levels and was built for the former useage as solarium. i only use stage1 on outtake air usually. sometimes also stage1 intake06:44
rohevery stage eats about 3kW. so its 18 kW max power.06:44
rohalso kinda funny: stage 3 out and no in active makes the inner front door open by itself (against a spring loaded closer) because of the air getting sucked out.06:45
wpwrakhmm. are you sure it's designed to work with chemicals ? some stuff can be quite corrosive. without an appropriate filter, you won't enjoy that ventilation for long ...06:45
rohafaik all filters are gone already. its mostly consisting of tubing made from fire-zinked metal and some aluminium parts06:46
rohalso it was for free (well.. eats electricity for breakfast)06:47
wpwrakwell, you may want to check its condition every once in a while :)06:48
wpwrakand avoid experiments with quicksilver :)06:48
rohhrhr. sure.. no nasty stuff06:50
wpwraknice control panel :)06:52
rohwpwrak: btw.. i heard you met elekta06:52
wpwrakroh: yeah, she was at fisl06:54
wpwrakdidn't spot anything obviously wrong with my wpan boards. that was encouraging :)06:54
wpwrakthat "bad apple" song seems to have inspired quite a lot of creative adaptations. various laser shows, ASCII art, minesweeper art, one even hand-carving real apples ! http://www.youtube.com/watch?v=Ol2LDUcoVhk07:19
wpwrakor here, with the original video on the side: http://www.youtube.com/watch?v=Qo6HzavOfbI07:25
wolfspraulwow, yes. that must be thousands of pictures with the apples...07:33
rohbtw.. i hope you all ordered your camp tickets ;)07:38
wolfspraulhow many did you sell so far?07:39
wolfspraulwpwrak: after the laser projector, we work on the automated apple peel cutter07:40
rohwolfspraul: not sure. i dont have the numbers. but its not sure there will be a on-site sale at all07:40
wpwrakwolfspraul: yeah, when i saw this, i started to wonder how hard it would be to cnc-mill an apple ;-)07:42
wolfspraulthe artist is also in there, very humble at 2:3807:49
wolfspraula real fan07:49
wpwrakyeah, this must take quite some dedication07:54
wpwrakand the cool thing is: THEY'RE ALL CRIMINALS ! they're blatantly violating the copyright. lock them away ! now ! :)07:56
wpwrakxiangfu: question: what would you think i moved fped's "home" over to qi-hw, and take over the fped project you've already created here ? i think all your things are under debian/, so it should be easy to have the main repository and your debian work coexist09:03
xiangfuwpwrak, yes. that will be great.09:04
xiangfuyes. all debian package stuff is under debian/09:05
wpwrakxiangfu: i'll make myself project admin then, okay ?09:05
xiangfuyes. sure.09:05
wpwrakand shall we merge debian/ into the main branch ? or would you prefer to keep it in a separate branch ?09:06
xiangfuif you don't mind put 'debian/' in your source code, just do it. 09:07
xiangfuI just put the 'debian/' in xburst-tools 'master' branch09:07
wpwrakperfect. i'll merge it then.09:08
xiangfuthen we can just remove the 'debian' branch09:09
qi-bot[commit] Xiangfu Liu: add debian package stuff (master) http://qi-hw.com/p/fped/b6807a709:12
qi-bot[commit] Xiangfu Liu: clean up the Build-Depends. (master) http://qi-hw.com/p/fped/e394af809:12
qi-bot[commit] Xiangfu Liu: use the new version rules. (master) http://qi-hw.com/p/fped/b17ed1a09:12
qi-bot[commit] Xiangfu Liu: add debian/fped.manpages  for install manpage (master) http://qi-hw.com/p/fped/b9a636909:12
qi-bot[commit] Xiangfu Liu: update to svn rev 5982, enable dh_auto_test (master) http://qi-hw.com/p/fped/17dc8ff09:12
qi-bot[commit] Xiangfu Liu: use usual name for orig tarball top-level directory (master) http://qi-hw.com/p/fped/069e82f09:12
qi-bot[commit] Xiangfu Liu: update take svn rev: 5983 (master) http://qi-hw.com/p/fped/a6d21bb09:12
qi-bot[commit] Xiangfu Liu: remove the Build-Depends ttf-liberation (master) http://qi-hw.com/p/fped/21f2ae209:12
qi-bot[commit] Xiangfu Liu: update to svn rev 5986 (master) http://qi-hw.com/p/fped/5fa603809:12
qi-bot[commit] Xiangfu Liu: override dh_auto_clean, use make spotless instread (master) http://qi-hw.com/p/fped/5ac0cb509:12
qi-bot[commit] Xiangfu Liu: add ghostscript to Build-Depends (master) http://qi-hw.com/p/fped/ced96bb09:12
qi-bot[commit] Xiangfu Liu: update the homepage to help webpage (master) http://qi-hw.com/p/fped/4a6827409:12
qi-bot[commit] Xiangfu Liu: update to r5997 (master) http://qi-hw.com/p/fped/ceaa51909:12
qi-bot[commit] Xiangfu Liu: debian package update to 5999 (master) http://qi-hw.com/p/fped/a49bbd209:12
qi-bot[commit] Xiangfu Liu: update to r6005 (master) http://qi-hw.com/p/fped/acccaee09:12
qi-bot[commit] Xiangfu Liu: update to r6006 (master) http://qi-hw.com/p/fped/6396ca809:12
qi-bot[commit] Werner Almesberger: Makefile: switched from SVN to git (master) http://qi-hw.com/p/fped/6cadac809:41
qi-bot[commit] Werner Almesberger: xxx (master) http://qi-hw.com/p/fped/946577609:41
qi-bot[commit] Werner Almesberger: changed GUI page location, checkout instructions, and e-mail address (master) http://qi-hw.com/p/fped/f0c0ae709:41
kyakwpwrak: i re-used your code from ubb-vga to disable/enable interrupts (i think it works because if i disable interrupts and then don't enable them, the system looks pretty much halted)10:25
kyakmy intention is to disable interrupts in the beginning of each iteration (calculation step) and then enable them again; and so forth10:26
kyakprobably this way i can achieve real-time, who knows :)10:26
kyakbut the question is now, how (where?) to get the timer source? 10:26
kyaki need to have some timer running, and trigger my calculations in defined time steps10:27
kyaksuddenly i understood that this code is also in ubb-vga..10:30
kyaki'm not sure how it works, but it seems that you are using the hardware timer provided by 474010:32
kyakwhat is the resolution of this timer? is it a reliable source of time?10:34
kyakit's a little bit of a magic for me, how you interact with CPU registers from your application.. Is is the linux kernel that provides such interface? Or how does it work?10:37
kyakprobably it has soemthing to do with /dev/mem where these registers are mapped into specific region.. But how do you know where?10:38
kristianpauli think there is a RTC driver...10:50
kyakthere is a /dev/rtc, i'm not sure how it can be used, bur Werner is using something else..10:53
larscthe rtc timer has a resolution of 1 second...10:59
kyakso the rtc timer is not sufficient for this task..11:13
marcanwpwrak: PWM with green lasers is tricky because they're not diode lasers, they use a diode laser to pump a crystal laser and the latter has issues turning on and off really fast11:28
marcanthough maybe it'll all smooth out in the end as long as you PWM the pump diode fast enough11:28
marcanI think few people do PWM though, it's mostly analog current control11:29
marcanas for safety, that depends on the laser power, of course11:29
marcanthere are exposure limits that vary by wavelength, power, and time (Maximum Permissible Exposure)11:30
marcanbut as a rule of thumb, <5mW is safe under all conditions, ~100mW or so is safe as long as it's actively moving and the target isn't too close, and once you start going into the W range then you really need to avoid hitting people at all, moving or not11:32
marcanI intend to program MPE limits into the DSP so that it accumulates exposure into a grid of buckets across the screen, and limits power once it exceeds a threshold per bucket11:33
wpwrakkyak: the clock frequency is 112 MHz12:12
wpwrakkyak: the code is indeed a little unusual ;-) i don't wait for a timer interrupt. instead, i busy loop until the timer reaches its limit12:13
wpwrakkyak: if you want timer interrupts (or any other interrupts), you need to go into the kernel.12:14
wpwrakmarcan: (exposure) yeah, i was thinking that your MCU could perhaps lower the duty cycle of the laser if it stays too long in the same area/bucket12:16
wpwrakmarcan: but if the later isn't easy to control with a PWM, then that wouldn't quite fly12:17
wpwrakmarcan: i any case, you'd need the exposure limit in something like J/m^2. then you could translate this to J/degrees^2, etc.12:18
marcanwell, most drivers use analog power control instead of PWM, which is mostly equivalent (just less efficient)12:18
marcanthat's what I have right now (just a simple current driver)12:18
wpwrakah, efficiency could also be a consideration. get rid of those bulky heat spreaders ;-)12:18
marcanand yeah, of course the exposure limits are heavily dependent on how far you are, beam divergence, etc...12:19
marcanI'm just doing some educated guesstimating, but you definitely need a real laser safety engineer and an exposure meter, *especially* if you plan on deliberately aiming at people (audience scanning)12:20
marcanme, I just project onto a wall, so I just roll with some basic MPE calculations and making sure I avoid hitting anyone in the first place12:20
marcanbbl, food and stuff :)12:23
wpwrakwith a really powerful laser, you could add a "cook lunch" mode ;-)12:24
rohwell.. its easier to cook with the exhaust-air of the laser cooling subsystem of a decent sized lasertube than by heating something up with the light coming out ;)12:25
wpwrakroh: how lame ;-)12:28
wolfspraulcan we build an expansion cable, say, from the m1 expansion connector, and directly drive the laser or galvos?12:29
wolfspraulor from UBB :-) it's universal after all...12:29
wolfspraulwhat kind of processing power or input is needed to drive the projector? (without MCU or XMOS I mean)12:30
kyakwpwrak: do i understand it correctly that you read the timer value from within your application and act when it reaches according value?12:31
wpwrakkyak: yes. well, what i actually poll is the flag that indicates a timer overrun, see ubb-vga.c (delay)12:32
wolfspraulroh: will you do the first logo test today? please send me a picture asap then I can sign it off and we are good to go... (is this the planned procedure?)12:33
wpwrakkyak: the polling is in the first while loop12:33
rohi guess so12:33
rohi just finished cleaning the shields12:33
wpwrakkyak: after that, i read the timer value and add some more loops based on the difference to the expected value. this is to compensate for cycles i may have missed when polling.12:34
kyakwpwrak: i see. What if you enabled interupts while you are in a waiting loop?12:34
wpwrakkyak: (delay loop) that way, my contraption gets a little more accurate, reducing pixel noise12:34
rohdunno if its a good idea to laser today.. kinda tired and lasering the sheets should be error-free (or i would have to cut some more lids)12:35
wpwrak(interrupts) then an unknown (and variable) amount of latency would get added12:35
kyakwpwrak: ok, thanks :) i will need some time to think it over12:36
wpwrakkyak: and you'd have to disable interrupts at the end again. also, the code running while interrupts are enabled would change the cache. so cache refills would add some latency as well. but your application may not need such high timer precision.12:37
wolfspraulroh: ok sure tomorrow is also fine. just send me a photo of 1 top acrylic first, then do the rest.12:40
wolfspraulis that ok?12:40
rohi'll do a test on some leftover material first12:48
kyakwpwrak: you said, that enabling interrupts during delay loop would add unknown (and variable) latency. But if you poll the timer continously during this delay loop, and disable interrupts again just in the moment when you see that the timer is "full" (i.e. it is time to calculate the next step), would it solve the problem?12:52
wpwrakkyak: no, because you may not be scheduled when the timer reaches the critical value12:54
wpwrakyou could compensate this, of course: first loop/sleep until you're "close", then disable interrupts and loop12:54
wpwrakbut that may be too coarse to be useful12:54
kyakwould be a nice trick12:55
wpwrakin the kernel, you'd only have to worry about timer interrupt latency, which should usually be small12:55
kyakshould i consider running an application as a kernel module?12:56
larsckyak: depending on what you want to do hrtimers might be an option12:57
wpwrakif you need strict timing and have a low duty cycle, yes12:58
qi-bot[commit] Ayla: Dingux port: added a "power off" icon on the "settings" tab. (master) http://qi-hw.com/p/gmenu2x/e06605012:58
wpwrakif you ned strict timing and have a high duty cycle (i.e., if there's no point in letting anything else run), then you could use the ubb-vga approach12:58
kyaklarsc: i'm not yet sure what i want to do, for now i'm just exploring :)12:58
wpwrakif you have extremely strict timing, you'd even combine both approaches12:59
larscand there is also uio which can be used to deliver irqs to userspacce12:59
wpwrakif you have loose timing and only need high CPU priority, you could increase your task's scheduling priority12:59
kyakwpwrak: i see. Could you explain how does it work that you disable interrupts, but you are still able to poll the timer? Where is it coming from?12:59
wpwraklarsc: yeah. may actually be nice to have a generic uio driver :)13:00
kyaklarsc: btw, are hr timers disabled in Ben;s kernel for a reason?13:01
wpwrakkyak: the timer has a register bit it sets when it overflows13:01
kyakwpwrak: so you read the register from userspace? How?13:01
wpwrakkyak: do you have the 4720 or 4740 programmer's manual ? (from ingenic)13:02
kyakwpwrak: i don't13:02
wpwraklarsc: (generic) im gpio -> uio13:02
kyaki guess i should get the manual and ask less questions :)13:05
wpwrakthe manual will answer some questions. and probably create a lot more ;-)13:06
wolfspraulkyak: what you don't?13:09
kyakwolfspraul: got it now :)13:09
wolfspraulah perfect, I would have emailed otherwise13:10
kyakand UIO also seems like a good way to get timer interrupts in userspace13:13
rohwolfspraul: http://yamato.hyte.de/tmp/logotest/13:57
rohi didnt want to waste a full lid sheet for the test13:58
rohlogo is 50x55 mm now. the 'frame' is 80x80mm (only to make it a 'piece' for me now, not for later lasering on the lid)13:59
wolfsprauloh, nice. would have almost missed me. wait looking now14:01
rohi can upload the fullsized images as well if needed14:02
Aylahi guys15:42
AylaI'm about to push a very huge commit for gmenu2x, can somebody test my diff on a nanonote to see if I didn't break anything? :)15:44
kristianpaulI think there is an autoamted build that can spot posible problems15:50
kristianpaulah, you mean, test the binaries?15:51
kristianpauldrop it, i'm not doing to much at work today, so i can try some misterious bianries by quick :-)15:53
AylaI don't know how you create your packages, so you'll have to install it by hand15:55
kristianpaulmake isntall i guess? :-)15:56
AylaI'm uploading an archive15:57
kristianpaulgood, i already disabled my gmenu2x from the initab15:57
Aylathe binary can be anywhere on the filesystem, but the data has to be on /usr/share/gmenu2x15:57
kristianpaulgot it15:58
kristianpaulokay i'll reboot and see16:05
kristianpaulahhh loop16:06
kristianpaulif you read this messages in the logs, check http://..16:06
kristianpaulso no start Ayla 16:07
marcanwolfspraul: if there are FPGA pins available on the expansion connector, it should be easy to add a, say, modified I2S interface to drive the laser (with HDL changes)16:07
marcanyou could have that connect to the XMOS for high-level data, or shift all the laser duties over to the MM, but in the latter case then you wouldn't be able to have a standalone projector and that's no fun16:08
kristianpaulthere are 10 pins i think16:08
kristianpaulif we're talking about mm1 :)16:08
marcanwolfspraul: re: FPGA on the laser, it'd work I'm sure, but I think implementing a softcore is overkill16:11
marcanI've looked into XMOS and I like what I've seen, they're trying to step into FPGA territory while remaining a micro, so it's fairly flexible and powerful16:11
kristianpaulot you can run a soft* over a 8bits mcu if you need flexibillity beyond HDL logic16:11
marcanand they do lots of audio stuff, which is extremely similar to laser processing, so there's examples available for that16:12
kristianpaulbut at the cost of theri licenses :)16:12
kristianpauli mean for the examples16:12
marcanI think they have decent licenses (and if they don't I can probably get them to, I have a friend who is a friend of the company founder ;)16:13
marcanand I also have people working on completely open development tools, so I'm not concerned about lock-in to their SDK either16:13
kristianpaulwell, last time iremeber some parts of the llvmm port where not floss, anywa i never used that xmos kit at much 16:14
kristianpaulanyway, if you need help integrating that I2S in the milkymist soc, jsut let me now, i'll do my best :)16:14
marcanyeah, they also have the XC language stuff, which is a proprietary hack (though convenient), but I'll avoid it unless there are open dev tools16:14
marcanwill do :)16:14
kristianpaulah, good, (avoid XC)16:14
kristianpaulyou're gonna belive me but i get the kit because was alsmot free and i tought was an FPGA xD16:15
marcanI think the best plan here is to have the laser have its own standalone MCU for processing/safety/etc, and have it take both USB 2.0 (for PC usage) and something like I2S for the MM or similar standalone hardware16:15
kristianpaullater i discover tht truth..16:15
kristianpaulyou're not*16:15
marcanhaha, yeah, it's definitely not an FPGA16:15
marcanbut it can do some things that used to require an FPGA to do sanely before (without hard macros), which is nice16:16
wpwrakso xmos is a bit like the propeller ?16:17
marcanyup, but a lot more powerful16:18
marcanit's a similar concept16:18
marcanbut instead of just independent cores, they also have multithreading16:18
wpwrakyeah, the prop is a bit on the sluggish side16:18
marcanso you have a 400MIPS core that can run 4x100MIPS threads (but not 1x400MIPS thread)16:19
marcanI believe they do that because of pipeline advantages16:19
marcanthe 4-core versions do up to 1600MIPS total16:19
marcanI'll use an L1 (single low-power core, 4x100MIPS through 8x50MIPS) or two of them if I have to (there's an L2, which is two L1s in a single package, but it's a horrid dual-row QFN that I've already had a bad prototyping episode with)16:20
wpwraklooks as if the 400 MIPS code does 8 x 50 MIPS, no ? that would be similar to the prop16:20
wpwrakah no, they claim 100 MIPS16:21
wpwrakokay, so the threads share something beyond just global memory. so there's a difference to the prop. looks more flexible, though.16:22
marcanthey have communication channels, internal and external16:22
marcanand the threads don't have dedicated memory, and shared memory isn't slow like on the prop16:22
wpwrakyeah, and you avoid the weird memory model16:24
marcanwolfspraul: the prop is 160MIPS total, the xmos is 400MIPS total (for an L1), or I think 500MIPS recently?16:24
marcanand yeah, it's a more classical architecture16:24
marcanI meant wpwrak, tab completion fail :)16:24
Aylakristianpaul: you did put the data in /usr/share/gmenu2x? Does it fail with an error message?16:25
wpwrakah, i had something like 48 MHz/MIPS per .. duh, thingy, in the back of my head. but anyway, when i looked at it, it seemed a bit too slow to do interesting things.16:25
marcanalso, the xmos has single-cycle multiply-accumulate iirc16:25
marcanwhile the prop doesn't do mul at all16:26
wpwrakheh. time to undust those DSP books ;-)16:26
marcanyup :)16:26
wpwrakthe prop has many weird things. starting with the ROM ...16:26
marcanI really need to read up on PID loops and the like to work out a reasonably optimal galvo control loop16:26
marcanbut I think it'll totally be worth being able to compensate hardware oddities in software16:26
marcana few opamps can't really compete with a DSP :)16:27
wpwrakeverything is moving towards software. so the approach sounds very reasonable to me16:27
marcanI know there are veeeery expensive pro galvos that do the same thing, but still have an analog input16:28
marcanbut we're talking ridiculous prices16:28
wpwrakcheap is better (as long as it works) :)16:28
marcanI don't know of any system that uses a single chip to do the whole shebang, including host interface, "DAC", and galvo loops16:29
marcanthe idea here is to integrate everything to simplify and make it cheap :)16:29
kristianpaulAyla: yes i did16:29
marcan(and kick ILDA's ass - I mean, ILDA is cool and everything, but it's about time we ditch the decades old +/-12V analog differential standard)16:30
kristianpaulAyla: i jsut moved old gmenu2x and copied the tarball you agve me from /16:32
Aylakristianpaul: and is there any error message?16:34
kristianpaulAyla: root@BenNanoNote:~# /usr/bin/gmenu2x16:34
kristianpaulGMenu2X starting: If you read this message in the logs, check http://gmenu2x.sourceforge.net/page/Troubleshooting for a solution16:34
Aylathat's all?16:35
Aylahmm, that's weird16:41
AylaI'm going to give you a binary of the latest GIT revision, to be sure that it's my patch's fault16:41
kristianpaulor i can try old binary with your /usr/share/gme16:42
kristianpaul./gmenu2x.sh: line 11: /usr/bin/gmenu2x.bin: not found16:43
Aylaah, maybe you have to rename the binary?16:44
kristianpaulahh in old gmenu2x /usr/share/gmenu2x.1/gmenu2x16:49
kristianpaulyours is /usr/share/gmenu2x/gmenu2x.sh16:50
kristianpaulbut gmenu2x is actually a bin16:51
kristianpaulroot@BenNanoNote:/usr/bin# ./gmenu2x16:52
kristianpaulGMenu2X starting: If you read this message in the logs, check http://gmenu2x.sourceforge.net/page/Troubleshooting for a solution16:52
DocScrutinizerkristianpaul: for galvanometer mirror control you don't need a loop nowadays I'd say. you need a proper hw bridge driver, and a sw that models the hw with all the inertia, feeds the original signal to the model and derive the driver signal from it. As this is a calculation that doesn't have to be done in realtime, you can calculate the mangled driver signal with all the overshots and whatnot on a 4bit cpu, then store it to e.g. a .wav 16:53
DocScrutinizerand simply playback that .wav to the hw power driver16:53
DocScrutinizerI.E. use your audio card plus a 10..50W audio stereo amp to drive the galvos16:54
kristianpaulDocScrutinizer: okay but i think you talk, with wrong person i jsut discover what a galvanometer is from  cxadams work16:56
kristianpaulbut yeah, a good hbridge is enought16:56
kristianpaulbut wait, you stilll need fedback unless you want to blind somobody..16:57
DocScrutinizerwhat kind of feedback?16:58
kristianpaula rotary magnnetic enconder or soemthing less fancy16:58
kristianpaulcause the point for safety as i understand is poweroff laser if galvanometer get stuck..16:58
DocScrutinizeruseless. you calibrate your model once. After that you know what your mirror is doing right now, even without feedback16:59
DocScrutinizerwell, such a safety circuit has to work completely independently from the regular controller anyway17:00
kristianpaulyeah, sure, as i said, is just for safety not control17:00
wpwrakyou could do that with a microphone and voice recognition. "turn off on ARRRGH!!! I AM BLIND !!" (chances are that you're not quite ... yet :)17:17
whitequarkkristianpaul: about the gmenu2x debugging17:21
whitequarkstrace is *incredibly* useful (together with sources)17:21
whitequarkit's the tool i've used to make gmenu2x work17:22
kristianpaulAyla: whitequark http://paste.debian.net/124387/17:30
Aylahere is the patch I want to commit: http://pastebin.com/YZFTykiy17:35
Aylacurrently, gmenu2x is compiled with TARGET_GP2X, even when compiling for dingoo or nanonote17:36
Aylathat's only cleanups17:36
kristianpauli think issue is about how you linked this gmenu2x..17:40
kristianpaulthere are plenty of No such file or directory in the strace log17:41
Aylamaybe I should commit it then, and see if it works with the automated build17:42
kristianpaulyeah :)17:42
mthAyla: if you put the implementation of Touchscreen::initialized() in the header, the compiler can determine at compile time that it always returns false and therefore the code it guards is unreachable18:29
Aylamth: I wasn't aware of that, it concerns only C++?20:31
Aylaah no, I didn't understand what you said20:41
qi-botThe build was successfull, see images here: http://fidelio.qi-hardware.com/~xiangfu/compile-log/openwrt-xburst.full_system-07272011-1848/22:11
qi-bot[commit] Ayla: Cleaned GP2X-specific code that was built on all platforms. (master) http://qi-hw.com/p/gmenu2x/5f77e3b23:19
--- Fri Jul 29 201100:00

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