targets/beremiz.h
author Andrey Skvortsov <andrej.skvortzov@gmail.com>
Tue, 05 Mar 2019 11:19:36 +0300
changeset 2519 27955f010b23
parent 2504 f3aced6c5f8b
child 3294 e3db472b0dfb
permissions -rw-r--r--
Fix crash if LD input contact isn't connected

Traceback (most recent call last):
File "/home/developer/WorkData/PLC/beremiz/beremiz/BeremizIDE.py", line 339, in OnMethod
obj.CTR.CallMethod('_'+meth)
File "/home/developer/WorkData/PLC/beremiz/beremiz/ProjectController.py", line 1996, in CallMethod
getattr(self, method)()
File "/home/developer/WorkData/PLC/beremiz/beremiz/ProjectController.py", line 1134, in _Build
IECGenRes = self._Generate_SoftPLC()
File "/home/developer/WorkData/PLC/beremiz/beremiz/ProjectController.py", line 746, in _Generate_SoftPLC
if self._Generate_PLC_ST():
File "/home/developer/WorkData/PLC/beremiz/beremiz/ProjectController.py", line 763, in _Generate_PLC_ST
self._getIECgeneratedcodepath())
File "/home/developer/WorkData/PLC/beremiz/beremiz/PLCControler.py", line 456, in GenerateProgram
self.ProgramChunks = GenerateCurrentProgram(self, self.Project, errors, warnings)
File "/home/developer/WorkData/PLC/beremiz/beremiz/PLCGenerator.py", line 1762, in GenerateCurrentProgram
generator.GenerateProgram()
File "/home/developer/WorkData/PLC/beremiz/beremiz/PLCGenerator.py", line 478, in GenerateProgram
self.GeneratePouProgram(pou_name)
File "/home/developer/WorkData/PLC/beremiz/beremiz/PLCGenerator.py", line 260, in GeneratePouProgram
program = pou_program.GenerateProgram(pou)
File "/home/developer/WorkData/PLC/beremiz/beremiz/PLCGenerator.py", line 1718, in GenerateProgram
self.ComputeProgram(pou)
File "/home/developer/WorkData/PLC/beremiz/beremiz/PLCGenerator.py", line 1028, in ComputeProgram
self.GenerateBlock(instance, block_infos, body, None)
File "/home/developer/WorkData/PLC/beremiz/beremiz/PLCGenerator.py", line 1144, in GenerateBlock
expression = self.ComputeExpression(body, connections, executionOrderId > 0)
File "/home/developer/WorkData/PLC/beremiz/beremiz/PLCGenerator.py", line 1373, in ComputeExpression
paths = self.GeneratePaths(connections, body, order, to_inout)
File "/home/developer/WorkData/PLC/beremiz/beremiz/PLCGenerator.py", line 1344, in GeneratePaths
elif isinstance(result[0], list):
IndexError: list index out of range


Close #70
2504
f3aced6c5f8b fix problems with recursive beremiz.h inclusion
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 2503
diff changeset
     1
#ifndef _BEREMIZ_H_
f3aced6c5f8b fix problems with recursive beremiz.h inclusion
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 2503
diff changeset
     2
#define _BEREMIZ_H_
f3aced6c5f8b fix problems with recursive beremiz.h inclusion
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 2503
diff changeset
     3
1001
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
     4
/* Beremiz' header file for use by extensions */
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
     5
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
     6
#include "iec_types.h"
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
     7
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
     8
#define LOG_LEVELS 4
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
     9
#define LOG_CRITICAL 0
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
    10
#define LOG_WARNING 1
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
    11
#define LOG_INFO 2
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
    12
#define LOG_DEBUG 3
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
    13
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
    14
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
    15
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
#ifdef TARGET_LOGGING_DISABLE
2503
6ffeffb6d635 remove LogMessage prototype from plc_main_head.c
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 2175
diff changeset
    17
static inline int LogMessage(uint8_t level, char* buf, uint32_t size)
6ffeffb6d635 remove LogMessage prototype from plc_main_head.c
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 2175
diff changeset
    18
{
6ffeffb6d635 remove LogMessage prototype from plc_main_head.c
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 2175
diff changeset
    19
	(void)level;
6ffeffb6d635 remove LogMessage prototype from plc_main_head.c
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 2175
diff changeset
    20
	(void)buf;
6ffeffb6d635 remove LogMessage prototype from plc_main_head.c
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 2175
diff changeset
    21
	(void)size;
6ffeffb6d635 remove LogMessage prototype from plc_main_head.c
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 2175
diff changeset
    22
	return 0;
6ffeffb6d635 remove LogMessage prototype from plc_main_head.c
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 2175
diff changeset
    23
}
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
    24
#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
    25
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
    26
#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
    27
1050
56bef276055e Made declaration from beremiz.h available to C pragmas in POUs. Added AtomicCompareExchange to beremiz.h
Edouard Tisserant
parents: 1002
diff changeset
    28
long AtomicCompareExchange(long* atomicvar,long compared, long exchange);
1001
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
    29
2504
f3aced6c5f8b fix problems with recursive beremiz.h inclusion
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 2503
diff changeset
    30
#endif