Mon, 31 Aug 2020 13:54:08 +0200 Edouard Tisserant Attempt to workaround problem reported about empty plc.xml after unrelated crash. Now, if etree model is corrupted in a way tostring() would generate an empty string, exception prevents saving. svghmi
Fri, 28 Aug 2020 15:29:35 +0200 Edouard Tisserant SVGHMI: JsonTable can now have clickable elements, that trigger a request with extra argument whose content is taken from Json data. svghmi
Fri, 28 Aug 2020 11:31:18 +0200 Edouard Tisserant Merged svghmi
Fri, 28 Aug 2020 11:27:07 +0200 Edouard Tisserant SVGHMI: cosmetic fix in test svghmi
Tue, 18 Aug 2020 11:42:28 +0200 usveticic All widgets reworked to use widget class and animate function if needed svghmi
Thu, 27 Aug 2020 14:34:48 +0200 Edouard Tisserant SVGHMI: Moved JsonTable/Alarm related test in a separate page. svghmi
Thu, 27 Aug 2020 14:34:00 +0200 Edouard Tisserant SVGHMI: JsonTable now ignores elements and groups starting with # svghmi
Thu, 27 Aug 2020 09:59:35 +0200 Edouard Tisserant SVGHMI: Fix keypad : non-number input was always considered invalid because of missing type checking. svghmi
Wed, 26 Aug 2020 14:27:54 +0200 Edouard Tisserant SVGHMI: JsonTable now updates range and position variables so that slider widget can update. svghmi
Wed, 26 Aug 2020 14:24:43 +0200 Edouard Tisserant SVGHMI: Fix multiple variable support in widget svghmi
Wed, 26 Aug 2020 11:34:06 +0200 Edouard Tisserant SVGHMI: Add TODOs in Button widgets. svghmi
Wed, 26 Aug 2020 11:26:45 +0200 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
Tue, 25 Aug 2020 14:34:49 +0200 Edouard Tisserant SVGHMI: little fix in HMI:Button svghmi
Tue, 25 Aug 2020 14:32:39 +0200 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
Mon, 24 Aug 2020 09:48:35 +0200 Edouard Tisserant SVGHMI: removed debug code forgotten here and there. svghmi
Fri, 21 Aug 2020 14:29:03 +0200 Edouard Tisserant SVGHMI: JsonTable now makes meaningfull JSON request : all arguments and variables are passed in. svghmi
Fri, 21 Aug 2020 13:22:54 +0200 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
Thu, 20 Aug 2020 14:12:49 +0200 Edouard Tisserant SVGHMI: Behave when project path include spaces, and make more understandable error in case of problem extracting geometry with inkscape. svghmi
Thu, 20 Aug 2020 13:56:21 +0200 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
Thu, 20 Aug 2020 13:52:00 +0200 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
Mon, 17 Aug 2020 10:00:25 +0200 Edouard Tisserant SVGHMI: Fix svg test file while testing latest JsonTableChanges svghmi
Sat, 15 Aug 2020 18:50:25 +0200 Edouard Tisserant SVGHMI: HMI:JsonTable also recognize TextStyleList, but parsing of textContent is still not implemented and style is still not updated. svghmi
Sat, 15 Aug 2020 18:46:35 +0200 Edouard Tisserant SVGHMI: Deeper clone unlinking. Was actually not recursive, and clones in clones where not unlinked. Stack successive ids to avoid collisions. svghmi
Thu, 13 Aug 2020 11:37:39 +0200 Edouard Tisserant SVGHMI: factorize dispatch calling logic. svghmi
Thu, 13 Aug 2020 11:30:18 +0200 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
Wed, 12 Aug 2020 15:24:02 +0200 Edouard Tisserant Merge svghmi
Wed, 12 Aug 2020 13:36:18 +0200 Edouard Tisserant SVGHMI: Add more local HMI variable tests in tests/svghmi. svghmi
Tue, 11 Aug 2020 14:37:33 +0200 Edouard Tisserant SVGHMI: finished initial implementation of PAGE_LOCAL and HMI_LOCAL variables. svghmi
Mon, 10 Aug 2020 15:25:57 +0200 Edouard Tisserant SVGHMI: add a SetPoint to Slider Widget, visible only when operating the slider. svghmi
Mon, 10 Aug 2020 14:00:20 +0200 Edouard Tisserant SVGHMI: Update Slider widget so that it doesn't display future value but actual value only. svghmi
Mon, 10 Aug 2020 13:58:55 +0200 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
Mon, 10 Aug 2020 11:30:06 +0200 Edouard Tisserant Merge svghmi
Sat, 08 Aug 2020 15:53:28 +0200 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
Wed, 05 Aug 2020 15:20:10 +0200 usveticic Beremiz test project with newly created widgets. svghmi
Wed, 05 Aug 2020 15:18:00 +0200 usveticic Rebuilded gen_index_html.xslt after all new widgets were commited svghmi
Wed, 05 Aug 2020 15:16:43 +0200 usveticic Create new multistate widget which extand class widget svghmi
Wed, 05 Aug 2020 15:16:03 +0200 usveticic Create new CircularSlider widget which extand class widget svghmi
Wed, 05 Aug 2020 15:15:33 +0200 usveticic Create new slider widget which extand class widget svghmi
Wed, 05 Aug 2020 15:14:39 +0200 usveticic Reworked togglebutton widget to extand class widget svghmi
Wed, 05 Aug 2020 15:13:59 +0200 usveticic Changed keyboard to show on defined position. svghmi
Wed, 05 Aug 2020 15:04:53 +0200 usveticic Reworked button widget so it uses classes. svghmi
Thu, 06 Aug 2020 15:01:01 +0200 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
Thu, 06 Aug 2020 14:59:04 +0200 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
Wed, 05 Aug 2020 18:53:56 +0200 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
Wed, 05 Aug 2020 18:49:29 +0200 Edouard Tisserant SVGHMI: widgets are not anymore binary relative or absolute, but have a "relativeness". svghmi
Tue, 04 Aug 2020 11:53:39 +0200 Edouard Tisserant SVGHMI: More JS code refactoring : change_hmi_value and apply_hmi_value now methods of widget class. svghmi
Mon, 03 Aug 2020 18:25:23 +0200 Edouard Tisserant SVGHMI: Better JS code semantic in ForEach widget class. Update lagging generated xslt. svghmi
Mon, 03 Aug 2020 18:22:19 +0200 Edouard Tisserant SVGHMI: Add ForEach Widget is svghmi test svghmi
Mon, 03 Aug 2020 16:34:44 +0200 Edouard Tisserant SVGHMI: add get_idx(index) to widget objects to factorize a bit code repeated accross widgets. To be continued. svghmi
Mon, 03 Aug 2020 16:32:23 +0200 Edouard Tisserant SVGHMI: prefer apply_hmi_value() to change_hmi_value() when possible svghmi
Mon, 03 Aug 2020 16:30:16 +0200 Edouard Tisserant SVGHMI: Add RelativePages to tests svghmi
Mon, 03 Aug 2020 12:08:25 +0200 Edouard Tisserant SVGHMI: Update Widget Display templates to generate Class based declaration. svghmi
Wed, 22 Jul 2020 13:56:43 +0200 Edouard Tisserant SVGHMI: JsonTable now picks items from HMI:List, and update texts, all according to Json data. Still miss scrolling. svghmi
Fri, 17 Jul 2020 12:21:45 +0200 Edouard Tisserant SVGHMI: JsonTable now generate working data access code for data/* elements. svghmi
Fri, 17 Jul 2020 12:19:53 +0200 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
Tue, 14 Jul 2020 22:05:47 +0200 Edouard Tisserant SVGHMI: minimal JSON Table Widget communication infra + corresponding python code as py_ext code in svghmi test. To be continued. svghmi
Mon, 13 Jul 2020 13:56:42 +0200 Edouard Tisserant Python Runtime: order of execution of extension's init() and cleanup() now reflects order of appearance of extensions in configuration tree. svghmi
Fri, 10 Jul 2020 11:15:41 +0200 Edouard Tisserant Python Runtime : stil untested optimization of Python Safe Globals. svghmi
Fri, 03 Jul 2020 14:02:04 +0200 Edouard Tisserant Prevent global python_poll blocks to be created when accidentally adding content to C-File OnChange column. svghmi
Fri, 03 Jul 2020 10:03:25 +0200 Edouard Tisserant Merge from default svghmi
Mon, 29 Jun 2020 14:38:04 +0200 Edouard Tisserant Modbus: fix strange side effect of re-use of condition variables or mutex with Xenomai : without bzero of the associated types, mutex keeps locked. svghmi
Wed, 24 Jun 2020 14:38:11 +0200 Edouard Tisserant Modbus: fix client timer invalid arguments. svghmi
Tue, 23 Jun 2020 13:50:21 +0200 Edouard Tisserant Modbus add a timer thread, and switch timer to SIGEV_THREAD_ID to follow xenomai posix skin restrictions. svghmi
Fri, 19 Jun 2020 11:07:25 +0200 Edouard Tisserant Runtime: Fix typo in PLCObject leading to exception when reporting failure. svghmi
Thu, 18 Jun 2020 14:18:40 +0200 Edouard Tisserant merged svghmi
Thu, 18 Jun 2020 14:16:19 +0200 Edouard Tisserant SVGHMI: Fix bug introduced when merging default svghmi
Thu, 18 Jun 2020 14:15:43 +0200 Edouard Tisserant SVGHMI: Add use of Python PLC Globals it test svghmi
Thu, 18 Jun 2020 11:00:26 +0200 Edouard Tisserant Merge default changes in SVGHMI svghmi
Thu, 18 Jun 2020 10:42:08 +0200 Edouard Tisserant Merge default changes in SVGHMI svghmi
Thu, 04 Jun 2020 11:14:21 +0200 Edouard Tisserant SVGHMI: add "unsubscribable" property to widgets in order to generalize what already happens for jump buttons. svghmi
Wed, 03 Jun 2020 13:31:55 +0200 Edouard Tisserant merge svghmi
Fri, 29 May 2020 09:46:07 +0200 dgaberscek Merge svghmi
Tue, 26 May 2020 10:59:01 +0200 dgaberscek SVGHMI: Added widget toggleButton. svghmi
Tue, 26 May 2020 10:53:02 +0200 dgaberscek SVGHMI: Changed widget button handler to element attribute. svghmi
Tue, 02 Jun 2020 13:37:34 +0200 Edouard Tisserant Runtime: create .md5 file at the end of all transfered files being written to disk, so that it presence indicates completeness of transfer. svghmi
Tue, 02 Jun 2020 11:34:50 +0200 Edouard Tisserant IDE: Main toolbar : Show repair button also in stop mode. Move repair button after disconnect button. svghmi
Mon, 01 Jun 2020 14:47:31 +0200 Edouard Tisserant Runtime: fsync() files when transfering them, to prebent data loss when poweroff soon after programming. Fixed variable naming as a side effect. svghmi
Thu, 28 May 2020 11:38:09 +0200 Edouard Tisserant PLCObject : reorganize code in StartPLC(), add a PreStartPLC() empty method, to be overloaded by runtime extensions. svghmi
Tue, 26 May 2020 09:58:20 +0200 Edouard Tisserant Solve import order problem when POULibrary imports ConfigTreeNode because of UserAddressedException. Now UserAddressedException is declared in POULibrary.py, as a quick and dirty fix, but some independant module should be created for beremiz exceptions in general. svghmi
Thu, 21 May 2020 11:29:45 +0200 Edouard Tisserant SVGHMI: stop using eval in change_hmi_value, apparently slowly leaking memory. svghmi
Thu, 14 May 2020 17:49:20 +0200 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
Thu, 14 May 2020 17:48:58 +0200 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
Thu, 14 May 2020 17:48:15 +0200 Edouard Tisserant SVGHMI: Applies clone unlinking to widget themselves, not only to clones inside widgets. svghmi
Thu, 14 May 2020 09:24:09 +0200 Edouard Tisserant merge svghmi
Wed, 13 May 2020 14:48:52 +0200 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
Wed, 13 May 2020 14:47:17 +0200 Edouard Tisserant Added FatalError call to Libraries code gen, so that they can emit messages addressed like config tree nodes do. svghmi
Wed, 13 May 2020 22:25:22 +0200 Edouard Tisserant SVGHMI: more Widget properties declared ES6 style. svghmi
Wed, 13 May 2020 22:22:13 +0200 Edouard Tisserant SVGHMI: Switch widget now use class declaration svghmi
Wed, 13 May 2020 18:50:07 +0200 Edouard Tisserant SVGHMI: Update Button widget to class declaration, and add a button widget in tests/svghmi. svghmi
Wed, 13 May 2020 18:47:09 +0200 Edouard Tisserant SVGHMI: explicit handling of undefined maximum widget update frequency svghmi
Wed, 13 May 2020 18:27:26 +0200 Edouard Tisserant SVGHMI: removed dead code svghmi
Wed, 13 May 2020 18:26:38 +0200 Edouard Tisserant SVGHMI: Back button updated to class style svghmi
Mon, 11 May 2020 11:33:00 +0200 Edouard Tisserant merge svghmi
Mon, 11 May 2020 11:10:38 +0200 Edouard Tisserant DEBUG: (IDE side) fixed wrong implementation of anti-rapid-fire leading to systematic delay in subscribing svghmi
Sun, 10 May 2020 23:40:43 +0200 Edouard Tisserant SVGHMI: Exclude non-widget HMI:* labeled elements from hmi_widget. Namely : HMI:Page HMI:Lang and HMI:List have been excluded. svghmi
Sun, 10 May 2020 17:01:09 +0200 Edouard Tisserant SVGHMI: clean up dead code, update generated xslt. svghmi
Sun, 10 May 2020 16:36:41 +0200 Edouard Tisserant SVGHMI: apply per class overloading of sub/unsub to Jump widget svghmi
Sun, 10 May 2020 16:36:09 +0200 Edouard Tisserant SVGHMI: apply per class overloading of sub/unsub to ForEach widget svghmi
Sun, 10 May 2020 16:34:44 +0200 Edouard Tisserant SVGHMI: Widget's specific sub/unsub traits are now wxpressed in widget's class. svghmi
Sun, 10 May 2020 16:32:19 +0200 Edouard Tisserant SVGHMI: Parameters common to all widget constructors now passed as ordered parameters. svghmi
Fri, 08 May 2020 16:51:43 +0200 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
Fri, 08 May 2020 16:47:52 +0200 Edouard Tisserant SVGHMI: Add an exslt function to collect used widget types, in order to only include necessary JS definitions in furure changes. svghmi
Fri, 08 May 2020 16:44:20 +0200 Edouard Tisserant SVGHMI: Systematically output local name as /* comment */ when emiting content. svghmi
Fri, 24 Apr 2020 10:03:40 +0200 Edouard Tisserant Merge svghmi
Fri, 24 Apr 2020 10:02:13 +0200 Edouard Tisserant SVGHMI: Fix flawed logic to place nodes in the HMI tree, leading to wrecked tree in some cases. svghmi
Wed, 22 Apr 2020 15:33:53 +0200 dgaberscek Added button and circular bar widgets. svghmi
Mon, 20 Apr 2020 16:19:31 +0200 Edouard Tisserant SVGHMI: added more meaningful namespaces to emit javascript code from. svghmi
Sun, 19 Apr 2020 22:44:41 +0200 Edouard Tisserant SVGHMI: moved JS code of foreach and jump widget in corresponding widget_*.ysl2. To be continued. svghmi
Sun, 19 Apr 2020 22:01:12 +0200 Edouard Tisserant SVGHMI: spread JS code from svghmi/scripts.ysl2 in other .ysl2 files, using dedicated preamble and epilogue namespaces svghmi
Sun, 19 Apr 2020 10:48:34 +0200 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
Sat, 18 Apr 2020 14:06:41 +0200 Edouard Tisserant SVGHMI: Move reflective debug tags from "reflect" to "debug" namespace, preparing for per-purpose namespaces. svghmi
Sat, 18 Apr 2020 13:14:45 +0200 Edouard Tisserant SVGHMI: Added scripts.ysl2 svghmi
Sat, 18 Apr 2020 11:49:02 +0200 Edouard Tisserant SVGHMI: moving code wher it belongs, and reformulate some declarations for better readability. svghmi
Thu, 16 Apr 2020 10:21:25 +0200 Edouard Tisserant SVGHMI: HMI:DropDown: more documentation. svghmi
Wed, 15 Apr 2020 14:29:19 +0200 Edouard Tisserant SVGHMI: Comments in HMI:DropDown source code svghmi
Tue, 14 Apr 2020 23:04:54 +0200 Edouard Tisserant SVGHMI: HMI:DropDown menu aligns to selected when opening svghmi
Tue, 14 Apr 2020 22:08:52 +0200 Edouard Tisserant SVGHMI: When clicking outside of opened HMI:DropDown box, close it. svghmi
Tue, 14 Apr 2020 19:22:18 +0200 Edouard Tisserant SVGHMI: Fix HMI:DropDown flicker on close. svghmi
Tue, 14 Apr 2020 17:31:45 +0200 Edouard Tisserant SVGHMI: HMI:DropDown now temporarily takes content from widget's arguments, until HMI:List is implemented. svghmi
Tue, 14 Apr 2020 17:17:35 +0200 Edouard Tisserant SVGHMI: Connect HMI:DropDown to value in HMI Tree, in svghmi test as well. svghmi
Tue, 14 Apr 2020 17:16:25 +0200 Edouard Tisserant SVGHMI: fix probable problem in HMI:Input, where value could be applied to wrong index if used in relative page. svghmi
Tue, 14 Apr 2020 17:15:02 +0200 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
Tue, 14 Apr 2020 17:13:12 +0200 Edouard Tisserant SVGHMI: HMI:DropDown now catches all clicks when open svghmi
Tue, 14 Apr 2020 12:07:08 +0200 Edouard Tisserant SVGHMI: Add button element to HMI:DropDown, also fix problem with computed box margins. svghmi
Tue, 14 Apr 2020 10:56:45 +0200 Edouard Tisserant SVGHMI: HMI:DropDown now scrolls forward and backward svghmi
Mon, 13 Apr 2020 18:28:22 +0200 Edouard Tisserant SVGHMI: progress on HMI:DropDown - now selects some value on click, and close svghmi
Sun, 12 Apr 2020 21:43:42 +0200 Edouard Tisserant SVGHMI: HMI:DropDown work in progress, intermediate commit. Now menu's rectangle grows up to viewport borders. svghmi
Thu, 09 Apr 2020 09:52:34 +0200 Edouard Tisserant SVGHMI: intermediate commit while working on dropdown widget. svghmi
Tue, 07 Apr 2020 10:01:23 +0200 Edouard Tisserant SVGHMI: HMI is not speculating on PLC variable update anymore when sending new variable value. svghmi
Sat, 04 Apr 2020 22:32:54 +0200 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
Sat, 04 Apr 2020 17:47:16 +0200 Edouard Tisserant SVGHMI: fixed keypad JS regarding shift/capslock and other details svghmi
Sat, 04 Apr 2020 09:41:32 +0200 Edouard Tisserant Fix unmatched "Courier" font for monospace fonts on latest ubuntu 20.04. Selected "FreeMono" instead, present since at least 18.04 svghmi
Fri, 03 Apr 2020 14:37:41 +0200 Edouard Tisserant SVGHMI: Keypad working for HMI_STRING, still Shift/CapsLock not finished. svghmi
Fri, 03 Apr 2020 09:52:57 +0200 Edouard Tisserant SVGHMI: fix keyboard not showing svghmi
Fri, 03 Apr 2020 08:30:00 +0200 Edouard Tisserant SVGHMI: Added keypads to svghmi test's SVG file svghmi
Fri, 03 Apr 2020 08:13:47 +0200 Edouard Tisserant merge svghmi
Thu, 02 Apr 2020 15:18:15 +0200 Edouard Tisserant SVGHMI: Keypad: added code to re-attach keypad when starting edit. svghmi
Thu, 02 Apr 2020 14:04:21 +0200 Edouard Tisserant SVGHMI: removed debug code svghmi
Thu, 02 Apr 2020 14:03:38 +0200 Edouard Tisserant SVGHMI: More infrastructure for editing values with a keypad. svghmi
Thu, 02 Apr 2020 09:38:53 +0200 Edouard Tisserant SVGHMI: Widget input buttons should be clickable through svg:use (onclick attribute instead of addEventListener) svghmi
Wed, 01 Apr 2020 18:10:45 +0200 Edouard Tisserant SVGHMI: moved dead code to where it belongs svghmi
Wed, 01 Apr 2020 14:42:50 +0200 Edouard Tisserant SVGHMI: empty widget_keypad.ysl2, WIP svghmi
Tue, 31 Mar 2020 13:20:15 +0200 Edouard Tisserant SVGHMI: HMI:Switch now accepts boolean values 'true' and 'false' svghmi
Mon, 30 Mar 2020 14:26:42 +0200 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
Mon, 30 Mar 2020 11:06:12 +0200 Edouard Tisserant SVGHMI: prevent man-made memory leak by limiting back button history items count to 42 svghmi
Sun, 29 Mar 2020 16:11:21 +0200 Edouard Tisserant SVGHMI: collect debug data through xslt reflectivity instead of yml2/python trick svghmi
Fri, 27 Mar 2020 14:25:24 +0100 Edouard Tisserant SVGHMI: Jump widget can now display as active or inactive, if corresponfing "active" and "inactive labeled elements are provided. svghmi
Thu, 26 Mar 2020 14:21:52 +0100 Edouard Tisserant SVGHMI: added Back widget. svghmi
Thu, 26 Mar 2020 13:33:20 +0100 Edouard Tisserant SVGHMI: Jump widget now make errors if path given for relative jump doesn't match target page reference path class. svghmi
Thu, 26 Mar 2020 11:17:34 +0100 Edouard Tisserant SVGHMI: Check that explicit relative page jump path is consistant with destination page reference path. svghmi
Wed, 25 Mar 2020 14:09:15 +0100 Edouard Tisserant SVGHMI: ForEach Widget now has a better wrap-around when scrolling : hit the boundary systematically before wrapping svghmi
Wed, 25 Mar 2020 13:56:04 +0100 Edouard Tisserant SVGHMI: Alow relative relative Jump. (i.e, relative jump from a foreach widget) svghmi
Wed, 25 Mar 2020 13:36:04 +0100 Edouard Tisserant SVGHMI: Generalize applying cache to widgets, be it from page or ForEach widgets. Now ForEach widget buttons work as expected. svghmi
Tue, 24 Mar 2020 23:07:54 +0100 Edouard Tisserant SVGHMI: Widget ForEach buttons now call corresponding methods. svghmi
Tue, 24 Mar 2020 14:03:19 +0100 Edouard Tisserant SVGHMI: ForEach now has working (un)subscribe. Fixed PageSwitch that wasn't behaving when jumping to current page with another path. svghmi
Mon, 23 Mar 2020 21:44:28 +0100 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
Mon, 23 Mar 2020 15:13:36 +0100 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
Mon, 23 Mar 2020 10:16:38 +0100 Edouard Tisserant SVGHMI: ForEach knows its own widgets svghmi
Fri, 20 Mar 2020 10:46:15 +0100 Edouard Tisserant SVGHMI: add widget_foreach.ysl2 svghmi
Fri, 20 Mar 2020 10:00:59 +0100 Edouard Tisserant SVGHMI: make root HMI tree node a HMI_NODE, droped HMI_ROOT node type svghmi
Thu, 19 Mar 2020 19:23:56 +0100 Edouard Tisserant SVGHMI: reworked widget (un)subscription now a method of widgect object, allowing special subscription methods svghmi
Thu, 19 Mar 2020 11:32:20 +0100 Edouard Tisserant SVGHMI: Exclude (again) sub-widgets of forEach widget from page-switch managed widget. svghmi
Thu, 19 Mar 2020 09:57:26 +0100 Edouard Tisserant SVGHMI: cosmetic changes svghmi
Thu, 19 Mar 2020 09:31:07 +0100 Edouard Tisserant SVGHMI: Simplification and optimization. func:parselabel becomes a template. svghmi
Wed, 18 Mar 2020 12:06:50 +0100 Edouard Tisserant SVGHMI: intermediate untested state. Excluded ForEach widget from pages handled widgets. svghmi
Wed, 18 Mar 2020 09:37:26 +0100 Edouard Tisserant SVGHMI: update Makefile to pick all changes to any dependency svghmi
Wed, 18 Mar 2020 09:16:14 +0100 Edouard Tisserant SVGHMI: created widget_*.ysl2. Renamed widget_common in widgets_common, so that it doesn't match globing. svghmi
Tue, 17 Mar 2020 14:11:54 +0100 Edouard Tisserant SVGHMI: moving comments svghmi
Tue, 17 Mar 2020 14:01:37 +0100 Edouard Tisserant SVGHMI: added widget_common.ysl2 svghmi
Tue, 17 Mar 2020 13:43:19 +0100 Edouard Tisserant SVGHMI: More readable debug output gen code svghmi
Tue, 17 Mar 2020 13:34:07 +0100 Edouard Tisserant SVGHMI: Cosmetic changes svghmi
Tue, 17 Mar 2020 13:16:01 +0100 Edouard Tisserant SVGHMI: added inline_svg.ysl2 svghmi
Tue, 17 Mar 2020 11:24:07 +0100 Edouard Tisserant SVGHMI: detachable_elements.ysl2 becomes detachable_pages.ysl2, and includes logic to process pages elements. Other minor code moves. svghmi
Tue, 17 Mar 2020 10:34:26 +0100 Edouard Tisserant SVGHMI: moved debug code svghmi
Tue, 17 Mar 2020 09:29:04 +0100 Edouard Tisserant SVGHMI: created detachable_elements.ysl2 svghmi
Tue, 17 Mar 2020 08:00:33 +0100 Edouard Tisserant SVGHMI: more debug code moved to hmi_tree.ysl2 svghmi
Tue, 17 Mar 2020 07:39:50 +0100 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
Mon, 16 Mar 2020 18:27:49 +0100 Edouard Tisserant SVGHMI: created bbox_intersect.ysl2 svghmi
Mon, 16 Mar 2020 17:09:23 +0100 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
Fri, 13 Mar 2020 21:42:40 +0100 Edouard Tisserant SVGHMI: relative pages and page jumps svghmi
Fri, 13 Mar 2020 10:36:13 +0100 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
Thu, 12 Mar 2020 13:16:18 +0100 Edouard Tisserant SVGHMI: significant whitespace changes svghmi
Thu, 12 Mar 2020 13:15:54 +0100 Edouard Tisserant SVGHMI: unsignificant changes or changes in generated code svghmi
Thu, 12 Mar 2020 13:14:38 +0100 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
Thu, 12 Mar 2020 09:33:20 +0100 Edouard Tisserant SVGHMI: cosmetic code moving svghmi
Tue, 10 Mar 2020 13:57:29 +0100 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
Mon, 09 Mar 2020 13:43:34 +0100 Edouard Tisserant SVGHMI: fix wrong updates of HMI variables on each change, especially when not subscribed. svghmi
Mon, 09 Mar 2020 13:40:45 +0100 Edouard Tisserant SVGHMI: whitespaces svghmi
Fri, 06 Mar 2020 14:43:03 +0100 Edouard Tisserant SVGHMI: fixed repeated error when Input widget is missing 'value' element svghmi
Fri, 06 Mar 2020 14:42:08 +0100 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
Fri, 06 Mar 2020 09:35:08 +0100 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
Thu, 05 Mar 2020 13:54:29 +0100 Edouard Tisserant SVGHMI: Fix disapearing elements in case of nested detachable elements. svghmi
Thu, 05 Mar 2020 10:23:03 +0100 Edouard Tisserant SVGHMI: Meter widget accepts 2 arguments : min and max, taken in account when min or max text element is missing svghmi
Wed, 04 Mar 2020 20:02:15 +0100 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
Wed, 04 Mar 2020 16:46:35 +0100 Edouard Tisserant SVGHMI: more whitespace fixes svghmi
Wed, 04 Mar 2020 16:46:03 +0100 Edouard Tisserant SVGHMI: unlink clones (i.e. deep copy elements refered by svg:use) inside widget. svghmi
Wed, 04 Mar 2020 09:31:53 +0100 Edouard Tisserant SVGHMI: whitespaces and comments svghmi
Tue, 03 Mar 2020 16:29:22 +0100 Edouard Tisserant SVGHMI: completely fixed indentation of generated widget description. Lets try to keep it as-is until we can use yslt indentation. svghmi
Tue, 03 Mar 2020 10:58:00 +0100 Edouard Tisserant SVGHMI: re-indent generated JS svghmi
Mon, 02 Mar 2020 16:30:29 +0100 Edouard Tisserant SVGHMI: detach/re-attach elements required by pages on page switch svghmi
Mon, 02 Mar 2020 16:25:35 +0100 Edouard Tisserant SVGHMI: re-indenting svghmi
Mon, 02 Mar 2020 14:43:21 +0100 Edouard Tisserant SVGHMI: declares pages detachable requirements as an object, to find more efficiently common requirements svghmi
Mon, 02 Mar 2020 10:29:41 +0100 Edouard Tisserant SVGHMI: fix some JS + add generation of detachable elements, to be continued svghmi
Fri, 28 Feb 2020 22:54:07 +0100 Edouard Tisserant SVGHMI: now compute discardable elements first so that we can do better grouping of required elements when sumarizing. svghmi
Fri, 28 Feb 2020 17:52:35 +0100 Edouard Tisserant SVGHMI : documentation for new geometry intersection computation code + little fixes... svghmi
Fri, 28 Feb 2020 16:09:21 +0100 Edouard Tisserant SVGHMI: detachable and discardable elements sets, Reworked geometric intersection, toward more accurate page content detection. svghmi
Thu, 27 Feb 2020 13:14:24 +0100 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
Fri, 21 Feb 2020 16:22:44 +0100 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
Fri, 21 Feb 2020 16:18:53 +0100 Edouard Tisserant SVGHMI: optimize browser work by hiding (display:none) pages that are not displayed. svghmi
Fri, 21 Feb 2020 16:15:33 +0100 Edouard Tisserant SVGHMI: Better and less verbose SVG namespace handling in XSLT transform svghmi
Mon, 17 Feb 2020 13:57:44 +0100 Edouard Tisserant SVGHMI: Added mostly untested switch widget svghmi
Fri, 14 Feb 2020 21:41:13 +0100 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
Fri, 14 Feb 2020 10:29:10 +0100 Edouard Tisserant SVGHMI: ensure that coordinate in CSV file generated by inkscape are both matching svg default unit and in default reference frame svghmi
Thu, 13 Feb 2020 09:43:35 +0100 Edouard Tisserant SVGHMI : still behave, even if important things are missing in SVG widget definitions (ex: needle missing for Meter widget) svghmi
Thu, 13 Feb 2020 09:41:43 +0100 Edouard Tisserant SVGHMI : fix watchdog exception when timeout null svghmi
Tue, 11 Feb 2020 13:56:48 +0100 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
Thu, 30 Jan 2020 14:33:06 +0100 Edouard Tisserant SVGHMI : fixed bug happening when some SVG ids are containing dashes svghmi
Thu, 23 Jan 2020 13:46:05 +0100 Edouard Tisserant SVGHMI : wait for initial timeout after watchdog is triggered, since it generaly induces HMI restart svghmi
Thu, 23 Jan 2020 11:22:09 +0100 Edouard Tisserant SVGHMI : watchdog is now taking an initial and interval duration as CTN fields. svghmi
Tue, 21 Jan 2020 13:55:03 +0100 Edouard Tisserant SVGHMI : avoid caching of xhtml file by forcing cache-control header in http response. svghmi
Fri, 17 Jan 2020 16:25:45 +0100 Edouard Tisserant SVGHMI : HMI_STRING now also supported from HMI to PLC svghmi
Wed, 15 Jan 2020 11:13:39 +0100 Edouard Tisserant SVGHMI : cosmetic svghmi
Wed, 15 Jan 2020 09:35:29 +0100 Edouard Tisserant SVGHMI non significant fixes svghmi
Tue, 14 Jan 2020 11:09:26 +0100 Edouard Tisserant SVGHMI : support for HMI_STRING and HMI_BOOL svghmi
Tue, 14 Jan 2020 11:04:18 +0100 Edouard Tisserant plc_debug.c/var_acces.c : whitespace cleanup and other cosmetic changes svghmi
Mon, 13 Jan 2020 15:15:01 +0100 Edouard Tisserant SVGHMI : Added python fomating {port} and {name} to commands so that command can build target URL svghmi
Fri, 10 Jan 2020 17:00:01 +0100 Edouard Tisserant SVGHMI : add on Start, Stop and Watchdog command fields to configuration svghmi
Fri, 10 Jan 2020 13:15:07 +0100 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
Wed, 18 Dec 2019 13:31:22 +0100 Edouard Tisserant Add --on-plc-start --on-plc-stop and --status-change to runtime command line, calling given command respectively on start stop or any event. Command line string is python formated (to eventually include status with {}) before being split (supports quoted strings) and passed to Popen for non-blocking execution. svghmi
Mon, 09 Dec 2019 14:53:42 +0100 Edouard Tisserant SVGHMI : had to move the problem of wkaing up python thread from plc thread to platform specific code. svghmi
Mon, 09 Dec 2019 10:43:54 +0100 Edouard Tisserant SVGHMI: change collect/send thread looping condition to fix infinite loop in some cases svghmi
Tue, 03 Dec 2019 09:46:12 +0100 Edouard Tisserant SVGHMI: re-implemented tree view with classic wxTreeCtl svghmi
Tue, 03 Dec 2019 09:44:48 +0100 Edouard Tisserant Non significant changes, whitespaces, etc. svghmi
Fri, 15 Nov 2019 10:34:14 +0100 Edouard Tisserant SVGHMI: Added simple HMI Tree View. svghmi
Thu, 14 Nov 2019 08:46:32 +0100 Edouard Tisserant SVGHMI: add a class attribute to HMI Tree nodes, set when using HMI_NODE svghmi
Wed, 13 Nov 2019 11:22:53 +0100 Edouard Tisserant SVGHMI: HMI_LABEL and HMI_CLASS become HMI_NODE. svghmi
Wed, 13 Nov 2019 11:21:04 +0100 Edouard Tisserant Add FatalError() method to ConfigTreeNode. svghmi
Thu, 07 Nov 2019 16:40:48 +0100 Edouard Tisserant SVGHMI: various fixes to make SVGHMI behave on more versions of twisted and GCC. svghmi
Wed, 30 Oct 2019 15:17:05 +0100 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
Tue, 29 Oct 2019 11:18:58 +0100 Edouard Tisserant SVGHMI: various insignificant code moves, commenting and typos fixes. svghmi