Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 07 Jun 2018 13:45:35 +0300] rev 2173
Add retain basic implementation on GNU/Linux
Retain is saved in file and backup of this file is done every time.
File isn't saved on every PLC cycle to avoid high I/O load.
By default, retain is saved every second and on PLC stop/shutdown.
It's possible to override retain flush period by using CFLAGS option
in project's settings. For example, for 0.5 seconds period
use "-DFILE_RETAIN_SAVE_PERIOD_S=0.5".
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 01 Jun 2018 15:46:17 +0300] rev 2172
Add helper function GetRetainSize()
it will be useful for retain implementations.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 01 Jun 2018 12:21:37 +0300] rev 2171
use CLOCK_MONOTONIC instead of CLOCK_REALTIME for timer setup
CLOCK_REALTIME is a wall clock, that could change back and forth (user
changes system time, winter/summer time, NTP corrections and so on).
For real-time application CLOCK_MONOTONIC should be used, it doesn't
have such jumps.
Surkov Sergey <surkovsv93@gmail.com> [Thu, 31 May 2018 13:07:10 +0300] rev 2170
Add function example to first_steps example
It'll be used in documentation to show how to create function in
Beremiz.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 25 May 2018 18:37:59 +0300] rev 2169
fix type introduced by f33942053466 (fix pylint warning "(undefined-loop-variable) Using possibly undefined loop variable 'X'")
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 25 May 2018 18:34:05 +0300] rev 2168
Build by default with optimization level -O2 for GCC
before -O0 was used by default, that caused pretty bad performance.
Amd64, i6700k, 4200MHz, GNU/Linux (non-RT kernel), gcc 7.2.0
-------------------------------------
Optimization | EN/ENO |no EN/ENO |
-------------------------------------
default | 11 | 9.5 |
-O3 | 3.9 | 5.2 |
-O2 | 4 | 4.8 |
-Os | 4.1 | 3.5 |
-Ofast | 3.9 | 5.2 |
-------------------------------------
ARM, BBB Cortex-A8, 600Mhz, GNU/Linux, gcc 4.6.3
-------------------------------------
Optimization | EN/ENO |no EN/ENO |
-------------------------------------
default | 273 | 226 |
-O3 | 141.8 | 106.2 |
-O2 | 142 | 107 |
-Os | 152.5 | 112.2 |
-Ofast | 141.7 | 106.2 |
-------------------------------------
For embedded systems with size constaints (like Cortex-Mx, AVR and so
on) I usually use -Os. It gets pretty good results. For
GNU/Linux-based systems -O2 is usually a good choice, as you see the
test results.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 25 May 2018 17:40:29 +0300] rev 2167
fix hangs on mouse selection in case if wxPython uses wxWidgets with GTK3+ support
This is default configuration on Debian Buster+ and Ubuntu 18.04+.
Probably it'll fix completely problem with 'clipboard already open'
described in the previous commit 5ce6d08f ("make clipboard open minimal time as wxPython documentation recommends")
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 25 May 2018 17:23:15 +0300] rev 2166
make clipboard open minimal time as wxPython documentation recommends
https://wxpython.org/Phoenix/docs/html/wx.Clipboard.html#wx.Clipboard.GetData
"Call wx.Clipboard.Open to get ownership of the clipboard. If this
operation returns True, you now own the clipboard. Call
wx.Clipboard.SetData to put data on the clipboard, or
wx.Clipboard.GetData to retrieve data from the clipboard. Call
wx.Clipboard.Close to close the clipboard and relinquish ownership.
You should keep the clipboard open only momentarily."
Maybe it makes situation with pretty annoying error 'clipboard already
open' a little bit better.
traceback:
File "/home/developer/WorkData/PLC/beremiz/avangard-beremiz-ide/src/../../beremiz/BeremizIDE.py", line 955, in OnSaveProjectMenu
self.RefreshAfterSave()
File "/home/developer/WorkData/PLC/beremiz/avangard-beremiz-ide/src/../../beremiz/BeremizIDE.py", line 946, in RefreshAfterSave
self._Refresh(TITLE, FILEMENU, EDITMENU, PAGETITLES)
File "/home/developer/WorkData/PLC/beremiz/avangard-beremiz-ide/src/../../beremiz/IDEFrame.py", line 926, in _Refresh
self.RefreshFunctions[element]()
File "/home/developer/WorkData/PLC/beremiz/avangard-beremiz-ide/src/../../beremiz/BeremizIDE.py", line 766, in RefreshEditMenu
IDEFrame.RefreshEditMenu(self)
File "/home/developer/WorkData/PLC/beremiz/avangard-beremiz-ide/src/../../beremiz/IDEFrame.py", line 1185, in RefreshEditMenu
if self.GetCopyBuffer() is not None:
File "/home/developer/WorkData/PLC/beremiz/avangard-beremiz-ide/src/../../beremiz/IDEFrame.py", line 956, in GetCopyBuffer
if wx.TheClipboard.Open():
File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk3/wx/_misc.py", line 5793, in Open
return _misc_.Clipboard_Open(*args, **kwargs)
<class 'wx._core.PyAssertionError'>: C++ assertion "!m_open" failed at ../src/gtk/clipbrd.cpp(598) in Open(): clipboard already open
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 23 Jun 2018 09:08:13 +0200] rev 2165
Merged GPL + LGPL v2 or later EtherCAT extension. Fixed headers and copyright notice.
Edouard Tisserant [Mon, 11 Aug 2014 23:13:35 +0200] rev 2164
Propagated matiec changes in FB var accessors
Edouard Tisserant [Wed, 02 Apr 2014 21:22:35 +0200] rev 2163
Fixed most obvious bugs appear after grafting changes from previous development branches : re-enable openning non-CoE, CoE and CiA 402 nodes config
Laurent Bessard [Wed, 02 Oct 2013 10:46:18 +0200] rev 2162
Fixed xslt stylesheet for extracting entries defined in module, rewiting xslt stylesheet to yslt
Laurent Bessard [Mon, 30 Sep 2013 13:43:02 +0200] rev 2161
Fixed bug in information returned for module where entries are defined only in PDO mapping
Laurent Bessard [Fri, 27 Sep 2013 17:49:40 +0200] rev 2160
Added support for loading XML file even if not following XSD schema (but still following XML syntax), warning user of errors in XML file
Laurent Bessard [Tue, 24 Sep 2013 15:18:25 +0200] rev 2159
Fixed bug when compiling
Laurent Bessard [Tue, 24 Sep 2013 00:50:02 +0200] rev 2158
Fixed higen example removing obsolete attribute in CIA402 node params file
Laurent Bessard [Tue, 24 Sep 2013 00:48:21 +0200] rev 2157
Fixed controllers for working with latest version of xmlclass
Laurent Bessard [Tue, 25 Jun 2013 00:55:38 +0200] rev 2156
Added bug in support for set flag for optional variables activation in axis public struct
Laurent Bessard [Mon, 24 Jun 2013 23:53:57 +0200] rev 2155
Added support for set flag for optional variables activation in axis public struct
Laurent Bessard [Mon, 24 Jun 2013 21:03:22 +0200] rev 2154
Replaced location for axis ref from %IW(location).0 to %IW(location).402. Added location for network position at %IW(location).
Laurent Bessard [Mon, 24 Jun 2013 09:23:28 +0200] rev 2153
Rewrite CIA402 node specific code generating part
Edouard Tisserant [Wed, 02 Apr 2014 15:03:32 +0200] rev 2152
Cherry-pick and re-commit to legitimate ancestor of commit 'Ethercat Management Function Refactoring Source by RTES Lab.' from youcu <youcu1022@gmail.com>
Laurent Bessard [Mon, 03 Jun 2013 08:24:08 +0200] rev 2151
Fixed bug when drag'n dropping variable in master startup command grid
Edouard Tisserant [Tue, 21 May 2013 16:03:40 +0900] rev 2150
Moved ratio scaling back to MCL. Rewrote CiA402 C part in a way it can be read and understood by some humans.
Laurent Bessard [Thu, 16 May 2013 23:21:01 +0200] rev 2149
Added icon for Ethercat extension root and Ethercat master node
Laurent Bessard [Fri, 10 May 2013 09:16:07 +0200] rev 2148
Fixed bug with global instance declaration
Laurent Bessard [Fri, 10 May 2013 08:44:05 +0200] rev 2147
Fix bug in when moving Ethercat slaves fixed
Laurent Bessard [Wed, 08 May 2013 10:40:06 +0200] rev 2146
Added mapping for TouchProbe function in CIA402 slave node
Laurent Bessard [Fri, 03 May 2013 13:47:51 +0200] rev 2145
Fixed bug with axes boolean parameters value
Laurent Bessard [Thu, 02 May 2013 13:40:35 +0200] rev 2144
Added error message when a device informations can't be found in ESI files
Laurent Bessard [Thu, 02 May 2013 10:21:47 +0200] rev 2143
Fixed ToolTip on VariablesGrid columns on Windows
Laurent Bessard [Tue, 30 Apr 2013 01:39:54 +0200] rev 2142
Update higen drive example introducing usage of csv mode
Laurent Bessard [Tue, 30 Apr 2013 01:31:47 +0200] rev 2141
Merged
Laurent Bessard [Mon, 29 Apr 2013 11:07:32 +0200] rev 2140
Fixed bug in support for module extra params in EthercatCFileGenerator
Laurent Bessard [Mon, 29 Apr 2013 11:03:06 +0200] rev 2139
Added support for module extra params in EthercatCFileGenerator
Laurent Bessard [Fri, 26 Apr 2013 23:23:09 +0200] rev 2138
Fixed support for multiple module extra params in ModulesLibrary
Laurent Bessard [Fri, 26 Apr 2013 13:57:10 +0200] rev 2137
Added support for multiple module extra params in ModulesLibrary
Laurent Bessard [Thu, 25 Apr 2013 23:01:06 +0200] rev 2136
Added support for using CIA402 motion mode csp, csv and cst
Laurent Bessard [Fri, 26 Apr 2013 13:59:43 +0200] rev 2135
Fixed order of LocationCFilesAndCFLAGS, master was called after slaves in PLC init and retrieve functions
Laurent Bessard [Wed, 24 Apr 2013 23:27:35 +0200] rev 2134
Fixed bug on Windows with sizers on Windows in Master Editor panel when its size changed
Laurent Bessard [Wed, 24 Apr 2013 17:27:31 +0200] rev 2133
Fixed Save As... function in Beremiz
Laurent Bessard [Mon, 22 Apr 2013 23:54:22 +0200] rev 2132
Added support for stopping SDOThreadProc when stopping PLC
Laurent Bessard [Mon, 22 Apr 2013 09:30:48 +0200] rev 2131
Fixed bug when modifying slave module type
Laurent Bessard [Fri, 19 Apr 2013 00:55:40 +0200] rev 2130
Fixed bug in filters behavior on Windows
Laurent Bessard [Thu, 18 Apr 2013 00:48:32 +0200] rev 2129
Fixed filter behavior in MasterEditor and SlaveEditor
Laurent Bessard [Tue, 16 Apr 2013 00:53:38 +0200] rev 2128
Fixed CIA402 node template for working with MC_Power modification removing implicit set position
Laurent Bessard [Mon, 15 Apr 2013 00:40:47 +0200] rev 2127
Fix scan network functionality, project tree not refreshed after adding slaves
Laurent Bessard [Mon, 15 Apr 2013 00:37:59 +0200] rev 2126
Rollback last commit
Laurent Bessard [Sat, 13 Apr 2013 12:27:49 +0200] rev 2125
Fixed CIA402 node template for working with MC_Power modification removing implicit set position
Laurent Bessard [Sat, 13 Apr 2013 02:14:37 +0200] rev 2124
Fixed bugs in drag'n drop from variables panel in master and slaves editor panel
Laurent Bessard [Sat, 13 Apr 2013 01:40:31 +0200] rev 2123
Added initialization of abort_code and result_size to prevent warning message if not used in following code
Laurent Bessard [Sat, 13 Apr 2013 01:39:05 +0200] rev 2122
Fixed header files inclusion in CIA402 node template file
Edouard Tisserant [Fri, 12 Apr 2013 15:41:22 +0900] rev 2121
Fixed (again) some non-clean exit in case of SDO failure at init
Laurent Bessard [Thu, 11 Apr 2013 10:32:58 +0200] rev 2120
Merged
Laurent Bessard [Fri, 05 Apr 2013 00:14:00 +0200] rev 2119
Fixed ethercat test with higen drive project
Laurent Bessard [Fri, 05 Apr 2013 00:09:54 +0200] rev 2118
Fixed bug when using real axis and simulated axis at the same time (got the same index)
Edouard Tisserant [Fri, 05 Apr 2013 21:47:37 +0900] rev 2117
Now failure in template based part of C code also release the master for later use...
Edouard Tisserant [Fri, 05 Apr 2013 16:49:41 +0900] rev 2116
Better logging, saffer failure at init (allows restart)
Edouard Tisserant [Fri, 05 Apr 2013 11:55:09 +0900] rev 2115
Added error logging when SDO FB fails
Edouard Tisserant [Thu, 04 Apr 2013 17:50:43 +0900] rev 2114
Added logging based on collecting Kernel logs
Edouard Tisserant [Thu, 04 Apr 2013 14:32:02 +0900] rev 2113
Fixed typo
Edouard Tisserant [Fri, 29 Mar 2013 14:25:10 +0900] rev 2112
Fixed linking with non RTDM etherlab lib. Now with rtdm...
Laurent Bessard [Fri, 29 Mar 2013 01:15:01 +0100] rev 2111
Split etherlab.py into multiple files
Laurent Bessard [Fri, 29 Mar 2013 01:13:17 +0100] rev 2110
Fixed bug with process variables grid