Fri, 11 Oct 2019 12:03:14 +0200SVGHMI: added a widgets description object, accessed by id. Added frequency to widgets, as separate template to allow future customization. Excluded non svg elements (i.e inkscape Sets) with HMI: labels from widgets. svghmi
Edouard Tisserant [Fri, 11 Oct 2019 12:03:14 +0200] rev 2797
SVGHMI: added a widgets description object, accessed by id. Added frequency to widgets, as separate template to allow future customization. Excluded non svg elements (i.e inkscape Sets) with HMI: labels from widgets.

Thu, 10 Oct 2019 10:03:47 +0200SVGHMI fix logic for page membership detection svghmi
Edouard Tisserant [Thu, 10 Oct 2019 10:03:47 +0200] rev 2796
SVGHMI fix logic for page membership detection

Thu, 10 Oct 2019 09:54:44 +0200SVGHMI compute default page svghmi
Edouard Tisserant [Thu, 10 Oct 2019 09:54:44 +0200] rev 2795
SVGHMI compute default page

Wed, 09 Oct 2019 11:15:14 +0200SVGHMI: deduce pages content out of geometry (elements contained in page bounding box are in) svghmi
Edouard Tisserant [Wed, 09 Oct 2019 11:15:14 +0200] rev 2794
SVGHMI: deduce pages content out of geometry (elements contained in page bounding box are in)

Wed, 09 Oct 2019 09:04:35 +0200SVGHMI: use func:function for parsing labels so that it can be used in predicates svghmi
Edouard Tisserant [Wed, 09 Oct 2019 09:04:35 +0200] rev 2793
SVGHMI: use func:function for parsing labels so that it can be used in predicates

Tue, 08 Oct 2019 13:27:00 +0200SVGHMI: moved/fixed some templates, avoided namespace problems, added parsing of HMI:* inkscape labels svghmi
Edouard Tisserant [Tue, 08 Oct 2019 13:27:00 +0200] rev 2792
SVGHMI: moved/fixed some templates, avoided namespace problems, added parsing of HMI:* inkscape labels

Mon, 07 Oct 2019 12:02:45 +0200SVGHMI: now generating JS object describing widgets and pointing to SVG elements svghmi
Edouard Tisserant [Mon, 07 Oct 2019 12:02:45 +0200] rev 2791
SVGHMI: now generating JS object describing widgets and pointing to SVG elements

Sat, 05 Oct 2019 09:45:58 +0200SVGHI: compute hmitree variables ordered index in xslt svghmi
Edouard Tisserant [Sat, 05 Oct 2019 09:45:58 +0200] rev 2790
SVGHI: compute hmitree variables ordered index in xslt

Wed, 02 Oct 2019 11:31:02 +0200SVGHMI: now built. svghmi
Edouard Tisserant [Wed, 02 Oct 2019 11:31:02 +0200] rev 2789
SVGHMI: now built.

Mon, 30 Sep 2019 13:26:11 +0200SVGHMI: Work in progress. C side mostly implemented, neither built nor tested. svghmi
Edouard Tisserant [Mon, 30 Sep 2019 13:26:11 +0200] rev 2788
SVGHMI: Work in progress. C side mostly implemented, neither built nor tested.

Fri, 27 Sep 2019 06:54:35 +0200SVGHMI: More strict formating of active HMI labels : @ separator only used for paths svghmi
Edouard Tisserant [Fri, 27 Sep 2019 06:54:35 +0200] rev 2787
SVGHMI: More strict formating of active HMI labels : @ separator only used for paths

Thu, 26 Sep 2019 09:33:49 +0200SVGHMI: new test svg to drive next implementation svghmi
Edouard Tisserant [Thu, 26 Sep 2019 09:33:49 +0200] rev 2786
SVGHMI: new test svg to drive next implementation

Wed, 25 Sep 2019 08:53:27 +0200Non significant changes in generated xslt, side effect of changes in yslt_noindent.yml2 svghmi
Edouard Tisserant [Wed, 25 Sep 2019 08:53:27 +0200] rev 2785
Non significant changes in generated xslt, side effect of changes in yslt_noindent.yml2

Tue, 24 Sep 2019 11:58:31 +0200Merge default in SVGHMI branch svghmi
Edouard Tisserant [Tue, 24 Sep 2019 11:58:31 +0200] rev 2784
Merge default in SVGHMI branch

Fri, 20 Sep 2019 13:38:58 +0200SVGHMI: Starting to define JS side more in details. svghmi
Edouard Tisserant [Fri, 20 Sep 2019 13:38:58 +0200] rev 2783
SVGHMI: Starting to define JS side more in details.

Thu, 19 Sep 2019 15:32:36 +0200SVGHMI: added transformation of code given in inkscape's description fields into javascript functions svghmi
Edouard Tisserant [Thu, 19 Sep 2019 15:32:36 +0200] rev 2782
SVGHMI: added transformation of code given in inkscape's description fields into javascript functions

Thu, 19 Sep 2019 10:41:39 +0200SVGHMI: gui.svg -> svghmi.svg svghmi
Edouard Tisserant [Thu, 19 Sep 2019 10:41:39 +0200] rev 2781
SVGHMI: gui.svg -> svghmi.svg

Thu, 19 Sep 2019 09:01:49 +0200SVGHMI: moved static JS code to a separate file included at xhtml generation time svghmi
Edouard Tisserant [Thu, 19 Sep 2019 09:01:49 +0200] rev 2780
SVGHMI: moved static JS code to a separate file included at xhtml generation time

Wed, 18 Sep 2019 11:09:35 +0200SVGHMI: Work In Progress : fixed pointer types in ctypes interface, cleaned up server startup and cleanup code, changed document type to XHTML, cleaner JS script : encapsulated in a function and in CDATA. svghmi
Edouard Tisserant [Wed, 18 Sep 2019 11:09:35 +0200] rev 2779
SVGHMI: Work In Progress : fixed pointer types in ctypes interface, cleaned up server startup and cleanup code, changed document type to XHTML, cleaner JS script : encapsulated in a function and in CDATA.

Wed, 18 Sep 2019 11:03:56 +0200PLCobject: Call "stop" and "cleanup" methods from python runtime files in reverse order compared to "init" and "start". svghmi
Edouard Tisserant [Wed, 18 Sep 2019 11:03:56 +0200] rev 2778
PLCobject: Call "stop" and "cleanup" methods from python runtime files in reverse order compared to "init" and "start".

Mon, 16 Sep 2019 13:45:04 +0200SVGHMI: WIP for python<->C data exchange : message from browser hit the C side. svghmi
Edouard Tisserant [Mon, 16 Sep 2019 13:45:04 +0200] rev 2777
SVGHMI: WIP for python<->C data exchange : message from browser hit the C side.

Mon, 16 Sep 2019 11:44:20 +0200SVGHMI: WIP for python<->C data exchange svghmi
Edouard Tisserant [Mon, 16 Sep 2019 11:44:20 +0200] rev 2776
SVGHMI: WIP for python<->C data exchange

Mon, 16 Sep 2019 10:54:15 +0200SVGHMI: WIP for python<->C data exchange svghmi
Edouard Tisserant [Mon, 16 Sep 2019 10:54:15 +0200] rev 2775
SVGHMI: WIP for python<->C data exchange

Thu, 12 Sep 2019 12:56:47 +0200SVGHMI: WIP for python<->C data exchange svghmi
Edouard Tisserant [Thu, 12 Sep 2019 12:56:47 +0200] rev 2774
SVGHMI: WIP for python<->C data exchange

Thu, 12 Sep 2019 12:55:32 +0200SVGHMI: single session for now svghmi
Edouard Tisserant [Thu, 12 Sep 2019 12:55:32 +0200] rev 2773
SVGHMI: single session for now

Thu, 12 Sep 2019 12:54:36 +0200SVGHMI: few fixes on serving svghmi
Edouard Tisserant [Thu, 12 Sep 2019 12:54:36 +0200] rev 2772
SVGHMI: few fixes on serving

Wed, 11 Sep 2019 12:24:30 +0200WIP on svghmi, now builds and runs. HTTP serving + WS transport ready, missing actual data to transmit and thread to collect it. svghmi
Edouard Tisserant [Wed, 11 Sep 2019 12:24:30 +0200] rev 2771
WIP on svghmi, now builds and runs. HTTP serving + WS transport ready, missing actual data to transmit and thread to collect it.

Wed, 11 Sep 2019 11:20:11 +0200Non significant changes to mute GCC warnings about unused variables. svghmi
Edouard Tisserant [Wed, 11 Sep 2019 11:20:11 +0200] rev 2770
Non significant changes to mute GCC warnings about unused variables.

Thu, 05 Sep 2019 08:35:33 +0200Fixed sequel of 5f79b194fa63 'SVGHMI: filter out temporary variables created while generating ST code out of FBD.'. Some ref to temporary variables are still not using the _TMP_ prefix. They are quite hard to find, so to be continued... svghmi
Edouard Tisserant [Thu, 05 Sep 2019 08:35:33 +0200] rev 2769
Fixed sequel of 5f79b194fa63 'SVGHMI: filter out temporary variables created while generating ST code out of FBD.'. Some ref to temporary variables are still not using the _TMP_ prefix. They are quite hard to find, so to be continued...

Tue, 03 Sep 2019 12:17:33 +0200SVGHMI: Intermediate state while working on svghmi.c svghmi
Edouard Tisserant [Tue, 03 Sep 2019 12:17:33 +0200] rev 2768
SVGHMI: Intermediate state while working on svghmi.c

Mon, 26 Aug 2019 08:54:02 +0200svghmi.c : deduplicated variable access code borrowed from plc_debug.c. Added targets/var_access.c. svghmi
Edouard Tisserant [Mon, 26 Aug 2019 08:54:02 +0200] rev 2767
svghmi.c : deduplicated variable access code borrowed from plc_debug.c. Added targets/var_access.c.

