69 volatile unsigned cprog;
77 const unsigned char min_length[]={
90 static unsigned char* buffer_ptr;
91 volatile unsigned char packet_len;
92 volatile unsigned char packet_src;
94 static sem_t packet_sem;
97 #define debugs(a) { cputs(a); msleep(500); }
98 #define debugw(a) { cputw(a); msleep(500); }
105 int lrkey_handler(
unsigned int etype,
unsigned int key);
124 static void program_run(
unsigned nr) {
142 static void packet_producer(
const unsigned char *data,
143 unsigned char length,
147 if(packet_len>0 || length==0)
153 buffer_ptr =
malloc(length);
154 memcpy(buffer_ptr,data,length);
161 static int packet_consumer(
int argc,
char *argv[]) {
178 debugw(*(
size_t*)buffer_ptr);
183 if (cmd>=
CMDlast || packet_len<min_length[cmd])
188 if (buffer_ptr[1]==0) {
189 debugs(
"nearmodeIR");
227 if(nb_tasks <= nb_system_tasks) {
272 size_t offset=*(
size_t*)(buffer_ptr+2);
273 if(offset<=prog->downloaded) {
275 memcpy(prog->
text+offset,buffer_ptr+4,packet_len-4);
322 while (--count_down && (nb_tasks > nb_system_tasks)) {
328 if (nb_tasks > nb_system_tasks) {
356 #ifdef CONF_LR_HANDLER
364 int key_handler(
int argc,
char *argv[]) {
377 debugs(
"key "); debugw(c);
378 debugs(
"task"); debugw(nb_tasks);
389 while (--clear && (nb_tasks > 2))
400 if(nb_tasks > nb_system_tasks) {
415 if(nb_tasks <= nb_system_tasks) {
418 if( (++cprog)>=PROG_MAX)
439 if (nb_tasks > nb_system_tasks)
476 #if defined(CONF_DSENSOR)
481 #endif // CONF_DSENSOR
495 #if defined(CONF_LR_HANDLER)
497 int lrkey_handler(
unsigned int etype,
unsigned int key) {
498 unsigned char pnr = 0;
508 if(nb_tasks <= nb_system_tasks) {
517 #endif // CONF_DSOUND
540 #ifndef CONF_LCD_REFRESH
552 #if defined(CONF_DMOTOR)
578 #endif // CONF_DMOTOR
583 #ifndef CONF_LCD_REFRESH
593 #if defined(CONF_DMOTOR)
609 #endif // CONF_DMOTOR
627 #ifndef CONF_LCD_REFRESH
644 #ifdef CONF_LR_HANDLER
661 #ifdef CONF_LR_HANDLER
666 #endif // CONF_PROGRAM