2020-03-30 |
Edouard Tisserant |
SVGHMI: prevent man-made memory leak by limiting back button history items count to 42
svghmi
|
changeset |
files
|
2020-03-29 |
Edouard Tisserant |
SVGHMI: collect debug data through xslt reflectivity instead of yml2/python trick
svghmi
|
changeset |
files
|
2020-03-27 |
Edouard Tisserant |
SVGHMI: Jump widget can now display as active or inactive, if corresponfing "active" and "inactive labeled elements are provided.
svghmi
|
changeset |
files
|
2020-03-26 |
Edouard Tisserant |
SVGHMI: added Back widget.
svghmi
|
changeset |
files
|
2020-03-26 |
Edouard Tisserant |
SVGHMI: Jump widget now make errors if path given for relative jump doesn't match target page reference path class.
svghmi
|
changeset |
files
|
2020-03-26 |
Edouard Tisserant |
SVGHMI: Check that explicit relative page jump path is consistant with destination page reference path.
svghmi
|
changeset |
files
|
2020-03-25 |
Edouard Tisserant |
SVGHMI: ForEach Widget now has a better wrap-around when scrolling : hit the boundary systematically before wrapping
svghmi
|
changeset |
files
|
2020-03-25 |
Edouard Tisserant |
SVGHMI: Alow relative relative Jump. (i.e, relative jump from a foreach widget)
svghmi
|
changeset |
files
|
2020-03-25 |
Edouard Tisserant |
SVGHMI: Generalize applying cache to widgets, be it from page or ForEach widgets. Now ForEach widget buttons work as expected.
svghmi
|
changeset |
files
|
2020-03-24 |
Edouard Tisserant |
SVGHMI: Widget ForEach buttons now call corresponding methods.
svghmi
|
changeset |
files
|
2020-03-24 |
Edouard Tisserant |
SVGHMI: ForEach now has working (un)subscribe. Fixed PageSwitch that wasn't behaving when jumping to current page with another path.
svghmi
|
changeset |
files
|
2020-03-23 |
Edouard Tisserant |
SVGHMI: Easier way to match HMI tree elements to paths. ForEach widget now looks for paths and indexes of all items, and enforce path to be consistent with ForEach items sub widgets
svghmi
|
changeset |
files
|
2020-03-23 |
Edouard Tisserant |
SVGHMI: added func:get_hmi_tree_elt to match HMI tree node from path. Continue implementing ForEach widget : force order and completeness of items list. Now also collecting ForEach buttons.
svghmi
|
changeset |
files
|
2020-03-23 |
Edouard Tisserant |
SVGHMI: ForEach knows its own widgets
svghmi
|
changeset |
files
|
2020-03-20 |
Edouard Tisserant |
SVGHMI: add widget_foreach.ysl2
svghmi
|
changeset |
files
|
2020-03-20 |
Edouard Tisserant |
SVGHMI: make root HMI tree node a HMI_NODE, droped HMI_ROOT node type
svghmi
|
changeset |
files
|
2020-03-19 |
Edouard Tisserant |
SVGHMI: reworked widget (un)subscription now a method of widgect object, allowing special subscription methods
svghmi
|
changeset |
files
|
2020-03-19 |
Edouard Tisserant |
SVGHMI: Exclude (again) sub-widgets of forEach widget from page-switch managed widget.
svghmi
|
changeset |
files
|
2020-03-19 |
Edouard Tisserant |
SVGHMI: cosmetic changes
svghmi
|
changeset |
files
|
2020-03-19 |
Edouard Tisserant |
SVGHMI: Simplification and optimization. func:parselabel becomes a template.
svghmi
|
changeset |
files
|
2020-03-18 |
Edouard Tisserant |
SVGHMI: intermediate untested state. Excluded ForEach widget from pages handled widgets.
svghmi
|
changeset |
files
|
2020-03-18 |
Edouard Tisserant |
SVGHMI: update Makefile to pick all changes to any dependency
svghmi
|
changeset |
files
|
2020-03-18 |
Edouard Tisserant |
SVGHMI: created widget_*.ysl2. Renamed widget_common in widgets_common, so that it doesn't match globing.
svghmi
|
changeset |
files
|
2020-03-17 |
Edouard Tisserant |
SVGHMI: moving comments
svghmi
|
changeset |
files
|
2020-03-17 |
Edouard Tisserant |
SVGHMI: added widget_common.ysl2
svghmi
|
changeset |
files
|
2020-03-17 |
Edouard Tisserant |
SVGHMI: More readable debug output gen code
svghmi
|
changeset |
files
|
2020-03-17 |
Edouard Tisserant |
SVGHMI: Cosmetic changes
svghmi
|
changeset |
files
|
2020-03-17 |
Edouard Tisserant |
SVGHMI: added inline_svg.ysl2
svghmi
|
changeset |
files
|
2020-03-17 |
Edouard Tisserant |
SVGHMI: detachable_elements.ysl2 becomes detachable_pages.ysl2, and includes logic to process pages elements. Other minor code moves.
svghmi
|
changeset |
files
|
2020-03-17 |
Edouard Tisserant |
SVGHMI: moved debug code
svghmi
|
changeset |
files
|
2020-03-17 |
Edouard Tisserant |
SVGHMI: created detachable_elements.ysl2
svghmi
|
changeset |
files
|
2020-03-17 |
Edouard Tisserant |
SVGHMI: more debug code moved to hmi_tree.ysl2
svghmi
|
changeset |
files
|
2020-03-17 |
Edouard Tisserant |
SVGHMI : create hmi_tree.ysl2, rename bbox_intersect.ysl2 into geometry.ysl2 and move more code into. Add per included ysl2 file debug output.
svghmi
|
changeset |
files
|
2020-03-16 |
Edouard Tisserant |
SVGHMI: created bbox_intersect.ysl2
svghmi
|
changeset |
files
|
2020-03-16 |
Edouard Tisserant |
SVGHMI: Re-enable dispatch to arrays of functions in case of multiple suscription per widget. Still unused, but disabled for reasons not any more true.
svghmi
|
changeset |
files
|
2020-03-13 |
Edouard Tisserant |
SVGHMI: relative pages and page jumps
svghmi
|
changeset |
files
|
2020-03-13 |
Edouard Tisserant |
SVGHMI: take care of path given in HMI:Page and HMI:Jump, but do not apply subscription offset for now. Intermediate commit in a "working" state.
svghmi
|
changeset |
files
|
2020-03-12 |
Edouard Tisserant |
SVGHMI: significant whitespace changes
svghmi
|
changeset |
files
|
2020-03-12 |
Edouard Tisserant |
SVGHMI: unsignificant changes or changes in generated code
svghmi
|
changeset |
files
|
2020-03-12 |
Edouard Tisserant |
SVGHMI: Stop ignoring HMI_NODE in HMI tree, and count it as a BOOL. Soon we use those nodes as reference for relative page jump, and as an "enable" bit for features associated to an HMI tree fragment.
svghmi
|
changeset |
files
|
2020-03-12 |
Edouard Tisserant |
SVGHMI: cosmetic code moving
svghmi
|
changeset |
files
|
2020-03-10 |
Edouard Tisserant |
SVGHMI: split page switch into switching subscription and switching elements in the DOM, to ensure that subscriptions have been send before changing DOM, and avoid some flicker.
svghmi
|
changeset |
files
|
2020-03-09 |
Edouard Tisserant |
SVGHMI: fix wrong updates of HMI variables on each change, especially when not subscribed.
svghmi
|
changeset |
files
|
2020-03-09 |
Edouard Tisserant |
SVGHMI: whitespaces
svghmi
|
changeset |
files
|
2020-03-06 |
Edouard Tisserant |
SVGHMI: fixed repeated error when Input widget is missing 'value' element
svghmi
|
changeset |
files
|
2020-03-06 |
Edouard Tisserant |
SVGHMI: more decoupling in between UI related and the rest of JS code, still in the aim of enhancing robustness under heavy load.
svghmi
|
changeset |
files
|
2020-03-06 |
Edouard Tisserant |
SVGHMI: use requestAnimationFrame to delegate rendering of updates from network. Should help prevent browser collapse leading to watchdog in case of overload.
svghmi
|
changeset |
files
|
2020-03-05 |
Edouard Tisserant |
SVGHMI: Fix disapearing elements in case of nested detachable elements.
svghmi
|
changeset |
files
|
2020-03-05 |
Edouard Tisserant |
SVGHMI: Meter widget accepts 2 arguments : min and max, taken in account when min or max text element is missing
svghmi
|
changeset |
files
|
2020-03-04 |
Edouard Tisserant |
SVGHMI: More precise error message on missing HMI path. Meter widget now defaults 0-100 range when min and max elements arent's present, without error.
svghmi
|
changeset |
files
|
2020-03-04 |
Edouard Tisserant |
SVGHMI: more whitespace fixes
svghmi
|
changeset |
files
|
2020-03-04 |
Edouard Tisserant |
SVGHMI: unlink clones (i.e. deep copy elements refered by svg:use) inside widget.
svghmi
|
changeset |
files
|
2020-03-04 |
Edouard Tisserant |
SVGHMI: whitespaces and comments
svghmi
|
changeset |
files
|
2020-03-03 |
Edouard Tisserant |
SVGHMI: completely fixed indentation of generated widget description. Lets try to keep it as-is until we can use yslt indentation.
svghmi
|
changeset |
files
|
2020-03-03 |
Edouard Tisserant |
SVGHMI: re-indent generated JS
svghmi
|
changeset |
files
|
2020-03-02 |
Edouard Tisserant |
SVGHMI: detach/re-attach elements required by pages on page switch
svghmi
|
changeset |
files
|
2020-03-02 |
Edouard Tisserant |
SVGHMI: re-indenting
svghmi
|
changeset |
files
|
2020-03-02 |
Edouard Tisserant |
SVGHMI: declares pages detachable requirements as an object, to find more efficiently common requirements
svghmi
|
changeset |
files
|
2020-03-02 |
Edouard Tisserant |
SVGHMI: fix some JS + add generation of detachable elements, to be continued
svghmi
|
changeset |
files
|
2020-02-28 |
Edouard Tisserant |
SVGHMI: now compute discardable elements first so that we can do better grouping of required elements when sumarizing.
svghmi
|
changeset |
files
|
2020-02-28 |
Edouard Tisserant |
SVGHMI : documentation for new geometry intersection computation code + little fixes...
svghmi
|
changeset |
files
|
2020-02-28 |
Edouard Tisserant |
SVGHMI: detachable and discardable elements sets, Reworked geometric intersection, toward more accurate page content detection.
svghmi
|
changeset |
files
|
2020-02-27 |
Edouard Tisserant |
SVGHMI : still trying to optimize. Added xslt code to identitfy minimum set of elements needed by a particular page. Plan is to remove unseen/unused elements from the DOM, and re-appending them later when used, on page switch. Disabled previous optimization.
svghmi
|
changeset |
files
|
2020-02-21 |
Edouard Tisserant |
SVGHMI: attempt to optimize for webkit, because of really slow style recompute in svg:use : "unlink clones" (as in inkscape) but stop deep-copy when meeting a widget, and create a new clone instead.
svghmi
|
changeset |
files
|
2020-02-21 |
Edouard Tisserant |
SVGHMI: optimize browser work by hiding (display:none) pages that are not displayed.
svghmi
|
changeset |
files
|
2020-02-21 |
Edouard Tisserant |
SVGHMI: Better and less verbose SVG namespace handling in XSLT transform
svghmi
|
changeset |
files
|
2020-02-17 |
Edouard Tisserant |
SVGHMI: Added mostly untested switch widget
svghmi
|
changeset |
files
|
2020-02-14 |
Edouard Tisserant |
SVGHMI: HMI:Page can now be a svg:g group or a svg:use clone, and included/linked widget are included in page. HMI:Jump was updated to be clickable through svg:use, to be generalized.
svghmi
|
changeset |
files
|
2020-02-14 |
Edouard Tisserant |
SVGHMI: ensure that coordinate in CSV file generated by inkscape are both matching svg default unit and in default reference frame
svghmi
|
changeset |
files
|
2020-02-13 |
Edouard Tisserant |
SVGHMI : still behave, even if important things are missing in SVG widget definitions (ex: needle missing for Meter widget)
svghmi
|
changeset |
files
|
2020-02-13 |
Edouard Tisserant |
SVGHMI : fix watchdog exception when timeout null
svghmi
|
changeset |
files
|
2020-02-11 |
Edouard Tisserant |
SVGHMI: be a bit more tolerant with missing HMI paths or missing elements in widgets : continue build (with warning) and fail silently at runtime.
svghmi
|
changeset |
files
|
2020-01-30 |
Edouard Tisserant |
SVGHMI : fixed bug happening when some SVG ids are containing dashes
svghmi
|
changeset |
files
|
2020-01-23 |
Edouard Tisserant |
SVGHMI : wait for initial timeout after watchdog is triggered, since it generaly induces HMI restart
svghmi
|
changeset |
files
|
2020-01-23 |
Edouard Tisserant |
SVGHMI : watchdog is now taking an initial and interval duration as CTN fields.
svghmi
|
changeset |
files
|
2020-01-21 |
Edouard Tisserant |
SVGHMI : avoid caching of xhtml file by forcing cache-control header in http response.
svghmi
|
changeset |
files
|
2020-01-17 |
Edouard Tisserant |
SVGHMI : HMI_STRING now also supported from HMI to PLC
svghmi
|
changeset |
files
|
2020-01-15 |
Edouard Tisserant |
SVGHMI : cosmetic
svghmi
|
changeset |
files
|
2020-01-15 |
Edouard Tisserant |
SVGHMI non significant fixes
svghmi
|
changeset |
files
|
2020-01-14 |
Edouard Tisserant |
SVGHMI : support for HMI_STRING and HMI_BOOL
svghmi
|
changeset |
files
|
2020-01-14 |
Edouard Tisserant |
plc_debug.c/var_acces.c : whitespace cleanup and other cosmetic changes
svghmi
|
changeset |
files
|
2020-01-13 |
Edouard Tisserant |
SVGHMI : Added python fomating {port} and {name} to commands so that command can build target URL
svghmi
|
changeset |
files
|
2020-01-10 |
Edouard Tisserant |
SVGHMI : add on Start, Stop and Watchdog command fields to configuration
svghmi
|
changeset |
files
|
2020-01-10 |
Edouard Tisserant |
SVGHMI: added a watchdog. To ensure that the whole chain is checked, watchdog use a periodic echo of a hearteat variable. JS client code systematically register /HEARTBEAT at 1s update freq, and reacts on updates of /HEARTBEAT by systematically incrementing it. C code catch /HEARTBEAT update and feeds python-implemented watchdog. For now, watchdog does nothing when tiggered
svghmi
|
changeset |
files
|
2019-12-18 |
Edouard Tisserant |
Add --on-plc-start --on-plc-stop and --status-change to runtime command line, calling given command respectively on start stop or any event. Command line string is python formated (to eventually include status with {}) before being split (supports quoted strings) and passed to Popen for non-blocking execution.
svghmi
|
changeset |
files
|
2019-12-09 |
Edouard Tisserant |
SVGHMI : had to move the problem of wkaing up python thread from plc thread to platform specific code.
svghmi
|
changeset |
files
|
2019-12-09 |
Edouard Tisserant |
SVGHMI: change collect/send thread looping condition to fix infinite loop in some cases
svghmi
|
changeset |
files
|
2019-12-03 |
Edouard Tisserant |
SVGHMI: re-implemented tree view with classic wxTreeCtl
svghmi
|
changeset |
files
|
2019-12-03 |
Edouard Tisserant |
Non significant changes, whitespaces, etc.
svghmi
|
changeset |
files
|
2019-11-15 |
Edouard Tisserant |
SVGHMI: Added simple HMI Tree View.
svghmi
|
changeset |
files
|
2019-11-14 |
Edouard Tisserant |
SVGHMI: add a class attribute to HMI Tree nodes, set when using HMI_NODE
svghmi
|
changeset |
files
|
2019-11-13 |
Edouard Tisserant |
SVGHMI: HMI_LABEL and HMI_CLASS become HMI_NODE.
svghmi
|
changeset |
files
|
2019-11-13 |
Edouard Tisserant |
Add FatalError() method to ConfigTreeNode.
svghmi
|
changeset |
files
|
2019-11-07 |
Edouard Tisserant |
SVGHMI: various fixes to make SVGHMI behave on more versions of twisted and GCC.
svghmi
|
changeset |
files
|
2019-10-30 |
Edouard Tisserant |
SVGHMI - prepare page with cached data when switching. This prevents values that do not change and that was already subscribed in previous page from keeping undefined.
svghmi
|
changeset |
files
|
2019-10-29 |
Edouard Tisserant |
SVGHMI: various insignificant code moves, commenting and typos fixes.
svghmi
|
changeset |
files
|
2019-10-29 |
Edouard Tisserant |
SVGHMI : fancier second page in tests/svghmi
svghmi
|
changeset |
files
|
2019-10-28 |
Edouard Tisserant |
SVGHMI: SVG viewport now defined so that HMI take scales and fit to the view. Implemented page switch through viewport change, no hiding of widget for now.
svghmi
|
changeset |
files
|
2019-10-28 |
Edouard Tisserant |
SVGHMI - added simple Meter widget.
svghmi
|
changeset |
files
|
2019-10-27 |
Edouard Tisserant |
SVGHMI: Quicker update path for input widget when pressing on buttons, do not wait until data comes back, and simply update value text of the pressed widget. Updated PLC prog for more amimated value to display
svghmi
|
changeset |
files
|
2019-10-27 |
Edouard Tisserant |
SVGHMI: fixed HMI->PLC dataflow : not updates as expected, and not initialized properly after subscribe.
svghmi
|
changeset |
files
|
2019-10-24 |
Edouard Tisserant |
Fixed one more sequel of 5f79b194fa63 'SVGHMI: filter out temporary variables created while generating ST code out of FBD.'
svghmi
|
changeset |
files
|
2019-10-24 |
Edouard Tisserant |
SVGHMI: Added relative changes of HMI value from widgets.
svghmi
|
changeset |
files
|
2019-10-22 |
Edouard Tisserant |
SVGHMI - Fixed svghmi.{c,js} about HMI -> PLC data unpack.
svghmi
|
changeset |
files
|
2019-10-22 |
Edouard Tisserant |
SVGHMI: Added init call to all widgets at startup to bind events. More features in Input widget : Edit and Change buttons. WIP HMI->PLC value update, incoherent data detected in C part on update.
svghmi
|
changeset |
files
|
2019-10-18 |
Edouard Tisserant |
SVGHMI: dispatching data to minimalist "Display" text widget.
svghmi
|
changeset |
files
|
2019-10-17 |
Edouard Tisserant |
SVGHMI: Many fixes. Subscriptions to HMItree seems to be working, and dispatch function is called in JS with good data. Bidirectional communication now really working.
svghmi
|
changeset |
files
|
2019-10-15 |
Edouard Tisserant |
SVGHMI : many details about communication implemented in JS, with side effects.
svghmi
|
changeset |
files
|
2019-10-11 |
Edouard Tisserant |
SVGHMI: added a widgets description object, accessed by id. Added frequency to widgets, as separate template to allow future customization. Excluded non svg elements (i.e inkscape Sets) with HMI: labels from widgets.
svghmi
|
changeset |
files
|
2019-10-10 |
Edouard Tisserant |
SVGHMI fix logic for page membership detection
svghmi
|
changeset |
files
|
2019-10-10 |
Edouard Tisserant |
SVGHMI compute default page
svghmi
|
changeset |
files
|
2019-10-09 |
Edouard Tisserant |
SVGHMI: deduce pages content out of geometry (elements contained in page bounding box are in)
svghmi
|
changeset |
files
|
2019-10-09 |
Edouard Tisserant |
SVGHMI: use func:function for parsing labels so that it can be used in predicates
svghmi
|
changeset |
files
|
2019-10-08 |
Edouard Tisserant |
SVGHMI: moved/fixed some templates, avoided namespace problems, added parsing of HMI:* inkscape labels
svghmi
|
changeset |
files
|
2019-10-07 |
Edouard Tisserant |
SVGHMI: now generating JS object describing widgets and pointing to SVG elements
svghmi
|
changeset |
files
|
2019-10-05 |
Edouard Tisserant |
SVGHI: compute hmitree variables ordered index in xslt
svghmi
|
changeset |
files
|
2019-10-02 |
Edouard Tisserant |
SVGHMI: now built.
svghmi
|
changeset |
files
|
2019-09-30 |
Edouard Tisserant |
SVGHMI: Work in progress. C side mostly implemented, neither built nor tested.
svghmi
|
changeset |
files
|
2019-09-27 |
Edouard Tisserant |
SVGHMI: More strict formating of active HMI labels : @ separator only used for paths
svghmi
|
changeset |
files
|
2019-09-26 |
Edouard Tisserant |
SVGHMI: new test svg to drive next implementation
svghmi
|
changeset |
files
|