svghmi/svghmi.js
Wed, 12 Aug 2020 15:24:02 +0200 Edouard Tisserant Merge 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 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:13:59 +0200 usveticic Changed keyboard to show on defined position. 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
Mon, 03 Aug 2020 16:32:23 +0200 Edouard Tisserant SVGHMI: prefer apply_hmi_value() to change_hmi_value() when possible svghmi
Thu, 21 May 2020 11:29:45 +0200 Edouard Tisserant SVGHMI: stop using eval in change_hmi_value, apparently slowly leaking memory. svghmi
Wed, 13 May 2020 18:47:09 +0200 Edouard Tisserant SVGHMI: explicit handling of undefined maximum widget update frequency 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, 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
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
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
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
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
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
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: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
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
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:15:54 +0100 Edouard Tisserant SVGHMI: unsignificant changes or changes in generated code 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
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
Mon, 02 Mar 2020 16:30:29 +0100 Edouard Tisserant SVGHMI: detach/re-attach elements required by pages on page switch 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:18:53 +0100 Edouard Tisserant SVGHMI: optimize browser work by hiding (display:none) pages that are not displayed. 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
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
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 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
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, 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
Mon, 28 Oct 2019 19:52:43 +0100 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
Sun, 27 Oct 2019 22:28:51 +0100 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
Sun, 27 Oct 2019 21:38:10 +0100 Edouard Tisserant SVGHMI: fixed HMI->PLC dataflow : not updates as expected, and not initialized properly after subscribe. svghmi
Thu, 24 Oct 2019 10:02:07 +0200 Edouard Tisserant SVGHMI: Added relative changes of HMI value from widgets. svghmi
Tue, 22 Oct 2019 22:58:55 +0200 Edouard Tisserant SVGHMI - Fixed svghmi.{c,js} about HMI -> PLC data unpack. svghmi
Tue, 22 Oct 2019 17:06:31 +0200 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
Sat, 19 Oct 2019 01:23:30 +0200 Edouard Tisserant SVGHMI: dispatching data to minimalist "Display" text widget. svghmi
Thu, 17 Oct 2019 15:48:09 +0200 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
Tue, 15 Oct 2019 17:14:48 +0200 Edouard Tisserant SVGHMI : many details about communication implemented in JS, with side effects. svghmi
Mon, 30 Sep 2019 13:26:11 +0200 Edouard Tisserant SVGHMI: Work in progress. C side mostly implemented, neither built nor tested. svghmi
Fri, 20 Sep 2019 13:38:58 +0200 Edouard Tisserant SVGHMI: Starting to define JS side more in details. svghmi
Thu, 19 Sep 2019 09:01:49 +0200 Edouard Tisserant SVGHMI: moved static JS code to a separate file included at xhtml generation time svghmi