Tue, 17 Mar 2020 09:29:04 +0100SVGHMI: created detachable_elements.ysl2 svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 17 Mar 2020 09:29:04 +0100] rev 2875
SVGHMI: created detachable_elements.ysl2

Tue, 17 Mar 2020 08:00:33 +0100SVGHMI: more debug code moved to hmi_tree.ysl2 svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 17 Mar 2020 08:00:33 +0100] rev 2874
SVGHMI: more debug code moved to hmi_tree.ysl2

Tue, 17 Mar 2020 07:39:50 +0100SVGHMI : create hmi_tree.ysl2, rename bbox_intersect.ysl2 into geometry.ysl2 and move more code into. Add per included ysl2 file debug output. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 17 Mar 2020 07:39:50 +0100] rev 2873
SVGHMI : create hmi_tree.ysl2, rename bbox_intersect.ysl2 into geometry.ysl2 and move more code into. Add per included ysl2 file debug output.

Mon, 16 Mar 2020 18:27:49 +0100SVGHMI: created bbox_intersect.ysl2 svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 16 Mar 2020 18:27:49 +0100] rev 2872
SVGHMI: created bbox_intersect.ysl2

Mon, 16 Mar 2020 17:09:23 +0100SVGHMI: 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
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 16 Mar 2020 17:09:23 +0100] rev 2871
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.

Fri, 13 Mar 2020 21:42:40 +0100SVGHMI: relative pages and page jumps svghmi
Edouard Tisserant [Fri, 13 Mar 2020 21:42:40 +0100] rev 2870
SVGHMI: relative pages and page jumps

Fri, 13 Mar 2020 10:36:13 +0100SVGHMI: 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
Edouard Tisserant [Fri, 13 Mar 2020 10:36:13 +0100] rev 2869
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.

Thu, 12 Mar 2020 13:16:18 +0100SVGHMI: significant whitespace changes svghmi
Edouard Tisserant [Thu, 12 Mar 2020 13:16:18 +0100] rev 2868
SVGHMI: significant whitespace changes

Thu, 12 Mar 2020 13:15:54 +0100SVGHMI: unsignificant changes or changes in generated code svghmi
Edouard Tisserant [Thu, 12 Mar 2020 13:15:54 +0100] rev 2867
SVGHMI: unsignificant changes or changes in generated code

Thu, 12 Mar 2020 13:14:38 +0100SVGHMI: 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
Edouard Tisserant [Thu, 12 Mar 2020 13:14:38 +0100] rev 2866
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.

Thu, 12 Mar 2020 09:33:20 +0100SVGHMI: cosmetic code moving svghmi
Edouard Tisserant [Thu, 12 Mar 2020 09:33:20 +0100] rev 2865
SVGHMI: cosmetic code moving

Tue, 10 Mar 2020 13:57:29 +0100SVGHMI: 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
Edouard Tisserant [Tue, 10 Mar 2020 13:57:29 +0100] rev 2864
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.

Mon, 09 Mar 2020 13:43:34 +0100SVGHMI: fix wrong updates of HMI variables on each change, especially when not subscribed. svghmi
Edouard Tisserant [Mon, 09 Mar 2020 13:43:34 +0100] rev 2863
SVGHMI: fix wrong updates of HMI variables on each change, especially when not subscribed.

Mon, 09 Mar 2020 13:40:45 +0100SVGHMI: whitespaces svghmi
Edouard Tisserant [Mon, 09 Mar 2020 13:40:45 +0100] rev 2862
SVGHMI: whitespaces

Fri, 06 Mar 2020 14:43:03 +0100SVGHMI: fixed repeated error when Input widget is missing 'value' element svghmi
Edouard Tisserant [Fri, 06 Mar 2020 14:43:03 +0100] rev 2861
SVGHMI: fixed repeated error when Input widget is missing 'value' element

Fri, 06 Mar 2020 14:42:08 +0100SVGHMI: more decoupling in between UI related and the rest of JS code, still in the aim of enhancing robustness under heavy load. svghmi
Edouard Tisserant [Fri, 06 Mar 2020 14:42:08 +0100] rev 2860
SVGHMI: more decoupling in between UI related and the rest of JS code, still in the aim of enhancing robustness under heavy load.

