| qi-bot | [commit] Ayla: Added sections directories for the dingux build. (master) http://qi-hw.com/p/gmenu2x/5a27851 | 01:17 |
|---|---|---|
| wolfspraul | good morning :-) | 05:29 |
| kyak | indeed! | 06:08 |
| wolfspraul | kyak: yesterday I saw Niels uploading some NanoMap screenshots, well, I hope they ran on a NanoNote :-) | 06:11 |
| wolfspraul | a good mapping app would be cool | 06:11 |
| wolfspraul | just a viewer, but fast, with point of interest lookup, easy pre-downloading of a certain area/city, etc. | 06:11 |
| qi-bot | The build was successfull, see images here: http://fidelio.qi-hardware.com/~xiangfu/compile-log/openwrt-xburst.full_system-07192011-0403/ | 07:29 |
| kyak | wolfspraul: yeah, it's a cool app and so far Niels kept it working on Ben (though it feels like he tends towards "desktop" features in NanoMap) | 07:55 |
| viric | xiangfu: ni hao | 08:48 |
| viric | xiangfu: you should see how 'offrss' makes PDFs for e-ink readers :) | 08:48 |
| viric | xiangfu: http://vicerveza.homeunix.net/~viric/cgi-bin/offrssdemo/acordem (Plan PDF) | 08:48 |
| Ayla | mth: here's a patch for gmenu2x: http://pastebin.com/GJRMTEjP | 10:46 |
| Ayla | mth: I don't know if you already worked on it, so I didn't commit it yet | 10:47 |
| Ayla | this does fix a lot of memory leaks :) | 10:49 |
| larsc | Ayla: delete should take NULL just fine, so there is no need to check for it | 10:50 |
| Ayla | hi larsc | 10:51 |
| larsc | hi | 10:51 |
| Ayla | does delete also set the pointer back to NULL? | 10:51 |
| larsc | nope | 10:51 |
| Ayla | ok | 10:52 |
| Ayla | then here's a new one: http://pastebin.com/mAjKEA7c | 10:54 |
| mth | Ayla: I haven't worked on it yet, so there is no risk of conflicts | 10:58 |
| mth | is "< list.end()" valid? | 11:00 |
| mth | usually I only see != being used there | 11:00 |
| mth | I don't know if iteration steps are ordered | 11:01 |
| Ayla | it probably is valid, but I'd prefer having '!=' as well | 11:02 |
| larsc | iirc it < list.end will not work | 11:06 |
| larsc | but my c++ is a bit rusty | 11:06 |
| Ayla | can I push the patch I uploaded? | 11:07 |
| mth | what does erase() do exactly? | 11:10 |
| Ayla | it empties the vector | 11:11 |
| Ayla | (and call the destructor for each object contained on that vector) | 11:11 |
| mth | "voices.erase(voices.begin(), voices.end());" could be replaced by "voices.clear();" then | 11:17 |
| mth | actually, won't the destruction of the vector throw away all elements anyway? | 11:17 |
| mth | then nothing would have to be done in ~SettingsDialog | 11:17 |
| Ayla | it will destroy the array, but I'm not sure about the elements contained on the array | 11:18 |
| Ayla | just because you can have pointers to external objects, used elsewhere on your program | 11:19 |
| mth | this says the element destructors are called: http://www.cplusplus.com/reference/stl/vector/~vector/ | 11:19 |
| mth | pointers don't have destructors | 11:19 |
| Ayla | then it won't work | 11:20 |
| Ayla | and it does not work either with erase() | 11:20 |
| mth | pointers and STL containers are a problem that has only been solved in C++11 afaik | 11:20 |
| mth | in earlier C++ there is auto_ptr, but the problem with that is that the source becomes null on copy | 11:21 |
| mth | so if you accidentally pass a container by value, you have just destroyed the original | 11:22 |
| Ayla | I now use this: | 11:31 |
| Ayla | Fixed a good number of memory leaks. | 11:31 |
| Ayla | ups | 11:31 |
| Ayla | wrong copy/paste | 11:31 |
| Ayla | for (uint i=0; i<voices.size(); i++) | 11:32 |
| Ayla | delete voices[i]; | 11:32 |
| Ayla | voices.clear(); | 11:32 |
| mth | apparently random-access iterators can be compared with "<": http://www.cplusplus.com/reference/std/iterator/ | 11:33 |
| mth | but "!=" works on any kind of iterator | 11:33 |
| Ayla | if you don't have any other remarks, I push the changes | 11:35 |
| mth | I'd prefer this approach: for (vector<MenuSetting *>::iterator it = voices->begin(); it != voices->end(); ++it) | 11:35 |
| Ayla | ok. | 11:36 |
| mth | the clear() is not needed as the vector will be destructed automatically | 11:37 |
| Ayla | rihgt | 11:37 |
| Ayla | right* | 11:37 |
| Ayla | so here's a new diff: http://pastebin.com/8nHBQr2b | 11:45 |
| Ayla | if I success to find the gmenu2x bug with the VTs tonight, I'll have a look at bootsplash | 11:47 |
| mth | patch looks good now | 11:51 |
| mth | there is also still the problem with the thread that remains after exec | 11:52 |
| Ayla | I'll be back tonight | 12:10 |
| qi-bot | [commit] Ayla: Fixed a good number of memory leaks. (master) http://qi-hw.com/p/gmenu2x/81a607c | 18:40 |
| kristianpaul | wpwrak_: http://elespectador.com/tecnologia/articulo-285801-argentina-sera-el-noveno-productor-mundial-de-blackberry | 19:04 |
| wpwrak_ | kristianpaul: hmm ... probably a factory hall where they take the bottom shell, put the PCB in it, place the top shell on it, then squeeze | 19:15 |
| wpwrak_ | kristianpaul: most of the "investment" were probably bribes ;-) | 19:16 |
| wpwrak_ | kristianpaul: that whole "industry" in tierra del fuego is a bit of a scam | 19:16 |
| methril_work | a interesting new!!! | 19:17 |
| methril_work | https://lkml.org/lkml/2011/7/19/309 | 19:17 |
| kyak | wonder if it possible to turn Ben into a real time machine | 19:21 |
| kyak | perform some signal processing or whatever | 19:21 |
| wpwrak_ | methril__: sounds promising | 19:21 |
| wpwrak_ | kyak: would ubb-vga be real-time enough ? ;-) | 19:22 |
| kyak | wpwrak_: not sure. Can you halt all other tasks and do some processing in hard real time? | 19:23 |
| wpwrak_ | kyak: i halt all other tasks, oh yes ;-) | 19:24 |
| methril_work | kyak, why you need a RT-Ben? | 19:24 |
| wpwrak_ | kyak: although this is by simply disabling interrupts :) | 19:24 |
| methril_work | wpwrak_, is applying new RT concepts with UBB /) | 19:24 |
| methril_work | ;) | 19:24 |
| kyak | methril_work: it's a good question, probably i don't need it at all. But it's interesting and fun | 19:25 |
| methril_work | kyak, i know :) | 19:25 |
| kyak | wpwrak_: i might want to have a look into how you do it then :) | 19:25 |
| wpwrak_ | grmbl. openscad seems to have sprouted a gazillion other little cad variants, each with a different feature set, and of course none really complete | 19:26 |
| kyak | i'm doing some steps to implement Ben NanoNote target support in MATLAB/Simulink.. It's hard to say where it's going, but it is interesting so far | 19:27 |
| wpwrak_ | kyak: (ubb-vga) the dirty way :) | 19:27 |
| kyak | so far, no real time.. Just implement some things in Simulink and see it running on Ben, not real time | 19:27 |
| methril_work | kyak, but are you going to use RTAI or RT patch? | 19:27 |
| wpwrak_ | kyak: there is one "interrupt" source. and that's a brief poll of the keyboard at the end of each frame :) | 19:28 |
| kyak | methril_work: you should be using one of these, yes.. | 19:28 |
| kyak | s/you/i | 19:28 |
| kyak | wpwrak_: do you do this from userspace? | 19:30 |
| wpwrak_ | kyak: yup. look at the code. it's not very big. http://projects.qi-hardware.com/index.php/p/ben-blinkenlights/source/tree/master/ubb-vga/ubb-vga.c | 19:31 |
| kyak | wpwrak_: this is intersting. Perhaps i can do the same when deploying my application - then i don't need the RT patch? | 19:32 |
| wpwrak_ | kyak: if you don't mind halting the rest of the system, perhaps not | 19:33 |
| wpwrak_ | kyak: the system survives this abuse. i.e., when ubb-vga exits, the ben returns to normal operation. the system time is probably off, though | 19:33 |
| kyak | not only i don't mind doing that, but i'd like to do that :) | 19:33 |
| wpwrak_ | perfect then :) | 19:34 |
| kyak | i liked the RTLinux approach though, when they have some RT governor and linux kernel is running inside of it | 19:35 |
| kyak | and then your real time application can step in and take the priority | 19:35 |
| wpwrak_ | oh yes. it's a lot more versatile. also has quite different requirements than ubb-vga. ubb-vga is more a device driver than a proper RT task | 19:38 |
| kyak | wpwrak_: what if i want to visualize something while running such application? I will have to enable interrupts at least for LCD driver (if such thing is even possible) and this could also lead to loosing the real time schedule? | 19:38 |
| kyak | i don't quite understand why it is so easy to disable interrupts from userspace.. Would it work if started by regular user? | 19:45 |
| kyak | also, the interrupts are relevant for device drivers, right? Would other running appplication cause any problems? | 19:48 |
| wpwrak_ | kyak: you need to be root to do all this | 19:51 |
| wpwrak_ | kyak: ubb-vga disables everything else. other drivers, other processes, etc. | 19:51 |
| wpwrak_ | kyak: if your timing requirements are less crazy, you can leave the LCD display on. the refresh happens automatically. it just eats a bit of memory bandwidth and introduces memory access delays. | 19:52 |
| kristianpaul | wpwrak_: (scam) :-S, got it | 19:55 |
| wpwrak_ | kyak: don't forget that ubb-vga is very sensitive to delays. each 18 ns it must deliver another pixel (4 bits) | 19:56 |
| wpwrak_ | kyak: there's of course prefetching. de facto, the delay tolerance should be 1-2 us. if anything delays things beyond this, the timing falls apart. | 19:59 |
| kristianpaul | kyak: when is next "image" will be released? | 20:19 |
| Action: kristianpaul want to play allegro games and check last nanomap :) | 20:19 | |
| kyak | wpwrak_: cool, thanks for explanations :) | 20:44 |
| kyak | kristianpaul: you would have to ask xiangfu, but you can always try the latest "nightly" build | 20:45 |
| kristianpaul | kyak: there is Makefile or script that flash my nanonote from "nightly" build? | 22:54 |
| kristianpaul | freeze again when reading :S | 23:56 |
| --- Thu Jul 21 2011 | 00:00 | |
Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!