Fri, 23 Aug 2019 14:01:31 +0200SVGHMI: Added iterators in svghmi.c copy-pasted form plc_debug.c svghmi
Edouard Tisserant [Fri, 23 Aug 2019 14:01:31 +0200] rev 2766
SVGHMI: Added iterators in svghmi.c copy-pasted form plc_debug.c

Fri, 23 Aug 2019 13:01:37 +0200SVGHMI: svghmi.c now has mutex, iterator, and read/write buffer. svghmi
Edouard Tisserant [Fri, 23 Aug 2019 13:01:37 +0200] rev 2765
SVGHMI: svghmi.c now has mutex, iterator, and read/write buffer.

Thu, 22 Aug 2019 14:58:53 +0200SVGHMI: draft for svghmi.c. It has all PLC variables pointed in HMI tree in an array. svghmi
Edouard Tisserant [Thu, 22 Aug 2019 14:58:53 +0200] rev 2764
SVGHMI: draft for svghmi.c. It has all PLC variables pointed in HMI tree in an array.

Tue, 20 Aug 2019 10:32:34 +0200Pass HMITree to SVG transform. It seems it could really help to reduce JS tree binding logic in the end. svghmi
Edouard Tisserant [Tue, 20 Aug 2019 10:32:34 +0200] rev 2763
Pass HMITree to SVG transform. It seems it could really help to reduce JS tree binding logic in the end.

Tue, 20 Aug 2019 10:30:59 +0200Add special nodes at HMI Tree root, fix code to handle special node (no path). svghmi
Edouard Tisserant [Tue, 20 Aug 2019 10:30:59 +0200] rev 2762
Add special nodes at HMI Tree root, fix code to handle special node (no path).

Tue, 20 Aug 2019 10:08:11 +0200Swap CTN code gen and Libraries code gen, because SVGHMI use both, and need the library part to produce hmitree before CTN part. svghmi
Edouard Tisserant [Tue, 20 Aug 2019 10:08:11 +0200] rev 2761
Swap CTN code gen and Libraries code gen, because SVGHMI use both, and need the library part to produce hmitree before CTN part.

Tue, 20 Aug 2019 10:01:18 +0200yslt_noindent : Avoid YSLT's indent logic to interfere when using linequote. svghmi
Edouard Tisserant [Tue, 20 Aug 2019 10:01:18 +0200] rev 2760
yslt_noindent : Avoid YSLT's indent logic to interfere when using linequote.

Wed, 14 Aug 2019 13:06:03 +0200SVGHMI: make a reasonably basic test svghmi
Edouard Tisserant [Wed, 14 Aug 2019 13:06:03 +0200] rev 2759
SVGHMI: make a reasonably basic test

Wed, 14 Aug 2019 11:05:17 +0200SVGHMI: filter out temporary variables created while generating ST code out of FBD. svghmi
Edouard Tisserant [Wed, 14 Aug 2019 11:05:17 +0200] rev 2758
SVGHMI: filter out temporary variables created while generating ST code out of FBD.

Tue, 13 Aug 2019 14:04:13 +0200SVGHMI: added deduction of HMI tree from list of HMI_* instances. svghmi
Edouard Tisserant [Tue, 13 Aug 2019 14:04:13 +0200] rev 2757
SVGHMI: added deduction of HMI tree from list of HMI_* instances.

Mon, 12 Aug 2019 13:09:55 +0200SVGHMI: added extraction of SVG bounding boxes, obtained from "inkscape -S", and passed to XSLT transform as variable. svghmi
Edouard Tisserant [Mon, 12 Aug 2019 13:09:55 +0200] rev 2756
SVGHMI: added extraction of SVG bounding boxes, obtained from "inkscape -S", and passed to XSLT transform as variable.

Mon, 12 Aug 2019 13:06:11 +0200Allow using docutil.get_inkscape_path() on Linux also. svghmi
Edouard Tisserant [Mon, 12 Aug 2019 13:06:11 +0200] rev 2755
Allow using docutil.get_inkscape_path() on Linux also.

Fri, 09 Aug 2019 12:12:24 +0200SVGHMI: little fixes to make the build go through svghmi
Edouard Tisserant [Fri, 09 Aug 2019 12:12:24 +0200] rev 2754
SVGHMI: little fixes to make the build go through

Fri, 09 Aug 2019 12:11:31 +0200SVGHMI: Added XSLT transformation, Makefile to get XSLT from ysl2 (copy of plcopen/Makefile) and a minimal stylesheet to start with. svghmi
Edouard Tisserant [Fri, 09 Aug 2019 12:11:31 +0200] rev 2753
SVGHMI: Added XSLT transformation, Makefile to get XSLT from ysl2 (copy of plcopen/Makefile) and a minimal stylesheet to start with.

Fri, 09 Aug 2019 12:07:33 +0200Moved XSLT model query python code so that XSLT part can be reused for other transformations (i.e. in SVGHMI) svghmi
Edouard Tisserant [Fri, 09 Aug 2019 12:07:33 +0200] rev 2752
Moved XSLT model query python code so that XSLT part can be reused for other transformations (i.e. in SVGHMI)

Thu, 08 Aug 2019 15:56:17 +0200Complete SVGUI test minimal skeleton so that it builds. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 08 Aug 2019 15:56:17 +0200] rev 2751
Complete SVGUI test minimal skeleton so that it builds.

Wed, 07 Aug 2019 14:18:22 +0200intermediate commit, work in progress svghmi
Edouard Tisserant [Wed, 07 Aug 2019 14:18:22 +0200] rev 2750
intermediate commit, work in progress

Thu, 18 Jul 2019 14:09:33 +0200Use a POU Library's Generate_C to collect all variables in SVGHMI. svghmi
Edouard Tisserant [Thu, 18 Jul 2019 14:09:33 +0200] rev 2749
Use a POU Library's Generate_C to collect all variables in SVGHMI.

Wed, 17 Jul 2019 09:44:44 +0200merged svghmi
Edouard Tisserant [Wed, 17 Jul 2019 09:44:44 +0200] rev 2748
merged

Wed, 17 Jul 2019 09:44:11 +0200Enable svghmi plugin in features, and small fixes to skeleton. svghmi
Edouard Tisserant [Wed, 17 Jul 2019 09:44:11 +0200] rev 2747
Enable svghmi plugin in features, and small fixes to skeleton.

Mon, 15 Jul 2019 09:05:00 +0200Merged default in svghmi svghmi
Edouard Tisserant [Mon, 15 Jul 2019 09:05:00 +0200] rev 2746
Merged default in svghmi

Fri, 12 Jul 2019 11:58:22 +0200Skeleton for svghmi extension svghmi
Edouard Tisserant [Fri, 12 Jul 2019 11:58:22 +0200] rev 2745
Skeleton for svghmi extension

Wed, 30 Jun 2021 15:44:32 +0200IDE: Allow POU Libraries to inject PLC Configurations globals during build.
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 30 Jun 2021 15:44:32 +0200] rev 2744
IDE: Allow POU Libraries to inject PLC Configurations globals during build.

Wed, 30 Jun 2021 16:46:14 +0300WIP: initial setup.
Ivan Tyagov <ivan@nexedi.com> [Wed, 30 Jun 2021 16:46:14 +0300] rev 2743
WIP: initial setup.

Wed, 16 Jun 2021 12:15:02 +0200IDE: Fixed variable traces graphs RingBuffers. Removed an apparently useless wxCallAfter in trend graph that was leading to pydeadobject exception on wxGTK when double-clicking.
Edouard Tisserant [Wed, 16 Jun 2021 12:15:02 +0200] rev 2742
IDE: Fixed variable traces graphs RingBuffers. Removed an apparently useless wxCallAfter in trend graph that was leading to pydeadobject exception on wxGTK when double-clicking.

Mon, 14 Jun 2021 16:48:39 +0200IDE: Cleaned up some useless tests in variable trace data handling code, changed from bare numpy arrays to RingBuffers inorder to avoid RAM outage and crash after long tracing session.
Edouard Tisserant [Mon, 14 Jun 2021 16:48:39 +0200] rev 2741
IDE: Cleaned up some useless tests in variable trace data handling code, changed from bare numpy arrays to RingBuffers inorder to avoid RAM outage and crash after long tracing session.

Fri, 11 Jun 2021 11:56:07 +0200IDE: Log: Prevent crash when display progress on empty log.
Edouard Tisserant [Fri, 11 Jun 2021 11:56:07 +0200] rev 2740
IDE: Log: Prevent crash when display progress on empty log.

Thu, 10 Jun 2021 09:40:05 +0200Copy description when DnD variables from CodeFile CTN to POUs
Edouard Tisserant [Thu, 10 Jun 2021 09:40:05 +0200] rev 2739
Copy description when DnD variables from CodeFile CTN to POUs

Tue, 25 May 2021 15:05:38 +0200Runtime: Fix exception "Worker is disabled" when connecting while PLC runtime is starting.
Edouard Tisserant [Tue, 25 May 2021 15:05:38 +0200] rev 2738
Runtime: Fix exception "Worker is disabled" when connecting while PLC runtime is starting.

Pyro/wamp/UI delegate jobs to Worker, causing race condition if worker isn't already started.
Added a function to ensure that Worker is already created when pyro or UI starts

Mon, 24 May 2021 14:33:54 +0200Finished fixing Wx IDs abuse. There was still some wasted IDs because of wx.NewId calls in many places where it wasn't needed, and those IDs were not re-used. As a consequence Beremiz was making exception crashing after a few hours of intensive use.
Edouard Tisserant [Mon, 24 May 2021 14:33:54 +0200] rev 2737
Finished fixing Wx IDs abuse. There was still some wasted IDs because of wx.NewId calls in many places where it wasn't needed, and those IDs were not re-used. As a consequence Beremiz was making exception crashing after a few hours of intensive use.