Fri, 06 Mar 2020 09:35:08 +0100SVGHMI: use requestAnimationFrame to delegate rendering of updates from network. Should help prevent browser collapse leading to watchdog in case of overload. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 06 Mar 2020 09:35:08 +0100] rev 2859
SVGHMI: use requestAnimationFrame to delegate rendering of updates from network. Should help prevent browser collapse leading to watchdog in case of overload.

Thu, 05 Mar 2020 13:54:29 +0100SVGHMI: Fix disapearing elements in case of nested detachable elements. svghmi
Edouard Tisserant [Thu, 05 Mar 2020 13:54:29 +0100] rev 2858
SVGHMI: Fix disapearing elements in case of nested detachable elements.

Thu, 05 Mar 2020 10:23:03 +0100SVGHMI: Meter widget accepts 2 arguments : min and max, taken in account when min or max text element is missing svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 05 Mar 2020 10:23:03 +0100] rev 2857
SVGHMI: Meter widget accepts 2 arguments : min and max, taken in account when min or max text element is missing

Wed, 04 Mar 2020 20:02:15 +0100SVGHMI: 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
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 04 Mar 2020 20:02:15 +0100] rev 2856
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.

Wed, 04 Mar 2020 16:46:35 +0100SVGHMI: more whitespace fixes svghmi
Edouard Tisserant [Wed, 04 Mar 2020 16:46:35 +0100] rev 2855
SVGHMI: more whitespace fixes

Wed, 04 Mar 2020 16:46:03 +0100SVGHMI: unlink clones (i.e. deep copy elements refered by svg:use) inside widget. svghmi
Edouard Tisserant [Wed, 04 Mar 2020 16:46:03 +0100] rev 2854
SVGHMI: unlink clones (i.e. deep copy elements refered by svg:use) inside widget.

Designer can use Inkscape clones to duplicate similar assets accross widget. Those clones are unliked so that elements can be independently transformed by individual widgets.

Wed, 04 Mar 2020 09:31:53 +0100SVGHMI: whitespaces and comments svghmi
Edouard Tisserant [Wed, 04 Mar 2020 09:31:53 +0100] rev 2853
SVGHMI: whitespaces and comments

Tue, 03 Mar 2020 16:29:22 +0100SVGHMI: completely fixed indentation of generated widget description. Lets try to keep it as-is until we can use yslt indentation. svghmi
Edouard Tisserant [Tue, 03 Mar 2020 16:29:22 +0100] rev 2852
SVGHMI: completely fixed indentation of generated widget description. Lets try to keep it as-is until we can use yslt indentation.

Tue, 03 Mar 2020 10:58:00 +0100SVGHMI: re-indent generated JS svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 03 Mar 2020 10:58:00 +0100] rev 2851
SVGHMI: re-indent generated JS

Mon, 02 Mar 2020 16:30:29 +0100SVGHMI: detach/re-attach elements required by pages on page switch svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 02 Mar 2020 16:30:29 +0100] rev 2850
SVGHMI: detach/re-attach elements required by pages on page switch

This is meant to optimize performances with large drawings leading to long restyle or reflow.

Mon, 02 Mar 2020 16:25:35 +0100SVGHMI: re-indenting svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 02 Mar 2020 16:25:35 +0100] rev 2849
SVGHMI: re-indenting

Mon, 02 Mar 2020 14:43:21 +0100SVGHMI: declares pages detachable requirements as an object, to find more efficiently common requirements svghmi
Edouard Tisserant [Mon, 02 Mar 2020 14:43:21 +0100] rev 2848
SVGHMI: declares pages detachable requirements as an object, to find more efficiently common requirements

Mon, 02 Mar 2020 10:29:41 +0100SVGHMI: fix some JS + add generation of detachable elements, to be continued svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 02 Mar 2020 10:29:41 +0100] rev 2847
SVGHMI: fix some JS + add generation of detachable elements, to be continued

Fri, 28 Feb 2020 22:54:07 +0100SVGHMI: now compute discardable elements first so that we can do better grouping of required elements when sumarizing. svghmi
Edouard Tisserant [Fri, 28 Feb 2020 22:54:07 +0100] rev 2846
SVGHMI: now compute discardable elements first so that we can do better grouping of required elements when sumarizing.

Fri, 28 Feb 2020 17:52:35 +0100SVGHMI : documentation for new geometry intersection computation code + little fixes... svghmi
Edouard Tisserant [Fri, 28 Feb 2020 17:52:35 +0100] rev 2845
SVGHMI : documentation for new geometry intersection computation code + little fixes...

