# HG changeset patch # User Edouard Tisserant # Date 1723758601 -7200 # Node ID 38bebb9ee34e201880b24e80d42469b149aa841b # Parent ccf7461e8ff2c58612b735a9e092910b19fc0ccd# Parent 9271afc4f34a14371e111f527e03c68cd266f10f Merge commit '2d061a66ddc737f5dffae82413b4f8573b7eee54' into HEAD diff -r 9271afc4f34a -r 38bebb9ee34e .gitignore --- a/.gitignore Wed Jun 05 15:18:15 2024 +0200 +++ b/.gitignore Thu Aug 15 23:50:01 2024 +0200 @@ -14,4 +14,6 @@ doc/locale/** C_runtime/**/*.d -C_runtime/**/*.o \ No newline at end of file +C_runtime/**/*.o +beremiz_runtime +**/tmp/** diff -r 9271afc4f34a -r 38bebb9ee34e C_runtime/PLCObject.cpp --- a/C_runtime/PLCObject.cpp Wed Jun 05 15:18:15 2024 +0200 +++ b/C_runtime/PLCObject.cpp Thu Aug 15 23:50:01 2024 +0200 @@ -344,6 +344,9 @@ uint32_t PLCObject::LoadPLC(void) { + + // TODO use PLCLibMutex + // Load the last transferred PLC md5 hex digest std::string md5sum; try { diff -r 9271afc4f34a -r 38bebb9ee34e C_runtime/PLCObject.hpp --- a/C_runtime/PLCObject.hpp Wed Jun 05 15:18:15 2024 +0200 +++ b/C_runtime/PLCObject.hpp Thu Aug 15 23:50:01 2024 +0200 @@ -71,7 +71,6 @@ uint32_t SetTraceVariablesList(const list_trace_order_1_t * orders, int32_t * debugtoken); uint32_t StartPLC(void); uint32_t StopPLC(bool * success); - uint32_t AutoLoad(); private: // A map of all the blobs @@ -109,6 +108,7 @@ // Trace double buffer std::vector m_traces; + uint32_t AutoLoad(); uint32_t BlobAsFile(const binary_t * BlobID, std::filesystem::path filename); uint32_t LoadPLC(void); uint32_t UnLoadPLC(void); diff -r 9271afc4f34a -r 38bebb9ee34e plcopen/structures.py --- a/plcopen/structures.py Wed Jun 05 15:18:15 2024 +0200 +++ b/plcopen/structures.py Thu Aug 15 23:50:01 2024 +0200 @@ -340,7 +340,7 @@ ST_BLOCK_START_KEYWORDS = ["IF", "ELSIF", "ELSE", "CASE", "FOR", "WHILE", "REPEAT"] ST_BLOCK_END_KEYWORDS = ["END_IF", "END_CASE", "END_FOR", "END_WHILE", "END_REPEAT"] ST_KEYWORDS = [ - "TRUE", "FALSE", "THEN", "OF", "TO", "BY", "DO", "DO", "UNTIL", "EXIT", + "TRUE", "FALSE", "THEN", "OF", "TO", "BY", "DO", "DO", "UNTIL", "EXIT", "CONTINUE", "RETURN", "NOT", "MOD", "AND", "XOR", "OR" ] + ST_BLOCK_START_KEYWORDS + ST_BLOCK_END_KEYWORDS