Fri, 22 Jul 2022 09:24:12 +0200In VARIABLES.CSV, RETAIN variable were only flagged as such for GLOBALS, now local POU variable shoud be as well. default tip
Edouard Tisserant [Fri, 22 Jul 2022 09:24:12 +0200] rev 1099
In VARIABLES.CSV, RETAIN variable were only flagged as such for GLOBALS, now local POU variable shoud be as well.

Tue, 15 Feb 2022 10:34:23 +0100Fixed logic for REPEAT..UNTIL
Edouard Tisserant [Tue, 15 Feb 2022 10:34:23 +0100] rev 1098
Fixed logic for REPEAT..UNTIL

In Stage4, C code generator, REPEAT statement was generating a while loop with inverted logic

Tue, 14 Dec 2021 09:02:38 +0100Added RETAIN qualifier to VARIABLES.CSV
Edouard Tisserant [Tue, 14 Dec 2021 09:02:38 +0100] rev 1097
Added RETAIN qualifier to VARIABLES.CSV

Tue, 14 Dec 2021 08:48:05 +0100Variable forcing now uses limited list and buffer instead of systematical instance tree traversal and in-tree "fvalue" to keep track of forced value for pointed variables (external, located). Pointer swapping is performed when forcing externals and located, with backup being restored when forcing is reset. Match Beremiz commit 93ad018fb602.
Edouard Tisserant [Tue, 14 Dec 2021 08:48:05 +0100] rev 1096
Variable forcing now uses limited list and buffer instead of systematical instance tree traversal and in-tree "fvalue" to keep track of forced value for pointed variables (external, located). Pointer swapping is performed when forcing externals and located, with backup being restored when forcing is reset. Match Beremiz commit 93ad018fb602.

Wed, 24 Nov 2021 08:58:58 +0100Fixed __SET_EXTERNAL_FB declaration in accessor.h, invoked when accessing EXTERNAL_BLOCK.VARIABLE. Macro was invoking __SET_VAR with wrong parameter count. Fixed corresponding code generator for ST. Seems similar codegen for IL is also broken, but fix would affect other (unknown) behviours -> didn't touch it.
Edouard Tisserant [Wed, 24 Nov 2021 08:58:58 +0100] rev 1095
Fixed __SET_EXTERNAL_FB declaration in accessor.h, invoked when accessing EXTERNAL_BLOCK.VARIABLE. Macro was invoking __SET_VAR with wrong parameter count. Fixed corresponding code generator for ST. Seems similar codegen for IL is also broken, but fix would affect other (unknown) behviours -> didn't touch it.

Mon, 04 Oct 2021 11:29:13 +0200Remove RETAIN qualifier for F_TRIG and R_TRIG 'M' variable. This is not following standard, and implicitely consumes a lot of RETAIN memory. User can explicitely qualify R_TRIG of F_TRIG instance as RETAIN if needed.
Edouard Tisserant [Mon, 04 Oct 2021 11:29:13 +0200] rev 1094
Remove RETAIN qualifier for F_TRIG and R_TRIG 'M' variable. This is not following standard, and implicitely consumes a lot of RETAIN memory. User can explicitely qualify R_TRIG of F_TRIG instance as RETAIN if needed.

Mon, 06 Jul 2020 13:29:08 +0200Fix in standard function library: forgot static linkage for inline __str_cmp()
Edouard Tisserant [Mon, 06 Jul 2020 13:29:08 +0200] rev 1093
Fix in standard function library: forgot static linkage for inline __str_cmp()

Tue, 30 Jun 2020 11:23:37 +0200Fixed in standard function library: NE_BOOL was missing.
Edouard Tisserant [Tue, 30 Jun 2020 11:23:37 +0200] rev 1092
Fixed in standard function library: NE_BOOL was missing.

Thu, 18 Jun 2020 14:32:20 +0200Fixed in standard function library: String comparison was retrurning wrong result whith strings of different sizes but starting the same, or with zero length strings.
Edouard Tisserant [Thu, 18 Jun 2020 14:32:20 +0200] rev 1091
Fixed in standard function library: String comparison was retrurning wrong result whith strings of different sizes but starting the same, or with zero length strings.

Fri, 08 May 2020 10:20:04 +0200Fixed FIND Standard Character String Function. Now returns 0 in case empty string is given either for IN1 or IN2.
Edouard Tisserant [Fri, 08 May 2020 10:20:04 +0200] rev 1090
Fixed FIND Standard Character String Function. Now returns 0 in case empty string is given either for IN1 or IN2.

Fri, 30 Aug 2019 10:27:45 +0200Reworked get_greatest_tick_count computation
Edouard Tisserant [Fri, 30 Aug 2019 10:27:45 +0200] rev 1089
Reworked get_greatest_tick_count computation

Tue, 09 Jul 2019 08:31:02 +0200Add a column to VARIABLES.CSV, containing variable (derived) type name, additionally to current last column contyaining base type name
Edouard Tisserant [Tue, 09 Jul 2019 08:31:02 +0200] rev 1088
Add a column to VARIABLES.CSV, containing variable (derived) type name, additionally to current last column contyaining base type name

Wed, 13 Feb 2019 14:40:26 +0000add default NULL value to references (as suggested by anonymous in issue 62)
Mario de Sousa <msousa@fe.up.pt> [Wed, 13 Feb 2019 14:40:26 +0000] rev 1087
add default NULL value to references (as suggested by anonymous in issue 62)
(Not really needed, but it is good practise...)

Wed, 13 Feb 2019 14:16:26 +0000merge
Mario de Sousa <msousa@fe.up.pt> [Wed, 13 Feb 2019 14:16:26 +0000] rev 1086
merge

