beremiz

make possible to turn off at compile time online debugging, logging
and external sync functionality

Defines TARGET_DEBUG_DISABLE, TARGET_LOGGING_DISABLE, TARGET_EXT_SYNC_DISABLE
allow to use generated PLC code in low-cost microcontrollers,
integrate into external programs and so on.

main.c:
extern void __run(void);
int main(void)
{
for(;;) {
__run();
// sleep common_ticktime__ ns
// add common_ticktime__ ns to __CURRENT_TIME
}
return 0;
}

Compile for example for arm bare-metal:
../build$ arm-none-eabi-gcc \
-DTARGET_DEBUG_DISABLE -DTARGET_LOGGER_DISABLE
-DTARGET_EXT_SYNC_DISABLE \
-flto -ffunction-sections -fdata-sections -I../../../../matiec/lib/C \
*.c \
-nodefaultlibs --specs=nano.specs -Wl,--static -Wl,--gc-section -Wl,--start-group -lc -lm -lnosys -lgcc -Wl,--end-group
<?xml version='1.0' encoding='utf-8'?>
<PyFile xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<variables/>
<globals>
<xhtml:p><![CDATA[import threading, time
MyT = None
Stop = False
def StartLog():
global MyT
MyT=threading.Thread(target = DoLog)
MyT.start()
def DoLog():
global Stop
while not Stop:
PLCObject.LogMessage("Python side Logging (PLC is %s)"%PLCObject.PLCStatus)
time.sleep(0.3)
def StopLog():
global MyT,Stop
Stop=True
_runtime_init.append(StartLog)
_runtime_cleanup.append(StopLog)
]]></xhtml:p>
</globals>
<init>
<xhtml:p><![CDATA[]]></xhtml:p>
</init>
<cleanup>
<xhtml:p><![CDATA[]]></xhtml:p>
</cleanup>
<start>
<xhtml:p><![CDATA[]]></xhtml:p>
</start>
<stop>
<xhtml:p><![CDATA[]]></xhtml:p>
</stop>
</PyFile>