Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 15 Jun 2018 16:30:06 +0300] rev 2185
Add small contributing document with information about codestyle checking
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 15 Jun 2018 16:12:50 +0300] rev 2184
Add argument to set list of source files to check
This is necessary, in case you want to use docker run in pretxncommit
Mercurial hook. Unfortunately for some reason if hg running in
container can't find just created commit defined by $HG_NODE. And it
throws error 'unknown revision'.
Here is example for hgrc.
[hooks]
pretxncommit.linter = hg status -m -n -a -n -I '**.py' --change $HG_NODE > files.lst && docker run --volume=$PWD:/beremiz --workdir="/beremiz" --volume=$PWD/../CanFestival-3:/CanFestival-3 --memory=1g --entrypoint=/beremiz/tests/tools/check_source.sh skvorl/beremiz-requirements --files-to-check files.lst
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 09 Jun 2018 17:59:46 +0300] rev 2183
check_source.sh: handle case if there are no files to check
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 09 Jun 2018 17:14:56 +0300] rev 2182
Fix linter errors
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 09 Jun 2018 17:13:16 +0300] rev 2181
Add command line argument to run linter only on changed files
./tests/tools/check_source.sh --only-changes
It's recommended to run check_source.sh automatically on each commit,
so the rules are always enforced.
Even better is to use docker for that, so the versions of pep8 and
pylint are the same as on pipeline server.
To do this couple of lines should be added into repository's hgrc file.
[----------- cut from .hg/hgrc------------------]
[hooks]
precommit.linter = ./tests/tools/check_source.sh --only-changes
# precommit.linter = docker run -it --volume=$PWD:/beremiz --workdir="/beremiz" --volume=$PWD/../CanFestival-3:/CanFestival-3 --memory=1g --entrypoint=/beremiz/tests/tools/check_source.sh skvorl/beremiz-requirements --only-changes
[-----------------------------------------------]
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 08 Jun 2018 15:10:27 +0300] rev 2180
Don't use fixed width labels in WAMP and PYRO dialogs
This causes problems if labels are translated into other languages and
width wasn't enough.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 07 Jun 2018 16:58:13 +0300] rev 2179
Fix internatialization in UriLocationEditor, PYRO dialog and Modbus configurator
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 07 Jun 2018 16:53:21 +0300] rev 2178
Add copyright headers to retain implementation for GNU/Linux and Win32
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 07 Jun 2018 16:31:26 +0300] rev 2177
Drop support for wxPython 2.6 and below
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 07 Jun 2018 14:45:03 +0300] rev 2176
Autoresize UriLocationEditor dialog window
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 07 Jun 2018 14:12:18 +0300] rev 2175
Fix compilation problem in case of TARGET_LOGGING_DISABLE turned on and TARGET_DEBUG_DISABLE turned off
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 07 Jun 2018 14:04:45 +0300] rev 2174
Use the same retain implementation for Win32 targets
Currently plc_Win32_main_retain.c is exact copy of
plc_Linux_main_retain.c, because it's not possible to use symbol
links.
It'd be nice in the future to have possibility to modify targets.code.
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
Edouard Tisserant [Thu, 28 Mar 2013 18:06:03 +0900] rev 2109
Stripped useless depricated comments, changed print format of sdo abort code
Edouard Tisserant [Thu, 28 Mar 2013 15:50:23 +0900] rev 2108
Updated generated code to etherlab 1.5.2
Edouard Tisserant [Tue, 26 Mar 2013 12:42:49 +0900] rev 2107
Added Logging
Edouard Tisserant [Tue, 26 Mar 2013 09:34:30 +0900] rev 2106
Now use beremiz.h
Laurent Bessard [Wed, 20 Mar 2013 09:17:15 +0100] rev 2105
Fixed bugs in Network Configuration Editor
Edouard Tisserant [Thu, 14 Mar 2013 17:29:59 +0900] rev 2104
CiA402 now fills NetworkPosition member of public axis struct
Laurent Bessard [Thu, 07 Mar 2013 00:54:45 +0100] rev 2103
Fixed bugs in process variables generated code
Laurent Bessard [Wed, 06 Mar 2013 19:25:20 +0100] rev 2102
Added specific add menu for directly choose slave type while adding new slave
Laurent Bessard [Wed, 06 Mar 2013 18:38:17 +0100] rev 2101
Added code generation for process variables
Laurent Bessard [Wed, 06 Mar 2013 18:37:23 +0100] rev 2100
Fixed modifications in Startup Commands grid
Laurent Bessard [Tue, 05 Mar 2013 23:04:59 +0100] rev 2099
Improved Ethercat Network Configurator panels
Laurent Bessard [Tue, 05 Mar 2013 00:59:34 +0100] rev 2098
Improved Ethercat Network Configurator panels
Laurent Bessard [Wed, 27 Feb 2013 22:40:45 +0100] rev 2097
Added panel for managing ESI files from project and from database including module PDO alignment setting
Laurent Bessard [Thu, 07 Feb 2013 00:59:50 +0100] rev 2096
Added support for MC_*DigitalOutput, MC_ReadAxisInfo and MC_ReadAxisError blocks from MCL in DS402 nodes generated code
Laurent Bessard [Wed, 30 Jan 2013 23:46:58 +0100] rev 2095
Replaced SplitterWindow in ConfTreeNodeEditor by Notebook
Laurent Bessard [Fri, 16 Nov 2012 23:43:45 +0100] rev 2094
Fix bug in support for Etherlab specific fieldbus interface function blocks
Laurent Bessard [Fri, 16 Nov 2012 00:23:35 +0100] rev 2093
Fix bug in support for Etherlab specific fieldbus interface function blocks
Laurent Bessard [Thu, 15 Nov 2012 22:43:44 +0100] rev 2092
Adding support for Etherlab specific function blocks for MCL fieldbus interface function blocks
Laurent Bessard [Fri, 09 Nov 2012 11:27:30 +0100] rev 2091
Adding support for extracting ActualVelocity from CIA402 nodes PDOs
Laurent Bessard [Fri, 09 Nov 2012 11:25:44 +0100] rev 2090
Fix bug in EtherLabSDODownload function block