targets/plc_debug.c
changeset 2190 b7d803fc44db
parent 2172 9fa5be79bb77
child 2501 eba2bbb2dd9a
equal deleted inserted replaced
2189:49a6738b7c63 2190:b7d803fc44db
    59 };
    59 };
    60 
    60 
    61 typedef void(*__for_each_variable_do_fp)(dbgvardsc_t*);
    61 typedef void(*__for_each_variable_do_fp)(dbgvardsc_t*);
    62 void __for_each_variable_do(__for_each_variable_do_fp fp)
    62 void __for_each_variable_do(__for_each_variable_do_fp fp)
    63 {
    63 {
    64     int i;
    64     unsigned int i;
    65     for(i = 0; i < sizeof(dbgvardsc)/sizeof(dbgvardsc_t); i++){
    65     for(i = 0; i < sizeof(dbgvardsc)/sizeof(dbgvardsc_t); i++){
    66         dbgvardsc_t *dsc = &dbgvardsc[i];
    66         dbgvardsc_t *dsc = &dbgvardsc[i];
    67         if(dsc->type != UNKNOWN_ENUM) 
    67         if(dsc->type != UNKNOWN_ENUM) 
    68             (*fp)(dsc);
    68             (*fp)(dsc);
    69     }
    69     }
   297             if(force){\
   297             if(force){\
   298              ((__IEC_##TYPENAME##_p *)varp)->fvalue = *((TYPENAME *)force);\
   298              ((__IEC_##TYPENAME##_p *)varp)->fvalue = *((TYPENAME *)force);\
   299              *(((__IEC_##TYPENAME##_p *)varp)->value) = *((TYPENAME *)force);\
   299              *(((__IEC_##TYPENAME##_p *)varp)->value) = *((TYPENAME *)force);\
   300             }\
   300             }\
   301             break;
   301             break;
   302 void RegisterDebugVariable(int idx, void* force)
   302 void RegisterDebugVariable(unsigned int idx, void* force)
   303 {
   303 {
   304     if(idx  < sizeof(dbgvardsc)/sizeof(dbgvardsc_t)){
   304     if(idx  < sizeof(dbgvardsc)/sizeof(dbgvardsc_t)){
   305         unsigned char flags = force ?
   305         unsigned char flags = force ?
   306             __IEC_DEBUG_FLAG | __IEC_FORCE_FLAG :
   306             __IEC_DEBUG_FLAG | __IEC_FORCE_FLAG :
   307             __IEC_DEBUG_FLAG;
   307             __IEC_DEBUG_FLAG;