targets/plc_debug.c
changeset 335 c5f3f71e7260
parent 280 f2ef79f3dba0
child 386 2932b0dd437c
equal deleted inserted replaced
334:b4131e5d10a4 335:c5f3f71e7260
    12  * */
    12  * */
    13 #include "iec_types_all.h"
    13 #include "iec_types_all.h"
    14 #include "POUS.h"
    14 #include "POUS.h"
    15 /*for memcpy*/
    15 /*for memcpy*/
    16 #include <string.h>
    16 #include <string.h>
       
    17 #include <stdio.h>
    17 
    18 
    18 #define BUFFER_SIZE 1024
    19 #define BUFFER_SIZE %(buffer_size)d
    19 #define MAX_SUBSCRIBTION %(subscription_table_count)d
    20 #define MAX_SUBSCRIBTION %(subscription_table_count)d
    20 
    21 
    21 /* Atomically accessed variable for buffer state */
    22 /* Atomically accessed variable for buffer state */
    22 #define BUFFER_FREE 0
    23 #define BUFFER_FREE 0
    23 #define BUFFER_BUSY 1
    24 #define BUFFER_BUSY 1
   156         *idx = *subscription_cursor;
   157         *idx = *subscription_cursor;
   157         struct_plcvar* my_var = &variable_table[*(subscription_cursor++)];
   158         struct_plcvar* my_var = &variable_table[*(subscription_cursor++)];
   158         *type_name = __get_type_enum_name(my_var->type);
   159         *type_name = __get_type_enum_name(my_var->type);
   159         /* get variable size*/
   160         /* get variable size*/
   160         USINT size = __get_type_enum_size(my_var->type);
   161         USINT size = __get_type_enum_size(my_var->type);
   161         /* compute next cursor positon*/
   162         /* compute next cursor position*/
   162         buffer_cursor = buffer_cursor + size;
   163         buffer_cursor = buffer_cursor + size;
   163         if(old_cursor < debug_buffer + BUFFER_SIZE)
   164         if(old_cursor < debug_buffer + BUFFER_SIZE)
   164         {
   165         {
   165             return old_cursor;
   166             return old_cursor;
   166         }else{
   167         }else{
   167             return NULL;
   168             printf("%%d > %%d\n", old_cursor - debug_buffer, BUFFER_SIZE);
       
   169 	    return NULL;
   168         } 
   170         } 
   169     }
   171     }
   170     *idx = -1;
   172     *idx = -1;
   171     *type_name = NULL;
   173     *type_name = NULL;
   172     return NULL;
   174     return NULL;