Wed, 12 May 2021 11:36:56 +0200Add ThirPartyPath call in util.path module, so that individual extensions don't have to each implement same logic to find dependencies
Edouard Tisserant [Wed, 12 May 2021 11:36:56 +0200] rev 2736
Add ThirPartyPath call in util.path module, so that individual extensions don't have to each implement same logic to find dependencies

Thu, 01 Apr 2021 15:51:24 +0200IDE: Add a shortcut to project "Clean" action : F9
Edouard Tisserant [Thu, 01 Apr 2021 15:51:24 +0200] rev 2735
IDE: Add a shortcut to project "Clean" action : F9

Mon, 29 Mar 2021 15:46:02 +0200Fixed misuse of GridCellEditor in DurationCellEditor, potentially leading to crash on windows.
Edouard Tisserant [Mon, 29 Mar 2021 15:46:02 +0200] rev 2734
Fixed misuse of GridCellEditor in DurationCellEditor, potentially leading to crash on windows.

Tue, 23 Mar 2021 05:08:51 +0100Allow using spin() from ProcessLogger even with no logger given.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 23 Mar 2021 05:08:51 +0100] rev 2733
Allow using spin() from ProcessLogger even with no logger given.

Wed, 10 Mar 2021 09:59:18 +0100Runtime: Added PostStart methot to PLCObject, called after PLC is started, with all libraries and python object already created, and python extensions "Start" methods being called.
Edouard Tisserant [Wed, 10 Mar 2021 09:59:18 +0100] rev 2732
Runtime: Added PostStart methot to PLCObject, called after PLC is started, with all libraries and python object already created, and python extensions "Start" methods being called.
This is called before python thread processing py_eval blocks starts. Example purpose: attach additional ressource to web services

Tue, 02 Mar 2021 10:11:45 +0100IDE: Fix logging of external process execution time so that it is visible on windows as well.
Edouard Tisserant [Tue, 02 Mar 2021 10:11:45 +0100] rev 2731
IDE: Fix logging of external process execution time so that it is visible on windows as well.

Tue, 02 Mar 2021 09:42:50 +0100IDE: Process Logging : Add annotation in log so that user can see build is still alive and how long external process takes.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 02 Mar 2021 09:42:50 +0100] rev 2730
IDE: Process Logging : Add annotation in log so that user can see build is still alive and how long external process takes.

Tue, 02 Mar 2021 09:28:44 +0100IDE: Iec2CSettings: Log wasn't available in case of exception when launching iec2c.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 02 Mar 2021 09:28:44 +0100] rev 2729
IDE: Iec2CSettings: Log wasn't available in case of exception when launching iec2c.

Tue, 02 Mar 2021 09:25:55 +0100IDE: Log: Cosmetic changes, refactoring
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 02 Mar 2021 09:25:55 +0100] rev 2728
IDE: Log: Cosmetic changes, refactoring

Mon, 01 Mar 2021 15:45:13 +0100IDE: Make ST code generation more verbose, since it can be really long in case of big programs, and it is better to let the user know build is still in progress.
Edouard Tisserant [Mon, 01 Mar 2021 15:45:13 +0100] rev 2727
IDE: Make ST code generation more verbose, since it can be really long in case of big programs, and it is better to let the user know build is still in progress.

Sun, 28 Feb 2021 21:45:10 +0100IDE: Fixed log console that was not updating line by line smoothly when building.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 28 Feb 2021 21:45:10 +0100] rev 2726
IDE: Fixed log console that was not updating line by line smoothly when building.

Fri, 09 Apr 2021 09:45:28 +0200merge
Edouard Tisserant [Fri, 09 Apr 2021 09:45:28 +0200] rev 2725
merge

Tue, 02 Feb 2021 13:47:48 +0100Merge
Tomaz Orac [Tue, 02 Feb 2021 13:47:48 +0100] rev 2724
Merge

Thu, 28 Jan 2021 14:51:16 +0000merge
Mario de Sousa <msousa@fe.up.pt> [Thu, 28 Jan 2021 14:51:16 +0000] rev 2723
merge

Thu, 28 Jan 2021 14:50:26 +0000modbus plugin: add (user accessible) transaction bool flags for servers/slaves; FIX BUG in previous commit affecting RTU slaves.
Mario de Sousa <msousa@fe.up.pt> [Thu, 28 Jan 2021 14:50:26 +0000] rev 2722
modbus plugin: add (user accessible) transaction bool flags for servers/slaves; FIX BUG in previous commit affecting RTU slaves.

Thu, 28 Jan 2021 14:17:40 +0000modbus plugin: add (user accessible) transaction counters for servers/slaves
Mario de Sousa <msousa@fe.up.pt> [Thu, 28 Jan 2021 14:17:40 +0000] rev 2721
modbus plugin: add (user accessible) transaction counters for servers/slaves

Tue, 23 Feb 2021 16:16:12 +0100PLCObject : Ensure that PreStart is executed before starting PLC. Also, make sure that python thread doesn't enter in a start/stop loop when ordered to stop.
Edouard Tisserant [Tue, 23 Feb 2021 16:16:12 +0100] rev 2720
PLCObject : Ensure that PreStart is executed before starting PLC. Also, make sure that python thread doesn't enter in a start/stop loop when ordered to stop.

Mon, 18 Jan 2021 10:59:28 +0100Merge
Edouard Tisserant [Mon, 18 Jan 2021 10:59:28 +0100] rev 2719
Merge

Fri, 25 Dec 2020 17:12:02 +0000merge
Mario de Sousa <msousa@fe.up.pt> [Fri, 25 Dec 2020 17:12:02 +0000] rev 2718
merge

Fri, 25 Dec 2020 17:11:38 +0000modbus plugin: add/fix comments
Mario de Sousa <msousa@fe.up.pt> [Fri, 25 Dec 2020 17:11:38 +0000] rev 2717
modbus plugin: add/fix comments

Mon, 21 Dec 2020 22:35:07 +0000merge
Mario de Sousa <msousa@fe.up.pt> [Mon, 21 Dec 2020 22:35:07 +0000] rev 2716
merge

Mon, 21 Dec 2020 22:32:03 +0000Modbus plugin: fix bug - map BOOL flag onto C u8 (was incorrectly mapped onto u16)
Mario de Sousa <msousa@fe.up.pt> [Mon, 21 Dec 2020 22:32:03 +0000] rev 2715
Modbus plugin: fix bug - map BOOL flag onto C u8 (was incorrectly mapped onto u16)

Mon, 21 Dec 2020 22:26:36 +0000Modbus plugin: map status of MB transaction onto 2 located BYTE vars (instead of a singlw WORD var).
Mario de Sousa <msousa@fe.up.pt> [Mon, 21 Dec 2020 22:26:36 +0000] rev 2714
Modbus plugin: map status of MB transaction onto 2 located BYTE vars (instead of a singlw WORD var).

Mon, 21 Dec 2020 21:15:47 +0000Modbus plugin: provide user programs feedback on current connection status mapped onto a WORD located variable
Mario de Sousa <msousa@fe.up.pt> [Mon, 21 Dec 2020 21:15:47 +0000] rev 2713
Modbus plugin: provide user programs feedback on current connection status mapped onto a WORD located variable

Wed, 13 Jan 2021 10:28:09 +0100Removed harmful assert in ProcessLogger.
Edouard Tisserant [Wed, 13 Jan 2021 10:28:09 +0100] rev 2712
Removed harmful assert in ProcessLogger.

ProcessLogger was having an assert in constructor when missing logger, leading to systematic exception when testing options accepted by compiler. This exception was silenced in ProjectController, and then MatIEC was always called without options.

Tue, 22 Dec 2020 18:05:05 +0100Fix missing import, consequence of bad resolution of conflicting hg graft of f0a822ef9fa0 into d15a997859b1
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 22 Dec 2020 18:05:05 +0100] rev 2711
Fix missing import, consequence of bad resolution of conflicting hg graft of f0a822ef9fa0 into d15a997859b1

Tue, 14 Jan 2020 11:04:18 +0100plc_debug.c/var_acces.c : whitespace cleanup and other cosmetic changes
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 14 Jan 2020 11:04:18 +0100] rev 2710
plc_debug.c/var_acces.c : whitespace cleanup and other cosmetic changes

Fri, 03 Jul 2020 14:02:04 +0200Prevent global python_poll blocks to be created when accidentally adding content to C-File OnChange column.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 03 Jul 2020 14:02:04 +0200] rev 2709
Prevent global python_poll blocks to be created when accidentally adding content to C-File OnChange column.

Mon, 11 May 2020 11:10:38 +0200DEBUG: (IDE side) fixed wrong implementation of anti-rapid-fire leading to systematic delay in subscribing
Edouard Tisserant [Mon, 11 May 2020 11:10:38 +0200] rev 2708
DEBUG: (IDE side) fixed wrong implementation of anti-rapid-fire leading to systematic delay in subscribing

Tue, 11 Feb 2020 13:56:48 +0100XSLTransform.py: added get_error_log()
Edouard Tisserant [Tue, 11 Feb 2020 13:56:48 +0100] rev 2707
XSLTransform.py: added get_error_log()

Mon, 31 Aug 2020 13:54:08 +0200Attempt to workaround problem reported about empty plc.xml after unrelated crash. Now, if etree model is corrupted in a way tostring() would generate an empty string, exception prevents saving.
Edouard Tisserant [Mon, 31 Aug 2020 13:54:08 +0200] rev 2706
Attempt to workaround problem reported about empty plc.xml after unrelated crash. Now, if etree model is corrupted in a way tostring() would generate an empty string, exception prevents saving.

Thu, 03 Sep 2020 11:16:08 +0200docsvg.py : Better error message when inkscape is not installed.
Edouard Tisserant [Thu, 03 Sep 2020 11:16:08 +0200] rev 2705
docsvg.py : Better error message when inkscape is not installed.

Sat, 04 Apr 2020 09:41:32 +0200Fix unmatched "Courier" font for monospace fonts on latest ubuntu 20.04. Selected "FreeMono" instead, present since at least 18.04
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 04 Apr 2020 09:41:32 +0200] rev 2704
Fix unmatched "Courier" font for monospace fonts on latest ubuntu 20.04. Selected "FreeMono" instead, present since at least 18.04

