2022-01-16 Edouard Tisserant Merged default in wxPython4, include runtimeLists wxPython4
2022-01-16 Edouard Tisserant Merge
2022-01-14 Edouard Tisserant SVGHMI: added ListSwitch widget
2022-01-16 Edouard Tisserant Merged RuntimeLists branch
2022-01-16 Edouard Tisserant Close RuntimeLists branch RuntimeLists
2021-12-27 Edouard Tisserant Fix bug introduced in previous commit : dual link list wasn't append and remove wasn't implemented correctly. Removed debug code, enhanced variable names and comments. RuntimeLists
2021-12-23 Edouard Tisserant SVGHMI: optimization of C part : stop traversing the whole HMI tree, use dual linked list for subscriptions and single linked list for changes from HMI. Intermediate commit, still crashing in some cases. RuntimeLists
2021-12-16 Edouard Tisserant Xenomai runtime: ensure that __DEBUG global variable is set when resuming debug. RuntimeLists
2021-12-16 Edouard Tisserant SVGHMI: Adapt svghmi.c to changes in UnpackVar RuntimeLists
2021-12-15 Edouard Tisserant Runtime: Now retain uses a list based on data available in VARIABLES.csv instead of traversing the whole instance tree looking for RETAIN flag. RuntimeLists
2021-12-09 Edouard Tisserant RUNTIME: Variable forcing now uses limited list and buffer instead of systematical instance tree traversal and in-tree "fvalue" to keep track of forced value for pointed variables (external, located). Pointer swapping is performed when forcing externals and located, with backup being restored when forcing is reset. Retain still uses tree traversal. RuntimeLists
2021-12-01 Edouard Tisserant RUNTIME: Variable trace now uses limited list and buffer instead of flags in instance tree that was requiring systematical instance tree traversal, and worst size buffer. Forcing and retain still use tree traversal. RuntimeLists
2021-11-30 Edouard Tisserant SVGHMI: more accurate filtering of elements to unlink or not
2021-11-30 Edouard Tisserant OPC-UA client: generated code now take UA_Variants on the stack directly, avoid useless allocation on write, and unalloc implicitely allocated data on read
2021-11-30 Edouard Tisserant OPC-UA client: generated code now take UA_Variants on the stack directly, avoid useless allocation on write, and unalloc implicitely allocated data on read wxPython4
2021-11-16 Edouard Tisserant IDE: Tutorial/Example menu was broken : path of project being open was the same for all menu entries.
2021-11-17 Edouard Tisserant IDE: Tutorial/Example menu was broken, probably after a merge. Menu (and corresponding code) was duplicated. Also, path of project beeing open was the same for all menu entries. wxPython4
2021-11-16 Edouard Tisserant Fix bug when updating data in variable panel. wxPython4
2021-11-08 Edouard Tisserant SVGHMI: update tests/evghmi to reflect/test latest changes. update generated XSLT.
2021-11-08 Edouard Tisserant SVGHMI: multiple non significant changes: doc fixes, modern style access to attributes, enforce double quotes around member name in object literals.
2021-11-08 Edouard Tisserant SVGHMI: Changes /CURRENT_PAGE_* behaviour to prevent problem whith multiclient : all clients were switching page when one was jumping.
2021-11-08 Edouard Tisserant SVGHMI: changes that should fix some corner cases about unlinking and discardable element that still didn't show until now.
2021-11-04 Edouard Tisserant SVGHMI: update generated XSLT
2021-11-04 Edouard Tisserant merged
2021-11-04 Edouard Tisserant SVGHMI: add CURRENT_PAGE_{location} global variable to reflect currently visible page. If PLC wites some valid page reference in that variable, it triggers page switch. Additionally, fixed /HEARTBEAT being subscribed systematically by JS code even when wtchdog is not enabled.
2021-11-02 Edouard Tisserant Follow-up on 83ed4ea362db 'IDE: prevent invoking matiec when IEC code did not change since last build' : build unconditionally after clean
2021-10-29 Edouard Tisserant merged wxPython4
2021-10-29 Edouard Tisserant OPC-UA: fix types in model not being preserved after reload of CSV file, leading to exception when changing selection lists content.
2021-10-29 Edouard Tisserant OPC-UA: Removed more "LocalizedText()", this time in selected variable list
2021-10-29 Edouard Tisserant IDE: prevent invoking matiec when IEC code did not change since last build.
2021-10-29 Edouard Tisserant SVGHMI: prevent systematic rebuild when there are multiple instances of SVGHMI CTN.
2021-10-29 Edouard Tisserant SVGHMI: optimize HMI tree handling C code to lower CPU usage when traversing large trees
2021-10-26 Edouard Tisserant merged
2021-10-21 Edouard Tisserant SVGHMI: prevents watchdog being triggered when SVGHMI is empty.
2021-10-22 Edouard Tisserant Backed out changeset c646a1f0fb0b - was on wrong branch wxPython4
2021-10-21 Edouard Tisserant Make OPC-UA client compatible with wxPython3, util wxPython4 branch deserve to be merged
2021-10-21 Edouard Tisserant Make OPC-UA client compatible with wxPython3, util wxPython4 branch deserve to be merged wxPython4
2021-10-21 Edouard Tisserant IDE: Enforce wxPython3 menu appending syntax in default branch... (Fixes exception at startup)
2021-10-19 Edouard Tisserant OPCUA: fix display names appearing with a "LocalizedText(" prefix when browsing localized server.
2021-10-19 Edouard Tisserant OPCUA: Add browsing of variables exposed by client when selecting location from variable panel.
2021-10-18 Edouard Tisserant OPCUA client: fix handling of string type Node Identifier
2021-10-18 Edouard Tisserant Add OPC-UA simple synchronous client extension.
2021-10-04 Edouard Tisserant SVGHMI: update test/svghmi to reflect latest changes
2021-10-04 Edouard Tisserant SVGHMI: Update generated xslt
2021-10-04 Edouard Tisserant SVGHMI: remove "value" element in meter and circularbar widget. Adding support for printf like formating make widget label too heavy. It is better to use Display widget instead.
2021-10-04 Edouard Tisserant SVGHMI: Move sprintf.js out of widget_display.ysl2 since it is used in other widgets as well
2021-10-01 Edouard Tisserant Dropped SVGUI, deprecated and replaced by SVGHMI. Transformed traffic_lights exemple so that it uses SVGHMI instead.
2021-10-01 Edouard Tisserant SVGHMI: Update generated XSLT (PathSlider widget)
2021-10-01 Edouard Tisserant SVGHMI: simplication in ScrollBar widget JS code
2021-10-01 Edouard Tisserant SVGHMI: Added PathSlider widget
2021-10-01 Edouard Tisserant SVGHMI: update generated xslt (List related changes)
2021-10-01 Edouard Tisserant SVGHMI: add files missing in ee9e98c856a : Add TextList widget, add support for TextList in DropDown widget, move List, TextStyleList and TextList widget code in dedicated file with documentation.
2021-09-20 Edouard Tisserant SVGHMI: add test for Dropdown using TextList
2021-09-20 Edouard Tisserant SVGHMI: Add TextList widget, add support for TextList in DropDown widget, move List, TextStyleList and TextList widget code in dedicated file with documentation.
2021-09-13 Edouard Tisserant IDE: Add a "Tutorials and Examples" sub menu to "File" menu to directly open projects in /exemples directory. Move 'python' and 'first_steps' projecvts from /tests to /exemple
2021-09-13 Edouard Tisserant WxPython 3.x -> 4.x : removed exception on stdout when closing at IDE frame
2021-09-10 Edouard Tisserant Tests/svghmi_scrollbar: Fix variables names and remove useless "OnStart OnStop OnWatchdog" to use defaults.
2021-09-10 Edouard Tisserant IDE/windows: Avoid exception on quit caused by runtime being killed without disconnecting.
2021-09-10 Edouard Tisserant Runtime/unix: Fix typo preventing start of Pyro server
2021-09-09 Edouard Tisserant Fix SVGHMI exception when running on Windows, missing ENODATA in errno.
2021-09-07 Edouard Tisserant Runtime: avoids using "pipe to self" bailout unblocking trick on windows, since select() only takes sockets.
2021-10-20 Edouard Tisserant Merge deafult in wxPython4 wxPython4
2021-10-19 Edouard Tisserant Merge changes about wamp reconnecting options, and added missing parts so that these changes make sense.
2021-10-11 dgaberscek Fixed Wamp reconnect on lost connection.
2021-10-19 Edouard Tisserant SVGHMI: force MaxConnections sum back to zero, preventing it to grow indefinitely on each build.
2021-10-19 Edouard Tisserant OPCUA: fix display names appearing with a "LocalizedText(" prefix when browsing localized server. wxPython4
2021-10-19 Edouard Tisserant OPCUA: Add browsing of variables exposed by client when selecting location from variable panel. wxPython4
2021-10-18 Edouard Tisserant OPCUS client: fix handling of string type Node Identifier wxPython4
2021-10-18 Edouard Tisserant Add OPC-UA simple synchronous client extension. wxPython4
2021-10-18 Edouard Tisserant IDE: fix wxpython4 sequel : project "add" menu was having no extension entry visible. wxPython4
2021-10-08 Edouard Tisserant Prevent exception when asking for CSV dump while variable traces are still empty
2021-10-08 Edouard Tisserant Fix wrong comment
2021-10-06 Edouard Tisserant Fixed two exceptions happening when interacting with viewer(s) in debug mode, when debug data is still not initialized.
2021-10-04 Edouard Tisserant SVGHMI: update test/svghmi to reflect latest changes wxPython4
2021-10-04 Edouard Tisserant SVGHMI: Update generated xslt wxPython4
2021-10-04 Edouard Tisserant SVGHMI: remove "value" element in meter and circularbar widget. Adding support for printf like formating make widget label too heavy. It is better to use Display widget instead. wxPython4
2021-10-04 Edouard Tisserant SVGHMI: Move sprintf.js out of widget_display.ysl2 since it is used in other widgets as well wxPython4
2021-10-01 Edouard Tisserant Dropped SVGUI, deprecated and replaced by SVGHMI. Transformed traffic_lights exemple so that it uses SVGHMI instead. wxPython4
2021-10-01 Edouard Tisserant Merge from default wxPython4
2021-10-01 Edouard Tisserant SVGHMI: Update generated XSLT (PathSlider widget) wxPython4
2021-10-01 Edouard Tisserant SVGHMI: simplication in ScrollBar widget JS code wxPython4
2021-10-01 Edouard Tisserant SVGHMI: Added PathSlider widget wxPython4
2021-10-01 Edouard Tisserant SVGHMI: update generated xslt (List related changes) wxPython4
2021-10-01 Edouard Tisserant SVGHMI: add files missing in ee9e98c856a : Add TextList widget, add support for TextList in DropDown widget, move List, TextStyleList and TextList widget code in dedicated file with documentation. wxPython4
2021-09-20 Edouard Tisserant SVGHMI: add test for Dropdown using TextList wxPython4
2021-09-20 Edouard Tisserant SVGHMI: Add TextList widget, add support for TextList in DropDown widget, move List, TextStyleList and TextList widget code in dedicated file with documentation. wxPython4
2021-09-16 Edouard Tisserant Sequel to 95fe62bfe920 : Copy description when DnD variables from Globals in resources and configuration variable panels to POUs, now including ST/IL POUs.
2021-09-13 Edouard Tisserant IDE: Add a "Tutorials and Examples" sub menu to "File" menu to directly open projects in /exemples directory. Move 'python' and 'first_steps' projecvts from /tests to /exemple wxPython4
2021-09-13 Edouard Tisserant WxPython 3.x -> 4.x : removed exception on stdout when closing at IDE frame wxPython4
2021-09-13 Edouard Tisserant Merged default wxPython4
2021-09-13 Edouard Tisserant Xenomai runtime: more verbose error message when problem with RT-Pipes.
2021-09-13 Edouard Tisserant Re-introduce sertup.py from Ivan Tyagov, accidentally deleted during SVGHMI branch merge
2021-09-10 Edouard Tisserant Tests/svghmi_scrollbar: Fix variables names and remove useless "OnStart OnStop OnWatchdog" to use defaults. wxPython4
2021-09-10 Edouard Tisserant IDE/windows: Avoid exception on quit caused by runtime being killed without disconnecting. wxPython4
2021-09-10 Edouard Tisserant Runtime/unix: Fix typo preventing start of Pyro server wxPython4
2021-09-09 Edouard Tisserant Fix SVGHMI exception when running on Windows, missing ENODATA in errno. wxPython4
2021-09-09 Edouard Tisserant Workaround missing "IsMaximized" attribute for AuiPaneInfo in wxPython 4.1.0 wxPython4
2021-09-07 Edouard Tisserant Runtime: avoids using "pipe to self" bailout unblocking trick on windows, since select() only takes sockets. wxPython4
2021-09-05 Edouard Tisserant More WxPython 3.x->4.x API update wxPython4
2021-09-05 Edouard Tisserant Workaround RubberBand drawing problem on GTK3 wxPython4
2021-09-05 Edouard Tisserant Depricated PyGridCellEditor becomes GridCellEditor wxPython4
2021-09-05 Edouard Tisserant Fix exception when canvas becomes null because of window resize, and avoid useless parameter+condition in GetLogicalDC wxPython4
2021-09-02 Edouard Tisserant Preliminary support for WxPython 4.1.0. Needs more testing. Grid selection/focus seems broken, and probably many other bugs hidden in dialogs and editors. wxPython4
2021-09-02 Edouard Tisserant Merge SVGHMI in default
2021-09-02 Edouard Tisserant Close SVGHMI branch svghmi
2021-08-30 Edouard Tisserant Copy description when DnD variables from Globals in resources and configuration variable panels to POUs. Also prevent making exception in case some other DropSource wouldn't provide description. svghmi
2021-08-27 Edouard Tisserant SVGHMI: Allow toggling fulscreen mode my right click or long press. svghmi
2021-08-24 Edouard Tisserant Xenomai runtime: fixed bugs introduced in e3db472b0dfb (RT->nRT wakeup) + other small typos svghmi
2021-08-21 Edouard Tisserant IDE: systematically log command when launching process (was not showing in case of LOCAL:// runtime being launched) svghmi
2021-08-21 Edouard Tisserant Win32 runtime: fix build with gcc 9.3.0 from msys2 svghmi
2021-08-17 Edouard Tisserant Runtime+SVGHMI: Add generic wakeup of threads from PLC thread to windows implementation of plc_main.c. Also added nRT_reschedule to abstract sched_yield. svghmi
2021-08-16 Edouard Tisserant Runtime+SVGHMI: Added a generic way to wakeup non-real-time threads from real-time PLC thread. Replace SVGHMI specific calls in Linux and Xenomai implementations of plc_main.c. Fixed xenomai build, xeno-config making problems with --no-auto-init argument. svghmi
2021-07-29 Edouard Tisserant Runtime: Better handling of nested strings in spawn_subprocess commandline parsing svghmi
2021-07-29 Edouard Tisserant IDE: Fixed use of RingBuffers in variable traces graphs when switching to 2D trend graph. svghmi
2021-07-26 Edouard Tisserant IDE: On windows, align better "reset to default" button in CTN config panel. svghmi
2021-07-26 Edouard Tisserant SVGHMI: Fix detection of library without instance and instances without library. Added one more widget in the widget library. Renamed "view_name" in "name" in commands substitutions. svghmi
2021-07-23 Edouard Tisserant SVGHMI: Fix missing "OnWatchdog" in XSD, accidentally deleted in earlier commit. svghmi
2021-07-23 Edouard Tisserant IDE: Add a "undo" button for each field in CTN config panel to reset to default value. svghmi
2021-07-22 Edouard Tisserant SVGHMI: detect watchdog abuse (more than one HMI instance with watchdog) at build time svghmi
2021-07-22 Edouard Tisserant SVGHMI: code refactoring allowing more in depth customization for substitution on start/stop/restart commands, and default SVG choice. svghmi
2021-07-20 Edouard Tisserant Runtime: more robust loading of Wamp config, specially in case config file was corrupted. svghmi
2021-07-20 Edouard Tisserant SVGHMI: add arguments to pass to ressource factory when attaching rerssource to svghmi root svghmi
2021-07-20 Edouard Tisserant SVGHMI: fix typo in slider widget svghmi
2021-07-15 Edouard Tisserant Runtime: Handle errors in user's python code more gracefully : make exceptions and allow repair. svghmi
2021-07-15 Edouard Tisserant SVGHMI: Fixed halting problem when there is no session opened. svghmi
2021-07-13 Edouard Tisserant SVGHMI: Widget lib: small doc fix. svghmi
2021-07-13 Edouard Tisserant SVGHMI: DnD UI: Use widget's short description, initially forgoten. svghmi
2021-07-13 Edouard Tisserant SVGHMI: Fixed typo on session manager unregister, leading to wrong count of sessions and then exceptions when creating more session than allowed in protocol options. Also added more safety check in protocol in case session would be missing. svghmi
2021-07-13 Edouard Tisserant SVGHMI: set some boundaries for watchdog timings and max connection count. svghmi
2021-07-13 Edouard Tisserant SVGHMI: update generated xslt svghmi
2021-07-12 Edouard Tisserant SVGHMI: fixed bug introduced in 7bdb766c2a4d, typo breaking meter widget svghmi
2021-07-12 Edouard Tisserant SVGHMI: default library path, default page when starting a SVGHMI project, error page when no SVG present svghmi
2021-07-12 Edouard Tisserant SVGHMI: finished multiclient support. Still needs more testing. svghmi
2021-07-12 Edouard Tisserant SVGHMI: Fixed iterator in session manager. Getting closer to working multiclient, to be continued. svghmi
2021-07-09 Edouard Tisserant SVGHMI: Fixing last commit's multiclient implementation, in case of watchdog. To be continued, since multiclient still fail... svghmi
2021-07-07 Edouard Tisserant SVGHMI: Implemented multiserver+multiclient, but only tested with single client and single server for now. To be continued... svghmi
2021-07-05 Edouard Tisserant SVGHMI: More configuration parameters : network interface, TCP port, URL path and watchdog enabling. svghmi
2021-07-01 Edouard Tisserant SVGHMI: Added a way to distinguish watchdog-enabled HMI from multi-client HMI in URL. svghmi
2021-06-30 Edouard Tisserant SVGHMI: Prepare accepting multiple clients on multiple HMI: Use POULibrary new capability to add variables to PLC Configuration. Now heartbeat and HMI tree root are added by the library part of SVGHMI, and not by each instance. svghmi
2021-06-30 Edouard Tisserant IDE: Allow POU Libraries to inject PLC Configurations globals during build. svghmi
2021-06-18 Edouard Tisserant SVGHMI: DnD UI: Add hint instructing user to Drag HMI tree items to text field. svghmi
2021-06-18 Edouard Tisserant SVGHMI: update generated XSLT files svghmi
2021-06-18 Edouard Tisserant SVGHMI: DnD UI: Fix SVG gen that was dropping widget name and making XSLTExceptions plus some UX enhancements. svghmi
2021-06-18 Edouard Tisserant removed useless import svghmi
2021-06-18 Edouard Tisserant SVGHMI: DnD UI: SVG for DnD now generated again based on paths and args entries filled by user. svghmi
2021-06-16 Edouard Tisserant merge svghmi
2021-06-16 Edouard Tisserant SVGHMI: UI: added prefill of arguments according to values in widget instance in library. Also added library's widget instance description to description field. svghmi
2021-06-16 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. svghmi
2021-06-14 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. svghmi
2021-06-11 Edouard Tisserant IDE: Log: Prevent crash when display progress on empty log. svghmi
2021-06-10 Edouard Tisserant merge svghmi
2021-06-10 Edouard Tisserant Copy description when DnD variables from CodeFile CTN to POUs svghmi
2021-06-09 Edouard Tisserant SVGHMI: fix exception when stored widget library path does not exist anymore svghmi
2021-06-10 Edouard Tisserant SVGHMI: added checking of widget literal argument in DnD UI according to type given in widget description svghmi
2021-06-09 Edouard Tisserant SVGHMI: UI Updates validity indicator when DnD HMI tree node in text field, according to node type svghmi
2021-05-31 Edouard Tisserant SVGHMI: Fixed typo in last commit svghmi
2021-05-31 Edouard Tisserant merged svghmi
2021-05-25 Edouard Tisserant Runtime: Fix exception "Worker is disabled" when connecting while PLC runtime is starting. svghmi
2021-05-31 Edouard Tisserant SVGHMI: UI now have multiple HMI tree variables DnD to widget paths. Still no type checking, WIP. svghmi
2021-05-24 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. svghmi
2021-05-20 Edouard Tisserant SVGHMI: DnD UI : changed layout again, moved description in a vertical splitter, added scrollbar for preview and signature, fixed flickering description svghmi
2021-05-19 Edouard Tisserant SVGHMI: UI: Swap widget selection tree and preview panel svghmi
2021-05-19 Edouard Tisserant SVGHMI: WIP: Widget Library UI: Reworking widget selection and binding. svghmi
2021-05-18 Edouard Tisserant Merged SVGHMI branches svghmi
2021-05-18 Edouard Tisserant SVGHMI: WIP on Widget DnD UI : Added documentation to widgets, that is injected in widget parse tree during widget analysis svghmi
2021-05-17 Edouard Tisserant SVGHMI: Fix behaviour of Jump widget, that wasn't displaying "disabled" state in some cases. svghmi
2021-05-12 Edouard Tisserant merged default in svghmi svghmi
2021-05-02 Edouard Tisserant SVGHMI: updating generated XSLT svghmi
2021-05-02 Edouard Tisserant SVGHMI: Intermediate state while updating UI, preparing for displaying widget description and multiple variables selections svghmi
2021-05-02 Edouard Tisserant SVGHMI: Extend widget labels parsing to allow expressing widget's accepted types in labels svghmi
2021-05-02 Edouard Tisserant SVGHMI: Add analyse_widget stylesheet and python code to execute it, in order to obtain widget signature independently of DnD SVG file generation. svghmi
2021-05-02 Edouard Tisserant SVGHMI: drop useless code from gen_dnd_widget.yslt2, renamed python callback to pass messages svghmi
2021-05-02 Edouard Tisserant SVGHMI: Added widget_desc to declare widget signature and description svghmi
2021-05-02 Edouard Tisserant SVGHMI: In order to allow widget signature and description to coexist in same ysl2 file, introduced widget_class, widget_defs to declare widget codegen templates and gen_index_xhtml to mark templates that are only usefull in gen_index_xhtml.xslt. svghmi
2021-04-15 Edouard Tisserant SVGHMI: keep track of order of selection in HMI tree, so that variable can be passed in same order to DnD widget svghmi
2021-04-14 Edouard Tisserant SVGHMI: fixed typo svghmi
2021-04-13 Edouard Tisserant SVGHMI: still quite naive path substitution whn prepearing widget for DnD, but now uses label generation. svghmi
2021-04-13 Edouard Tisserant SVGHMI: Added text box for tranformation feedback aside widget mignature svghmi
2021-04-09 Edouard Tisserant Merged default in SVGHMI svghmi
2021-04-06 Edouard Tisserant SVGHMI: prototype of widget interface description using SVG's desc field, added to SVGHMI's internal svg widget library. svghmi
2021-04-06 Edouard Tisserant SVGHMI: Naive implementation of widget path substitution in widget DnD: considers widget always have only one variable, and no type checking. svghmi
2021-04-06 Edouard Tisserant SVGHMI: Widget transform before DnD now have HMI path as a parameter svghmi
2021-04-06 Edouard Tisserant SVGHMI: Widget transform before DnD now should have HMI path as a parameter, but this path isn't computed for some reason... WIP. svghmi
2021-04-05 Edouard Tisserant SVGHMI: Widget DnD to Inkscape : Added source SVG widget label parsing and pass selecte HMI subtree to XSLT tranform, so that SVG containing multiple widgets can later be matched against hmi tree fragments, in order to DnD complex groups of widgets. svghmi
2021-04-02 Edouard Tisserant SVGHMI: Widget Library Picker now transforms SVG widget before allowing DnD. Transform is just identity forn now, but label parsing have already been included. To be continued. svghmi
2021-04-01 Edouard Tisserant SVGHMI: Ensure that when widgets are nested in HMI:Switch widget, their sub-elements are taken as switch's choice in case their label match the syntax. svghmi
2021-04-01 Edouard Tisserant SVGHMI: Code cleanup for ToggleButton. svghmi
2021-04-01 Edouard Tisserant SVGHMI: Fixed last i18n changes meant to allow checking changes in PO files. Was making build exception when no PO files available. svghmi
2021-04-01 Edouard Tisserant IDE: Add a shortcut to project "Clean" action : F9 svghmi
2021-03-31 Edouard Tisserant merge svghmi
2021-03-31 Edouard Tisserant SVGHMI: fixed embedded fonts family name not matching when using windows version of inkscape svghmi
2021-03-31 Edouard Tisserant SVGHMI: force svghmi build if any change in fonts or translation (.PO) files svghmi
2021-03-31 Edouard Tisserant SVGHMI: Add file type drag'n'drop to widget picker, for now drops widget's original SVG. svghmi
2021-03-30 Edouard Tisserant SVGHMI: silence debug output in generated xhtml. svghmi
2021-03-30 Edouard Tisserant SVGHMI: Implemented "Add Font" and "Remove Font", add font embedding in CSS at build time, tested ok with some OTF for now. svghmi
2021-03-30 Edouard Tisserant SVGHMI: Add font management buttons and icons, doing nothing for now svghmi
2021-03-29 Edouard Tisserant Fixed misuse of GridCellEditor in DurationCellEditor, potentially leading to crash on windows. svghmi
2021-03-29 Edouard Tisserant SVGHMI: Fix update of HMI tree in UI when loading from XML at start. Removed some dead code left after split of svghmi.py into svghmi.py+ui.py. svghmi
2021-03-29 Edouard Tisserant merge svghmi
2021-03-29 Edouard Tisserant SVGHMI: added "page_node" variable that reflects the HMI tree path of current relative page svghmi
2021-03-26 Edouard Tisserant SVGHMI: Add list of HMI tree path in a JS array, so that we can use it for multiple purpose : svghmi
2021-03-26 Edouard Tisserant SVGHMI: Fixed wierd CDATA mess in output xhtml, because of backticks copy pasted in some yml ||text block|| svghmi
2021-03-29 Edouard Tisserant SVGHMI: Added fonts.py with functions to convert ttf, otf and woff fonts into data_uri based CSS font-face svghmi
2021-03-25 Edouard Tisserant merge svghmi
2021-03-25 Edouard Tisserant SVGHMI: split svghmi.py into svghmi.py (Config Tree Node + code gen) and ui.py (UI for HMI tree and Widget picking) svghmi
2021-03-25 Edouard Tisserant SVGHMI: stop serving HMI open wide on all interfaces. That was a security hole. It is user/developer responsibity to forward connection with for exemple stunnel and make it securely accessible from LAN. svghmi
2021-03-25 Edouard Tisserant SVGHMI: Filter unseen geometry from inkscape CSV output. svghmi
2021-03-23 Edouard Tisserant SVGHMI: Fix typo in error message formating in i18n. svghmi
2021-03-24 Edouard Tisserant SVGHMI: split svghmi.py into hmi_tree.py + svghmi.py svghmi
2021-03-23 Edouard Tisserant Merged svghmi
2021-03-18 Edouard Tisserant SVGHMI: JsonTable: Fixed options not being passed in JSON post when jumping to a page where additional variables are pre-defined by a HMI:VarInit. svghmi
2021-03-23 Edouard Tisserant SVGHMI: Added small widget library for library browser testing. svghmi
2021-03-23 Edouard Tisserant SVGHMI: Added SVG widget library browser. Supports browsing and previewing widgets. Widget validation and drag'n'drop are still to be implemented. svghmi
2021-03-23 Edouard Tisserant Allow using spin() from ProcessLogger even with no logger given. svghmi
2021-03-17 Edouard Tisserant merged svghmi
2021-03-16 Edouard Tisserant SVGHMI: cosmetic change, missing semicolon svghmi
2021-03-16 Edouard Tisserant SVGHMI: JsonTable should refresh when re-subscibing, because data might have changed while not on the page we are switching to. svghmi
2021-03-15 Edouard Tisserant SVGHMI: Fixed problems happening when value is higher than maximum or lower than minimum in Input widget. "max" and "min" string was getting into keypad text field, was not diplayed systematically, and was staying forever sometime. svghmi
2021-03-12 Edouard Tisserant SVGHMI: change default values for JsonTable, leading to scrollbar initialized at annoying non-zero position svghmi
2021-03-11 Edouard Tisserant SVGHMI: Ensure that when a HMI:List is refered, none of its refered elements are discarded. svghmi
2021-03-11 Edouard Tisserant Backed out changeset b2ba6eeb61ec. Users reported text styling being messed in some cases. svghmi
2021-03-11 Edouard Tisserant merge svghmi
2021-03-10 Edouard Tisserant merge svghmi
2021-03-10 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. svghmi
2021-03-10 Edouard Tisserant SVGHMI: Add generic action buttons to JSON table, with an example in tests/svghmi: wipe alar list. svghmi
2021-03-10 Edouard Tisserant SVGHMI: do not do XSLT transform if both SVGHMI and HMI Tree didn't change since last build svghmi
2021-03-05 Edouard Tisserant Merged svghmi
2021-03-03 Edouard Tisserant SVGHMI: Make ScrollBar's variables order match JsonTable's variables order to avoid confusion svghmi
2021-03-05 Edouard Tisserant SVGHMI: Lighter display of HMI Tree, no more icons and use buttons. Auto expand root. Fix loading of HMI tree XML backup (hmiclass attribute wasn't kept). svghmi
2021-03-04 Edouard Tisserant SVGHMI: Systematically save HMI Tree in build directory as hmitree.xml when building, so that HMI Tree can be displayed when re-opening project, without having to build svghmi
2021-03-02 Edouard Tisserant SVGHMI: attempt to prevent crazy styling with HMI:TextStyleList when inkscape store style in tspan instead of text element. svghmi
2021-03-02 Edouard Tisserant IDE: Fix logging of external process execution time so that it is visible on windows as well. svghmi
2021-03-02 Edouard Tisserant IDE: Process Logging : Add annotation in log so that user can see build is still alive and how long external process takes. svghmi
2021-03-02 Edouard Tisserant IDE: Iec2CSettings: Log wasn't available in case of exception when launching iec2c. svghmi
2021-03-02 Edouard Tisserant IDE: Log: Cosmetic changes, refactoring svghmi
2021-03-01 Edouard Tisserant SVGHMI: Make build log less redundant, and refactor progress information code a bit, to make it also a bit less redundant. svghmi
2021-03-01 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. svghmi
2021-03-01 Edouard Tisserant merged svghmi
2021-02-26 Edouard Tisserant SVGHMI: Fixed progress time computation svghmi
2021-02-28 Edouard Tisserant IDE: Fixed log console that was not updating line by line smoothly when building. svghmi
2021-02-26 Edouard Tisserant SVGHMI: Optimized overlapping geometry (widget ot page belonging) computation. Added human readable messages for progress. Includes updated XSLT. svghmi
2021-02-25 Edouard Tisserant merged svghmi
2021-02-24 Edouard Tisserant Merge changes from default into svghmi branch svghmi
2021-02-24 Edouard Tisserant SVGHMI: More build time optimization : def_by_label now takes far less time. svghmi
2021-02-23 Edouard Tisserant SVGHMI: Optimize sumarized_elements xslt function, taking most of SVGHMI build time. svghmi
2021-02-22 Edouard Tisserant Merge svghmi
2021-02-19 Edouard Tisserant SVGHMI: Add icons svghmi
2021-02-19 Edouard Tisserant SVGHMI: Fixed/extended error message when failing to launch POEdit. svghmi
2021-02-19 Edouard Tisserant SVGHMI: Fix launch of POEdit on widows. Parsing oommand in registry based on heuristic was bad, now using regex should be safer. TODO : replicate for Inkscape launch. svghmi
2021-02-22 Edouard Tisserant SVGHMI: display progress in IDE console while building svghmi
2021-02-21 Edouard Tisserant SVGHMI: finally found why HMI:Input wasnt't initializing properly: vsprintf takes a list. Also, removed intermediate variable last_val, since edit_value() works on strings anyhow, and in case of formated floats, it is better to workl on already formated value. svghmi
2021-02-19 Edouard Tisserant SVGHMI: update generated XSLT svghmi
2021-02-19 Edouard Tisserant Allow printf-like formating in HMI:Input, usefull for example when dealing with floating point numbers. svghmi
2021-02-19 Edouard Tisserant SVGHMI: Switch from {object} to Map for "updates" global, for performance but also preventing wierd behaviour when iterating svghmi
2021-02-18 Edouard Tisserant SVGHMI: Fixed HMI:ScrollBar to exclude cursor size from accessible range ( position is now 0->range-size instead of 0->range ). Fixed and extended tests/svghmi to have working ScrollBar on two alarm pages. Includes generated XSLT update. svghmi
2021-02-18 Edouard Tisserant SVGHMI: JsonTable removed useless promise since fetch() already does one. Updated generated XSLT. svghmi
2021-02-18 Edouard Tisserant SVGHMI: Optimization for JsonTable : reload JSON only when necessary, and avoid concurrent http requests. svghmi
2021-02-16 Edouard Tisserant merge svghmi
2021-02-16 Edouard Tisserant SVGHMI: update generated XSLT svghmi
2021-02-16 Edouard Tisserant SVGHMI: little fix ihn i18n example. svghmi
2021-02-16 Edouard Tisserant SVGHMI: Fixed sending HMI_REAL to PLC. Added a svghmi_real test that illustrates using printf style formating in HMI:Display to control precision of Float number display. svghmi
2021-02-16 Edouard Tisserant SVGHMI: i18n: ensure langs always appea in same order, and add two variables that are updated automatically when selecting a new language : lang_name and lang_code. Also fixed i18n startup, prevent wrong lang numer to crash loading. svghmi
2021-02-15 Edouard Tisserant SVGHMI: more straightforward implementation of dragging position computation in Scrollbar + some little fix about boundaries. svghmi
2021-02-14 Edouard Tisserant SVGHMI: allow i18n of formated strings of HMI:Messages. This was by construction impossible since formating was given as an argument. Now added optional "format" labelled element in HMI:Display, so that it can be translated, when labelled "_format". svghmi
2021-02-14 Edouard Tisserant SVGHMI: update generated XSLT svghmi
2021-02-14 Edouard Tisserant SVGHMI: i18n: prevent creating messages.pot if no translation svghmi
2021-02-14 Edouard Tisserant SVGHMI: Add inhibition to widget's apply_hmi_value() so that it does not change variable more frquently than given widget's frequency. This prevents flooding network with many update if browser is producing events at high rate, as for exemple when dragging ScrollBar's cursor. svghmi
2021-02-14 Edouard Tisserant SVGHMI: fix scrollbar not behaving when rotated. svghmi
2021-02-14 Edouard Tisserant SVGHMI: remove forgotten debug code svghmi
2021-02-12 Edouard Tisserant SVGHMI: Add a robust ScrollBar widget. HMI:ScrollBar@positionrange@size svghmi
2021-02-12 Edouard Tisserant SVGHMI: propagate default local variables (HMI_LOCAL, PAGE_LOCAL) to widgets at startup svghmi
2021-02-09 Edouard Tisserant SVGHMI: Update generated XSLT svghmi
2021-02-09 Edouard Tisserant SVGHMI: HMI:DropDown:#langs@lang now automatically shows human readable list of languages. tests/svghmi_i18n updated accordingly. svghmi
2021-02-09 Edouard Tisserant SVGHMI: Add a simple i18n test svghmi
2021-02-09 Edouard Tisserant SVGHMI: Prevent Dropdown widget to mak exception whe value out of range svghmi
2021-02-09 Edouard Tisserant SVGHMI: removed dead code svghmi
2021-02-09 Edouard Tisserant SVGHMI: Add "lang" permament persistent HMI_LOCAL variable to reflect selected language, apply stored language choice at startup and make it always subscribed to a pseudo widget (as for hearbeat) that apply language choice when it changes. svghmi
2021-02-09 Edouard Tisserant SVGHMI: Added HMI:VarInitPersistent to initialize persistent HMI_LOCAL and PAGE_LOCAL variables, stored as cookies in browser. svghmi
2021-02-09 Edouard Tisserant SVGHMI: Enforce formating HMI_LOCAL and PAGE_LOCAL variables until the end of variable name svghmi
2021-02-04 Edouard Tisserant SVGHMI: generate JS translation literals so that it is possible to also translate uses of texts, and added JS code that apply translations to tspans svghmi
2021-02-04 Edouard Tisserant SVGHMI: widget activable elements : moved code to wher it belongs, rewrote cleaner svghmi
2021-02-02 Edouard Tisserant SVGHMI: update generated XSLT svghmi
2021-02-02 Edouard Tisserant Merged svghmi
2021-02-02 Edouard Tisserant SVGHMI: make a copy of tests/svghmi as test/svghmi_widget because too crowded since having pages for widget documentation. Strip those pages from tests/svghmi, so that it svghmi
2021-02-02 Edouard Tisserant SVGHMI: Prevent excluded widget to appear in generated pages' widget list. svghmi
2021-02-02 Edouard Tisserant SVGHMI: Remove recursive walk in parsed widget to find unique type and use xsl:key instead. svghmi
2021-01-26 Edouard Tisserant SVGHMI: Fix browser side exception when some widget are not used, and are then discarded and not present in final SVG. In that case JS code was still making reference to discarded widget elements and was raising exception at init. svghmi
2021-01-26 Edouard Tisserant SVGHMI : removed support for changing keyboard position and showing at user defined location. Feature was problematic in many respect. svghmi
2021-01-25 Edouard Tisserant SVGHMI: Make an error when pages are nested svghmi
2021-01-22 Edouard Tisserant SVGHMI: i18n: finished passing back translated messaged to xslt proc, finished template to generate corresponding javascript literals. svghmi
2021-01-22 Edouard Tisserant SVGHMI: i18n: various fixes about unicode encoding and converting translation result back to XML to feed xslt processor svghmi
2021-01-21 Edouard Tisserant SVGHMI: i18n: better warning messages, more explicit. svghmi
2021-01-21 Edouard Tisserant SVGHMI: i18n: now loads PO filesand match translation against catalog. Refactored a bit to move i18n related code in i18n.py svghmi
2021-01-19 Edouard Tisserant SVGHMI: still WIP, now POT file is properly generated with utf-8 encoding and POEdit is launched when pressing button. svghmi
2021-01-18 Edouard Tisserant Docutil : reworked Inkscape launching and path resolution in docsvg.py svghmi
2021-01-15 Edouard Tisserant merge svghmi
2021-01-13 Edouard Tisserant Removed harmful assert in ProcessLogger. svghmi
2021-01-15 Edouard Tisserant SVGHMI: Intermediate commit while implementing i18n. WIP. svghmi
2021-01-05 Edouard Tisserant SVGHMI: Jump widget: switch to class based declaraion, and add some TODO comments to prepare for jump to relative page being selected through a DropDown widget. svghmi
2021-01-04 Edouard Tisserant SVGHMI: intermediate state of test/svghmi's SVG for backup... WIP svghmi
2021-01-04 Edouard Tisserant SVGHMI: CircularBar: use animate() + cormetic changes svghmi
2020-12-29 Edouard Tisserant SVGHMI: Meter widget: use animate() + cosmetic changes svghmi
2020-12-29 Edouard Tisserant SVGHMI: Update generated xslt svghmi
2020-12-29 Edouard Tisserant SVGHMI: Fix bug in keypad leading to error messages in browser console when keypas has no Shift or CapsLock keys svghmi
2020-12-29 Edouard Tisserant SVGHMI: cosmetic changes svghmi
2020-12-29 Edouard Tisserant SVGHMI: Input widget overrides undershot() and overshot() methods to display "min: xxx" or "max: xxx" when user input goes out of given range. svghmi
2020-12-29 Edouard Tisserant SVGHMI: Added clipping to min and max value for all widget using @path,min,max syntax. Added overshot() and undershot() methods to widget base class, called when value is limited to max or min respectively. svghmi
2020-12-24 Edouard Tisserant SVGHMI: decoupled operation string evaluation from HMI variable uptdate in change_hmi_variable(), paving the way for min/max boundaries enforcement svghmi
2020-12-24 Edouard Tisserant SVGHMI: Added parsing of min and max value that can be given as @path,min,max in widget description svghmi
2020-12-22 Edouard Tisserant Merged default in svghmi branch svghmi
2020-12-21 Edouard Tisserant WebInterface: better wording for wiping PLC content: "Repair" svghmi
2020-12-18 Edouard Tisserant SVGHMI: almost rewrote Input widget to make it new class based style. svghmi
2020-12-18 Edouard Tisserant runtime: added restart/reset button in web settings. Accidentaly fixed web settings logging feature. svghmi
2020-12-17 Edouard Tisserant SVGHMI: added dropdown selection highlighting and fixed scrolling so that it doesn't miss any entry while jumping from one page to the other. svghmi
2020-12-16 Edouard Tisserant SVGHMI: change scroll buttons into single unicode triangle and center them. Use highlight rectangle duplicated and hidden to catch selection clicks so that the whole row is clickable. svghmi
2020-12-15 Edouard Tisserant SVGHMI: DropDown widget now using new class based style svghmi
2020-12-10 Edouard Tisserant Add a little test to see OnChange's .count .first .last in action svghmi
2020-12-10 Edouard Tisserant Fixed "Onchange" object added in previous commit svghmi
2020-12-10 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. svghmi
2020-12-07 Edouard Tisserant SVGHMI: cosmetic fixes in button widget svghmi
2020-12-05 Edouard Tisserant SVGHMI: Rewrote button widget. svghmi
2020-12-02 Edouard Tisserant SVGHMI: update generated XSLT svghmi
2020-12-02 Edouard Tisserant SVGHMI: stuff test so that it moves all the time, to have better chance to spot memory leaks... svghmi
2020-12-02 Edouard Tisserant SVGHMI: prevent unwnted context menu and pinch zoom svghmi
2020-12-02 Edouard Tisserant SVGHMI: more attempts to prevent losing memory in JS closure svghmi
2020-11-27 Edouard Tisserant SVGHMI: WIP trying to reduce memory usage : use .onclick onstead of SetAttribute, avoid useless closure and object creation when possible, etc. svghmi
2020-11-25 Edouard Tisserant SVGHMI: update generated xslt file svghmi
2020-11-25 Edouard Tisserant SVGHMI: use const when applicable svghmi
2020-11-25 Edouard Tisserant SVGHMI: prevents text and svg elements selection on the whole page when dragging. svghmi
2020-11-25 Edouard Tisserant SVGHMI: Update default test to check that Input widget is indeed updated when variable changes. svghmi
2020-11-25 Edouard Tisserant SVGHMI: Fix: on screen keyboard wasn't showing up when editing local variables through Input widget. svghmi
2020-11-20 Edouard Tisserant Project tree: avoid flickering and glitches in notebook when selecting some still not opened ConfigTreeNode svghmi
2020-11-18 Edouard Tisserant merge svghmi
2020-11-18 Edouard Tisserant py_ext: better handling of coma separated OnChange attribute for python safe global variables. svghmi
2020-11-18 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. svghmi
2020-11-02 Edouard Tisserant Allow customization of generated py_ext OnChange calls, by adding a static method to PythonFileCTNMixin that can the be later hot patched. svghmi
2020-10-28 Edouard Tisserant Arbitrary variables added to JsonTable subscription are now passed as 'extra' field in json query. As an example added JsonTable filtering in tests/svghmi svghmi
2020-10-22 Edouard Tisserant SVGHMI: Fix HMI_REAL support, and add a HMI_REAL use case in tests/svghmi. svghmi
2020-10-19 Edouard Tisserant merge svghmi
2020-10-19 Edouard Tisserant SVGHMI: JsonTable now outputs "visible" value as well. svghmi
2020-10-19 Edouard Tisserant SVGHMI: non significant cosmetic changes svghmi
2020-10-19 usveticic - New widget customHtml which allows to insert block of html code svghmi
2020-10-19 Edouard Tisserant PY_EXT: OnChange is now a coma separated list of callables. Updated tests/python accordingly. svghmi
2020-10-01 usveticic Button fix if no active or inactive state, svghmi
2020-09-30 usveticic Merge two different heads svghmi
2020-09-24 Edouard Tisserant SVGHMI: Documentation fix svghmi
2020-09-24 usveticic Button and toggle reworked to use animate and dispatch svghmi
2020-09-17 Edouard Tisserant Merge + fix side effects of making warning instead of errors in case of missing HMI variable svghmi
2020-09-16 usveticic Updated svg and xml for testing program svghmi
2020-09-16 usveticic Button, ToggleButton and slider updated. Error to warning when building svghmi
2020-09-15 Edouard Tisserant Modbus: fixed typo in ctype typing. svghmi
2020-09-11 Edouard Tisserant MODBUS: Fix saving of websettings. svghmi
2020-09-10 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. svghmi
2020-09-03 Edouard Tisserant SVGHMI: Better error message when inkscape is not installed. svghmi
2020-09-02 Edouard Tisserant SVGHMI: nicer error message svghmi
2020-09-01 Edouard Tisserant Merge svghmi
2020-08-31 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. svghmi
2020-08-28 Edouard Tisserant SVGHMI: JsonTable can now have clickable elements, that trigger a request with extra argument whose content is taken from Json data. svghmi
2020-08-28 Edouard Tisserant Merged svghmi
2020-08-28 Edouard Tisserant SVGHMI: cosmetic fix in test svghmi
2020-08-18 usveticic All widgets reworked to use widget class and animate function if needed svghmi
2020-08-27 Edouard Tisserant SVGHMI: Moved JsonTable/Alarm related test in a separate page. svghmi
2020-08-27 Edouard Tisserant SVGHMI: JsonTable now ignores elements and groups starting with # svghmi
2020-08-27 Edouard Tisserant SVGHMI: Fix keypad : non-number input was always considered invalid because of missing type checking. svghmi
2020-08-26 Edouard Tisserant SVGHMI: JsonTable now updates range and position variables so that slider widget can update. svghmi
2020-08-26 Edouard Tisserant SVGHMI: Fix multiple variable support in widget svghmi
2020-08-26 Edouard Tisserant SVGHMI: Add TODOs in Button widgets. svghmi
2020-08-26 Edouard Tisserant SVGHMI: Alarm test not using Button widget anymore, too many problems. Use Input widget instead to increment value on each click and execute python code on change. svghmi
2020-08-25 Edouard Tisserant SVGHMI: little fix in HMI:Button svghmi
2020-08-25 Edouard Tisserant SVGHMI: JsonTable now use intermediate variables again to address JSON data without duplicating code or referencing. Using intermediate variables also alows to check for availability of data and stop evaluating early if data is missing. Finally added complete roundtrip example to illustrate use of JSonTable to display "alarms" collected in python from changes on PLC boolean variables. svghmi
2020-08-24 Edouard Tisserant SVGHMI: removed debug code forgotten here and there. svghmi
2020-08-21 Edouard Tisserant SVGHMI: JsonTable now makes meaningfull JSON request : all arguments and variables are passed in. svghmi
2020-08-21 Edouard Tisserant SVGHMI: Keypad is now keeping Javascript type constency. In other words, if a number was given as initial value, input value will have to convert to number in order to be valid. In case invalid value is entered, initial value is restored. svghmi
2020-08-20 Edouard Tisserant SVGHMI: Behave when project path include spaces, and make more understandable error in case of problem extracting geometry with inkscape. svghmi
2020-08-20 Edouard Tisserant SVGHMI: Refactor the way JsonTable generate javascript code to access json data. Now support multiple assignments, used in the case of text to change both content and style on the same element. svghmi
2020-08-20 Edouard Tisserant SVGHMI: Fix again clone unlinking, and this time add an "original" attribute to track the id of the original object before unlinking. svghmi
2020-08-17 Edouard Tisserant SVGHMI: Fix svg test file while testing latest JsonTableChanges svghmi
2020-08-15 Edouard Tisserant SVGHMI: HMI:JsonTable also recognize TextStyleList, but parsing of textContent is still not implemented and style is still not updated. svghmi
2020-08-15 Edouard Tisserant SVGHMI: Deeper clone unlinking. Was actually not recursive, and clones in clones where not unlinked. Stack successive ids to avoid collisions. svghmi
2020-08-13 Edouard Tisserant SVGHMI: factorize dispatch calling logic. svghmi
2020-08-13 Edouard Tisserant SVGHMI: HMI:VarInit:"a string"@a_value : empty widget (i.e. empty svg:group) that initialize content of local variables to value given as first argument. svghmi
2020-08-12 Edouard Tisserant Merge svghmi
2020-08-12 Edouard Tisserant SVGHMI: Add more local HMI variable tests in tests/svghmi. svghmi
2020-08-11 Edouard Tisserant SVGHMI: finished initial implementation of PAGE_LOCAL and HMI_LOCAL variables. svghmi
2020-08-10 Edouard Tisserant SVGHMI: add a SetPoint to Slider Widget, visible only when operating the slider. svghmi
2020-08-10 Edouard Tisserant SVGHMI: Update Slider widget so that it doesn't display future value but actual value only. svghmi
2020-08-10 Edouard Tisserant SVGHMI: provide request_animate() to Widget authors so that they can register redraw code when events lead to redraw. Widget member animate() is called when it is time to update DOM. svghmi
2020-08-10 Edouard Tisserant Merge svghmi
2020-08-08 Edouard Tisserant SVGHMI: Intermediate state while implementing local HMI variables. Now write to cache only (no send), still need to implement dispatch on change. svghmi
2020-08-05 usveticic Beremiz test project with newly created widgets. svghmi
2020-08-05 usveticic Rebuilded gen_index_html.xslt after all new widgets were commited svghmi
2020-08-05 usveticic Create new multistate widget which extand class widget svghmi
2020-08-05 usveticic Create new CircularSlider widget which extand class widget svghmi
2020-08-05 usveticic Create new slider widget which extand class widget svghmi
2020-08-05 usveticic Reworked togglebutton widget to extand class widget svghmi
2020-08-05 usveticic Changed keyboard to show on defined position. svghmi
2020-08-05 usveticic Reworked button widget so it uses classes. svghmi
2020-08-06 Edouard Tisserant SVGHMI: allow multiple variables and formatting in Display widget. Formatting is printf style and given as first argument. If no formating is given as widget argument, space separated. svghmi
2020-08-06 Edouard Tisserant SVGHMI : have to move some JS declarations from "preamble" to "declarations" and others from "declarations" to "definitions" section to make room for JS libraries that would be used by widget classes. svghmi
2020-08-05 Edouard Tisserant SVGHMI: JS refactoring continued : "dispatch_value_to_widget" becomes widget class member "new_hmi_value" (was also broken by previous relativeness commit) svghmi
2020-08-05 Edouard Tisserant SVGHMI: widgets are not anymore binary relative or absolute, but have a "relativeness". svghmi
2020-08-04 Edouard Tisserant SVGHMI: More JS code refactoring : change_hmi_value and apply_hmi_value now methods of widget class. svghmi
2020-08-03 Edouard Tisserant SVGHMI: Better JS code semantic in ForEach widget class. Update lagging generated xslt. svghmi
2020-08-03 Edouard Tisserant SVGHMI: Add ForEach Widget is svghmi test svghmi
2020-08-03 Edouard Tisserant SVGHMI: add get_idx(index) to widget objects to factorize a bit code repeated accross widgets. To be continued. svghmi
2020-08-03 Edouard Tisserant SVGHMI: prefer apply_hmi_value() to change_hmi_value() when possible svghmi
2020-08-03 Edouard Tisserant SVGHMI: Add RelativePages to tests svghmi
2020-08-03 Edouard Tisserant SVGHMI: Update Widget Display templates to generate Class based declaration. svghmi
2020-07-22 Edouard Tisserant SVGHMI: JsonTable now picks items from HMI:List, and update texts, all according to Json data. Still miss scrolling. svghmi
2020-07-17 Edouard Tisserant SVGHMI: JsonTable now generate working data access code for data/* elements. svghmi
2020-07-17 Edouard Tisserant SVGHMI: Minimal support for HMI:List : clones pointing to elements of any HMI:List are never unlinked, widgets using HMI:List will rely on this. svghmi
2020-07-14 Edouard Tisserant SVGHMI: minimal JSON Table Widget communication infra + corresponding python code as py_ext code in svghmi test. To be continued. svghmi
2020-07-13 Edouard Tisserant Python Runtime: order of execution of extension's init() and cleanup() now reflects order of appearance of extensions in configuration tree. svghmi
2020-07-10 Edouard Tisserant Python Runtime : stil untested optimization of Python Safe Globals. svghmi
2020-07-03 Edouard Tisserant Prevent global python_poll blocks to be created when accidentally adding content to C-File OnChange column. svghmi
2020-07-03 Edouard Tisserant Merge from default svghmi
2020-06-29 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. svghmi
2020-06-24 Edouard Tisserant Modbus: fix client timer invalid arguments. svghmi
2020-06-23 Edouard Tisserant Modbus add a timer thread, and switch timer to SIGEV_THREAD_ID to follow xenomai posix skin restrictions. svghmi
2020-06-19 Edouard Tisserant Runtime: Fix typo in PLCObject leading to exception when reporting failure. svghmi
2020-06-18 Edouard Tisserant merged svghmi
2020-06-18 Edouard Tisserant SVGHMI: Fix bug introduced when merging default svghmi
2020-06-18 Edouard Tisserant SVGHMI: Add use of Python PLC Globals it test svghmi
2020-06-18 Edouard Tisserant Merge default changes in SVGHMI svghmi
2020-06-18 Edouard Tisserant Merge default changes in SVGHMI svghmi
2020-06-04 Edouard Tisserant SVGHMI: add "unsubscribable" property to widgets in order to generalize what already happens for jump buttons. svghmi
2020-06-03 Edouard Tisserant merge svghmi
2020-05-29 dgaberscek Merge svghmi
2020-05-26 dgaberscek SVGHMI: Added widget toggleButton. svghmi
2020-05-26 dgaberscek SVGHMI: Changed widget button handler to element attribute. svghmi
2020-06-02 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. svghmi
2020-06-02 Edouard Tisserant IDE: Main toolbar : Show repair button also in stop mode. Move repair button after disconnect button. svghmi
2020-06-01 Edouard Tisserant Runtime: fsync() files when transfering them, to prebent data loss when poweroff soon after programming. Fixed variable naming as a side effect. svghmi
2020-05-28 Edouard Tisserant PLCObject : reorganize code in StartPLC(), add a PreStartPLC() empty method, to be overloaded by runtime extensions. svghmi
2020-05-26 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. svghmi
2020-05-21 Edouard Tisserant SVGHMI: stop using eval in change_hmi_value, apparently slowly leaking memory. svghmi
2020-05-14 Edouard Tisserant SVGHMI: Switch widget was picking sub-elements from original SVG, not the result SVG ehwe clones are unlinked, thus making problems with svg:use based widgets. svghmi
2020-05-14 Edouard Tisserant SVGHMI: When unlinking a clone of a group, do not create additional group, but merge transformation and styles, and replace label. This allows svg:use based widgets to directly access elements of svg:use targeted element. svghmi
2020-05-14 Edouard Tisserant SVGHMI: Applies clone unlinking to widget themselves, not only to clones inside widgets. svghmi
2020-05-14 Edouard Tisserant merge svghmi
2020-05-13 Edouard Tisserant SVGHMI: Makes error when HMI tree is not well formed. Prevents multiple and non-first HMI_NODE, and ensure that all paths in HMI tree are unique. svghmi
2020-05-13 Edouard Tisserant Added FatalError call to Libraries code gen, so that they can emit messages addressed like config tree nodes do. svghmi
2020-05-13 Edouard Tisserant SVGHMI: more Widget properties declared ES6 style. svghmi
2020-05-13 Edouard Tisserant SVGHMI: Switch widget now use class declaration svghmi
2020-05-13 Edouard Tisserant SVGHMI: Update Button widget to class declaration, and add a button widget in tests/svghmi. svghmi
2020-05-13 Edouard Tisserant SVGHMI: explicit handling of undefined maximum widget update frequency svghmi
2020-05-13 Edouard Tisserant SVGHMI: removed dead code svghmi
2020-05-13 Edouard Tisserant SVGHMI: Back button updated to class style svghmi
2020-05-11 Edouard Tisserant merge svghmi
2020-05-11 Edouard Tisserant DEBUG: (IDE side) fixed wrong implementation of anti-rapid-fire leading to systematic delay in subscribing svghmi
2020-05-10 Edouard Tisserant SVGHMI: Exclude non-widget HMI:* labeled elements from hmi_widget. Namely : HMI:Page HMI:Lang and HMI:List have been excluded. svghmi
2020-05-10 Edouard Tisserant SVGHMI: clean up dead code, update generated xslt. svghmi
2020-05-10 Edouard Tisserant SVGHMI: apply per class overloading of sub/unsub to Jump widget svghmi
2020-05-10 Edouard Tisserant SVGHMI: apply per class overloading of sub/unsub to ForEach widget svghmi
2020-05-10 Edouard Tisserant SVGHMI: Widget's specific sub/unsub traits are now wxpressed in widget's class. svghmi
2020-05-10 Edouard Tisserant SVGHMI: Parameters common to all widget constructors now passed as ordered parameters. svghmi
2020-05-08 Edouard Tisserant SVGHMI: One class per widget type, widget objects are instances of these classes, and members are passed through constructor. This allows to keep compatible with previous widget_defs template used in most widgets. svghmi
2020-05-08 Edouard Tisserant SVGHMI: Add an exslt function to collect used widget types, in order to only include necessary JS definitions in furure changes. svghmi
2020-05-08 Edouard Tisserant SVGHMI: Systematically output local name as /* comment */ when emiting content. svghmi
2020-04-24 Edouard Tisserant Merge svghmi
2020-04-24 Edouard Tisserant SVGHMI: Fix flawed logic to place nodes in the HMI tree, leading to wrecked tree in some cases. svghmi
2020-04-22 dgaberscek Added button and circular bar widgets. svghmi
2020-04-20 Edouard Tisserant SVGHMI: added more meaningful namespaces to emit javascript code from. svghmi
2020-04-19 Edouard Tisserant SVGHMI: moved JS code of foreach and jump widget in corresponding widget_*.ysl2. To be continued. svghmi
2020-04-19 Edouard Tisserant SVGHMI: spread JS code from svghmi/scripts.ysl2 in other .ysl2 files, using dedicated preamble and epilogue namespaces svghmi
2020-04-19 Edouard Tisserant SVGHMI: Introduced "emit" to simplify producing per-topic code and content from anywhere in code. Applied to debug output, next to JS. svghmi
2020-04-18 Edouard Tisserant SVGHMI: Move reflective debug tags from "reflect" to "debug" namespace, preparing for per-purpose namespaces. svghmi
2020-04-18 Edouard Tisserant SVGHMI: Added scripts.ysl2 svghmi
2020-04-18 Edouard Tisserant SVGHMI: moving code wher it belongs, and reformulate some declarations for better readability. svghmi
2020-04-16 Edouard Tisserant SVGHMI: HMI:DropDown: more documentation. svghmi
2020-04-15 Edouard Tisserant SVGHMI: Comments in HMI:DropDown source code svghmi
2020-04-14 Edouard Tisserant SVGHMI: HMI:DropDown menu aligns to selected when opening svghmi
2020-04-14 Edouard Tisserant SVGHMI: When clicking outside of opened HMI:DropDown box, close it. svghmi
2020-04-14 Edouard Tisserant SVGHMI: Fix HMI:DropDown flicker on close. svghmi
2020-04-14 Edouard Tisserant SVGHMI: HMI:DropDown now temporarily takes content from widget's arguments, until HMI:List is implemented. svghmi
2020-04-14 Edouard Tisserant SVGHMI: Connect HMI:DropDown to value in HMI Tree, in svghmi test as well. svghmi
2020-04-14 Edouard Tisserant SVGHMI: fix probable problem in HMI:Input, where value could be applied to wrong index if used in relative page. svghmi
2020-04-14 Edouard Tisserant SVGHMI: HMI:DropDown element is brought in front when opened, so that it isn't occulted by other widgets at the same level. svghmi
2020-04-14 Edouard Tisserant SVGHMI: HMI:DropDown now catches all clicks when open svghmi
2020-04-14 Edouard Tisserant SVGHMI: Add button element to HMI:DropDown, also fix problem with computed box margins. svghmi
2020-04-14 Edouard Tisserant SVGHMI: HMI:DropDown now scrolls forward and backward svghmi
2020-04-13 Edouard Tisserant SVGHMI: progress on HMI:DropDown - now selects some value on click, and close svghmi
2020-04-12 Edouard Tisserant SVGHMI: HMI:DropDown work in progress, intermediate commit. Now menu's rectangle grows up to viewport borders. svghmi
2020-04-09 Edouard Tisserant SVGHMI: intermediate commit while working on dropdown widget. svghmi
2020-04-07 Edouard Tisserant SVGHMI: HMI is not speculating on PLC variable update anymore when sending new variable value. svghmi
2020-04-04 Edouard Tisserant SVGHMI: finished shift and capslock support n keypad widget. Added a helper in widgets_common to collect subelements likle active/inactive/disabled... svghmi
2020-04-04 Edouard Tisserant SVGHMI: fixed keypad JS regarding shift/capslock and other details svghmi
2020-04-04 Edouard Tisserant Fix unmatched "Courier" font for monospace fonts on latest ubuntu 20.04. Selected "FreeMono" instead, present since at least 18.04 svghmi
2020-04-03 Edouard Tisserant SVGHMI: Keypad working for HMI_STRING, still Shift/CapsLock not finished. svghmi
2020-04-03 Edouard Tisserant SVGHMI: fix keyboard not showing svghmi
2020-04-03 Edouard Tisserant SVGHMI: Added keypads to svghmi test's SVG file svghmi
2020-04-03 Edouard Tisserant merge svghmi
2020-04-02 Edouard Tisserant SVGHMI: Keypad: added code to re-attach keypad when starting edit. svghmi
2020-04-02 Edouard Tisserant SVGHMI: removed debug code svghmi
2020-04-02 Edouard Tisserant SVGHMI: More infrastructure for editing values with a keypad. svghmi
2020-04-02 Edouard Tisserant SVGHMI: Widget input buttons should be clickable through svg:use (onclick attribute instead of addEventListener) svghmi
2020-04-01 Edouard Tisserant SVGHMI: moved dead code to where it belongs svghmi
2020-04-01 Edouard Tisserant SVGHMI: empty widget_keypad.ysl2, WIP svghmi
2020-03-31 Edouard Tisserant SVGHMI: HMI:Switch now accepts boolean values 'true' and 'false' svghmi
2020-03-30 Edouard Tisserant SVGHMI: Jump widget, if it has a 'disabled' labeled element, reflects value of the pointed HMITree variable by showing this element when value is False, and behaving normaly otherwise. svghmi
2020-03-30 Edouard Tisserant SVGHMI: prevent man-made memory leak by limiting back button history items count to 42 svghmi
2020-03-29 Edouard Tisserant SVGHMI: collect debug data through xslt reflectivity instead of yml2/python trick svghmi
2020-03-27 Edouard Tisserant SVGHMI: Jump widget can now display as active or inactive, if corresponfing "active" and "inactive labeled elements are provided. svghmi
2020-03-26 Edouard Tisserant SVGHMI: added Back widget. svghmi
2020-03-26 Edouard Tisserant SVGHMI: Jump widget now make errors if path given for relative jump doesn't match target page reference path class. svghmi
2020-03-26 Edouard Tisserant SVGHMI: Check that explicit relative page jump path is consistant with destination page reference path. svghmi
2020-03-25 Edouard Tisserant SVGHMI: ForEach Widget now has a better wrap-around when scrolling : hit the boundary systematically before wrapping svghmi
2020-03-25 Edouard Tisserant SVGHMI: Alow relative relative Jump. (i.e, relative jump from a foreach widget) svghmi
2020-03-25 Edouard Tisserant SVGHMI: Generalize applying cache to widgets, be it from page or ForEach widgets. Now ForEach widget buttons work as expected. svghmi
2020-03-24 Edouard Tisserant SVGHMI: Widget ForEach buttons now call corresponding methods. svghmi
2020-03-24 Edouard Tisserant SVGHMI: ForEach now has working (un)subscribe. Fixed PageSwitch that wasn't behaving when jumping to current page with another path. svghmi
2020-03-23 Edouard Tisserant SVGHMI: Easier way to match HMI tree elements to paths. ForEach widget now looks for paths and indexes of all items, and enforce path to be consistent with ForEach items sub widgets svghmi
2020-03-23 Edouard Tisserant SVGHMI: added func:get_hmi_tree_elt to match HMI tree node from path. Continue implementing ForEach widget : force order and completeness of items list. Now also collecting ForEach buttons. svghmi
2020-03-23 Edouard Tisserant SVGHMI: ForEach knows its own widgets svghmi
2020-03-20 Edouard Tisserant SVGHMI: add widget_foreach.ysl2 svghmi
2020-03-20 Edouard Tisserant SVGHMI: make root HMI tree node a HMI_NODE, droped HMI_ROOT node type svghmi
2020-03-19 Edouard Tisserant SVGHMI: reworked widget (un)subscription now a method of widgect object, allowing special subscription methods svghmi
2020-03-19 Edouard Tisserant SVGHMI: Exclude (again) sub-widgets of forEach widget from page-switch managed widget. svghmi
2020-03-19 Edouard Tisserant SVGHMI: cosmetic changes svghmi
2020-03-19 Edouard Tisserant SVGHMI: Simplification and optimization. func:parselabel becomes a template. svghmi
2020-03-18 Edouard Tisserant SVGHMI: intermediate untested state. Excluded ForEach widget from pages handled widgets. svghmi
2020-03-18 Edouard Tisserant SVGHMI: update Makefile to pick all changes to any dependency svghmi
2020-03-18 Edouard Tisserant SVGHMI: created widget_*.ysl2. Renamed widget_common in widgets_common, so that it doesn't match globing. svghmi
2020-03-17 Edouard Tisserant SVGHMI: moving comments svghmi
2020-03-17 Edouard Tisserant SVGHMI: added widget_common.ysl2 svghmi
2020-03-17 Edouard Tisserant SVGHMI: More readable debug output gen code svghmi
2020-03-17 Edouard Tisserant SVGHMI: Cosmetic changes svghmi
2020-03-17 Edouard Tisserant SVGHMI: added inline_svg.ysl2 svghmi
2020-03-17 Edouard Tisserant SVGHMI: detachable_elements.ysl2 becomes detachable_pages.ysl2, and includes logic to process pages elements. Other minor code moves. svghmi
2020-03-17 Edouard Tisserant SVGHMI: moved debug code svghmi
2020-03-17 Edouard Tisserant SVGHMI: created detachable_elements.ysl2 svghmi
2020-03-17 Edouard Tisserant SVGHMI: more debug code moved to hmi_tree.ysl2 svghmi
2020-03-17 Edouard Tisserant SVGHMI : create hmi_tree.ysl2, rename bbox_intersect.ysl2 into geometry.ysl2 and move more code into. Add per included ysl2 file debug output. svghmi
2020-03-16 Edouard Tisserant SVGHMI: created bbox_intersect.ysl2 svghmi
2020-03-16 Edouard Tisserant SVGHMI: Re-enable dispatch to arrays of functions in case of multiple suscription per widget. Still unused, but disabled for reasons not any more true. svghmi
2020-03-13 Edouard Tisserant SVGHMI: relative pages and page jumps svghmi
2020-03-13 Edouard Tisserant SVGHMI: take care of path given in HMI:Page and HMI:Jump, but do not apply subscription offset for now. Intermediate commit in a "working" state. svghmi
2020-03-12 Edouard Tisserant SVGHMI: significant whitespace changes svghmi
2020-03-12 Edouard Tisserant SVGHMI: unsignificant changes or changes in generated code svghmi
2020-03-12 Edouard Tisserant SVGHMI: Stop ignoring HMI_NODE in HMI tree, and count it as a BOOL. Soon we use those nodes as reference for relative page jump, and as an "enable" bit for features associated to an HMI tree fragment. svghmi
2020-03-12 Edouard Tisserant SVGHMI: cosmetic code moving svghmi
2020-03-10 Edouard Tisserant SVGHMI: split page switch into switching subscription and switching elements in the DOM, to ensure that subscriptions have been send before changing DOM, and avoid some flicker. svghmi
2020-03-09 Edouard Tisserant SVGHMI: fix wrong updates of HMI variables on each change, especially when not subscribed. svghmi
2020-03-09 Edouard Tisserant SVGHMI: whitespaces svghmi
2020-03-06 Edouard Tisserant SVGHMI: fixed repeated error when Input widget is missing 'value' element svghmi
2020-03-06 Edouard Tisserant SVGHMI: more decoupling in between UI related and the rest of JS code, still in the aim of enhancing robustness under heavy load. svghmi
2020-03-06 Edouard Tisserant SVGHMI: use requestAnimationFrame to delegate rendering of updates from network. Should help prevent browser collapse leading to watchdog in case of overload. svghmi
2020-03-05 Edouard Tisserant SVGHMI: Fix disapearing elements in case of nested detachable elements. svghmi
2020-03-05 Edouard Tisserant SVGHMI: Meter widget accepts 2 arguments : min and max, taken in account when min or max text element is missing svghmi
2020-03-04 Edouard Tisserant SVGHMI: More precise error message on missing HMI path. Meter widget now defaults 0-100 range when min and max elements arent's present, without error. svghmi
2020-03-04 Edouard Tisserant SVGHMI: more whitespace fixes svghmi
2020-03-04 Edouard Tisserant SVGHMI: unlink clones (i.e. deep copy elements refered by svg:use) inside widget. svghmi
2020-03-04 Edouard Tisserant SVGHMI: whitespaces and comments svghmi
2020-03-03 Edouard Tisserant SVGHMI: completely fixed indentation of generated widget description. Lets try to keep it as-is until we can use yslt indentation. svghmi
2020-03-03 Edouard Tisserant SVGHMI: re-indent generated JS svghmi
2020-03-02 Edouard Tisserant SVGHMI: detach/re-attach elements required by pages on page switch svghmi
2020-03-02 Edouard Tisserant SVGHMI: re-indenting svghmi
2020-03-02 Edouard Tisserant SVGHMI: declares pages detachable requirements as an object, to find more efficiently common requirements svghmi
2020-03-02 Edouard Tisserant SVGHMI: fix some JS + add generation of detachable elements, to be continued svghmi
2020-02-28 Edouard Tisserant SVGHMI: now compute discardable elements first so that we can do better grouping of required elements when sumarizing. svghmi
2020-02-28 Edouard Tisserant SVGHMI : documentation for new geometry intersection computation code + little fixes... svghmi
2020-02-28 Edouard Tisserant SVGHMI: detachable and discardable elements sets, Reworked geometric intersection, toward more accurate page content detection. svghmi
2020-02-27 Edouard Tisserant SVGHMI : still trying to optimize. Added xslt code to identitfy minimum set of elements needed by a particular page. Plan is to remove unseen/unused elements from the DOM, and re-appending them later when used, on page switch. Disabled previous optimization. svghmi
2020-02-21 Edouard Tisserant SVGHMI: attempt to optimize for webkit, because of really slow style recompute in svg:use : "unlink clones" (as in inkscape) but stop deep-copy when meeting a widget, and create a new clone instead. svghmi
2020-02-21 Edouard Tisserant SVGHMI: optimize browser work by hiding (display:none) pages that are not displayed. svghmi
2020-02-21 Edouard Tisserant SVGHMI: Better and less verbose SVG namespace handling in XSLT transform svghmi
2020-02-17 Edouard Tisserant SVGHMI: Added mostly untested switch widget svghmi
2020-02-14 Edouard Tisserant SVGHMI: HMI:Page can now be a svg:g group or a svg:use clone, and included/linked widget are included in page. HMI:Jump was updated to be clickable through svg:use, to be generalized. svghmi
2020-02-14 Edouard Tisserant SVGHMI: ensure that coordinate in CSV file generated by inkscape are both matching svg default unit and in default reference frame svghmi
2020-02-13 Edouard Tisserant SVGHMI : still behave, even if important things are missing in SVG widget definitions (ex: needle missing for Meter widget) svghmi
2020-02-13 Edouard Tisserant SVGHMI : fix watchdog exception when timeout null svghmi
2020-02-11 Edouard Tisserant SVGHMI: be a bit more tolerant with missing HMI paths or missing elements in widgets : continue build (with warning) and fail silently at runtime. svghmi
2020-01-30 Edouard Tisserant SVGHMI : fixed bug happening when some SVG ids are containing dashes svghmi
2020-01-23 Edouard Tisserant SVGHMI : wait for initial timeout after watchdog is triggered, since it generaly induces HMI restart svghmi
2020-01-23 Edouard Tisserant SVGHMI : watchdog is now taking an initial and interval duration as CTN fields. svghmi
2020-01-21 Edouard Tisserant SVGHMI : avoid caching of xhtml file by forcing cache-control header in http response. svghmi
2020-01-17 Edouard Tisserant SVGHMI : HMI_STRING now also supported from HMI to PLC svghmi
2020-01-15 Edouard Tisserant SVGHMI : cosmetic svghmi
2020-01-15 Edouard Tisserant SVGHMI non significant fixes svghmi
2020-01-14 Edouard Tisserant SVGHMI : support for HMI_STRING and HMI_BOOL svghmi
2020-01-14 Edouard Tisserant plc_debug.c/var_acces.c : whitespace cleanup and other cosmetic changes svghmi
2020-01-13 Edouard Tisserant SVGHMI : Added python fomating {port} and {name} to commands so that command can build target URL svghmi
2020-01-10 Edouard Tisserant SVGHMI : add on Start, Stop and Watchdog command fields to configuration svghmi
2020-01-10 Edouard Tisserant SVGHMI: added a watchdog. To ensure that the whole chain is checked, watchdog use a periodic echo of a hearteat variable. JS client code systematically register /HEARTBEAT at 1s update freq, and reacts on updates of /HEARTBEAT by systematically incrementing it. C code catch /HEARTBEAT update and feeds python-implemented watchdog. For now, watchdog does nothing when tiggered svghmi
2019-12-18 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. svghmi
2019-12-09 Edouard Tisserant SVGHMI : had to move the problem of wkaing up python thread from plc thread to platform specific code. svghmi
2019-12-09 Edouard Tisserant SVGHMI: change collect/send thread looping condition to fix infinite loop in some cases svghmi
2019-12-03 Edouard Tisserant SVGHMI: re-implemented tree view with classic wxTreeCtl svghmi
2019-12-03 Edouard Tisserant Non significant changes, whitespaces, etc. svghmi
2019-11-15 Edouard Tisserant SVGHMI: Added simple HMI Tree View. svghmi
2019-11-14 Edouard Tisserant SVGHMI: add a class attribute to HMI Tree nodes, set when using HMI_NODE svghmi
2019-11-13 Edouard Tisserant SVGHMI: HMI_LABEL and HMI_CLASS become HMI_NODE. svghmi
2019-11-13 Edouard Tisserant Add FatalError() method to ConfigTreeNode. svghmi
2019-11-07 Edouard Tisserant SVGHMI: various fixes to make SVGHMI behave on more versions of twisted and GCC. svghmi
2019-10-30 Edouard Tisserant SVGHMI - prepare page with cached data when switching. This prevents values that do not change and that was already subscribed in previous page from keeping undefined. svghmi
2019-10-29 Edouard Tisserant SVGHMI: various insignificant code moves, commenting and typos fixes. svghmi
2019-10-29 Edouard Tisserant SVGHMI : fancier second page in tests/svghmi svghmi
2019-10-28 Edouard Tisserant SVGHMI: SVG viewport now defined so that HMI take scales and fit to the view. Implemented page switch through viewport change, no hiding of widget for now. svghmi
2019-10-28 Edouard Tisserant SVGHMI - added simple Meter widget. svghmi
2019-10-27 Edouard Tisserant SVGHMI: Quicker update path for input widget when pressing on buttons, do not wait until data comes back, and simply update value text of the pressed widget. Updated PLC prog for more amimated value to display svghmi
2019-10-27 Edouard Tisserant SVGHMI: fixed HMI->PLC dataflow : not updates as expected, and not initialized properly after subscribe. svghmi
2019-10-24 Edouard Tisserant Fixed one more sequel of 5f79b194fa63 'SVGHMI: filter out temporary variables created while generating ST code out of FBD.' svghmi
2019-10-24 Edouard Tisserant SVGHMI: Added relative changes of HMI value from widgets. svghmi
2019-10-22 Edouard Tisserant SVGHMI - Fixed svghmi.{c,js} about HMI -> PLC data unpack. svghmi
2019-10-22 Edouard Tisserant SVGHMI: Added init call to all widgets at startup to bind events. More features in Input widget : Edit and Change buttons. WIP HMI->PLC value update, incoherent data detected in C part on update. svghmi
2019-10-18 Edouard Tisserant SVGHMI: dispatching data to minimalist "Display" text widget. svghmi
2019-10-17 Edouard Tisserant SVGHMI: Many fixes. Subscriptions to HMItree seems to be working, and dispatch function is called in JS with good data. Bidirectional communication now really working. svghmi
2019-10-15 Edouard Tisserant SVGHMI : many details about communication implemented in JS, with side effects. svghmi
2019-10-11 Edouard Tisserant 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. svghmi
2019-10-10 Edouard Tisserant SVGHMI fix logic for page membership detection svghmi
2019-10-10 Edouard Tisserant SVGHMI compute default page svghmi
2019-10-09 Edouard Tisserant SVGHMI: deduce pages content out of geometry (elements contained in page bounding box are in) svghmi
2019-10-09 Edouard Tisserant SVGHMI: use func:function for parsing labels so that it can be used in predicates svghmi
2019-10-08 Edouard Tisserant SVGHMI: moved/fixed some templates, avoided namespace problems, added parsing of HMI:* inkscape labels svghmi
2019-10-07 Edouard Tisserant SVGHMI: now generating JS object describing widgets and pointing to SVG elements svghmi
2019-10-05 Edouard Tisserant SVGHI: compute hmitree variables ordered index in xslt svghmi
2019-10-02 Edouard Tisserant SVGHMI: now built. svghmi
2019-09-30 Edouard Tisserant SVGHMI: Work in progress. C side mostly implemented, neither built nor tested. svghmi
2019-09-27 Edouard Tisserant SVGHMI: More strict formating of active HMI labels : @ separator only used for paths svghmi
2019-09-26 Edouard Tisserant SVGHMI: new test svg to drive next implementation svghmi
2019-09-25 Edouard Tisserant Non significant changes in generated xslt, side effect of changes in yslt_noindent.yml2 svghmi
2019-09-24 Edouard Tisserant Merge default in SVGHMI branch svghmi
2019-09-20 Edouard Tisserant SVGHMI: Starting to define JS side more in details. svghmi
2019-09-19 Edouard Tisserant SVGHMI: added transformation of code given in inkscape's description fields into javascript functions svghmi
2019-09-19 Edouard Tisserant SVGHMI: gui.svg -> svghmi.svg svghmi
2019-09-19 Edouard Tisserant SVGHMI: moved static JS code to a separate file included at xhtml generation time svghmi
2019-09-18 Edouard Tisserant 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. svghmi
2019-09-18 Edouard Tisserant PLCobject: Call "stop" and "cleanup" methods from python runtime files in reverse order compared to "init" and "start". svghmi
2019-09-16 Edouard Tisserant SVGHMI: WIP for python<->C data exchange : message from browser hit the C side. svghmi
2019-09-16 Edouard Tisserant SVGHMI: WIP for python<->C data exchange svghmi
2019-09-16 Edouard Tisserant SVGHMI: WIP for python<->C data exchange svghmi
2019-09-12 Edouard Tisserant SVGHMI: WIP for python<->C data exchange svghmi
2019-09-12 Edouard Tisserant SVGHMI: single session for now svghmi
2019-09-12 Edouard Tisserant SVGHMI: few fixes on serving svghmi
2019-09-11 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
2019-09-11 Edouard Tisserant Non significant changes to mute GCC warnings about unused variables. svghmi
2019-09-05 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
2019-09-03 Edouard Tisserant SVGHMI: Intermediate state while working on svghmi.c svghmi
2019-08-26 Edouard Tisserant svghmi.c : deduplicated variable access code borrowed from plc_debug.c. Added targets/var_access.c. svghmi
2019-08-23 Edouard Tisserant SVGHMI: Added iterators in svghmi.c copy-pasted form plc_debug.c svghmi
2019-08-23 Edouard Tisserant SVGHMI: svghmi.c now has mutex, iterator, and read/write buffer. svghmi
2019-08-22 Edouard Tisserant SVGHMI: draft for svghmi.c. It has all PLC variables pointed in HMI tree in an array. svghmi
2019-08-20 Edouard Tisserant Pass HMITree to SVG transform. It seems it could really help to reduce JS tree binding logic in the end. svghmi
2019-08-20 Edouard Tisserant Add special nodes at HMI Tree root, fix code to handle special node (no path). svghmi
2019-08-20 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
2019-08-20 Edouard Tisserant yslt_noindent : Avoid YSLT's indent logic to interfere when using linequote. svghmi
2019-08-14 Edouard Tisserant SVGHMI: make a reasonably basic test svghmi
2019-08-14 Edouard Tisserant SVGHMI: filter out temporary variables created while generating ST code out of FBD. svghmi
2019-08-13 Edouard Tisserant SVGHMI: added deduction of HMI tree from list of HMI_* instances. svghmi
2019-08-12 Edouard Tisserant SVGHMI: added extraction of SVG bounding boxes, obtained from "inkscape -S", and passed to XSLT transform as variable. svghmi
2019-08-12 Edouard Tisserant Allow using docutil.get_inkscape_path() on Linux also. svghmi
2019-08-09 Edouard Tisserant SVGHMI: little fixes to make the build go through svghmi
2019-08-09 Edouard Tisserant SVGHMI: Added XSLT transformation, Makefile to get XSLT from ysl2 (copy of plcopen/Makefile) and a minimal stylesheet to start with. svghmi
2019-08-09 Edouard Tisserant Moved XSLT model query python code so that XSLT part can be reused for other transformations (i.e. in SVGHMI) svghmi
2019-08-08 Edouard Tisserant Complete SVGUI test minimal skeleton so that it builds. svghmi
2019-08-07 Edouard Tisserant intermediate commit, work in progress svghmi
2019-07-18 Edouard Tisserant Use a POU Library's Generate_C to collect all variables in SVGHMI. svghmi
2019-07-17 Edouard Tisserant merged svghmi
2019-07-17 Edouard Tisserant Enable svghmi plugin in features, and small fixes to skeleton. svghmi
2019-07-15 Edouard Tisserant Merged default in svghmi svghmi
2019-07-12 Edouard Tisserant Skeleton for svghmi extension svghmi
2021-06-30 Edouard Tisserant IDE: Allow POU Libraries to inject PLC Configurations globals during build.
2021-06-30 Ivan Tyagov WIP: initial setup.
2021-06-16 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.
2021-06-14 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.
2021-06-11 Edouard Tisserant IDE: Log: Prevent crash when display progress on empty log.
2021-06-10 Edouard Tisserant Copy description when DnD variables from CodeFile CTN to POUs
2021-05-25 Edouard Tisserant Runtime: Fix exception "Worker is disabled" when connecting while PLC runtime is starting.
2021-05-24 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.
2021-05-12 Edouard Tisserant Add ThirPartyPath call in util.path module, so that individual extensions don't have to each implement same logic to find dependencies
2021-04-01 Edouard Tisserant IDE: Add a shortcut to project "Clean" action : F9
2021-03-29 Edouard Tisserant Fixed misuse of GridCellEditor in DurationCellEditor, potentially leading to crash on windows.
2021-03-23 Edouard Tisserant Allow using spin() from ProcessLogger even with no logger given.
2021-03-10 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.
2021-03-02 Edouard Tisserant IDE: Fix logging of external process execution time so that it is visible on windows as well.
2021-03-02 Edouard Tisserant IDE: Process Logging : Add annotation in log so that user can see build is still alive and how long external process takes.
2021-03-02 Edouard Tisserant IDE: Iec2CSettings: Log wasn't available in case of exception when launching iec2c.
2021-03-02 Edouard Tisserant IDE: Log: Cosmetic changes, refactoring
2021-03-01 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.
2021-02-28 Edouard Tisserant IDE: Fixed log console that was not updating line by line smoothly when building.
2021-04-09 Edouard Tisserant merge
2021-02-02 Tomaz Orac Merge
2021-01-28 Mario de Sousa merge
2021-01-28 Mario de Sousa modbus plugin: add (user accessible) transaction bool flags for servers/slaves; FIX BUG in previous commit affecting RTU slaves.
2021-01-28 Mario de Sousa modbus plugin: add (user accessible) transaction counters for servers/slaves
2021-02-23 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.
2021-01-18 Edouard Tisserant Merge
2020-12-25 Mario de Sousa merge
2020-12-25 Mario de Sousa modbus plugin: add/fix comments
2020-12-21 Mario de Sousa merge
2020-12-21 Mario de Sousa Modbus plugin: fix bug - map BOOL flag onto C u8 (was incorrectly mapped onto u16)
2020-12-21 Mario de Sousa Modbus plugin: map status of MB transaction onto 2 located BYTE vars (instead of a singlw WORD var).
2020-12-21 Mario de Sousa Modbus plugin: provide user programs feedback on current connection status mapped onto a WORD located variable
2021-01-13 Edouard Tisserant Removed harmful assert in ProcessLogger.
2020-12-22 Edouard Tisserant Fix missing import, consequence of bad resolution of conflicting hg graft of f0a822ef9fa0 into d15a997859b1
2020-01-14 Edouard Tisserant plc_debug.c/var_acces.c : whitespace cleanup and other cosmetic changes
2020-07-03 Edouard Tisserant Prevent global python_poll blocks to be created when accidentally adding content to C-File OnChange column.
2020-05-11 Edouard Tisserant DEBUG: (IDE side) fixed wrong implementation of anti-rapid-fire leading to systematic delay in subscribing
2020-02-11 Edouard Tisserant XSLTransform.py: added get_error_log()
2020-08-31 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.
2020-09-03 Edouard Tisserant docsvg.py : Better error message when inkscape is not installed.
2020-04-04 Edouard Tisserant Fix unmatched "Courier" font for monospace fonts on latest ubuntu 20.04. Selected "FreeMono" instead, present since at least 18.04
2020-07-13 Edouard Tisserant Python Runtime: order of execution of extension's init() and cleanup() now reflects order of appearance of extensions in configuration tree.
2020-12-22 Edouard Tisserant Runtime: change PLCObject 'BlobAsFile' method to allow customization by overriding
2020-12-21 Edouard Tisserant WebInterface: better wording for wiping PLC content: "Repair"
2020-12-18 Edouard Tisserant runtime: added restart/reset button in web settings. Accidentaly fixed web settings logging feature.
2020-12-10 Edouard Tisserant Add a little test to see OnChange's .count .first .last in action
2020-12-10 Edouard Tisserant Fixed "Onchange" object added in previous commit
2020-12-10 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.
2020-11-20 Edouard Tisserant Project tree: avoid flickering and glitches in notebook when selecting some still not opened ConfigTreeNode
2020-11-18 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.
2020-11-18 Edouard Tisserant py_ext: better handling of coma separated OnChange attribute for python safe global variables.
2020-11-02 Edouard Tisserant Allow customization of generated py_ext OnChange calls, by adding a static method to PythonFileCTNMixin that can the be later hot patched.
2020-10-19 Edouard Tisserant PY_EXT: OnChange is now a coma separated list of callables. Updated tests/python accordingly.
2020-09-15 Edouard Tisserant Modbus: fixed typo in ctype typing.
2020-09-11 Edouard Tisserant MODBUS: Fix saving of websettings.
2020-09-10 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.
2020-08-13 Mario de Sousa Modbus plugin: reformat code, and add comment.
2020-08-13 Mario de Sousa Modbus plugin: fix runtime periodic timer (don't use POSIX timer)
2020-07-01 Edouard Tisserant Modbus and Bacnet websettings : Rename variables and functions to avoid name collisions.
2020-06-29 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.
2020-06-24 Edouard Tisserant Modbus: fix client timer invalid arguments.
2020-06-23 Edouard Tisserant Modbus add a timer thread, and switch timer to SIGEV_THREAD_ID to follow xenomai posix skin restrictions.
2020-06-19 Edouard Tisserant Runtime: Fix typo in PLCObject leading to exception when reporting failure.
2020-06-18 Edouard Tisserant Py_ext: use non-derived type when generating C code for handling Python PLC globals.
2020-06-17 Edouard Tisserant tests/python : add some STRING PLC Python globals with OnChange.
2020-06-17 Edouard Tisserant Runtime: STRING type for Python PLC Globals was making problem with strings, since generated code wasn't doing comparison properly.
2020-06-16 Tomaz Orac Merge
2020-06-16 Edouard Tisserant Modbus: more comments to remember some necessary changes.
2020-06-16 Edouard Tisserant Modbus/BACnet : add some comments so that we don't forget some pending optimization.
2020-06-16 Edouard Tisserant Modbus: Delete stored configuration when identical to default configuration.
2020-06-15 Edouard Tisserant BACnet: prevent saving configuration that is same as default, delete it if so.
2020-06-15 Edouard Tisserant BACnet and Modbus : fix configuration storage directory
2020-06-15 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.
2020-06-12 Edouard Tisserant Debug : when BEREMIZ_DEBUG file exist, display all commands issued in console.
2020-06-12 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.
2020-06-12 Edouard Tisserant BACnet and Modbus: Remove additional loading and unloading, use the one already in place for extensions.
2020-06-07 Mario de Sousa merge
2020-06-07 Mario de Sousa Bacnet plugin web configuration: strip leading and trailing spaces for net. interface and port numb.
2020-06-07 Mario de Sousa Modbus plugin, web interface: strip leading and trailing spaces from string parameters
2020-06-07 Mario de Sousa Modbus plugin web interface: show the keyword "#ANY#" on TCP servers
2020-06-07 Mario de Sousa Modbus plugin: fix bug: was checking user configuration against wrong limits
2020-06-07 Mario de Sousa Modbus plugin: fix algorithm detecting Modbus TCP servers using the same IP port on the same network interface
2020-06-07 Mario de Sousa Modbus plugin: check for duplicate "Configuration_Name"
2020-06-06 Mario de Sousa add comment
2020-06-06 Mario de Sousa add comment
2020-06-06 Mario de Sousa merge
2020-06-06 Mario de Sousa Modbus plugin web configuration: fix comments, and delete un-used code
2020-06-06 Mario de Sousa Modbus plugin web configuration: use drop down choices for baud, parity and stop bits.
2020-06-05 Mario de Sousa Modbus plugin web configuration: save node type and addr type to persistant storage
2020-06-01 Mario de Sousa Add web extension: configure Modbus Server plugin parameters
2020-06-01 Mario de Sousa Add web extension: configure Modbus plugin parameters (currently only supports Modbus clients)
2020-06-02 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.
2020-06-02 Edouard Tisserant IDE: Main toolbar : Show repair button also in stop mode. Move repair button after disconnect button.
2020-06-01 Edouard Tisserant Runtime: fsync() files when transfering them, to prebent data loss when poweroff soon after programming. Fixed variable naming as a side effect.
2020-05-28 Mario de Sousa merge
2020-05-28 Mario de Sousa BACnet plugin: Add web interface for online parameter configuration
2020-05-28 Mario de Sousa modbus_plugin: generate nicer error message, instead of a traceback
2020-05-28 Mario de Sousa Modbus plugin: Add "exec. req. flag" and "write on change" features
2020-05-28 Edouard Tisserant PLCObject : reorganize code in StartPLC(), add a PreStartPLC() empty method, to be overloaded by runtime extensions.
2020-05-26 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.
2019-12-18 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.
2019-11-25 Edouard Tisserant Etherlab : Merged 2014-2018 changes from jblee and others
2019-11-25 Edouard Tisserant Close branch ethercat_from_kosmos ethercat_from_kosmos
2019-11-20 Edouard Tisserant EtherCat master plugin : commit changes recovered from KOSMOS 2018 installer, unkown author(s). ethercat_from_kosmos
2019-11-13 Edouard Tisserant Add FatalError() method to ConfigTreeNode.
2019-10-24 Edouard Tisserant Fixed one more sequel of marking temporary variables created while generating ST code out of FBD
2019-10-09 Edouard Tisserant Changed yslt_noindent.yml2 again