Fri, 28 Feb 2020 16:09:21 +0100SVGHMI: detachable and discardable elements sets, Reworked geometric intersection, toward more accurate page content detection. svghmi
Edouard Tisserant [Fri, 28 Feb 2020 16:09:21 +0100] rev 2844
SVGHMI: detachable and discardable elements sets, Reworked geometric intersection, toward more accurate page content detection.

Moved page's widget/element dependency crawling functions so that it is possible to compute a global detachable and discardable elements sets.
Reworked geometric intersection detection logic to distinguish ovelapping and inclusion.
Goal is to include englobing and overlapping graphical elements, but not groups (would then include everything around...). Intermediate commit, to be continued.

Thu, 27 Feb 2020 13:14:24 +0100SVGHMI : 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
Edouard Tisserant [Thu, 27 Feb 2020 13:14:24 +0100] rev 2843
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.

Fri, 21 Feb 2020 16:22:44 +0100SVGHMI: 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
Edouard Tisserant [Fri, 21 Feb 2020 16:22:44 +0100] rev 2842
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.

Fri, 21 Feb 2020 16:18:53 +0100SVGHMI: optimize browser work by hiding (display:none) pages that are not displayed. svghmi
Edouard Tisserant [Fri, 21 Feb 2020 16:18:53 +0100] rev 2841
SVGHMI: optimize browser work by hiding (display:none) pages that are not displayed.

Fri, 21 Feb 2020 16:15:33 +0100SVGHMI: Better and less verbose SVG namespace handling in XSLT transform svghmi
Edouard Tisserant [Fri, 21 Feb 2020 16:15:33 +0100] rev 2840
SVGHMI: Better and less verbose SVG namespace handling in XSLT transform

Mon, 17 Feb 2020 13:57:44 +0100SVGHMI: Added mostly untested switch widget svghmi
Edouard Tisserant [Mon, 17 Feb 2020 13:57:44 +0100] rev 2839
SVGHMI: Added mostly untested switch widget

Fri, 14 Feb 2020 21:41:13 +0100SVGHMI: 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
Edouard Tisserant [Fri, 14 Feb 2020 21:41:13 +0100] rev 2838
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.

Fri, 14 Feb 2020 10:29:10 +0100SVGHMI: ensure that coordinate in CSV file generated by inkscape are both matching svg default unit and in default reference frame svghmi
Edouard Tisserant [Fri, 14 Feb 2020 10:29:10 +0100] rev 2837
SVGHMI: ensure that coordinate in CSV file generated by inkscape are both matching svg default unit and in default reference frame

Thu, 13 Feb 2020 09:43:35 +0100SVGHMI : still behave, even if important things are missing in SVG widget definitions (ex: needle missing for Meter widget) svghmi
Edouard Tisserant [Thu, 13 Feb 2020 09:43:35 +0100] rev 2836
SVGHMI : still behave, even if important things are missing in SVG widget definitions (ex: needle missing for Meter widget)

Thu, 13 Feb 2020 09:41:43 +0100SVGHMI : fix watchdog exception when timeout null svghmi
Edouard Tisserant [Thu, 13 Feb 2020 09:41:43 +0100] rev 2835
SVGHMI : fix watchdog exception when timeout null

Tue, 11 Feb 2020 13:56:48 +0100SVGHMI: be a bit more tolerant with missing HMI paths or missing elements in widgets : continue build (with warning) and fail silently at runtime. svghmi
Edouard Tisserant [Tue, 11 Feb 2020 13:56:48 +0100] rev 2834
SVGHMI: be a bit more tolerant with missing HMI paths or missing elements in widgets : continue build (with warning) and fail silently at runtime.

Thu, 30 Jan 2020 14:33:06 +0100SVGHMI : fixed bug happening when some SVG ids are containing dashes svghmi
Edouard Tisserant [Thu, 30 Jan 2020 14:33:06 +0100] rev 2833
SVGHMI : fixed bug happening when some SVG ids are containing dashes

Thu, 23 Jan 2020 13:46:05 +0100SVGHMI : wait for initial timeout after watchdog is triggered, since it generaly induces HMI restart svghmi
Edouard Tisserant [Thu, 23 Jan 2020 13:46:05 +0100] rev 2832
SVGHMI : wait for initial timeout after watchdog is triggered, since it generaly induces HMI restart

