Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 10 Jul 2020 11:15:41 +0200] rev 2992
Python Runtime : stil untested optimization of Python Safe Globals.
Now only one python_poll block per python extension is used to trigger
execution of OnChange calls.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 03 Jul 2020 14:02:04 +0200] rev 2991
Prevent global python_poll blocks to be created when accidentally adding content to C-File OnChange column.
Edouard Tisserant [Fri, 03 Jul 2020 10:03:25 +0200] rev 2990
Merge from default
Edouard Tisserant [Mon, 29 Jun 2020 14:38:04 +0200] rev 2989
Modbus: fix strange side effect of re-use of condition variables or mutex with Xenomai : without bzero of the associated types, mutex keeps locked.
Edouard Tisserant [Wed, 24 Jun 2020 14:38:11 +0200] rev 2988
Modbus: fix client timer invalid arguments.
Edouard Tisserant [Tue, 23 Jun 2020 13:50:21 +0200] rev 2987
Modbus add a timer thread, and switch timer to SIGEV_THREAD_ID to follow xenomai posix skin restrictions.
Edouard Tisserant [Fri, 19 Jun 2020 11:07:25 +0200] rev 2986
Runtime: Fix typo in PLCObject leading to exception when reporting failure.
Edouard Tisserant [Thu, 18 Jun 2020 14:18:40 +0200] rev 2985
merged
Edouard Tisserant [Thu, 18 Jun 2020 14:16:19 +0200] rev 2984
SVGHMI: Fix bug introduced when merging default
Edouard Tisserant [Thu, 18 Jun 2020 14:15:43 +0200] rev 2983
SVGHMI: Add use of Python PLC Globals it test
Edouard Tisserant [Thu, 18 Jun 2020 11:00:26 +0200] rev 2982
Merge default changes in SVGHMI
Edouard Tisserant [Thu, 18 Jun 2020 10:42:08 +0200] rev 2981
Merge default changes in SVGHMI
Edouard Tisserant [Thu, 04 Jun 2020 11:14:21 +0200] rev 2980
SVGHMI: add "unsubscribable" property to widgets in order to generalize what already happens for jump buttons.
In most cases jump buttons do not really subscribe to pointed HMI variable, path is given as a relative page jump path. When widget.unsubscribable is set to true, no subscription is made on page switch, but still offset is updated.
This fixes bug happening on relative jump buttons without "disabled" element where offset did not change on relative page switch.
Edouard Tisserant [Wed, 03 Jun 2020 13:31:55 +0200] rev 2979
merge
dgaberscek [Fri, 29 May 2020 09:46:07 +0200] rev 2978
Merge
dgaberscek [Tue, 26 May 2020 10:59:01 +0200] rev 2977
SVGHMI: Added widget toggleButton.
dgaberscek [Tue, 26 May 2020 10:53:02 +0200] rev 2976
SVGHMI: Changed widget button handler to element attribute.
Edouard Tisserant [Tue, 02 Jun 2020 13:37:34 +0200] rev 2975
Runtime: create .md5 file at the end of all transfered files being written to disk, so that it presence indicates completeness of transfer.
Edouard Tisserant [Tue, 02 Jun 2020 11:34:50 +0200] rev 2974
IDE: Main toolbar : Show repair button also in stop mode. Move repair button after disconnect button.
Edouard Tisserant [Mon, 01 Jun 2020 14:47:31 +0200] rev 2973
Runtime: fsync() files when transfering them, to prebent data loss when poweroff soon after programming. Fixed variable naming as a side effect.
Edouard Tisserant [Thu, 28 May 2020 11:38:09 +0200] rev 2972
PLCObject : reorganize code in StartPLC(), add a PreStartPLC() empty method, to be overloaded by runtime extensions.
Edouard Tisserant [Tue, 26 May 2020 09:58:20 +0200] rev 2971
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.
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 21 May 2020 11:29:45 +0200] rev 2970
SVGHMI: stop using eval in change_hmi_value, apparently slowly leaking memory.
Edouard Tisserant [Thu, 14 May 2020 17:49:20 +0200] rev 2969
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.
Edouard Tisserant [Thu, 14 May 2020 17:48:58 +0200] rev 2968
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.
Edouard Tisserant [Thu, 14 May 2020 17:48:15 +0200] rev 2967
SVGHMI: Applies clone unlinking to widget themselves, not only to clones inside widgets.
Edouard Tisserant [Thu, 14 May 2020 09:24:09 +0200] rev 2966
merge
Edouard Tisserant [Wed, 13 May 2020 14:48:52 +0200] rev 2965
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.
Edouard Tisserant [Wed, 13 May 2020 14:47:17 +0200] rev 2964
Added FatalError call to Libraries code gen, so that they can emit messages addressed like config tree nodes do.
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 13 May 2020 22:25:22 +0200] rev 2963
SVGHMI: more Widget properties declared ES6 style.
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 13 May 2020 22:22:13 +0200] rev 2962
SVGHMI: Switch widget now use class declaration
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 13 May 2020 18:50:07 +0200] rev 2961
SVGHMI: Update Button widget to class declaration, and add a button widget in tests/svghmi.
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 13 May 2020 18:47:09 +0200] rev 2960
SVGHMI: explicit handling of undefined maximum widget update frequency
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 13 May 2020 18:27:26 +0200] rev 2959
SVGHMI: removed dead code
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 13 May 2020 18:26:38 +0200] rev 2958
SVGHMI: Back button updated to class style
Edouard Tisserant [Mon, 11 May 2020 11:33:00 +0200] rev 2957
merge
Edouard Tisserant [Mon, 11 May 2020 11:10:38 +0200] rev 2956
DEBUG: (IDE side) fixed wrong implementation of anti-rapid-fire leading to systematic delay in subscribing
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 10 May 2020 23:40:43 +0200] rev 2955
SVGHMI: Exclude non-widget HMI:* labeled elements from hmi_widget. Namely : HMI:Page HMI:Lang and HMI:List have been excluded.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 10 May 2020 17:01:09 +0200] rev 2954
SVGHMI: clean up dead code, update generated xslt.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 10 May 2020 16:36:41 +0200] rev 2953
SVGHMI: apply per class overloading of sub/unsub to Jump widget
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 10 May 2020 16:36:09 +0200] rev 2952
SVGHMI: apply per class overloading of sub/unsub to ForEach widget
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 10 May 2020 16:34:44 +0200] rev 2951
SVGHMI: Widget's specific sub/unsub traits are now wxpressed in widget's class.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 10 May 2020 16:32:19 +0200] rev 2950
SVGHMI: Parameters common to all widget constructors now passed as ordered parameters.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 08 May 2020 16:51:43 +0200] rev 2949
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.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 08 May 2020 16:47:52 +0200] rev 2948
SVGHMI: Add an exslt function to collect used widget types, in order to only include necessary JS definitions in furure changes.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 08 May 2020 16:44:20 +0200] rev 2947
SVGHMI: Systematically output local name as /* comment */ when emiting content.
Edouard Tisserant [Fri, 24 Apr 2020 10:03:40 +0200] rev 2946
Merge
Edouard Tisserant [Fri, 24 Apr 2020 10:02:13 +0200] rev 2945
SVGHMI: Fix flawed logic to place nodes in the HMI tree, leading to wrecked tree in some cases.
dgaberscek [Wed, 22 Apr 2020 15:33:53 +0200] rev 2944
Added button and circular bar widgets.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 20 Apr 2020 16:19:31 +0200] rev 2943
SVGHMI: added more meaningful namespaces to emit javascript code from.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 19 Apr 2020 22:44:41 +0200] rev 2942
SVGHMI: moved JS code of foreach and jump widget in corresponding widget_*.ysl2. To be continued.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 19 Apr 2020 22:01:12 +0200] rev 2941
SVGHMI: spread JS code from svghmi/scripts.ysl2 in other .ysl2 files, using dedicated preamble and epilogue namespaces
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 19 Apr 2020 10:48:34 +0200] rev 2940
SVGHMI: Introduced "emit" to simplify producing per-topic code and content from anywhere in code. Applied to debug output, next to JS.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 18 Apr 2020 14:06:41 +0200] rev 2939
SVGHMI: Move reflective debug tags from "reflect" to "debug" namespace, preparing for per-purpose namespaces.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 18 Apr 2020 13:14:45 +0200] rev 2938
SVGHMI: Added scripts.ysl2
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 18 Apr 2020 11:49:02 +0200] rev 2937
SVGHMI: moving code wher it belongs, and reformulate some declarations for better readability.
Edouard Tisserant [Thu, 16 Apr 2020 10:21:25 +0200] rev 2936
SVGHMI: HMI:DropDown: more documentation.
Edouard Tisserant [Wed, 15 Apr 2020 14:29:19 +0200] rev 2935
SVGHMI: Comments in HMI:DropDown source code
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 14 Apr 2020 23:04:54 +0200] rev 2934
SVGHMI: HMI:DropDown menu aligns to selected when opening
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 14 Apr 2020 22:08:52 +0200] rev 2933
SVGHMI: When clicking outside of opened HMI:DropDown box, close it.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 14 Apr 2020 19:22:18 +0200] rev 2932
SVGHMI: Fix HMI:DropDown flicker on close.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 14 Apr 2020 17:31:45 +0200] rev 2931
SVGHMI: HMI:DropDown now temporarily takes content from widget's arguments, until HMI:List is implemented.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 14 Apr 2020 17:17:35 +0200] rev 2930
SVGHMI: Connect HMI:DropDown to value in HMI Tree, in svghmi test as well.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 14 Apr 2020 17:16:25 +0200] rev 2929
SVGHMI: fix probable problem in HMI:Input, where value could be applied to wrong index if used in relative page.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 14 Apr 2020 17:15:02 +0200] rev 2928
SVGHMI: HMI:DropDown element is brought in front when opened, so that it isn't occulted by other widgets at the same level.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 14 Apr 2020 17:13:12 +0200] rev 2927
SVGHMI: HMI:DropDown now catches all clicks when open
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 14 Apr 2020 12:07:08 +0200] rev 2926
SVGHMI: Add button element to HMI:DropDown, also fix problem with computed box margins.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 14 Apr 2020 10:56:45 +0200] rev 2925
SVGHMI: HMI:DropDown now scrolls forward and backward
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 13 Apr 2020 18:28:22 +0200] rev 2924
SVGHMI: progress on HMI:DropDown - now selects some value on click, and close
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 12 Apr 2020 21:43:42 +0200] rev 2923
SVGHMI: HMI:DropDown work in progress, intermediate commit. Now menu's rectangle grows up to viewport borders.
Edouard Tisserant [Thu, 09 Apr 2020 09:52:34 +0200] rev 2922
SVGHMI: intermediate commit while working on dropdown widget.
Here is the plan :
HMI:DropDown : svg:g of svg:rect + svg:text
rect is extended to match content size, and if content size exceed page size, user can scroll
HMI:List : either HMI:List:ListName as svg:text, one tspan per list entry
or HMI:List:ListName:Foreach:HMI_CLASS:SUB/PATH/TO/VALUE@/ROOT/PATH as empty svg:g
Edouard Tisserant [Tue, 07 Apr 2020 10:01:23 +0200] rev 2921
SVGHMI: HMI is not speculating on PLC variable update anymore when sending new variable value.
HMI variable cache in JS was changed in advance for more responsive behaviour when updating a HMI tree variable. This was leading to display value different from hmi tree variable in case the expected update did not happen because PLC program did revert it.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 04 Apr 2020 22:32:54 +0200] rev 2920
SVGHMI: finished shift and capslock support n keypad widget. Added a helper in widgets_common to collect subelements likle active/inactive/disabled...
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 04 Apr 2020 17:47:16 +0200] rev 2919
SVGHMI: fixed keypad JS regarding shift/capslock and other details
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 04 Apr 2020 09:41:32 +0200] rev 2918
Fix unmatched "Courier" font for monospace fonts on latest ubuntu 20.04. Selected "FreeMono" instead, present since at least 18.04
Edouard Tisserant [Fri, 03 Apr 2020 14:37:41 +0200] rev 2917
SVGHMI: Keypad working for HMI_STRING, still Shift/CapsLock not finished.
Edouard Tisserant [Fri, 03 Apr 2020 09:52:57 +0200] rev 2916
SVGHMI: fix keyboard not showing
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 03 Apr 2020 08:30:00 +0200] rev 2915
SVGHMI: Added keypads to svghmi test's SVG file
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 03 Apr 2020 08:13:47 +0200] rev 2914
merge
Edouard Tisserant [Thu, 02 Apr 2020 15:18:15 +0200] rev 2913
SVGHMI: Keypad: added code to re-attach keypad when starting edit.
Edouard Tisserant [Thu, 02 Apr 2020 14:04:21 +0200] rev 2912
SVGHMI: removed debug code
Edouard Tisserant [Thu, 02 Apr 2020 14:03:38 +0200] rev 2911
SVGHMI: More infrastructure for editing values with a keypad.
Edouard Tisserant [Thu, 02 Apr 2020 09:38:53 +0200] rev 2910
SVGHMI: Widget input buttons should be clickable through svg:use (onclick attribute instead of addEventListener)
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 01 Apr 2020 18:10:45 +0200] rev 2909
SVGHMI: moved dead code to where it belongs
Edouard Tisserant [Wed, 01 Apr 2020 14:42:50 +0200] rev 2908
SVGHMI: empty widget_keypad.ysl2, WIP
Edouard Tisserant [Tue, 31 Mar 2020 13:20:15 +0200] rev 2907
SVGHMI: HMI:Switch now accepts boolean values 'true' and 'false'
Edouard Tisserant [Mon, 30 Mar 2020 14:26:42 +0200] rev 2906
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.
Edouard Tisserant [Mon, 30 Mar 2020 11:06:12 +0200] rev 2905
SVGHMI: prevent man-made memory leak by limiting back button history items count to 42
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 29 Mar 2020 16:11:21 +0200] rev 2904
SVGHMI: collect debug data through xslt reflectivity instead of yml2/python trick
Edouard Tisserant [Fri, 27 Mar 2020 14:25:24 +0100] rev 2903
SVGHMI: Jump widget can now display as active or inactive, if corresponfing "active" and "inactive labeled elements are provided.
Edouard Tisserant [Thu, 26 Mar 2020 14:21:52 +0100] rev 2902
SVGHMI: added Back widget.
Edouard Tisserant [Thu, 26 Mar 2020 13:33:20 +0100] rev 2901
SVGHMI: Jump widget now make errors if path given for relative jump doesn't match target page reference path class.
Edouard Tisserant [Thu, 26 Mar 2020 11:17:34 +0100] rev 2900
SVGHMI: Check that explicit relative page jump path is consistant with destination page reference path.
Edouard Tisserant [Wed, 25 Mar 2020 14:09:15 +0100] rev 2899
SVGHMI: ForEach Widget now has a better wrap-around when scrolling : hit the boundary systematically before wrapping
Edouard Tisserant [Wed, 25 Mar 2020 13:56:04 +0100] rev 2898
SVGHMI: Alow relative relative Jump. (i.e, relative jump from a foreach widget)
Edouard Tisserant [Wed, 25 Mar 2020 13:36:04 +0100] rev 2897
SVGHMI: Generalize applying cache to widgets, be it from page or ForEach widgets. Now ForEach widget buttons work as expected.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 24 Mar 2020 23:07:54 +0100] rev 2896
SVGHMI: Widget ForEach buttons now call corresponding methods.
Edouard Tisserant [Tue, 24 Mar 2020 14:03:19 +0100] rev 2895
SVGHMI: ForEach now has working (un)subscribe. Fixed PageSwitch that wasn't behaving when jumping to current page with another path.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 23 Mar 2020 21:44:28 +0100] rev 2894
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
Edouard Tisserant [Mon, 23 Mar 2020 15:13:36 +0100] rev 2893
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.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 23 Mar 2020 10:16:38 +0100] rev 2892
SVGHMI: ForEach knows its own widgets
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 20 Mar 2020 10:46:15 +0100] rev 2891
SVGHMI: add widget_foreach.ysl2
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 20 Mar 2020 10:00:59 +0100] rev 2890
SVGHMI: make root HMI tree node a HMI_NODE, droped HMI_ROOT node type
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 19 Mar 2020 19:23:56 +0100] rev 2889
SVGHMI: reworked widget (un)subscription now a method of widgect object, allowing special subscription methods
Edouard Tisserant [Thu, 19 Mar 2020 11:32:20 +0100] rev 2888
SVGHMI: Exclude (again) sub-widgets of forEach widget from page-switch managed widget.
Edouard Tisserant [Thu, 19 Mar 2020 09:57:26 +0100] rev 2887
SVGHMI: cosmetic changes
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 19 Mar 2020 09:31:07 +0100] rev 2886
SVGHMI: Simplification and optimization. func:parselabel becomes a template.
All labels are parsed into a global variable containing resulting widget
description as a node-set. func:widget(id) was added for random access to
widget description.
Edouard Tisserant [Wed, 18 Mar 2020 12:06:50 +0100] rev 2885
SVGHMI: intermediate untested state. Excluded ForEach widget from pages handled widgets.
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 18 Mar 2020 09:37:26 +0100] rev 2884
SVGHMI: update Makefile to pick all changes to any dependency
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 18 Mar 2020 09:16:14 +0100] rev 2883
SVGHMI: created widget_*.ysl2. Renamed widget_common in widgets_common, so that it doesn't match globing.
Edouard Tisserant [Tue, 17 Mar 2020 14:11:54 +0100] rev 2882
SVGHMI: moving comments
Edouard Tisserant [Tue, 17 Mar 2020 14:01:37 +0100] rev 2881
SVGHMI: added widget_common.ysl2
Edouard Tisserant [Tue, 17 Mar 2020 13:43:19 +0100] rev 2880
SVGHMI: More readable debug output gen code
Edouard Tisserant [Tue, 17 Mar 2020 13:34:07 +0100] rev 2879
SVGHMI: Cosmetic changes
Edouard Tisserant [Tue, 17 Mar 2020 13:16:01 +0100] rev 2878
SVGHMI: added inline_svg.ysl2
Edouard Tisserant [Tue, 17 Mar 2020 11:24:07 +0100] rev 2877
SVGHMI: detachable_elements.ysl2 becomes detachable_pages.ysl2, and includes logic to process pages elements. Other minor code moves.
Edouard Tisserant [Tue, 17 Mar 2020 10:34:26 +0100] rev 2876
SVGHMI: moved debug code
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 17 Mar 2020 09:29:04 +0100] rev 2875
SVGHMI: created detachable_elements.ysl2
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
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.