Wed, 11 Sep 2019 12:24:30 +0200 Edouard Tisserant WIP on svghmi, now builds and runs. HTTP serving + WS transport ready, missing actual data to transmit and thread to collect it. svghmi
Wed, 11 Sep 2019 11:20:11 +0200 Edouard Tisserant Non significant changes to mute GCC warnings about unused variables. svghmi
Thu, 05 Sep 2019 08:35:33 +0200 Edouard Tisserant 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... svghmi
Tue, 03 Sep 2019 12:17:33 +0200 Edouard Tisserant SVGHMI: Intermediate state while working on svghmi.c svghmi
Mon, 26 Aug 2019 08:54:02 +0200 Edouard Tisserant svghmi.c : deduplicated variable access code borrowed from plc_debug.c. Added targets/var_access.c. svghmi
Fri, 23 Aug 2019 14:01:31 +0200 Edouard Tisserant SVGHMI: Added iterators in svghmi.c copy-pasted form plc_debug.c svghmi
Fri, 23 Aug 2019 13:01:37 +0200 Edouard Tisserant SVGHMI: svghmi.c now has mutex, iterator, and read/write buffer. svghmi
Thu, 22 Aug 2019 14:58:53 +0200 Edouard Tisserant SVGHMI: draft for svghmi.c. It has all PLC variables pointed in HMI tree in an array. svghmi
Tue, 20 Aug 2019 10:32:34 +0200 Edouard Tisserant Pass HMITree to SVG transform. It seems it could really help to reduce JS tree binding logic in the end. svghmi
Tue, 20 Aug 2019 10:30:59 +0200 Edouard Tisserant Add special nodes at HMI Tree root, fix code to handle special node (no path). svghmi
Tue, 20 Aug 2019 10:08:11 +0200 Edouard Tisserant Swap CTN code gen and Libraries code gen, because SVGHMI use both, and need the library part to produce hmitree before CTN part. svghmi
Tue, 20 Aug 2019 10:01:18 +0200 Edouard Tisserant yslt_noindent : Avoid YSLT's indent logic to interfere when using linequote. svghmi
Wed, 14 Aug 2019 13:06:03 +0200 Edouard Tisserant SVGHMI: make a reasonably basic test svghmi
Wed, 14 Aug 2019 11:05:17 +0200 Edouard Tisserant SVGHMI: filter out temporary variables created while generating ST code out of FBD. svghmi
Tue, 13 Aug 2019 14:04:13 +0200 Edouard Tisserant SVGHMI: added deduction of HMI tree from list of HMI_* instances. svghmi
Mon, 12 Aug 2019 13:09:55 +0200 Edouard Tisserant SVGHMI: added extraction of SVG bounding boxes, obtained from "inkscape -S", and passed to XSLT transform as variable. svghmi
Mon, 12 Aug 2019 13:06:11 +0200 Edouard Tisserant Allow using docutil.get_inkscape_path() on Linux also. svghmi
Fri, 09 Aug 2019 12:12:24 +0200 Edouard Tisserant SVGHMI: little fixes to make the build go through svghmi
Fri, 09 Aug 2019 12:11:31 +0200 Edouard Tisserant SVGHMI: Added XSLT transformation, Makefile to get XSLT from ysl2 (copy of plcopen/Makefile) and a minimal stylesheet to start with. svghmi
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 (i.e. in SVGHMI) svghmi
Thu, 08 Aug 2019 15:56:17 +0200 Edouard Tisserant Complete SVGUI test minimal skeleton so that it builds. svghmi
Wed, 07 Aug 2019 14:18:22 +0200 Edouard Tisserant intermediate commit, work in progress svghmi
Thu, 18 Jul 2019 14:09:33 +0200 Edouard Tisserant Use a POU Library's Generate_C to collect all variables in SVGHMI. svghmi
Wed, 17 Jul 2019 09:44:44 +0200 Edouard Tisserant merged svghmi
Wed, 17 Jul 2019 09:44:11 +0200 Edouard Tisserant Enable svghmi plugin in features, and small fixes to skeleton. svghmi
Mon, 15 Jul 2019 09:05:00 +0200 Edouard Tisserant Merged default in svghmi svghmi
Fri, 12 Jul 2019 11:58:22 +0200 Edouard Tisserant Skeleton for svghmi extension svghmi
Wed, 30 Jun 2021 15:44:32 +0200 Edouard Tisserant IDE: Allow POU Libraries to inject PLC Configurations globals during build.
Wed, 30 Jun 2021 16:46:14 +0300 Ivan Tyagov WIP: initial setup.
Wed, 16 Jun 2021 12:15:02 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant IDE: Log: Prevent crash when display progress on empty log.
Thu, 10 Jun 2021 09:40:05 +0200 Edouard Tisserant Copy description when DnD variables from CodeFile CTN to POUs
Tue, 25 May 2021 15:05:38 +0200 Edouard Tisserant Runtime: Fix exception "Worker is disabled" when connecting while PLC runtime is starting.
Mon, 24 May 2021 14:33:54 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant IDE: Add a shortcut to project "Clean" action : F9
Mon, 29 Mar 2021 15:46:02 +0200 Edouard Tisserant Fixed misuse of GridCellEditor in DurationCellEditor, potentially leading to crash on windows.
Tue, 23 Mar 2021 05:08:51 +0100 Edouard Tisserant Allow using spin() from ProcessLogger even with no logger given.
Wed, 10 Mar 2021 09:59:18 +0100 Edouard Tisserant 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.
Tue, 02 Mar 2021 10:11:45 +0100 Edouard Tisserant IDE: Fix logging of external process execution time so that it is visible on windows as well.
Tue, 02 Mar 2021 09:42:50 +0100 Edouard Tisserant 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 +0100 Edouard Tisserant IDE: Iec2CSettings: Log wasn't available in case of exception when launching iec2c.
Tue, 02 Mar 2021 09:25:55 +0100 Edouard Tisserant IDE: Log: Cosmetic changes, refactoring
Mon, 01 Mar 2021 15:45:13 +0100 Edouard Tisserant 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 +0100 Edouard Tisserant IDE: Fixed log console that was not updating line by line smoothly when building.
Fri, 09 Apr 2021 09:45:28 +0200 Edouard Tisserant merge
Tue, 02 Feb 2021 13:47:48 +0100 Tomaz Orac Merge
Thu, 28 Jan 2021 14:51:16 +0000 Mario de Sousa merge
Thu, 28 Jan 2021 14:50:26 +0000 Mario de Sousa 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 +0000 Mario de Sousa modbus plugin: add (user accessible) transaction counters for servers/slaves
Tue, 23 Feb 2021 16:16:12 +0100 Edouard Tisserant 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 +0100 Edouard Tisserant Merge
Fri, 25 Dec 2020 17:12:02 +0000 Mario de Sousa merge
Fri, 25 Dec 2020 17:11:38 +0000 Mario de Sousa modbus plugin: add/fix comments
Mon, 21 Dec 2020 22:35:07 +0000 Mario de Sousa merge
Mon, 21 Dec 2020 22:32:03 +0000 Mario de Sousa Modbus plugin: fix bug - map BOOL flag onto C u8 (was incorrectly mapped onto u16)
Mon, 21 Dec 2020 22:26:36 +0000 Mario de Sousa 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 +0000 Mario de Sousa Modbus plugin: provide user programs feedback on current connection status mapped onto a WORD located variable
Wed, 13 Jan 2021 10:28:09 +0100 Edouard Tisserant Removed harmful assert in ProcessLogger.
Tue, 22 Dec 2020 18:05:05 +0100 Edouard Tisserant Fix missing import, consequence of bad resolution of conflicting hg graft of f0a822ef9fa0 into d15a997859b1
Tue, 14 Jan 2020 11:04:18 +0100 Edouard Tisserant plc_debug.c/var_acces.c : whitespace cleanup and other cosmetic changes
Fri, 03 Jul 2020 14:02:04 +0200 Edouard Tisserant Prevent global python_poll blocks to be created when accidentally adding content to C-File OnChange column.
Mon, 11 May 2020 11:10:38 +0200 Edouard Tisserant DEBUG: (IDE side) fixed wrong implementation of anti-rapid-fire leading to systematic delay in subscribing
Tue, 11 Feb 2020 13:56:48 +0100 Edouard Tisserant XSLTransform.py: added get_error_log()
Mon, 31 Aug 2020 13:54:08 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant docsvg.py : Better error message when inkscape is not installed.
Sat, 04 Apr 2020 09:41:32 +0200 Edouard Tisserant 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 +0200 Edouard Tisserant 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 +0100 Edouard Tisserant Runtime: change PLCObject 'BlobAsFile' method to allow customization by overriding
Mon, 21 Dec 2020 11:10:27 +0100 Edouard Tisserant WebInterface: better wording for wiping PLC content: "Repair"
Fri, 18 Dec 2020 11:50:28 +0100 Edouard Tisserant runtime: added restart/reset button in web settings. Accidentaly fixed web settings logging feature.
Thu, 10 Dec 2020 15:48:15 +0100 Edouard Tisserant Add a little test to see OnChange's .count .first .last in action
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.