#qi-hardware IRC log for Wednesday, 2011-07-27

wpwrakthe page doesn't show a title. and the <TITLE> tag just says "Qi". terribly short if you want to refer to it :)00:24
kristianpaulwhat tittle you want it to show?00:27
kristianpaulQi's mission is to promote and encourage the development of copyleft hardware.00:29
wpwrakat least "Qi-Hardware" ;)00:29
kristianpaulwell,may beall this time we were Qi :-)00:33
kristianpaulso Qi..00:44
kristianpaulnot more00:44
kristianpaulhappy now wpwrak ?01:01
wpwrakwhee ! thanks a lot ! :)01:02
PhagusWow, this is pretty amazing...02:16
kristianpaulwhat what??? !!02:17
kristianpaulhi Phagus :-)02:17
PhagusHi. Hardware hacking!02:17
wolfspraulah yes, welcome to the club02:18
kristianpaulah, sure,  also try ask later about hardware manufacturing ;-D02:18
PhagusI've always wondered about it. I have a ton of old computers, circuit boards, parts, etc, always wondered if I could do something impressive with them02:18
kristianpaulaw_: you're in writing to the wiki, congrats !!02:20
PhagusIs there a good newbie beginner's guide to this?02:21
PhagusI'm a newbie engineering student02:21
kristianpaulnanonote it self is a guide02:21
aw_kristianpaul, hi, what's up?02:21
kristianpaulaw_: http://en.qi-hardware.com/wiki/Special:ActiveUsers  177 edits in the last 30 days02:22
kristianpaulsorry to distract you :-)02:22
wolfspraulPhagus: what's your major?02:22
aw_kristianpaul, oh~yeah. :-)02:23
Action: kristianpaul hopes is radio eng02:23
Phaguswolspraul: It's just called "Computer Systems", it's a bit of engineering and technician stuff. Hardware, software, networking, programming, web design, administration. But I'm finding myself getting really interested in the engineering parts of stuff.02:25
wpwrakkristianpaul: superluminar particle physics (applied) would be more interesting, though02:25
Phaguskristianpaul: What's nanonote?02:27
kristianpaula pocket small computer, that was freeded and copylefted as much02:27
kristianpaulboth software and hardware side02:28
PhagusWow nice02:28
PhagusEthernet over USB? interesting02:31
Action: akiwiguy pops his head in03:14
wolfspraulkristianpaul: oh cool, you tried toped :-)03:34
wolfspraulwpwrak: hardware question for the expert. was is the best temperature to drink a beer at?14:33
Ayla3°C for the beer, 24°C outside14:47
kristianpaul24 is not a bit cold?14:54
wpwrakwolfspraul: puuh.  i never actually waited long enough to measure ;-)15:40
wpwrakwolfspraul: a bit above freezing sounds about right, though. particularly if it's hot outside. of course, 24 C isn't hot :)15:41
wolfspraulthat cold? ok I will try :-)15:59
qi-botThe build was successfull, see images here: http://fidelio.qi-hardware.com/~xiangfu/compile-log/openwrt-xburst.full_system-07262011-1316/16:41
qi-bot[commit] David Kühling: gforth: use a primary download location that actually works (downloads.qi-hw.com) (master) http://qi-hw.com/p/openwrt-packages/7e83fd119:33
Aylamth: I think it would be much simpler to render the last frame of gmenu2x twice19:37
mthAyla: an all-SDL solution would be cleaner though20:49
mthdidn't the patch you made earlier solve it?20:49
Aylano, it does not work20:50
mthyou removed the "* bytes_per_pixel" part?20:51
Aylahere's what I have right now: http://pastebin.com/vqiTNVJh20:53
mthmaybe SDL itself already undoes the vertical scroll earlier?20:54
Aylait's restored after (SDL_fbvideo.c:1982)20:56
mthcould the fact that screen->pixels is not set to NULL cause problems?21:04
mthit doesn't look like it's inspected afterwards21:05
mthbut then why would they have a test around that assignment?21:05
mthin what way doesn't the patch work?21:06
Aylaone time out of two, the launch of a binary from gmenu2x fails :)21:07
mthlaunch fails as in "gmenu2x keeps running" or "gmenu2x crashes" or "launched binary has no video" or ...?21:33
Aylagmenu2x crashes and respawns21:34
mththat sounds like the memcpy writes to the wrong location / out of bounds21:40
Aylayes, I believe21:41
mthsmem_start is a physical address, user space cannot write there21:42
Aylaah, that makes sense then21:42
mthyou should use the pointer returned by mmap21:42
mthfrom wherever SDL stored it21:42
Aylamth: new attempt: http://pastebin.com/QtrjdSaE21:55
mthuse "this->screen->pixels" in the memcpy ("pixels" part is missing)21:58
mth"mapped_mem + mapped_offset" is the address of line 0 in the frame buffer?21:59
mththen it looks ok to me if you add "->pixels"21:59
Ayladoesn't work22:12
Aylathe binaries do launch, but I get garbage on the screen instead of the launcher menu22:13
mthgarbage until the launched app takes over, I assume?22:15
mthalways garbage or half of the times?22:16
mthah, "pixels" points to the *in*visible page22:16
Aylahalf of the times22:17
mthanyway, the "pixels" pointer is not what you need; you need the pointer to the visible page22:22
AylaI just have to reverse the memcpy22:22
Aylaand removing mapped_offset fixes the garbage22:23
mththe destination should always be line 022:23
Aylathe comparison line 15 is incorrect22:27
Aylait should be '=='22:27
Aylaas the buffers has been flipped22:27
mthcheck FB_FlipHWSurface22:27
mthsurface->pixels = flip_address[flip_page];22:27
mthlooks like flip_page and flip_address is all you need22:27
Aylalooks like the solution is simpler then :)22:28
mthnote that flip_page is only initialized if SDL_DOUBLEBUF is set, so check that before using the value22:28
Aylamth: this seems to work fine: http://pastebin.com/vS9BvmNE22:44
mthI'd prefer "flip_page == 0" over "!flip_page", since it's an index and not a boolean22:45
mthbut that's a minor thing22:45
Aylait is a boolean22:45
Aylasee SDL_fbvideo.c:143922:46
Aylathey explicitely write "flip_page = !flip_page"22:46
mthhmm, SDL itself is not consistent22:46
Aylabut I can put flip_page == 0, I don't mind :)22:46
mthyes, there they use it as a bool, but in "cache_vinfo.yoffset = flip_page*surface->h" it is an index22:46
mtheither way is both consistent and inconsistent with the existing code ;)22:47
mthso commit whetever version you prefer22:47
mthpersonally, I would have used "flip_page ^= 1;" instead of "flip_page = !flip_page;", but let's not change any more code than we have to22:48
Aylait works fine, I commit it22:50
Aylabut I'm not sure about SDL_memcpy22:51
Aylalines 1923->1929 are here to prevent a bug in SDL_memcpy, apparently22:51
Ayla(of SDL_fbvideo.c)22:52
Aylabtw, why don't you commit the config files for uClibc and busybox?22:53
mthI was just working on that commit :)22:53
mththe rebuild finished, now I've got to check it22:53
mthabout SDL_memcpy: it is SDL_memset that is worked around there23:08
mthyou could use ordinary memcpy if you like23:08
mthI don't know what the purpose of SDL_memcpy is23:08
mthis it for extra performance (only likely if the system memcpy is poor) or is it for systems that have to memcpy?23:09
Aylaboth, I believe23:11
mthin any case, both memcpy and memset should operate on arbitrarily aligned pointers23:16
mththey can use special optimized code if pointers are aligned, but should have a (slow) fallback if not aligned23:16
mthso I'd suggest to ignore the treat of possible bugs; if there are bugs, they should be fixed in memcpy/memset, not worked around23:17
Aylamth: pushed23:19
mthI see the SDL patch; is the gmenu2x side also pushed?23:21
Aylaone second23:22
Aylathe gmenu2x modification was very fast to make23:23
Aylawhat takes me the most time is the commit message...23:23
Aylamth: the setenv is made only if UNLOCK_VT is defined, is that a problem for you?23:25
AylaI think I'll use another constant23:26
mthI do prefer to have separate constants, even if they are in practice set on the same systems23:26
Aylado we even need a constant to enable/disable the setenv?23:27
mthI think it can be enabled always23:28
mthon some platforms it may have no effect, but that doesn't matter23:28
Aylahere's the diff for gmenu2x: http://pastebin.com/8m574DW623:34
AylaI added a link to your repo, if somebody need to find the patch23:34
mthmaybe deep-link?23:37
mthsomeone not familiar with buildroot could have trouble finding it23:37
AylaI don't know its URL :)23:37
mth"a SDL patch" -> "an SDL patch"23:38
mthphonetically, "SDL" starts with a vowel23:38
Aylabut S stands for "simple" :)23:38
mththat's the deep link23:41
mthit's a bit long though23:41
Aylathank you23:41
mththe file/directory links on-screen actually use deep link URLs, but if you click some javascript trickery refreshes only the source view on the same page23:42
mthif you open the link in a new tab you get the actual URL23:42
Aylamaybe we can create a tinyurl then?23:43
AylaI never used that, I just hope it does not timeout after some days23:43
mthI don't like shorteners23:44
mthjust spread it over two lines23:44
qi-bot[commit] Ayla: GMenu2X now won't clear the framebuffer on exit. (master) http://qi-hw.com/p/gmenu2x/f6c456f23:50
mthAyla: it's not working here23:56
mthcould that be because I reversed one of the commits that suppresses the console?23:56
mthI do see the loading dialog, but only a very short time, after that I see the console23:57
Aylathat's normal23:57
Aylayou reverted one of my commits...23:57
Aylawhen a console is displayed, type: echo 0 > /sys/devices/virtual/vtconsole/vtcon1/bind23:58
mthyep, it works using that23:59
--- Thu Jul 28 201100:00

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