Wed, 26 Dec 2018 19:36:03 +0000fix issue #73: add missing overloaded functions ADD, SUB, MUL and DIV for TIME, TOD, DT, ...
Mario de Sousa <msousa@fe.up.pt> [Wed, 26 Dec 2018 19:36:03 +0000] rev 1085
fix issue #73: add missing overloaded functions ADD, SUB, MUL and DIV for TIME, TOD, DT, ...

Wed, 26 Dec 2018 12:39:41 +0000remove debugging printf() introduced in previous commits
Mario de Sousa <msousa@fe.up.pt> [Wed, 26 Dec 2018 12:39:41 +0000] rev 1084
remove debugging printf() introduced in previous commits

Wed, 26 Dec 2018 12:02:13 +0000merge
Mario de Sousa <msousa@fe.up.pt> [Wed, 26 Dec 2018 12:02:13 +0000] rev 1083
merge

Wed, 26 Dec 2018 11:56:14 +0000fix bug introduced in previous commit (force literals to unsigned log long)
Mario de Sousa <msousa@fe.up.pt> [Wed, 26 Dec 2018 11:56:14 +0000] rev 1082
fix bug introduced in previous commit (force literals to unsigned log long)

Wed, 26 Dec 2018 11:51:58 +0000return storage of task interval back to 1 ns resolution (when calculating least common multiple et. al. of task intervals).
Mario de Sousa <msousa@fe.up.pt> [Wed, 26 Dec 2018 11:51:58 +0000] rev 1081
return storage of task interval back to 1 ns resolution (when calculating least common multiple et. al. of task intervals).

Wed, 26 Dec 2018 11:45:27 +0000addendum to issue #76: detect overflow when calculating least common multiple of task intervals.
Mario de Sousa <msousa@fe.up.pt> [Wed, 26 Dec 2018 11:45:27 +0000] rev 1080
addendum to issue #76: detect overflow when calculating least common multiple of task intervals.

Wed, 26 Dec 2018 11:40:45 +0000definitive fix of issue #76: remove internal overflow of u64 when calculating least common multiple of task intervals.
Mario de Sousa <msousa@fe.up.pt> [Wed, 26 Dec 2018 11:40:45 +0000] rev 1079
definitive fix of issue #76: remove internal overflow of u64 when calculating least common multiple of task intervals.

Wed, 26 Dec 2018 11:12:27 +0000Test for overflow when translating task periods/intervals to integer variable.
Mario de Sousa <msousa@fe.up.pt> [Wed, 26 Dec 2018 11:12:27 +0000] rev 1078
Test for overflow when translating task periods/intervals to integer variable.

Tue, 25 Dec 2018 12:15:29 +0000partial fix to issue #76 - calculate task periods with 1ms (instead of 1ns) resolution. Allows for tasks with periods larger than 4.295s, but smaller than 50 days.
Mario de Sousa <msousa@fe.up.pt> [Tue, 25 Dec 2018 12:15:29 +0000] rev 1077
partial fix to issue #76 - calculate task periods with 1ms (instead of 1ns) resolution. Allows for tasks with periods larger than 4.295s, but smaller than 50 days.

Tue, 25 Dec 2018 11:10:11 +0000partial fix for issue 74: allow deref of REF in left hand side of assignment (only works in FUNCTIONS for now)
Mario de Sousa <msousa@fe.up.pt> [Tue, 25 Dec 2018 11:10:11 +0000] rev 1076
partial fix for issue 74: allow deref of REF in left hand side of assignment (only works in FUNCTIONS for now)

Fri, 21 Dec 2018 17:32:36 +0000fix issue #78: IL NOT operator not working
Mario de Sousa <msousa@fe.up.pt> [Fri, 21 Dec 2018 17:32:36 +0000] rev 1075
fix issue #78: IL NOT operator not working

Thu, 20 Dec 2018 18:55:22 +0000fix issue#77 - when IL FB followed by SFC FB, non-existant error was detected in IL code.
Mario de Sousa <msousa@fe.up.pt> [Thu, 20 Dec 2018 18:55:22 +0000] rev 1074
fix issue#77 - when IL FB followed by SFC FB, non-existant error was detected in IL code.

Sun, 14 Oct 2018 20:14:13 +0300revert commits improved performance of some extensible Standard Functions (ADD, MUL, AND, OR, XOR)
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sun, 14 Oct 2018 20:14:13 +0300] rev 1073
revert commits improved performance of some extensible Standard Functions (ADD, MUL, AND, OR, XOR)

Following commits are reverted:
mjsousa 0b275a2 improve performance of some extensible Standard Functions (ADD, MUL, AND, OR, XOR) -- increase hardcoded limit to 499
mjsousa 2228799 improve performance of some extensible Standard Functions (ADD, MUL, AND, OR, XOR) -- Add comments!!
mjsousa ce81fa6 improve performance of some extensible Standard Functions (ADD, MUL, AND, OR, XOR)"

The reason is that they cause regression in some cases (if function is
used as argument for function block, for example) and this is not
fixed for a long time.

Fri, 20 Apr 2018 17:40:29 +0100merge
Mario de Sousa <msousa@fe.up.pt> [Fri, 20 Apr 2018 17:40:29 +0100] rev 1072
merge

Fri, 20 Apr 2018 17:38:09 +0100fix backup/restore functions: now also backup/restore programs instantiated to run inside tasks.
Mario de Sousa <msousa@fe.up.pt> [Fri, 20 Apr 2018 17:38:09 +0100] rev 1071
fix backup/restore functions: now also backup/restore programs instantiated to run inside tasks.

Thu, 01 Mar 2018 19:28:38 +0000add include <time.h>, required for time_t
Andrey Skvortsov [Thu, 01 Mar 2018 19:28:38 +0000] rev 1070
add include <time.h>, required for time_t