Mon, 13 Jul 2020 13:56:42 +0200Python Runtime: order of execution of extension's init() and cleanup() now reflects order of appearance of extensions in configuration tree.
Edouard Tisserant [Mon, 13 Jul 2020 13:56:42 +0200] rev 2703
Python Runtime: order of execution of extension's init() and cleanup() now reflects order of appearance of extensions in configuration tree.

Tue, 22 Dec 2020 14:53:15 +0100Runtime: change PLCObject 'BlobAsFile' method to allow customization by overriding
Edouard Tisserant [Tue, 22 Dec 2020 14:53:15 +0100] rev 2702
Runtime: change PLCObject 'BlobAsFile' method to allow customization by overriding

Mon, 21 Dec 2020 11:10:27 +0100WebInterface: better wording for wiping PLC content: "Repair"
Edouard Tisserant [Mon, 21 Dec 2020 11:10:27 +0100] rev 2701
WebInterface: better wording for wiping PLC content: "Repair"

Fri, 18 Dec 2020 11:50:28 +0100runtime: added restart/reset button in web settings. Accidentaly fixed web settings logging feature.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 18 Dec 2020 11:50:28 +0100] rev 2700
runtime: added restart/reset button in web settings. Accidentaly fixed web settings logging feature.

Thu, 10 Dec 2020 15:48:15 +0100Add a little test to see OnChange's .count .first .last in action
Edouard Tisserant [Thu, 10 Dec 2020 15:48:15 +0100] rev 2699
Add a little test to see OnChange's .count .first .last in action

Thu, 10 Dec 2020 14:54:42 +0100Fixed "Onchange" object added in previous commit
Edouard Tisserant [Thu, 10 Dec 2020 14:54:42 +0100] rev 2698
Fixed "Onchange" object added in previous commit

Thu, 10 Dec 2020 11:37:27 +0100Python Safe Globals now have more reliable triggering of OnChange call. Added "Onchange" object to accessible runtime variables that let user python code see count of changes and first and last values.
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 10 Dec 2020 11:37:27 +0100] rev 2697
Python Safe Globals now have more reliable triggering of OnChange call. Added "Onchange" object to accessible runtime variables that let user python code see count of changes and first and last values.

Fri, 20 Nov 2020 11:17:40 +0100Project tree: avoid flickering and glitches in notebook when selecting some still not opened ConfigTreeNode
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 20 Nov 2020 11:17:40 +0100] rev 2696
Project tree: avoid flickering and glitches in notebook when selecting some still not opened ConfigTreeNode

Wed, 18 Nov 2020 23:06:16 +0100Project tree: Clicking on ConfigTreeNode should have same behaviour as for POUS and other IEC types : simple click to select and double click to open.
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 18 Nov 2020 23:06:16 +0100] rev 2695
Project tree: Clicking on ConfigTreeNode should have same behaviour as for POUS and other IEC types : simple click to select and double click to open.

Wed, 18 Nov 2020 10:15:44 +0100py_ext: better handling of coma separated OnChange attribute for python safe global variables.
Edouard Tisserant [Wed, 18 Nov 2020 10:15:44 +0100] rev 2694
py_ext: better handling of coma separated OnChange attribute for python safe global variables.

Mon, 02 Nov 2020 10:56:09 +0100Allow customization of generated py_ext OnChange calls, by adding a static method to PythonFileCTNMixin that can the be later hot patched.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 02 Nov 2020 10:56:09 +0100] rev 2693
Allow customization of generated py_ext OnChange calls, by adding a static method to PythonFileCTNMixin that can the be later hot patched.

Tue, 20 Oct 2020 00:23:52 +0200PY_EXT: OnChange is now a coma separated list of callables. Updated tests/python accordingly.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 20 Oct 2020 00:23:52 +0200] rev 2692
PY_EXT: OnChange is now a coma separated list of callables. Updated tests/python accordingly.

Tue, 15 Sep 2020 13:57:06 +0200Modbus: fixed typo in ctype typing.
Edouard Tisserant [Tue, 15 Sep 2020 13:57:06 +0200] rev 2691
Modbus: fixed typo in ctype typing.

Fri, 11 Sep 2020 13:46:41 +0200MODBUS: Fix saving of websettings.
Edouard Tisserant [Fri, 11 Sep 2020 13:46:41 +0200] rev 2690
MODBUS: Fix saving of websettings.

Thu, 10 Sep 2020 16:08:26 +0200Runtime/PLCObject : move call to PreStartPLC right after call to the "start" method of all python extensions, and then just before the start of the python loop executing python_* blocks.
Edouard Tisserant [Thu, 10 Sep 2020 16:08:26 +0200] rev 2689
Runtime/PLCObject : move call to PreStartPLC right after call to the "start" method of all python extensions, and then just before the start of the python loop executing python_* blocks.

Thu, 13 Aug 2020 19:00:38 +0100Modbus plugin: reformat code, and add comment.
Mario de Sousa <msousa@fe.up.pt> [Thu, 13 Aug 2020 19:00:38 +0100] rev 2688
Modbus plugin: reformat code, and add comment.

