Fri, 03 Apr 2020 08:30:00 +0200 |
Edouard Tisserant |
SVGHMI: Added keypads to svghmi test's SVG file
svghmi
|
changeset |
files
|
Fri, 03 Apr 2020 08:13:47 +0200 |
Edouard Tisserant |
merge
svghmi
|
changeset |
files
|
Thu, 02 Apr 2020 15:18:15 +0200 |
Edouard Tisserant |
SVGHMI: Keypad: added code to re-attach keypad when starting edit.
svghmi
|
changeset |
files
|
Thu, 02 Apr 2020 14:04:21 +0200 |
Edouard Tisserant |
SVGHMI: removed debug code
svghmi
|
changeset |
files
|
Thu, 02 Apr 2020 14:03:38 +0200 |
Edouard Tisserant |
SVGHMI: More infrastructure for editing values with a keypad.
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
Wed, 01 Apr 2020 18:10:45 +0200 |
Edouard Tisserant |
SVGHMI: moved dead code to where it belongs
svghmi
|
changeset |
files
|
Wed, 01 Apr 2020 14:42:50 +0200 |
Edouard Tisserant |
SVGHMI: empty widget_keypad.ysl2, WIP
svghmi
|
changeset |
files
|
Tue, 31 Mar 2020 13:20:15 +0200 |
Edouard Tisserant |
SVGHMI: HMI:Switch now accepts boolean values 'true' and 'false'
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
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
|
changeset |
files
|
Sun, 29 Mar 2020 16:11:21 +0200 |
Edouard Tisserant |
SVGHMI: collect debug data through xslt reflectivity instead of yml2/python trick
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
Thu, 26 Mar 2020 14:21:52 +0100 |
Edouard Tisserant |
SVGHMI: added Back widget.
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
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
|
changeset |
files
|
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
|
changeset |
files
|
Wed, 25 Mar 2020 13:56:04 +0100 |
Edouard Tisserant |
SVGHMI: Alow relative relative Jump. (i.e, relative jump from a foreach widget)
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
Tue, 24 Mar 2020 23:07:54 +0100 |
Edouard Tisserant |
SVGHMI: Widget ForEach buttons now call corresponding methods.
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
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
|
changeset |
files
|
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
|
changeset |
files
|
Mon, 23 Mar 2020 10:16:38 +0100 |
Edouard Tisserant |
SVGHMI: ForEach knows its own widgets
svghmi
|
changeset |
files
|
Fri, 20 Mar 2020 10:46:15 +0100 |
Edouard Tisserant |
SVGHMI: add widget_foreach.ysl2
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
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
|
changeset |
files
|
Thu, 19 Mar 2020 11:32:20 +0100 |
Edouard Tisserant |
SVGHMI: Exclude (again) sub-widgets of forEach widget from page-switch managed widget.
svghmi
|
changeset |
files
|
Thu, 19 Mar 2020 09:57:26 +0100 |
Edouard Tisserant |
SVGHMI: cosmetic changes
svghmi
|
changeset |
files
|
Thu, 19 Mar 2020 09:31:07 +0100 |
Edouard Tisserant |
SVGHMI: Simplification and optimization. func:parselabel becomes a template.
svghmi
|
changeset |
files
|
Wed, 18 Mar 2020 12:06:50 +0100 |
Edouard Tisserant |
SVGHMI: intermediate untested state. Excluded ForEach widget from pages handled widgets.
svghmi
|
changeset |
files
|
Wed, 18 Mar 2020 09:37:26 +0100 |
Edouard Tisserant |
SVGHMI: update Makefile to pick all changes to any dependency
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
Tue, 17 Mar 2020 14:11:54 +0100 |
Edouard Tisserant |
SVGHMI: moving comments
svghmi
|
changeset |
files
|
Tue, 17 Mar 2020 14:01:37 +0100 |
Edouard Tisserant |
SVGHMI: added widget_common.ysl2
svghmi
|
changeset |
files
|
Tue, 17 Mar 2020 13:43:19 +0100 |
Edouard Tisserant |
SVGHMI: More readable debug output gen code
svghmi
|
changeset |
files
|
Tue, 17 Mar 2020 13:34:07 +0100 |
Edouard Tisserant |
SVGHMI: Cosmetic changes
svghmi
|
changeset |
files
|
Tue, 17 Mar 2020 13:16:01 +0100 |
Edouard Tisserant |
SVGHMI: added inline_svg.ysl2
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
Tue, 17 Mar 2020 10:34:26 +0100 |
Edouard Tisserant |
SVGHMI: moved debug code
svghmi
|
changeset |
files
|
Tue, 17 Mar 2020 09:29:04 +0100 |
Edouard Tisserant |
SVGHMI: created detachable_elements.ysl2
svghmi
|
changeset |
files
|
Tue, 17 Mar 2020 08:00:33 +0100 |
Edouard Tisserant |
SVGHMI: more debug code moved to hmi_tree.ysl2
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
Mon, 16 Mar 2020 18:27:49 +0100 |
Edouard Tisserant |
SVGHMI: created bbox_intersect.ysl2
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
Fri, 13 Mar 2020 21:42:40 +0100 |
Edouard Tisserant |
SVGHMI: relative pages and page jumps
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
Thu, 12 Mar 2020 13:16:18 +0100 |
Edouard Tisserant |
SVGHMI: significant whitespace changes
svghmi
|
changeset |
files
|
Thu, 12 Mar 2020 13:15:54 +0100 |
Edouard Tisserant |
SVGHMI: unsignificant changes or changes in generated code
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
Thu, 12 Mar 2020 09:33:20 +0100 |
Edouard Tisserant |
SVGHMI: cosmetic code moving
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
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
|
changeset |
files
|
Mon, 09 Mar 2020 13:40:45 +0100 |
Edouard Tisserant |
SVGHMI: whitespaces
svghmi
|
changeset |
files
|
Fri, 06 Mar 2020 14:43:03 +0100 |
Edouard Tisserant |
SVGHMI: fixed repeated error when Input widget is missing 'value' element
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
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
|
changeset |
files
|
Thu, 05 Mar 2020 13:54:29 +0100 |
Edouard Tisserant |
SVGHMI: Fix disapearing elements in case of nested detachable elements.
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
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
|
changeset |
files
|
Wed, 04 Mar 2020 16:46:35 +0100 |
Edouard Tisserant |
SVGHMI: more whitespace fixes
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
Wed, 04 Mar 2020 09:31:53 +0100 |
Edouard Tisserant |
SVGHMI: whitespaces and comments
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
Tue, 03 Mar 2020 10:58:00 +0100 |
Edouard Tisserant |
SVGHMI: re-indent generated JS
svghmi
|
changeset |
files
|
Mon, 02 Mar 2020 16:30:29 +0100 |
Edouard Tisserant |
SVGHMI: detach/re-attach elements required by pages on page switch
svghmi
|
changeset |
files
|
Mon, 02 Mar 2020 16:25:35 +0100 |
Edouard Tisserant |
SVGHMI: re-indenting
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
Mon, 02 Mar 2020 10:29:41 +0100 |
Edouard Tisserant |
SVGHMI: fix some JS + add generation of detachable elements, to be continued
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
Fri, 28 Feb 2020 17:52:35 +0100 |
Edouard Tisserant |
SVGHMI : documentation for new geometry intersection computation code + little fixes...
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
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
|
changeset |
files
|
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
|
changeset |
files
|
Fri, 21 Feb 2020 16:18:53 +0100 |
Edouard Tisserant |
SVGHMI: optimize browser work by hiding (display:none) pages that are not displayed.
svghmi
|
changeset |
files
|
Fri, 21 Feb 2020 16:15:33 +0100 |
Edouard Tisserant |
SVGHMI: Better and less verbose SVG namespace handling in XSLT transform
svghmi
|
changeset |
files
|
Mon, 17 Feb 2020 13:57:44 +0100 |
Edouard Tisserant |
SVGHMI: Added mostly untested switch widget
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
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
|
changeset |
files
|
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
|
changeset |
files
|
Thu, 13 Feb 2020 09:41:43 +0100 |
Edouard Tisserant |
SVGHMI : fix watchdog exception when timeout null
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
Thu, 30 Jan 2020 14:33:06 +0100 |
Edouard Tisserant |
SVGHMI : fixed bug happening when some SVG ids are containing dashes
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
Thu, 23 Jan 2020 11:22:09 +0100 |
Edouard Tisserant |
SVGHMI : watchdog is now taking an initial and interval duration as CTN fields.
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
Fri, 17 Jan 2020 16:25:45 +0100 |
Edouard Tisserant |
SVGHMI : HMI_STRING now also supported from HMI to PLC
svghmi
|
changeset |
files
|
Wed, 15 Jan 2020 11:13:39 +0100 |
Edouard Tisserant |
SVGHMI : cosmetic
svghmi
|
changeset |
files
|
Wed, 15 Jan 2020 09:35:29 +0100 |
Edouard Tisserant |
SVGHMI non significant fixes
svghmi
|
changeset |
files
|
Tue, 14 Jan 2020 11:09:26 +0100 |
Edouard Tisserant |
SVGHMI : support for HMI_STRING and HMI_BOOL
svghmi
|
changeset |
files
|
Tue, 14 Jan 2020 11:04:18 +0100 |
Edouard Tisserant |
plc_debug.c/var_acces.c : whitespace cleanup and other cosmetic changes
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
Fri, 10 Jan 2020 17:00:01 +0100 |
Edouard Tisserant |
SVGHMI : add on Start, Stop and Watchdog command fields to configuration
svghmi
|
changeset |
files
|
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
|
changeset |
files
|
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
|
changeset |
files
|
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
|
changeset |
files
|