targets/beremiz.h
author Andrey Skvortsov <andrej.skvortzov@gmail.com>
Thu, 09 Aug 2018 13:58:47 +0300
changeset 2275 1bb8afa02409
parent 2175 667f7de69cf6
child 2503 6ffeffb6d635
permissions -rw-r--r--
Improve fix wrong code generation if EN/ENO are used in FBD/LD/SFC

Commit c9915bc6 "Fix wrong code generation if EN/ENO are used in
FBD/LD/SFC" caused following backtrace in some cases:

File "/home/developer/WorkData/PLC/beremiz/beremiz/PLCGenerator.py", line 476, in GenerateProgram
self.GeneratePouProgram(pou_name)
File "/home/developer/WorkData/PLC/beremiz/beremiz/PLCGenerator.py", line 258, in GeneratePouProgram
program = pou_program.GenerateProgram(pou)
File "/home/developer/WorkData/PLC/beremiz/beremiz/PLCGenerator.py", line 1713, in GenerateProgram
self.ComputeProgram(pou)
File "/home/developer/WorkData/PLC/beremiz/beremiz/PLCGenerator.py", line 997, in ComputeProgram
eno_var = self.GetUsedEno(body, connections)
File "/home/developer/WorkData/PLC/beremiz/beremiz/PLCGenerator.py", line 929, in GetUsedEno
for invar in blk.inputVariables.getvariable():
File "/home/developer/WorkData/PLC/beremiz/beremiz/xmlclass/xmlclass.py", line 1363, in getattrMethod
return DefaultElementClass.__getattribute__(self, name)
<type 'exceptions.AttributeError'>: 'inOutVariable' object has no attribute 'inputVariables'
1001
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
     1
/* Beremiz' header file for use by extensions */
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
     2
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
     3
#include "iec_types.h"
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
     4
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
     5
#define LOG_LEVELS 4
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
     6
#define LOG_CRITICAL 0
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
     7
#define LOG_WARNING 1
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
     8
#define LOG_INFO 2
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
     9
#define LOG_DEBUG 3
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
    10
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
    11
extern unsigned long long common_ticktime__;
2175
667f7de69cf6 Fix compilation problem in case of TARGET_LOGGING_DISABLE turned on and TARGET_DEBUG_DISABLE turned off
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1050
diff changeset
    12
667f7de69cf6 Fix compilation problem in case of TARGET_LOGGING_DISABLE turned on and TARGET_DEBUG_DISABLE turned off
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1050
diff changeset
    13
#ifdef TARGET_LOGGING_DISABLE
667f7de69cf6 Fix compilation problem in case of TARGET_LOGGING_DISABLE turned on and TARGET_DEBUG_DISABLE turned off
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1050
diff changeset
    14
#define LogMessage(level, buf, size)
667f7de69cf6 Fix compilation problem in case of TARGET_LOGGING_DISABLE turned on and TARGET_DEBUG_DISABLE turned off
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1050
diff changeset
    15
#else
667f7de69cf6 Fix compilation problem in case of TARGET_LOGGING_DISABLE turned on and TARGET_DEBUG_DISABLE turned off
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1050
diff changeset
    16
int     LogMessage(uint8_t level, char* buf, uint32_t size);
667f7de69cf6 Fix compilation problem in case of TARGET_LOGGING_DISABLE turned on and TARGET_DEBUG_DISABLE turned off
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1050
diff changeset
    17
#endif
667f7de69cf6 Fix compilation problem in case of TARGET_LOGGING_DISABLE turned on and TARGET_DEBUG_DISABLE turned off
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1050
diff changeset
    18
1050
56bef276055e Made declaration from beremiz.h available to C pragmas in POUs. Added AtomicCompareExchange to beremiz.h
Edouard Tisserant
parents: 1002
diff changeset
    19
long AtomicCompareExchange(long* atomicvar,long compared, long exchange);
1001
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
    20