Thu, 13 Aug 2020 18:42:02 +0100Modbus plugin: fix runtime periodic timer (don't use POSIX timer)
Mario de Sousa <msousa@fe.up.pt> [Thu, 13 Aug 2020 18:42:02 +0100] rev 2687
Modbus plugin: fix runtime periodic timer (don't use POSIX timer)

Wed, 01 Jul 2020 10:36:20 +0200Modbus and Bacnet websettings : Rename variables and functions to avoid name collisions.
Edouard Tisserant [Wed, 01 Jul 2020 10:36:20 +0200] rev 2686
Modbus and Bacnet websettings : Rename variables and functions to avoid name collisions.

Websettings for modbus and bacnet are now passed to runtime as python files loaded (execfile) at init of PLCObject with the same globals.
Because if this, same names used in previously different modules now colide.

Mon, 29 Jun 2020 14:38:04 +0200Modbus: fix strange side effect of re-use of condition variables or mutex with Xenomai : without bzero of the associated types, mutex keeps locked.
Edouard Tisserant [Mon, 29 Jun 2020 14:38:04 +0200] rev 2685
Modbus: fix strange side effect of re-use of condition variables or mutex with Xenomai : without bzero of the associated types, mutex keeps locked.

Wed, 24 Jun 2020 14:38:11 +0200Modbus: fix client timer invalid arguments.
Edouard Tisserant [Wed, 24 Jun 2020 14:38:11 +0200] rev 2684
Modbus: fix client timer invalid arguments.

Tue, 23 Jun 2020 13:50:21 +0200Modbus add a timer thread, and switch timer to SIGEV_THREAD_ID to follow xenomai posix skin restrictions.
Edouard Tisserant [Tue, 23 Jun 2020 13:50:21 +0200] rev 2683
Modbus add a timer thread, and switch timer to SIGEV_THREAD_ID to follow xenomai posix skin restrictions.

Fri, 19 Jun 2020 11:07:25 +0200Runtime: Fix typo in PLCObject leading to exception when reporting failure.
Edouard Tisserant [Fri, 19 Jun 2020 11:07:25 +0200] rev 2682
Runtime: Fix typo in PLCObject leading to exception when reporting failure.

Thu, 18 Jun 2020 14:18:16 +0200Py_ext: use non-derived type when generating C code for handling Python PLC globals.
Edouard Tisserant [Thu, 18 Jun 2020 14:18:16 +0200] rev 2681
Py_ext: use non-derived type when generating C code for handling Python PLC globals.

Wed, 17 Jun 2020 14:32:55 +0200tests/python : add some STRING PLC Python globals with OnChange.
Edouard Tisserant [Wed, 17 Jun 2020 14:32:55 +0200] rev 2680
tests/python : add some STRING PLC Python globals with OnChange.

Wed, 17 Jun 2020 14:30:55 +0200Runtime: STRING type for Python PLC Globals was making problem with strings, since generated code wasn't doing comparison properly.
Edouard Tisserant [Wed, 17 Jun 2020 14:30:55 +0200] rev 2679
Runtime: STRING type for Python PLC Globals was making problem with strings, since generated code wasn't doing comparison properly.

Tue, 16 Jun 2020 15:53:52 +0200Merge
Tomaz Orac [Tue, 16 Jun 2020 15:53:52 +0200] rev 2678
Merge

Tue, 16 Jun 2020 11:12:36 +0200Modbus: more comments to remember some necessary changes.
Edouard Tisserant [Tue, 16 Jun 2020 11:12:36 +0200] rev 2677
Modbus: more comments to remember some necessary changes.

Tue, 16 Jun 2020 10:16:25 +0200Modbus/BACnet : add some comments so that we don't forget some pending optimization.
Edouard Tisserant [Tue, 16 Jun 2020 10:16:25 +0200] rev 2676
Modbus/BACnet : add some comments so that we don't forget some pending optimization.

Tue, 16 Jun 2020 10:12:21 +0200Modbus: Delete stored configuration when identical to default configuration.
Edouard Tisserant [Tue, 16 Jun 2020 10:12:21 +0200] rev 2675
Modbus: Delete stored configuration when identical to default configuration.

Mon, 15 Jun 2020 14:34:00 +0200BACnet: prevent saving configuration that is same as default, delete it if so.
Edouard Tisserant [Mon, 15 Jun 2020 14:34:00 +0200] rev 2674
BACnet: prevent saving configuration that is same as default, delete it if so.

Mon, 15 Jun 2020 14:29:41 +0200BACnet and Modbus : fix configuration storage directory
Edouard Tisserant [Mon, 15 Jun 2020 14:29:41 +0200] rev 2673
BACnet and Modbus : fix configuration storage directory

Mon, 15 Jun 2020 14:27:58 +0200Runtime extrension web settings: distinguish display string and token when calling NS.newExtensionSetting, thus allowing meaningful name to be displayed instead of an id.
Edouard Tisserant [Mon, 15 Jun 2020 14:27:58 +0200] rev 2672
Runtime extrension web settings: distinguish display string and token when calling NS.newExtensionSetting, thus allowing meaningful name to be displayed instead of an id.

Fri, 12 Jun 2020 14:40:50 +0200Debug : when BEREMIZ_DEBUG file exist, display all commands issued in console.
Edouard Tisserant [Fri, 12 Jun 2020 14:40:50 +0200] rev 2671
Debug : when BEREMIZ_DEBUG file exist, display all commands issued in console.

Fri, 12 Jun 2020 14:39:32 +0200BACnet and Modbus : Simpler configuration management. NevowServer.py now allows each extension to create and delete multiple configuration forms in the setting page, deprecating delSettings and addAfter.
Edouard Tisserant [Fri, 12 Jun 2020 14:39:32 +0200] rev 2670
BACnet and Modbus : Simpler configuration management. NevowServer.py now allows each extension to create and delete multiple configuration forms in the setting page, deprecating delSettings and addAfter.

Fri, 12 Jun 2020 10:30:23 +0200BACnet and Modbus: Remove additional loading and unloading, use the one already in place for extensions.
Edouard Tisserant [Fri, 12 Jun 2020 10:30:23 +0200] rev 2669
BACnet and Modbus: Remove additional loading and unloading, use the one already in place for extensions.

Sun, 07 Jun 2020 23:47:32 +0100merge
Mario de Sousa <msousa@fe.up.pt> [Sun, 07 Jun 2020 23:47:32 +0100] rev 2668
merge

Sun, 07 Jun 2020 23:46:16 +0100Bacnet plugin web configuration: strip leading and trailing spaces for net. interface and port numb.
Mario de Sousa <msousa@fe.up.pt> [Sun, 07 Jun 2020 23:46:16 +0100] rev 2667
Bacnet plugin web configuration: strip leading and trailing spaces for net. interface and port numb.

Sun, 07 Jun 2020 23:38:20 +0100Modbus plugin, web interface: strip leading and trailing spaces from string parameters
Mario de Sousa <msousa@fe.up.pt> [Sun, 07 Jun 2020 23:38:20 +0100] rev 2666
Modbus plugin, web interface: strip leading and trailing spaces from string parameters

Sun, 07 Jun 2020 22:32:24 +0100Modbus plugin web interface: show the keyword "#ANY#" on TCP servers
Mario de Sousa <msousa@fe.up.pt> [Sun, 07 Jun 2020 22:32:24 +0100] rev 2665
Modbus plugin web interface: show the keyword "#ANY#" on TCP servers

Sun, 07 Jun 2020 19:33:32 +0100Modbus plugin: fix bug: was checking user configuration against wrong limits
Mario de Sousa <msousa@fe.up.pt> [Sun, 07 Jun 2020 19:33:32 +0100] rev 2664
Modbus plugin: fix bug: was checking user configuration against wrong limits

Sun, 07 Jun 2020 18:34:32 +0100Modbus plugin: fix algorithm detecting Modbus TCP servers using the same IP port on the same network interface
Mario de Sousa <msousa@fe.up.pt> [Sun, 07 Jun 2020 18:34:32 +0100] rev 2663
Modbus plugin: fix algorithm detecting Modbus TCP servers using the same IP port on the same network interface

Sun, 07 Jun 2020 12:28:21 +0100Modbus plugin: check for duplicate "Configuration_Name"
Mario de Sousa <msousa@fe.up.pt> [Sun, 07 Jun 2020 12:28:21 +0100] rev 2662
Modbus plugin: check for duplicate "Configuration_Name"

Sat, 06 Jun 2020 08:51:32 +0100add comment
Mario de Sousa <msousa@fe.up.pt> [Sat, 06 Jun 2020 08:51:32 +0100] rev 2661
add comment

Sat, 06 Jun 2020 08:50:36 +0100add comment
Mario de Sousa <msousa@fe.up.pt> [Sat, 06 Jun 2020 08:50:36 +0100] rev 2660
add comment

Sat, 06 Jun 2020 08:43:41 +0100merge
Mario de Sousa <msousa@fe.up.pt> [Sat, 06 Jun 2020 08:43:41 +0100] rev 2659
merge

Sat, 06 Jun 2020 07:34:02 +0100Modbus plugin web configuration: fix comments, and delete un-used code
Mario de Sousa <msousa@fe.up.pt> [Sat, 06 Jun 2020 07:34:02 +0100] rev 2658
Modbus plugin web configuration: fix comments, and delete un-used code

Sat, 06 Jun 2020 07:24:42 +0100Modbus plugin web configuration: use drop down choices for baud, parity and stop bits.
Mario de Sousa <msousa@fe.up.pt> [Sat, 06 Jun 2020 07:24:42 +0100] rev 2657
Modbus plugin web configuration: use drop down choices for baud, parity and stop bits.

Fri, 05 Jun 2020 18:02:12 +0100Modbus plugin web configuration: save node type and addr type to persistant storage
Mario de Sousa <msousa@fe.up.pt> [Fri, 05 Jun 2020 18:02:12 +0100] rev 2656
Modbus plugin web configuration: save node type and addr type to persistant storage

Mon, 01 Jun 2020 14:11:22 +0100Add web extension: configure Modbus Server plugin parameters
Mario de Sousa <msousa@fe.up.pt> [Mon, 01 Jun 2020 14:11:22 +0100] rev 2655
Add web extension: configure Modbus Server plugin parameters

Mon, 01 Jun 2020 08:54:26 +0100Add web extension: configure Modbus plugin parameters (currently only supports Modbus clients)
Mario de Sousa <msousa@fe.up.pt> [Mon, 01 Jun 2020 08:54:26 +0100] rev 2654
Add web extension: configure Modbus plugin parameters (currently only supports Modbus clients)

Tue, 02 Jun 2020 13:37:34 +0200Runtime: create .md5 file at the end of all transfered files being written to disk, so that it presence indicates completeness of transfer.
Edouard Tisserant [Tue, 02 Jun 2020 13:37:34 +0200] rev 2653
Runtime: create .md5 file at the end of all transfered files being written to disk, so that it presence indicates completeness of transfer.

Tue, 02 Jun 2020 11:34:50 +0200IDE: Main toolbar : Show repair button also in stop mode. Move repair button after disconnect button.
Edouard Tisserant [Tue, 02 Jun 2020 11:34:50 +0200] rev 2652
IDE: Main toolbar : Show repair button also in stop mode. Move repair button after disconnect button.

Mon, 01 Jun 2020 14:47:31 +0200Runtime: fsync() files when transfering them, to prebent data loss when poweroff soon after programming. Fixed variable naming as a side effect.
Edouard Tisserant [Mon, 01 Jun 2020 14:47:31 +0200] rev 2651
Runtime: fsync() files when transfering them, to prebent data loss when poweroff soon after programming. Fixed variable naming as a side effect.

Thu, 28 May 2020 11:16:59 +0100merge
Mario de Sousa <msousa@fe.up.pt> [Thu, 28 May 2020 11:16:59 +0100] rev 2650
merge

Thu, 28 May 2020 11:15:22 +0100BACnet plugin: Add web interface for online parameter configuration
Mario de Sousa <msousa@fe.up.pt> [Thu, 28 May 2020 11:15:22 +0100] rev 2649
BACnet plugin: Add web interface for online parameter configuration

Thu, 28 May 2020 11:01:42 +0100modbus_plugin: generate nicer error message, instead of a traceback
Mario de Sousa <msousa@fe.up.pt> [Thu, 28 May 2020 11:01:42 +0100] rev 2648
modbus_plugin: generate nicer error message, instead of a traceback

Thu, 28 May 2020 10:54:48 +0100Modbus plugin: Add "exec. req. flag" and "write on change" features
Mario de Sousa <msousa@fe.up.pt> [Thu, 28 May 2020 10:54:48 +0100] rev 2647
Modbus plugin: Add "exec. req. flag" and "write on change" features

Thu, 28 May 2020 11:38:09 +0200PLCObject : reorganize code in StartPLC(), add a PreStartPLC() empty method, to be overloaded by runtime extensions.
Edouard Tisserant [Thu, 28 May 2020 11:38:09 +0200] rev 2646
PLCObject : reorganize code in StartPLC(), add a PreStartPLC() empty method, to be overloaded by runtime extensions.

Tue, 26 May 2020 09:58:20 +0200Solve import order problem when POULibrary imports ConfigTreeNode because of UserAddressedException. Now UserAddressedException is declared in POULibrary.py, as a quick and dirty fix, but some independant module should be created for beremiz exceptions in general.
Edouard Tisserant [Tue, 26 May 2020 09:58:20 +0200] rev 2645
Solve import order problem when POULibrary imports ConfigTreeNode because of UserAddressedException. Now UserAddressedException is declared in POULibrary.py, as a quick and dirty fix, but some independant module should be created for beremiz exceptions in general.

Wed, 18 Dec 2019 13:31:22 +0100Add --on-plc-start --on-plc-stop and --status-change to runtime command line, calling given command respectively on start stop or any event. Command line string is python formated (to eventually include status with {}) before being split (supports quoted strings) and passed to Popen for non-blocking execution.
Edouard Tisserant [Wed, 18 Dec 2019 13:31:22 +0100] rev 2644
Add --on-plc-start --on-plc-stop and --status-change to runtime command line, calling given command respectively on start stop or any event. Command line string is python formated (to eventually include status with {}) before being split (supports quoted strings) and passed to Popen for non-blocking execution.

Mon, 25 Nov 2019 08:10:45 +0100Etherlab : Merged 2014-2018 changes from jblee and others
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 25 Nov 2019 08:10:45 +0100] rev 2643
Etherlab : Merged 2014-2018 changes from jblee and others

Mon, 25 Nov 2019 08:26:55 +0100Close branch ethercat_from_kosmos ethercat_from_kosmos
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 25 Nov 2019 08:26:55 +0100] rev 2642
Close branch ethercat_from_kosmos

