Commit Graph

271 Commits

Author SHA1 Message Date
41a09c4f17 fix: Context manager crashes in monitoring mode
The context managers tried to write to the process image in
monitoring=True mode. This is not allowed and the application crashed
 with an error.

Signed-off-by: Sven Sager <akira@narux.de>
2023-12-01 15:58:28 +01:00
ad4a1fcd38 fix: Error of loop management in the context manager
When leaving the IO context manager, the loop flag was not reset
properly. The context manager could therefore only be traversed once.

Signed-off-by: Sven Sager <akira@narux.de>
2023-12-01 15:48:57 +01:00
8df43106e4 chore: Release 2.7.0
Signed-off-by: Sven Sager <akira@narux.de>
2.7.0
2023-11-24 09:45:23 +01:00
d5320603f5 feat: Add context manager for modio instance
Signed-off-by: Sven Sager <akira@narux.de>
unstable/2.7.0_rc3
2023-11-20 12:08:44 +01:00
5a6ed54e5c feat: Add context manager for modio instance
Signed-off-by: Sven Sager <akira@narux.de>
2023-11-20 12:08:42 +01:00
12a34e7d11 docs: Add IO context manager description
Signed-off-by: Sven Sager <akira@narux.de>
2023-11-20 09:12:40 +01:00
01e7109ec9 chore: Increase to RC3 of upcoming Release 2.7.0
Signed-off-by: Sven Sager <akira@narux.de>
2023-11-20 08:42:09 +01:00
cc689a58eb feat: Add support for RO device
This adds the RO device as its own class. The RO device has a special
ioctl function, via which the switching cycles of the relays can be
called up. Relay outputs from the RO device get the additional
attribute 'cycles', which returns the number of switching cycles.

The implementation via RevPiNetIO classes cannot currently be
implemented because the server does not support a return value.

Signed-off-by: Sven Sager <akira@narux.de>
unstable/2.7.0_rc2
2023-11-02 16:57:21 +01:00
c87f1cceb6 fix: Check if the length of the previous IO overlaps with the new IO
When applying the PiCtory configuration, all IOs are now checked to
see if they overlap with the previous ones. If an overlap is
detected, the IO is ignored and a warning is given to the user.

Signed-off-by: Sven Sager <akira@narux.de>
2023-11-01 12:15:27 +01:00
42151e246c fix: Check offset values of the devices for integers
In the event of a misconfiguration in PiCtory, it may happen that the
offset values are given as floating point numbers. These devices and
their IOs must ignore ModiO that it cannot be ensured which offset
is correct.

Signed-off-by: Sven Sager <akira@narux.de>
2023-11-01 12:15:27 +01:00
f352cb63b6 feat: Remove deprecated parameter 'direct_output' from ModIO classes
The RevPiModIO parameter 'direct_output' was replaced by
'shared_procimg' in the commit c11b435 from 2020-08-08. Users have
received a DepricatedWarning since then. With the upcoming version,
this parameter will be completely deleted.

Refs: c11b435
Signed-off-by: Sven Sager <akira@narux.de>
2023-11-01 12:15:27 +01:00
1b92241d18 chore: Increase to RC2 of upcoming Release 2.7.0
Signed-off-by: Sven Sager <akira@narux.de>
2023-10-31 12:45:04 +01:00
653f90ab90 test: Add tests directory to migrate unit tests to project unstable/2.7.0_rc1 2023-10-27 15:42:18 +02:00
ab2703a4d3 feat: Add context manager for ios
Signed-off-by: Sven Sager <akira@narux.de>
2023-10-27 15:42:18 +02:00
9a90efeaf2 chore: Increase to RC1 of upcoming Release 2.7.0 2023-10-27 15:42:18 +02:00
ecf91f56db style: Format everything with black (100 characters per line)
Signed-off-by: Sven Sager <akira@narux.de>
2023-10-27 15:42:18 +02:00
ba708fc145 style: New line length 100 characters and using black as formatter
Signed-off-by: Sven Sager <akira@narux.de>
2023-10-27 15:42:18 +02:00
801efe7fb4 build: Fix Makefile targets to match GNU coding standards
Signed-off-by: Sven Sager <akira@narux.de>
2023-10-27 15:42:17 +02:00
37ccac7f79 chore: Update git ignore file
Signed-off-by: Sven Sager <akira@narux.de>
2023-10-27 15:35:45 +02:00
8a8873e54a feat: Import DeviceType on module level
DeviceType can be used for advanced search filters in combination with
RevPiModIOSelected.

Signed-off-by: Sven Sager <akira@narux.de>
2023-09-15 16:35:00 +02:00
9ad8ae0055 feat: Add new and missing ProductTypes to pictory.py module
Signed-off-by: Sven Sager <akira@narux.de>
2023-09-15 16:35:00 +02:00
0bc398e627 fix: Insert correct LICENSE.txt file to project (LGPLv2)
On February 3, the project was placed under the LGPLv2 license, with
the consent of all contributors. Unfortunately, an incorrect version
of the license was inserted into the LICENSE.txt. This is now fixed
with the text of the LGPLv2, which has been valid for RevPiModIO2
since version 2.6.0.

Refs: 7d482d49
Signed-off-by: Sven Sager <akira@narux.de>
2023-09-15 16:31:01 +02:00
acc59ccaa5 chore: Release 2.6.1
Signed-off-by: Sven Sager <akira@narux.de>
2.6.1
2023-09-09 11:55:49 +02:00
b279209b2b build: Add environment variable to set alternative venv path
Signed-off-by: Sven Sager <akira@narux.de>
2023-09-09 11:17:56 +02:00
b02c4011d7 fix: Changed misleading text of a ProcimgWriter warning
If the IOs cannot be written quickly enough by the ProcimgWriter,
this indicates high system utilization. The cycle function itself
would trigger a different message through the lck_refresh lock.

