<kyak>
wonder if it possible to turn Ben into a real time machine
<kyak>
perform some signal processing or whatever
<wpwrak_>
methril__: sounds promising
<wpwrak_>
kyak: would ubb-vga be real-time enough ? ;-)
<kyak>
wpwrak_: not sure. Can you halt all other tasks and do some processing in hard real time?
<wpwrak_>
kyak: i halt all other tasks, oh yes ;-)
<methril_work>
kyak, why you need a RT-Ben?
<wpwrak_>
kyak: although this is by simply disabling interrupts :)
<methril_work>
wpwrak_, is applying new RT concepts with UBB /)
<methril_work>
;)
<kyak>
methril_work: it's a good question, probably i don't need it at all. But it's interesting and fun
<methril_work>
kyak, i know :)
<kyak>
wpwrak_: i might want to have a look into how you do it then :)
<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
<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
<wpwrak_>
kyak: (ubb-vga) the dirty way :)
<kyak>
so far, no real time.. Just implement some things in Simulink and see it running on Ben, not real time
<methril_work>
kyak, but are you going to use RTAI or RT patch?
<wpwrak_>
kyak: there is one "interrupt" source. and that's a brief poll of the keyboard at the end of each frame :)
<kyak>
methril_work: you should be using one of these, yes..
<kyak>
wpwrak_: this is intersting. Perhaps i can do the same when deploying my application - then i don't need the RT patch?
<wpwrak_>
kyak: if you don't mind halting the rest of the system, perhaps not
<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
<kyak>
not only i don't mind doing that, but i'd like to do that :)
<wpwrak_>
perfect then :)
<kyak>
i liked the RTLinux approach though, when they have some RT governor and linux kernel is running inside of it
<kyak>
and then your real time application can step in and take the priority
<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
<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?
<kyak>
i don't quite understand why it is so easy to disable interrupts from userspace.. Would it work if started by regular user?
<kyak>
also, the interrupts are relevant for device drivers, right? Would other running appplication cause any problems?
<wpwrak_>
kyak: you need to be root to do all this
<wpwrak_>
kyak: ubb-vga disables everything else. other drivers, other processes, etc.
<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.
<kristianpaul>
wpwrak_: (scam) :-S, got it
<wpwrak_>
kyak: don't forget that ubb-vga is very sensitive to delays. each 18 ns it must deliver another pixel (4 bits)
<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.
<kristianpaul>
kyak: when is next "image" will be released?
<kristianpaul>
want to play allegro games and check last nanomap :)
<kyak>
wpwrak_: cool, thanks for explanations :)
<kyak>
kristianpaul: you would have to ask xiangfu, but you can always try the latest "nightly" build
<kristianpaul>
kyak: there is Makefile or script that flash my nanonote from  "nightly" build?