Wed, 20 Nov 2019 16:57:15 +0100EtherCat master plugin : commit changes recovered from KOSMOS 2018 installer, unkown author(s). ethercat_from_kosmos
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 20 Nov 2019 16:57:15 +0100] rev 2641
EtherCat master plugin : commit changes recovered from KOSMOS 2018 installer, unkown author(s).

Wed, 13 Nov 2019 11:21:04 +0100Add FatalError() method to ConfigTreeNode.
Edouard Tisserant [Wed, 13 Nov 2019 11:21:04 +0100] rev 2640
Add FatalError() method to ConfigTreeNode.
Extensions can report error addressed to user, without a traceback.

Thu, 24 Oct 2019 11:20:04 +0200Fixed one more sequel of marking temporary variables created while generating ST code out of FBD
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 24 Oct 2019 11:20:04 +0200] rev 2639
Fixed one more sequel of marking temporary variables created while generating ST code out of FBD

Wed, 09 Oct 2019 09:04:35 +0200Changed yslt_noindent.yml2 again
Edouard Tisserant [Wed, 09 Oct 2019 09:04:35 +0200] rev 2638
Changed yslt_noindent.yml2 again

Wed, 25 Sep 2019 08:53:27 +0200Non significant changes in generated xslt, side effect of changes in yslt_noindent.yml2
Edouard Tisserant [Wed, 25 Sep 2019 08:53:27 +0200] rev 2637
Non significant changes in generated xslt, side effect of changes in yslt_noindent.yml2

Thu, 19 Sep 2019 15:32:36 +0200More customizations to yslt
Edouard Tisserant [Thu, 19 Sep 2019 15:32:36 +0200] rev 2636
More customizations to yslt

Wed, 18 Sep 2019 11:03:56 +0200PLCobject: Call "stop" and "cleanup" methods from python runtime files in reverse order compared to "init" and "start".
Edouard Tisserant [Wed, 18 Sep 2019 11:03:56 +0200] rev 2635
PLCobject: Call "stop" and "cleanup" methods from python runtime files in reverse order compared to "init" and "start".

Wed, 11 Sep 2019 11:20:11 +0200Non significant changes to mute GCC warnings about unused variables.
Edouard Tisserant [Wed, 11 Sep 2019 11:20:11 +0200] rev 2634
Non significant changes to mute GCC warnings about unused variables.

Thu, 05 Sep 2019 08:35:33 +0200Fixed sequel of earlier commit in PLCGenerator.py. Some ref to temporary variables are still not using the _TMP_ prefix. They are quite hard to find, so to be continued...
Edouard Tisserant [Thu, 05 Sep 2019 08:35:33 +0200] rev 2633
Fixed sequel of earlier commit in PLCGenerator.py. Some ref to temporary variables are still not using the _TMP_ prefix. They are quite hard to find, so to be continued...

Mon, 26 Aug 2019 08:54:02 +0200variable access code moved from plc_debug.c to targets/var_access.c for easiewr re-use in ext.
Edouard Tisserant [Mon, 26 Aug 2019 08:54:02 +0200] rev 2632
variable access code moved from plc_debug.c to targets/var_access.c for easiewr re-use in ext.

Tue, 20 Aug 2019 10:08:11 +0200Swap CTN code gen and Libraries code generation order. In general library part of an extension needs to be computed before CTN part.
Edouard Tisserant [Tue, 20 Aug 2019 10:08:11 +0200] rev 2631
Swap CTN code gen and Libraries code generation order. In general library part of an extension needs to be computed before CTN part.

Tue, 20 Aug 2019 10:01:18 +0200yslt_noindent : Avoid YSLT's indent logic to interfere when using linequote.
Edouard Tisserant [Tue, 20 Aug 2019 10:01:18 +0200] rev 2630
yslt_noindent : Avoid YSLT's indent logic to interfere when using linequote.

Wed, 14 Aug 2019 11:05:17 +0200Add marker to temporary variables created while generating ST code out of FBD, so that they can be recognized as such.
Edouard Tisserant [Wed, 14 Aug 2019 11:05:17 +0200] rev 2629
Add marker to temporary variables created while generating ST code out of FBD, so that they can be recognized as such.

Mon, 12 Aug 2019 13:06:11 +0200Allow using docutil.get_inkscape_path() on Linux also.
Edouard Tisserant [Mon, 12 Aug 2019 13:06:11 +0200] rev 2628
Allow using docutil.get_inkscape_path() on Linux also.

Fri, 09 Aug 2019 12:07:33 +0200Moved XSLT model query python code so that XSLT part can be reused for other transformations
Edouard Tisserant [Fri, 09 Aug 2019 12:07:33 +0200] rev 2627
Moved XSLT model query python code so that XSLT part can be reused for other transformations

Tue, 24 Sep 2019 11:55:59 +0200Fixed unitialized parameter in instances_path stylesheet, leading to
Edouard Tisserant [Tue, 24 Sep 2019 11:55:59 +0200] rev 2626
Fixed unitialized parameter in instances_path stylesheet, leading to
calls to add_instance with no data when passing datatypes insteatd of project
root. That bug was making exceptions (for exemple when editing type) when
having arrays of derivated types in project.

Sun, 14 Jul 2019 08:43:12 +0200Fixed code quality according to pep8 and pylint.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 14 Jul 2019 08:43:12 +0200] rev 2625
Fixed code quality according to pep8 and pylint.

Sat, 13 Jul 2019 10:57:25 +0200Fix exception on exit in some case, sequel of an earlier cleanup commit I couldn't find back. Disconnecting the event is apparently the way to go. https://wiki.wxpython.org/Surviving%20with%20wxEVT%20KILL%20FOCUS%20under%20Microsoft%20Windows
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 13 Jul 2019 10:57:25 +0200] rev 2624
Fix exception on exit in some case, sequel of an earlier cleanup commit I couldn't find back. Disconnecting the event is apparently the way to go. https://wiki.wxpython.org/Surviving%20with%20wxEVT%20KILL%20FOCUS%20under%20Microsoft%20Windows

Fri, 12 Jul 2019 11:53:04 +0200PurgeBlobs was faulty, but it was never having anything to purge. Fixed.
Edouard Tisserant [Fri, 12 Jul 2019 11:53:04 +0200] rev 2623
PurgeBlobs was faulty, but it was never having anything to purge. Fixed.

Fri, 12 Jul 2019 11:51:47 +0200Fixed repetitive freezing of IDE when connection drops.
Edouard Tisserant [Fri, 12 Jul 2019 11:51:47 +0200] rev 2622
Fixed repetitive freezing of IDE when connection drops.
when connection lost error was beeing displayed, the involved wxYield
was calling pending plc status periodic update, itself trying to use connector.
At that time connector is still not destroyed and connection
is attempted again when calling GetPLCStatus.
=> Hack : Ensure connector is destroyed before reporting error.

Wed, 10 Jul 2019 11:21:13 +0200Better error handling when blob transfer fail
Edouard Tisserant [Wed, 10 Jul 2019 11:21:13 +0200] rev 2621
Better error handling when blob transfer fail

Wed, 10 Jul 2019 10:43:14 +0200Removed dead code.
Edouard Tisserant [Wed, 10 Jul 2019 10:43:14 +0200] rev 2620
Removed dead code.

Tue, 09 Jul 2019 09:49:30 +0200Now expects 1 more columns in VARIABLE.CSV file generated by MatIEC. Pair with MatIEC commit 9cb7c8bf7dbc :
Edouard Tisserant [Tue, 09 Jul 2019 09:49:30 +0200] rev 2619
Now expects 1 more columns in VARIABLE.CSV file generated by MatIEC. Pair with MatIEC commit 9cb7c8bf7dbc :
Add a column to VARIABLES.CSV, containing variable (derived) type name, additionally to current last column contyaining base type name

Tue, 18 Jun 2019 14:09:23 +0200Merged workaround for loading bug happening after automatic resize of function blocks. It appears that some code in GraphicCommons.py loop endlessly when wires coordinate do not align with x or y axis. Those erroneous coordinate are now filtered out when loaded in the view.
Edouard Tisserant [Tue, 18 Jun 2019 14:09:23 +0200] rev 2618
Merged workaround for loading bug happening after automatic resize of function blocks. It appears that some code in GraphicCommons.py loop endlessly when wires coordinate do not align with x or y axis. Those erroneous coordinate are now filtered out when loaded in the view.

Tue, 18 Jun 2019 14:03:08 +0200Removed debug code and closed branch fix_fb_resize_wire_bug
Edouard Tisserant [Tue, 18 Jun 2019 14:03:08 +0200] rev 2617
Removed debug code and closed branch

Tue, 18 Jun 2019 13:58:45 +0200GraphicCommons.py : Wire.SetPoints() move filtering before computation of Start and End points to avoid setting them with arbitrary directions. fix_fb_resize_wire_bug
Edouard Tisserant [Tue, 18 Jun 2019 13:58:45 +0200] rev 2616
GraphicCommons.py : Wire.SetPoints() move filtering before computation of Start and End points to avoid setting them with arbitrary directions.

Tue, 18 Jun 2019 09:38:20 +0200GraphicCommons.py : rewrote Wire.Setpoints. fix_fb_resize_wire_bug
Edouard Tisserant [Tue, 18 Jun 2019 09:38:20 +0200] rev 2615
GraphicCommons.py : rewrote Wire.Setpoints.
- trying to make it fix diagonal wires,
- wasn't clear what was intended before, so made it clear :
- duplicate point removal
- segment merging (only if asked)
- remove corners made of opposite direction segments

Thu, 13 Jun 2019 15:49:48 +0200'Change POU Type To' becomes 'Duplicate as...', avoiding side effects of type change when POU is already instanciated. Also remove leftover returType tag in ex-function POUs, triggering exceptions at build time.
Edouard Tisserant [Thu, 13 Jun 2019 15:49:48 +0200] rev 2614
'Change POU Type To' becomes 'Duplicate as...', avoiding side effects of type change when POU is already instanciated. Also remove leftover returType tag in ex-function POUs, triggering exceptions at build time.

