--- a/targets/plc_debug.c Fri Apr 03 17:08:13 2015 +0200
+++ b/targets/plc_debug.c Mon Jun 15 10:19:52 2015 +0200
@@ -111,6 +111,7 @@
}
extern int CheckRetainBuffer(void);
+extern void InitRetain(void);
void __init_debug(void)
{
@@ -118,13 +119,19 @@
buffer_cursor = debug_buffer;
retain_offset = 0;
buffer_state = BUFFER_FREE;
+ InitRetain();
/* Iterate over all variables to fill debug buffer */
- if(CheckRetainBuffer())
+ if(CheckRetainBuffer()){
__for_each_variable_do(RemindIterator);
+ }else{
+ char mstr[] = "RETAIN memory invalid - defaults used";
+ LogMessage(LOG_WARNING, mstr, sizeof(mstr));
+ }
retain_offset = 0;
}
extern void InitiateDebugTransfer(void);
+extern void CleanupRetain(void);
extern unsigned long __tick;
@@ -132,6 +139,7 @@
{
buffer_cursor = debug_buffer;
InitiateDebugTransfer();
+ CleanupRetain();
}
void __retrieve_debug(void)