Commit Graph

45 Commits

Author SHA1 Message Date
1e331feb2f fix: Resolve constants of internal module 2024-10-28 13:33:44 +01:00
8702c3c8c1 chore: Release 2.7.2 2024-09-23 12:20:26 +02:00
0ba8772d1b fix: Raise error on connect 4 when using wd_toggle function
On the Connect 4, the hardware watchdog was removed from the process
image by KUNBUS. To use the hardware watchdog, other functions must now
be used that are not implemented by RevPiModIO.
2024-09-18 10:57:17 +02:00
e8d7860dd2 fix: Colors of constants GREEN and RED match LEDs of RevPi Connect 4
The LED colors for the A1-A5 objects of the .core class of the connect 4
did not match the values of the constants for GREEN and RED, as on all
other RevPi Devices. In addition, the color BLUE was added.
2024-09-18 09:20:21 +02:00
Ayman628
2ac39e2619 fix: Address of x2out on connect 4
Updating parameter value of the object x2out of the "class Connect4",
from "self._slc_led" to "self._slc_output". Also updating the position
of the bit in "_slc_output" from 6 to 0!
2024-09-16 15:17:50 +02:00
9741d13514 chore: Release 2.7.1
Signed-off-by: Sven Sager <akira@narux.de>
2023-12-04 16:01:51 +01:00
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>
2023-11-24 09:45:23 +01:00
d5320603f5 feat: Add context manager for modio instance
Signed-off-by: Sven Sager <akira@narux.de>
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>
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
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
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
acc59ccaa5 chore: Release 2.6.1
Signed-off-by: Sven Sager <akira@narux.de>
2023-09-09 11:55:49 +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>
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
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