Thu, 06 Jun 2019 14:03:16 +0200Fix PLCObject's purge failing silently with extra_files.
Edouard Tisserant [Thu, 06 Jun 2019 14:03:16 +0200] rev 2613
Fix PLCObject's purge failing silently with extra_files.

Thu, 30 May 2019 11:53:13 +0200LogMessage shouldn't be serialized (can lead to blocking in case of exception in main thread), and do not require it.
Edouard Tisserant [Thu, 30 May 2019 11:53:13 +0200] rev 2612
LogMessage shouldn't be serialized (can lead to blocking in case of exception in main thread), and do not require it.

Thu, 30 May 2019 11:51:56 +0200Fixed typo leading to some exception in some rare corner cases in worker.py
Edouard Tisserant [Thu, 30 May 2019 11:51:56 +0200] rev 2611
Fixed typo leading to some exception in some rare corner cases in worker.py

Tue, 23 Apr 2019 11:01:35 +0200Added missing 'path' field to WAMP addresses in URI editor.
Edouard Tisserant [Tue, 23 Apr 2019 11:01:35 +0200] rev 2610
Added missing 'path' field to WAMP addresses in URI editor.

Tue, 23 Apr 2019 11:00:37 +0200Fixed exception when using URI editor for PYRO addresses
Edouard Tisserant [Tue, 23 Apr 2019 11:00:37 +0200] rev 2609
Fixed exception when using URI editor for PYRO addresses

Fri, 19 Apr 2019 13:11:42 +0200Avoid loading PLC at startup when autostart is not set in command line. As a side effect PLC status is artificially set to Stopped, and StartPLC eventually loads PLC if it is not already loaded.
Edouard Tisserant [Fri, 19 Apr 2019 13:11:42 +0200] rev 2608
Avoid loading PLC at startup when autostart is not set in command line. As a side effect PLC status is artificially set to Stopped, and StartPLC eventually loads PLC if it is not already loaded.

Fri, 19 Apr 2019 10:53:02 +0200Add Repair() to WAMP interface
Edouard Tisserant [Fri, 19 Apr 2019 10:53:02 +0200] rev 2607
Add Repair() to WAMP interface

Thu, 18 Apr 2019 14:42:23 +0200Merged fix_PLC_runtime_shutdown
Edouard Tisserant [Thu, 18 Apr 2019 14:42:23 +0200] rev 2606
Merged fix_PLC_runtime_shutdown

Thu, 18 Apr 2019 14:41:21 +0200Close fix_PLC_runtime_shutdown fix_PLC_runtime_shutdown
Edouard Tisserant [Thu, 18 Apr 2019 14:41:21 +0200] rev 2605
Close fix_PLC_runtime_shutdown

Thu, 18 Apr 2019 14:35:42 +0200Runtime worker : unblock the last waiting job and prevent any new job to wait when Main Worker is being shut down. fix_PLC_runtime_shutdown
Edouard Tisserant [Thu, 18 Apr 2019 14:35:42 +0200] rev 2604
Runtime worker : unblock the last waiting job and prevent any new job to wait when Main Worker is being shut down.

Thu, 18 Apr 2019 14:34:22 +0200Add some "pipe to self" trick in Pyro server to accelerate runtime shutdown instead of waiting for arbitrary pyro timeout. fix_PLC_runtime_shutdown
Edouard Tisserant [Thu, 18 Apr 2019 14:34:22 +0200] rev 2603
Add some "pipe to self" trick in Pyro server to accelerate runtime shutdown instead of waiting for arbitrary pyro timeout.

Thu, 18 Apr 2019 14:32:43 +0200If call to GetPLCstatus can't be executed in PLC, then obtained status is disconnected. Status on "None" is not relevant anymore, and is replaced by Disconnected. fix_PLC_runtime_shutdown
Edouard Tisserant [Thu, 18 Apr 2019 14:32:43 +0200] rev 2602
If call to GetPLCstatus can't be executed in PLC, then obtained status is disconnected. Status on "None" is not relevant anymore, and is replaced by Disconnected.

Thu, 18 Apr 2019 14:29:55 +0200Enure that all threads are joined before trying to exit fix_PLC_runtime_shutdown
Edouard Tisserant [Thu, 18 Apr 2019 14:29:55 +0200] rev 2601
Enure that all threads are joined before trying to exit

Wed, 17 Apr 2019 14:18:22 +0200Named runtime's threads to ease debugging
Edouard Tisserant [Wed, 17 Apr 2019 14:18:22 +0200] rev 2600
Named runtime's threads to ease debugging

Wed, 17 Apr 2019 14:15:39 +0200Added Repair() png icon
Edouard Tisserant [Wed, 17 Apr 2019 14:15:39 +0200] rev 2599
Added Repair() png icon

Tue, 16 Apr 2019 14:45:41 +0200pep8 again...
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 16 Apr 2019 14:45:41 +0200] rev 2598
pep8 again...
./connectors/PYRO/PSK_Adapter.py:49:1: E302 expected 2 blank lines, found 1
./connectors/PYRO/PSK_Adapter.py:57:5: E303 too many blank lines (2)

Tue, 16 Apr 2019 13:32:32 +0200PEP8 fix : ./connectors/PYRO/PSK_Adapter.py:49:1: E302 expected 2 blank lines, found 1
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 16 Apr 2019 13:32:32 +0200] rev 2597
PEP8 fix : ./connectors/PYRO/PSK_Adapter.py:49:1: E302 expected 2 blank lines, found 1

Tue, 16 Apr 2019 11:26:52 +0200Added RepairPLC() to PLCObject. For now just calling PurgePLC and quit PLC runtime.
Edouard Tisserant [Tue, 16 Apr 2019 11:26:52 +0200] rev 2596
Added RepairPLC() to PLCObject. For now just calling PurgePLC and quit PLC runtime.

Tue, 16 Apr 2019 11:26:34 +0200Ensure Beremiz_service.py quits properly when Main Worker stops and wa are using Wx and/or Twisted.
Edouard Tisserant [Tue, 16 Apr 2019 11:26:34 +0200] rev 2595
Ensure Beremiz_service.py quits properly when Main Worker stops and wa are using Wx and/or Twisted.

Mon, 15 Apr 2019 13:34:09 +0200Added PurgePLC() method to PLCObject, to be invoked when PLC Status is broken. It clears PLC shared object an extra files and force status to Empty. Added correponding Repair button to toolbar, visible only when PLC status is broken.
Edouard Tisserant [Mon, 15 Apr 2019 13:34:09 +0200] rev 2594
Added PurgePLC() method to PLCObject, to be invoked when PLC Status is broken. It clears PLC shared object an extra files and force status to Empty. Added correponding Repair button to toolbar, visible only when PLC status is broken.

Thu, 11 Apr 2019 13:45:27 +0200Background erase of debug variable panel was disabled for some reason, and it not anymore compatible with EVT_PAINT based refresh. It was leaving traces behind when removing traced variable. Fixed.
Edouard Tisserant [Thu, 11 Apr 2019 13:45:27 +0200] rev 2593
Background erase of debug variable panel was disabled for some reason, and it not anymore compatible with EVT_PAINT based refresh. It was leaving traces behind when removing traced variable. Fixed.

Thu, 11 Apr 2019 13:41:52 +0200force redraw only through EVT_PAINT event and use wxPaintDC, as described in wx documentation
Edouard Tisserant [Thu, 11 Apr 2019 13:41:52 +0200] rev 2592
force redraw only through EVT_PAINT event and use wxPaintDC, as described in wx documentation

Thu, 11 Apr 2019 11:26:47 +0200Fixed refresh problem following 9c5f835b031e, 9622418ac28c, c67488bd8134 : force redraw only through EVT_PAINT event and use wxPaintDC, as described in wx documentation
Edouard Tisserant [Thu, 11 Apr 2019 11:26:47 +0200] rev 2591
Fixed refresh problem following 9c5f835b031e, 9622418ac28c, c67488bd8134 : force redraw only through EVT_PAINT event and use wxPaintDC, as described in wx documentation

Thu, 11 Apr 2019 08:40:17 +0200merged
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 11 Apr 2019 08:40:17 +0200] rev 2590
merged

Wed, 10 Apr 2019 14:11:52 +0200Nicer name than 'var_name' for variable auto-renaming in Modbus
Edouard Tisserant [Wed, 10 Apr 2019 14:11:52 +0200] rev 2589
Nicer name than 'var_name' for variable auto-renaming in Modbus

Wed, 10 Apr 2019 21:36:12 +0200Allow starting IDE without sslpsk module installed. Fail when connecting to PYROS if sslpsk unavailable.
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 10 Apr 2019 21:36:12 +0200] rev 2588
Allow starting IDE without sslpsk module installed. Fail when connecting to PYROS if sslpsk unavailable.

Tue, 09 Apr 2019 14:08:44 +0200Fixed preview drawing/refresh problem in sfc/ld/fbd graphical element creation dialogs on windows (introduced in 9c5f835b031e, continuation of 9622418ac28c)
Edouard Tisserant [Tue, 09 Apr 2019 14:08:44 +0200] rev 2587
Fixed preview drawing/refresh problem in sfc/ld/fbd graphical element creation dialogs on windows (introduced in 9c5f835b031e, continuation of 9622418ac28c)

Tue, 09 Apr 2019 13:18:51 +0200pep8 white spaces
Edouard Tisserant [Tue, 09 Apr 2019 13:18:51 +0200] rev 2586
pep8 white spaces

Tue, 09 Apr 2019 13:13:27 +0200Now default_evaluator is provided by runtime package
Edouard Tisserant [Tue, 09 Apr 2019 13:13:27 +0200] rev 2585
Now default_evaluator is provided by runtime package