Thu, 23 Jan 2020 11:22:09 +0100SVGHMI : watchdog is now taking an initial and interval duration as CTN fields. svghmi
Edouard Tisserant [Thu, 23 Jan 2020 11:22:09 +0100] rev 2831
SVGHMI : watchdog is now taking an initial and interval duration as CTN fields.

Tue, 21 Jan 2020 13:55:03 +0100SVGHMI : avoid caching of xhtml file by forcing cache-control header in http response. svghmi
Edouard Tisserant [Tue, 21 Jan 2020 13:55:03 +0100] rev 2830
SVGHMI : avoid caching of xhtml file by forcing cache-control header in http response.

Fri, 17 Jan 2020 16:25:45 +0100SVGHMI : HMI_STRING now also supported from HMI to PLC svghmi
Edouard Tisserant [Fri, 17 Jan 2020 16:25:45 +0100] rev 2829
SVGHMI : HMI_STRING now also supported from HMI to PLC

Wed, 15 Jan 2020 11:13:39 +0100SVGHMI : cosmetic svghmi
Edouard Tisserant [Wed, 15 Jan 2020 11:13:39 +0100] rev 2828
SVGHMI : cosmetic

Wed, 15 Jan 2020 09:35:29 +0100SVGHMI non significant fixes svghmi
Edouard Tisserant [Wed, 15 Jan 2020 09:35:29 +0100] rev 2827
SVGHMI non significant fixes

Tue, 14 Jan 2020 11:09:26 +0100SVGHMI : support for HMI_STRING and HMI_BOOL svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 14 Jan 2020 11:09:26 +0100] rev 2826
SVGHMI : support for HMI_STRING and HMI_BOOL

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

Mon, 13 Jan 2020 15:15:01 +0100SVGHMI : Added python fomating {port} and {name} to commands so that command can build target URL svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 13 Jan 2020 15:15:01 +0100] rev 2824
SVGHMI : Added python fomating {port} and {name} to commands so that command can build target URL

Fri, 10 Jan 2020 17:00:01 +0100SVGHMI : add on Start, Stop and Watchdog command fields to configuration svghmi
Edouard Tisserant [Fri, 10 Jan 2020 17:00:01 +0100] rev 2823
SVGHMI : add on Start, Stop and Watchdog command fields to configuration

Fri, 10 Jan 2020 13:15:07 +0100SVGHMI: 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
Edouard Tisserant [Fri, 10 Jan 2020 13:15:07 +0100] rev 2822
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

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

Mon, 09 Dec 2019 14:53:42 +0100SVGHMI : had to move the problem of wkaing up python thread from plc thread to platform specific code. svghmi
Edouard Tisserant [Mon, 09 Dec 2019 14:53:42 +0100] rev 2820
SVGHMI : had to move the problem of wkaing up python thread from plc thread to platform specific code.
Since Xenomai's cobalt thread are definitely incompatible with normal posix python interpreter binary's thread, we must synchronize them with arcane rt_pipes (the only ones that really work cross domain) as already done in debug and python async eval blocks.

Mon, 09 Dec 2019 10:43:54 +0100SVGHMI: change collect/send thread looping condition to fix infinite loop in some cases svghmi
Edouard Tisserant [Mon, 09 Dec 2019 10:43:54 +0100] rev 2819
SVGHMI: change collect/send thread looping condition to fix infinite loop in some cases

Tue, 03 Dec 2019 09:46:12 +0100SVGHMI: re-implemented tree view with classic wxTreeCtl svghmi
Edouard Tisserant [Tue, 03 Dec 2019 09:46:12 +0100] rev 2818
SVGHMI: re-implemented tree view with classic wxTreeCtl

Tue, 03 Dec 2019 09:44:48 +0100Non significant changes, whitespaces, etc. svghmi
Edouard Tisserant [Tue, 03 Dec 2019 09:44:48 +0100] rev 2817
Non significant changes, whitespaces, etc.

Fri, 15 Nov 2019 10:34:14 +0100SVGHMI: Added simple HMI Tree View. svghmi
Edouard Tisserant [Fri, 15 Nov 2019 10:34:14 +0100] rev 2816
SVGHMI: Added simple HMI Tree View.

Thu, 14 Nov 2019 08:46:32 +0100SVGHMI: add a class attribute to HMI Tree nodes, set when using HMI_NODE svghmi
Edouard Tisserant [Thu, 14 Nov 2019 08:46:32 +0100] rev 2815
SVGHMI: add a class attribute to HMI Tree nodes, set when using HMI_NODE

