Thu, 10 Dec 2020 14:54:42 +0100 Edouard Tisserant Fixed "Onchange" object added in previous commit
Thu, 10 Dec 2020 11:37:27 +0100 Edouard Tisserant 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 +0100 Edouard Tisserant Project tree: avoid flickering and glitches in notebook when selecting some still not opened ConfigTreeNode
Wed, 18 Nov 2020 23:06:16 +0100 Edouard Tisserant 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 +0100 Edouard Tisserant py_ext: better handling of coma separated OnChange attribute for python safe global variables.
Mon, 02 Nov 2020 10:56:09 +0100 Edouard Tisserant 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 +0200 Edouard Tisserant PY_EXT: OnChange is now a coma separated list of callables. Updated tests/python accordingly.
Tue, 15 Sep 2020 13:57:06 +0200 Edouard Tisserant Modbus: fixed typo in ctype typing.
Fri, 11 Sep 2020 13:46:41 +0200 Edouard Tisserant MODBUS: Fix saving of websettings.
Thu, 10 Sep 2020 16:08:26 +0200 Edouard Tisserant 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 +0100 Mario de Sousa Modbus plugin: reformat code, and add comment.
Thu, 13 Aug 2020 18:42:02 +0100 Mario de Sousa Modbus plugin: fix runtime periodic timer (don't use POSIX timer)
Wed, 01 Jul 2020 10:36:20 +0200 Edouard Tisserant Modbus and Bacnet websettings : Rename variables and functions to avoid name collisions.
Mon, 29 Jun 2020 14:38:04 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant Modbus: fix client timer invalid arguments.
Tue, 23 Jun 2020 13:50:21 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant Runtime: Fix typo in PLCObject leading to exception when reporting failure.
Thu, 18 Jun 2020 14:18:16 +0200 Edouard Tisserant Py_ext: use non-derived type when generating C code for handling Python PLC globals.
Wed, 17 Jun 2020 14:32:55 +0200 Edouard Tisserant tests/python : add some STRING PLC Python globals with OnChange.
Wed, 17 Jun 2020 14:30:55 +0200 Edouard Tisserant 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 +0200 Tomaz Orac Merge
Tue, 16 Jun 2020 11:12:36 +0200 Edouard Tisserant Modbus: more comments to remember some necessary changes.
Tue, 16 Jun 2020 10:16:25 +0200 Edouard Tisserant Modbus/BACnet : add some comments so that we don't forget some pending optimization.
Tue, 16 Jun 2020 10:12:21 +0200 Edouard Tisserant Modbus: Delete stored configuration when identical to default configuration.
Mon, 15 Jun 2020 14:34:00 +0200 Edouard Tisserant BACnet: prevent saving configuration that is same as default, delete it if so.
Mon, 15 Jun 2020 14:29:41 +0200 Edouard Tisserant BACnet and Modbus : fix configuration storage directory
Mon, 15 Jun 2020 14:27:58 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant Debug : when BEREMIZ_DEBUG file exist, display all commands issued in console.
Fri, 12 Jun 2020 14:39:32 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant BACnet and Modbus: Remove additional loading and unloading, use the one already in place for extensions.
Sun, 07 Jun 2020 23:47:32 +0100 Mario de Sousa merge
Sun, 07 Jun 2020 23:46:16 +0100 Mario de Sousa Bacnet plugin web configuration: strip leading and trailing spaces for net. interface and port numb.
Sun, 07 Jun 2020 23:38:20 +0100 Mario de Sousa Modbus plugin, web interface: strip leading and trailing spaces from string parameters
Sun, 07 Jun 2020 22:32:24 +0100 Mario de Sousa Modbus plugin web interface: show the keyword "#ANY#" on TCP servers
Sun, 07 Jun 2020 19:33:32 +0100 Mario de Sousa Modbus plugin: fix bug: was checking user configuration against wrong limits
Sun, 07 Jun 2020 18:34:32 +0100 Mario de Sousa 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 +0100 Mario de Sousa Modbus plugin: check for duplicate "Configuration_Name"
Sat, 06 Jun 2020 08:51:32 +0100 Mario de Sousa add comment
Sat, 06 Jun 2020 08:50:36 +0100 Mario de Sousa add comment
Sat, 06 Jun 2020 08:43:41 +0100 Mario de Sousa merge
Sat, 06 Jun 2020 07:34:02 +0100 Mario de Sousa Modbus plugin web configuration: fix comments, and delete un-used code
Sat, 06 Jun 2020 07:24:42 +0100 Mario de Sousa Modbus plugin web configuration: use drop down choices for baud, parity and stop bits.
Fri, 05 Jun 2020 18:02:12 +0100 Mario de Sousa Modbus plugin web configuration: save node type and addr type to persistant storage
Mon, 01 Jun 2020 14:11:22 +0100 Mario de Sousa Add web extension: configure Modbus Server plugin parameters
Mon, 01 Jun 2020 08:54:26 +0100 Mario de Sousa Add web extension: configure Modbus plugin parameters (currently only supports Modbus clients)
Tue, 02 Jun 2020 13:37:34 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant IDE: Main toolbar : Show repair button also in stop mode. Move repair button after disconnect button.
Mon, 01 Jun 2020 14:47:31 +0200 Edouard Tisserant 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 +0100 Mario de Sousa merge
Thu, 28 May 2020 11:15:22 +0100 Mario de Sousa BACnet plugin: Add web interface for online parameter configuration
Thu, 28 May 2020 11:01:42 +0100 Mario de Sousa modbus_plugin: generate nicer error message, instead of a traceback
Thu, 28 May 2020 10:54:48 +0100 Mario de Sousa Modbus plugin: Add "exec. req. flag" and "write on change" features
Thu, 28 May 2020 11:38:09 +0200 Edouard Tisserant PLCObject : reorganize code in StartPLC(), add a PreStartPLC() empty method, to be overloaded by runtime extensions.
Tue, 26 May 2020 09:58:20 +0200 Edouard Tisserant 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 +0100 Edouard Tisserant 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 +0100 Edouard Tisserant Etherlab : Merged 2014-2018 changes from jblee and others
Mon, 25 Nov 2019 08:26:55 +0100 Edouard Tisserant Close branch ethercat_from_kosmos ethercat_from_kosmos
Wed, 20 Nov 2019 16:57:15 +0100 Edouard Tisserant EtherCat master plugin : commit changes recovered from KOSMOS 2018 installer, unkown author(s). ethercat_from_kosmos
Wed, 13 Nov 2019 11:21:04 +0100 Edouard Tisserant Add FatalError() method to ConfigTreeNode.
Thu, 24 Oct 2019 11:20:04 +0200 Edouard Tisserant Fixed one more sequel of marking temporary variables created while generating ST code out of FBD
Wed, 09 Oct 2019 09:04:35 +0200 Edouard Tisserant Changed yslt_noindent.yml2 again
Wed, 25 Sep 2019 08:53:27 +0200 Edouard Tisserant Non significant changes in generated xslt, side effect of changes in yslt_noindent.yml2
Thu, 19 Sep 2019 15:32:36 +0200 Edouard Tisserant More customizations to yslt
Wed, 18 Sep 2019 11:03:56 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant Non significant changes to mute GCC warnings about unused variables.
Thu, 05 Sep 2019 08:35:33 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant yslt_noindent : Avoid YSLT's indent logic to interfere when using linequote.
Wed, 14 Aug 2019 11:05:17 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant Allow using docutil.get_inkscape_path() on Linux also.
Fri, 09 Aug 2019 12:07:33 +0200 Edouard Tisserant Moved XSLT model query python code so that XSLT part can be reused for other transformations
Tue, 24 Sep 2019 11:55:59 +0200 Edouard Tisserant Fixed unitialized parameter in instances_path stylesheet, leading to
Sun, 14 Jul 2019 08:43:12 +0200 Edouard Tisserant Fixed code quality according to pep8 and pylint.
Sat, 13 Jul 2019 10:57:25 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant PurgeBlobs was faulty, but it was never having anything to purge. Fixed.
Fri, 12 Jul 2019 11:51:47 +0200 Edouard Tisserant Fixed repetitive freezing of IDE when connection drops.
Wed, 10 Jul 2019 11:21:13 +0200 Edouard Tisserant Better error handling when blob transfer fail
Wed, 10 Jul 2019 10:43:14 +0200 Edouard Tisserant Removed dead code.
Tue, 09 Jul 2019 09:49:30 +0200 Edouard Tisserant Now expects 1 more columns in VARIABLE.CSV file generated by MatIEC. Pair with MatIEC commit 9cb7c8bf7dbc :
Tue, 18 Jun 2019 14:09:23 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant Removed debug code and closed branch fix_fb_resize_wire_bug
Tue, 18 Jun 2019 13:58:45 +0200 Edouard Tisserant GraphicCommons.py : Wire.SetPoints() move filtering before computation of Start and End points to avoid setting them with arbitrary directions. fix_fb_resize_wire_bug
Tue, 18 Jun 2019 09:38:20 +0200 Edouard Tisserant GraphicCommons.py : rewrote Wire.Setpoints. fix_fb_resize_wire_bug
Thu, 13 Jun 2019 15:49:48 +0200 Edouard Tisserant '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 +0200 Edouard Tisserant Fix PLCObject's purge failing silently with extra_files.
Thu, 30 May 2019 11:53:13 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant Fixed typo leading to some exception in some rare corner cases in worker.py
Tue, 23 Apr 2019 11:01:35 +0200 Edouard Tisserant Added missing 'path' field to WAMP addresses in URI editor.
Tue, 23 Apr 2019 11:00:37 +0200 Edouard Tisserant Fixed exception when using URI editor for PYRO addresses
Fri, 19 Apr 2019 13:11:42 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant Add Repair() to WAMP interface
Thu, 18 Apr 2019 14:42:23 +0200 Edouard Tisserant Merged fix_PLC_runtime_shutdown
Thu, 18 Apr 2019 14:41:21 +0200 Edouard Tisserant Close fix_PLC_runtime_shutdown fix_PLC_runtime_shutdown
Thu, 18 Apr 2019 14:35:42 +0200 Edouard Tisserant Runtime worker : unblock the last waiting job and prevent any new job to wait when Main Worker is being shut down. fix_PLC_runtime_shutdown
Thu, 18 Apr 2019 14:34:22 +0200 Edouard Tisserant Add some "pipe to self" trick in Pyro server to accelerate runtime shutdown instead of waiting for arbitrary pyro timeout. fix_PLC_runtime_shutdown
Thu, 18 Apr 2019 14:32:43 +0200 Edouard Tisserant 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. fix_PLC_runtime_shutdown
Thu, 18 Apr 2019 14:29:55 +0200 Edouard Tisserant Enure that all threads are joined before trying to exit fix_PLC_runtime_shutdown
Wed, 17 Apr 2019 14:18:22 +0200 Edouard Tisserant Named runtime's threads to ease debugging
Wed, 17 Apr 2019 14:15:39 +0200 Edouard Tisserant Added Repair() png icon
Tue, 16 Apr 2019 14:45:41 +0200 Edouard Tisserant pep8 again...
Tue, 16 Apr 2019 13:32:32 +0200 Edouard Tisserant PEP8 fix : ./connectors/PYRO/PSK_Adapter.py:49:1: E302 expected 2 blank lines, found 1
Tue, 16 Apr 2019 11:26:52 +0200 Edouard Tisserant Added RepairPLC() to PLCObject. For now just calling PurgePLC and quit PLC runtime.
Tue, 16 Apr 2019 11:26:34 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant force redraw only through EVT_PAINT event and use wxPaintDC, as described in wx documentation
Thu, 11 Apr 2019 11:26:47 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant merged
Wed, 10 Apr 2019 14:11:52 +0200 Edouard Tisserant Nicer name than 'var_name' for variable auto-renaming in Modbus
Wed, 10 Apr 2019 21:36:12 +0200 Edouard Tisserant Allow starting IDE without sslpsk module installed. Fail when connecting to PYROS if sslpsk unavailable.
Tue, 09 Apr 2019 14:08:44 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant pep8 white spaces
Tue, 09 Apr 2019 13:13:27 +0200 Edouard Tisserant Now default_evaluator is provided by runtime package
Tue, 09 Apr 2019 13:08:03 +0200 Edouard Tisserant merge
Tue, 09 Apr 2019 13:05:35 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant Fixed Wamp assertion because of unexpected type
Thu, 28 Mar 2019 13:09:11 +0100 Edouard Tisserant Enhanced statistics display code, used it and saw no more noticable leak while editing. Closing branch. wx.NewID_abuse_fix
Sun, 07 Apr 2019 21:08:07 +0200 Edouard Tisserant Conform to pep8 and pylint :