targets/plc_debug.c
changeset 582 bb5d0367bf32
parent 581 57605e8e89f0
child 605 2250ed42e306
equal deleted inserted replaced
581:57605e8e89f0 582:bb5d0367bf32
   238             if(force)\
   238             if(force)\
   239              ((__IEC_##TYPENAME##_p *)varp)->fvalue = *((TYPENAME *)force);\
   239              ((__IEC_##TYPENAME##_p *)varp)->fvalue = *((TYPENAME *)force);\
   240             break;\
   240             break;\
   241         case TYPENAME##_O_ENUM :\
   241         case TYPENAME##_O_ENUM :\
   242             ((__IEC_##TYPENAME##_p *)varp)->flags |= flags;\
   242             ((__IEC_##TYPENAME##_p *)varp)->flags |= flags;\
   243             if(force)\
   243             if(force){\
   244              ((__IEC_##TYPENAME##_p *)varp)->fvalue = *((TYPENAME *)force);\
   244              ((__IEC_##TYPENAME##_p *)varp)->fvalue = *((TYPENAME *)force);\
   245              *(((__IEC_##TYPENAME##_p *)varp)->value) = *((TYPENAME *)force);\
   245              *(((__IEC_##TYPENAME##_p *)varp)->value) = *((TYPENAME *)force);\
       
   246             }\
   246             break;
   247             break;
   247 void RegisterDebugVariable(int idx, void* force)
   248 void RegisterDebugVariable(int idx, void* force)
   248 {
   249 {
   249     void *varp = NULL;
   250     void *varp = NULL;
   250     unsigned char flags = force ? __IEC_DEBUG_FLAG | __IEC_FORCE_FLAG : __IEC_DEBUG_FLAG;
   251     unsigned char flags = force ? __IEC_DEBUG_FLAG | __IEC_FORCE_FLAG : __IEC_DEBUG_FLAG;
   261             ((__IEC_##TYPENAME##_t *)varp)->flags &= ~(__IEC_DEBUG_FLAG|__IEC_FORCE_FLAG);\
   262             ((__IEC_##TYPENAME##_t *)varp)->flags &= ~(__IEC_DEBUG_FLAG|__IEC_FORCE_FLAG);\
   262             break;
   263             break;
   263 
   264 
   264 #define __ResetDebugVariablesIterator_case_p(TYPENAME)\
   265 #define __ResetDebugVariablesIterator_case_p(TYPENAME)\
   265         case TYPENAME##_P_ENUM :\
   266         case TYPENAME##_P_ENUM :\
       
   267         case TYPENAME##_O_ENUM :\
   266             ((__IEC_##TYPENAME##_p *)varp)->flags &= ~(__IEC_DEBUG_FLAG|__IEC_FORCE_FLAG);\
   268             ((__IEC_##TYPENAME##_p *)varp)->flags &= ~(__IEC_DEBUG_FLAG|__IEC_FORCE_FLAG);\
   267             break;
   269             break;
   268 
   270 
   269 void ResetDebugVariablesIterator(void* varp, __IEC_types_enum vartype)
   271 void ResetDebugVariablesIterator(void* varp, __IEC_types_enum vartype)
   270 {
   272 {