Wed, 13 Nov 2019 11:22:53 +0100SVGHMI: HMI_LABEL and HMI_CLASS become HMI_NODE. svghmi
Edouard Tisserant [Wed, 13 Nov 2019 11:22:53 +0100] rev 2814
SVGHMI: HMI_LABEL and HMI_CLASS become HMI_NODE.
- Name of parent POU becomes HMI tree node name,
- Name of HMI_NODE variable becomes class of the node.

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

Thu, 07 Nov 2019 16:40:48 +0100SVGHMI: various fixes to make SVGHMI behave on more versions of twisted and GCC. svghmi
Edouard Tisserant [Thu, 07 Nov 2019 16:40:48 +0100] rev 2812
SVGHMI: various fixes to make SVGHMI behave on more versions of twisted and GCC.

Wed, 30 Oct 2019 15:17:05 +0100SVGHMI - 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
Edouard Tisserant [Wed, 30 Oct 2019 15:17:05 +0100] rev 2811
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.

Tue, 29 Oct 2019 11:18:58 +0100SVGHMI: various insignificant code moves, commenting and typos fixes. svghmi
Edouard Tisserant [Tue, 29 Oct 2019 11:18:58 +0100] rev 2810
SVGHMI: various insignificant code moves, commenting and typos fixes.

Tue, 29 Oct 2019 09:10:10 +0100SVGHMI : fancier second page in tests/svghmi svghmi
Edouard Tisserant [Tue, 29 Oct 2019 09:10:10 +0100] rev 2809
SVGHMI : fancier second page in tests/svghmi

Mon, 28 Oct 2019 19:52:43 +0100SVGHMI: 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
Edouard Tisserant [Mon, 28 Oct 2019 19:52:43 +0100] rev 2808
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.

Mon, 28 Oct 2019 10:30:20 +0100SVGHMI - added simple Meter widget. svghmi
Edouard Tisserant [Mon, 28 Oct 2019 10:30:20 +0100] rev 2807
SVGHMI - added simple Meter widget.

Sun, 27 Oct 2019 22:28:51 +0100SVGHMI: 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
Edouard Tisserant [Sun, 27 Oct 2019 22:28:51 +0100] rev 2806
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

Sun, 27 Oct 2019 21:38:10 +0100SVGHMI: fixed HMI->PLC dataflow : not updates as expected, and not initialized properly after subscribe. svghmi
Edouard Tisserant [Sun, 27 Oct 2019 21:38:10 +0100] rev 2805
SVGHMI: fixed HMI->PLC dataflow : not updates as expected, and not initialized properly after subscribe.

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

Thu, 24 Oct 2019 10:02:07 +0200SVGHMI: Added relative changes of HMI value from widgets. svghmi
Edouard Tisserant [Thu, 24 Oct 2019 10:02:07 +0200] rev 2803
SVGHMI: Added relative changes of HMI value from widgets.

Tue, 22 Oct 2019 22:58:55 +0200SVGHMI - Fixed svghmi.{c,js} about HMI -> PLC data unpack. svghmi
Edouard Tisserant [Tue, 22 Oct 2019 22:58:55 +0200] rev 2802
SVGHMI - Fixed svghmi.{c,js} about HMI -> PLC data unpack.

Tue, 22 Oct 2019 17:06:31 +0200SVGHMI: 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
Edouard Tisserant [Tue, 22 Oct 2019 17:06:31 +0200] rev 2801
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.

Sat, 19 Oct 2019 01:23:30 +0200SVGHMI: dispatching data to minimalist "Display" text widget. svghmi
Edouard Tisserant [Sat, 19 Oct 2019 01:23:30 +0200] rev 2800
SVGHMI: dispatching data to minimalist "Display" text widget.

Thu, 17 Oct 2019 15:48:09 +0200SVGHMI: 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
Edouard Tisserant [Thu, 17 Oct 2019 15:48:09 +0200] rev 2799
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.

Tue, 15 Oct 2019 17:14:48 +0200SVGHMI : many details about communication implemented in JS, with side effects. svghmi
Edouard Tisserant [Tue, 15 Oct 2019 17:14:48 +0200] rev 2798
SVGHMI : many details about communication implemented in JS, with side effects.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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