equal
deleted
inserted
replaced
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; |