Signed-off-by: Sven Sager <akira@narux.de>
2023-09-09 11:11:57 +02:00
521a0eb589 fix: Wrong values in buffer with autorefresh and shared_procimg active
When using `autofresh` in combination with `shared_procimg`, the
outputs were written to the process image, but kept with old values
in the local buffer. A query to a set output could therefore display
an incorrect value under certain circumstances.

Closes: #25
Signed-off-by: Sven Sager <akira@narux.de>
2023-08-18 08:33:34 +02:00
1afe16053d fix: Set shared_procimg value is stored in the device
Classes have accessed a global shared_procimg value during
instantiation. However, this value is managed directly for each
device individually. There can be no global value.

Signed-off-by: Sven Sager <akira@narux.de>
2023-08-17 12:28:45 +02:00
596658d656 fix: autorefresch with shared_procimg writes all outputs automatic
Fixes the bug that with automatic process image update and
shared_procimg, outputs of devices are also written without automatic
update enabled.

Signed-off-by: Sven Sager <akira@narux.de>
2023-08-17 12:28:45 +02:00
70a0721680 style: With shared_procimg, save changed outputs in set instead of list
In sets, elements can only occur once. Therefore, no `if` statement
has to check whether the element is already included in the list.

Signed-off-by: Sven Sager <akira@narux.de>
2023-08-17 12:28:42 +02:00
4cb0194f23 chore: Release 2.6.0
Signed-off-by: Sven Sager <akira@narux.de>
2.6.0
2023-06-28 16:03:04 +02:00
82311c9b00 fix: Colors of LEDs are now controlled correctly
The wrong colors of the LEDs on the RevPi Connect 4 were controlled when
using the A* properties.

Signed-off-by: Sven Sager <akira@narux.de>
2023-06-28 15:34:54 +02:00
9c66e0c1b6 ide: Add code inspection values to project
Signed-off-by: Sven Sager <akira@narux.de>
2023-06-20 10:47:46 +02:00
d29e733274 build: Add sphinx to build documentation
Signed-off-by: Sven Sager <akira@narux.de>
2023-06-20 10:39:29 +02:00
6f4777317e fix: Changed DevSelect from namedtuple to a class
The class can be used for filtering devices and provides the user with
more extensive documentation.

Signed-off-by: Sven Sager <akira@narux.de>
2023-06-09 08:11:12 +02:00
1de435b17f fix: Adjustment of the inheritance of devconfigure
When switching to the modular approach, the addresses of a core were
accidentally adopted as a global configuration.

Signed-off-by: Sven Sager <akira@narux.de>
2023-06-08 19:01:48 +02:00
40ada14b07 chore: RC version 2.6.0rc6
Signed-off-by: Sven Sager <akira@narux.de>
2023-06-08 14:31:03 +02:00
Nicolai Buchwitz
7d7efd12a9 feat: Add support for RevPi Connect 4
Signed-off-by: Nicolai Buchwitz <nb@tipi-net.de>
2023-06-08 14:23:16 +02:00
c8b42b5202 fix: Add modular design for RevPiStatus byte
Signed-off-by: Nicolai Buchwitz <nb@tipi-net.de>
2023-06-08 14:23:08 +02:00
Nicolai Buchwitz
77c58f468b docs(Connect): Fix typo in wgtoggle docstring
Signed-off-by: Nicolai Buchwitz <nb@tipi-net.de>
2023-05-24 20:50:30 +02:00
207a8e92e8 Add __about__.py to handle version number of project in one place 2023-05-13 11:57:04 +02:00
3771a7847e Replaces Master-Slave with Client-Server
Expunging all occurrences of inappropriate language of the query and
response paradigm of PLC communications. We are familiar with the Modbus
terminology and fully support this change.
https://www.modbus.org/docs/Client-ServerPR-07-2020-final.docx.pdf
2023-02-07 09:38:11 +01:00
7d482d498c Change license from LGPLv3 to LGPLv2 after approval of all contributors
https://github.com/mindstorm38 approved license change
https://github.com/nbuchwitz approved license change
2023-02-03 12:10:43 +01:00
8ddb323f24 Update documentation 2023-01-31 20:05:04 +01:00
05e4ff96ca Code and project cleanup 2023-01-20 17:08:35 +01:00
1b7397e608 Improved device search function and create run_net_plc shortcut 2023-01-20 12:31:59 +01:00
c7b2e59063 Merge branch 'feature/deviceselect' into srclayout
# Conflicts:
#	src/revpimodio2/modio.py
#	src/revpimodio2/netio.py
2023-01-20 11:18:08 +01:00
1057e6daa4 Reorder package to src-layout.
Move package to src directory and update project base files for build
process.
2023-01-19 13:20:26 +01:00
36c30ae6d6 replace_io accepts keyword wordorder
Now you can set the wordorder for a replaced IO on virtual devices. This
will help you to get the right values on modbus devices.
2023-01-12 23:26:09 +01:00
0dd9c2637d Read export flag from piCtory for watchdog output
The watchdog output on a revpi connect will be set as exported, if you
set the export flag in pictory.
2022-12-22 16:40:33 +01:00
41e13999ad Next release 2.5.10 2022-04-21 15:55:31 +02:00