Tue, 09 Apr 2019 13:08:03 +0200merge
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 09 Apr 2019 13:08:03 +0200] rev 2584
merge

Tue, 09 Apr 2019 13:05:35 +0200Continue fixing deadlock of previous commit, this time occuring when waiting for 'cleanup' python runtime call to finish. Now 'init' and 'cleanup' python runtime calls are called directly from main thread, and aren't anymore invoked in the context of wxMainloop and/or twisted reactor.
Edouard Tisserant [Tue, 09 Apr 2019 13:05:35 +0200] rev 2583
Continue fixing deadlock of previous commit, this time occuring when waiting for 'cleanup' python runtime call to finish. Now 'init' and 'cleanup' python runtime calls are called directly from main thread, and aren't anymore invoked in the context of wxMainloop and/or twisted reactor.

Tue, 09 Apr 2019 09:13:55 +0200Fix deadlock when indirectly calling PLCObject's evaluator() from twisted of wx event loops. Was freezing while transfer/start/stop through Wamp. Serialize all PLCObject's call to self.PythonRuntimeCall into the same PythonThread thread.
Edouard Tisserant [Tue, 09 Apr 2019 09:13:55 +0200] rev 2582
Fix deadlock when indirectly calling PLCObject's evaluator() from twisted of wx event loops. Was freezing while transfer/start/stop through Wamp. Serialize all PLCObject's call to self.PythonRuntimeCall into the same PythonThread thread.

Mon, 08 Apr 2019 12:53:18 +0200Fixed Wamp assertion because of unexpected type
Edouard Tisserant [Mon, 08 Apr 2019 12:53:18 +0200] rev 2581
Fixed Wamp assertion because of unexpected type

Thu, 28 Mar 2019 13:09:11 +0100Enhanced statistics display code, used it and saw no more noticable leak while editing. Closing branch. wx.NewID_abuse_fix
Edouard Tisserant [Thu, 28 Mar 2019 13:09:11 +0100] rev 2580
Enhanced statistics display code, used it and saw no more noticable leak while editing. Closing branch.

Sun, 07 Apr 2019 21:08:07 +0200Conform to pep8 and pylint :
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 07 Apr 2019 21:08:07 +0200] rev 2579
Conform to pep8 and pylint :

pep8 version: 2.3.1
./ConfigTreeNode.py:130:49: E231 missing whitespace after ','
./editors/Viewer.py:643:24: E128 continuation line under-indented for visual indent
./editors/Viewer.py:670:12: E221 multiple spaces before operator
./editors/Viewer.py:671:13: E221 multiple spaces before operator
./editors/Viewer.py:2138:52: E203 whitespace before ':'
./editors/Viewer.py:2139:66: W291 trailing whitespace
./controls/VariablePanel.py:154:25: E231 missing whitespace after ','
./controls/LocationCellEditor.py:88:1: W293 blank line contains whitespace
./controls/LocationCellEditor.py:191:25: E221 multiple spaces before operator
./controls/LocationCellEditor.py:200:17: E128 continuation line under-indented for visual indent

pylint 1.8.3,
************* Module controls.LocationCellEditor
controls/LocationCellEditor.py:200: [C0330(bad-continuation), ] Wrong continued indentation (add 9 spaces).
_("Selected location is identical to previous one"))
^ |
************* Module controls.VariablePanel
controls/VariablePanel.py:154: [E1601(print-statement), VariableTable.SetValue] print statement used
************* Module editors.Viewer
editors/Viewer.py:643: [C0330(bad-continuation), ] Wrong continued indentation (add 1 space).
self.GetAddMenuCallBack(self.AddNewComment))
^|
editors/Viewer.py:598: [W0612(unused-variable), Viewer.AddDivergenceMenuItems] Unused variable 'add_branch'
editors/Viewer.py:1655: [E0602(undefined-variable), Viewer.PopupConnectionMenu] Undefined variable 'variable_type'
editors/Viewer.py:1649: [W0612(unused-variable), Viewer.PopupConnectionMenu] Unused variable 'connection_type'
************* Module connectors.PYRO.PSK_Adapter

Sun, 07 Apr 2019 16:23:49 +0200Merged
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 07 Apr 2019 16:23:49 +0200] rev 2578
Merged

Wed, 03 Apr 2019 06:31:34 +0000Fix typo in README.md
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 03 Apr 2019 06:31:34 +0000] rev 2577
Fix typo in README.md

Closes #80

Thu, 04 Apr 2019 14:00:17 +0200merged rename_on_location_change branch
Edouard Tisserant [Thu, 04 Apr 2019 14:00:17 +0200] rev 2576
merged rename_on_location_change branch

Thu, 04 Apr 2019 13:59:22 +0200Rename checkbox and immediately apply. rename_on_location_change
Edouard Tisserant [Thu, 04 Apr 2019 13:59:22 +0200] rev 2575
Rename checkbox and immediately apply.
Added a checkbox in Location selection dialog (saved as user settings) to let user choose if variable is being renamed.
Also forced closing celle editor once new location is selected.

Wed, 03 Apr 2019 13:20:28 +0200LocationCellEditor use better source for variable name replacement, and validate variable name before applying it or complains otherwise. rename_on_location_change
Edouard Tisserant [Wed, 03 Apr 2019 13:20:28 +0200] rev 2574
LocationCellEditor use better source for variable name replacement, and validate variable name before applying it or complains otherwise.

Tue, 02 Apr 2019 09:46:58 +0200LocationCellEditor now systematically change variable name according to name given by CTN, calls VariablePanel' OnVariableNameChange to update POU accordingly. rename_on_location_change
Edouard Tisserant [Tue, 02 Apr 2019 09:46:58 +0200] rev 2573
LocationCellEditor now systematically change variable name according to name given by CTN, calls VariablePanel' OnVariableNameChange to update POU accordingly.

Thu, 28 Mar 2019 14:06:53 +0100Fix problem introduced in 9c5f835b031e : Exception in LDPowerRailDialog.py because of change in OnPaint/RefreshView/DrawPreview.
Edouard Tisserant [Thu, 28 Mar 2019 14:06:53 +0100] rev 2572
Fix problem introduced in 9c5f835b031e : Exception in LDPowerRailDialog.py because of change in OnPaint/RefreshView/DrawPreview.

Thu, 28 Mar 2019 13:39:58 +0100Fixed RecentProjectMenu in BeremizIDE.py broken by untested changes in wx.NewID_abuse_fix.
Edouard Tisserant [Thu, 28 Mar 2019 13:39:58 +0100] rev 2571
Fixed RecentProjectMenu in BeremizIDE.py broken by untested changes in wx.NewID_abuse_fix.

Thu, 28 Mar 2019 13:10:26 +0100Merged wx.NewID_abuse_fix branch
Edouard Tisserant [Thu, 28 Mar 2019 13:10:26 +0100] rev 2570
Merged wx.NewID_abuse_fix branch

Thu, 28 Mar 2019 13:08:20 +0100More wx.NewID abuse removal. This time BeremizIDE.py was cleaned. wx.NewID_abuse_fix
Edouard Tisserant [Thu, 28 Mar 2019 13:08:20 +0100] rev 2569
More wx.NewID abuse removal. This time BeremizIDE.py was cleaned.

Thu, 28 Mar 2019 09:19:30 +0100Merged more of wx.NewID_abuse_fix branch
Edouard Tisserant [Thu, 28 Mar 2019 09:19:30 +0100] rev 2568
Merged more of wx.NewID_abuse_fix branch

Wed, 27 Mar 2019 14:10:39 +0100More wx.NewID abuse removal. All Viewer.py got cured. wx.NewID_abuse_fix
Edouard Tisserant [Wed, 27 Mar 2019 14:10:39 +0100] rev 2567
More wx.NewID abuse removal. All Viewer.py got cured.

Wed, 27 Mar 2019 13:08:51 +0100More wx.NewID abuse removal. This one was apparently silently unbinding toolbar butons when running out of mew wx IDs. wx.NewID_abuse_fix
Edouard Tisserant [Wed, 27 Mar 2019 13:08:51 +0100] rev 2566
More wx.NewID abuse removal. This one was apparently silently unbinding toolbar butons when running out of mew wx IDs.

Tue, 26 Mar 2019 13:54:36 +0100Dyslectic typos
Edouard Tisserant [Tue, 26 Mar 2019 13:54:36 +0100] rev 2565
Dyslectic typos

Mon, 07 Jan 2019 20:32:40 +0000Close branch py3-fix. py3-fix
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 07 Jan 2019 20:32:40 +0000] rev 2564
Close branch py3-fix.

Thu, 27 Jul 2017 20:34:38 +0000Close branch 1.1 Korean release. 1.1 Korean release
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 27 Jul 2017 20:34:38 +0000] rev 2563
Close branch 1.1 Korean release.

Mon, 18 Mar 2019 09:12:44 +0000Close branch generate-button. generate-button
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 18 Mar 2019 09:12:44 +0000] rev 2562
Close branch generate-button.

Mon, 07 Jan 2019 23:55:05 +0300close #2486 head #2486
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 07 Jan 2019 23:55:05 +0300] rev 2561
close #2486 head

Mon, 07 Jan 2019 20:33:11 +0000Close branch nevow_service_rework. nevow_service_rework
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 07 Jan 2019 20:33:11 +0000] rev 2560
Close branch nevow_service_rework.

Mon, 07 Jan 2019 20:32:32 +0000Close branch wx3-fix. wx3-fix
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 07 Jan 2019 20:32:32 +0000] rev 2559
Close branch wx3-fix.

Tue, 26 Mar 2019 11:08:32 +0100Intermediate merge of wx.NewID_abuse_fix branch but kept debug code in the branch. This is still work in progress, banch is NOT closed.
Edouard Tisserant [Tue, 26 Mar 2019 11:08:32 +0100] rev 2558
Intermediate merge of wx.NewID_abuse_fix branch but kept debug code in the branch. This is still work in progress, banch is NOT closed.