EdgePi-Cloud / edgepi-python-sdk

Python SDK to control EdgePi, an industrial PC/PLC/IoT device powered by Raspberry Pi CM4
MIT License
5 stars 3 forks source link

TypeError: object.__new__(X): X is not a type object (BitStream) #409

Closed farzadpanahi closed 4 months ago

farzadpanahi commented 4 months ago

SDK built with bitstring 4.2.1 is causing this error in device manager and collector.

Apr 30 14:33:29 edgepi-gc8tm8 edgepi_device_manager[659]:  2024-04-30 14:33:29,497 ERROR [helper_funcs.py:41] Error: object.__new__(X): X is not a type object (BitStream)
Apr 30 14:33:29 edgepi-gc8tm8 edgepi_device_manager[659]: Traceback (most recent call last):
Apr 30 14:33:29 edgepi-gc8tm8 edgepi_device_manager[659]:   File "/opt/edgepi/edgepi-device-manager/util/helper_funcs.py", line 33, in call_with_retries
Apr 30 14:33:29 edgepi-gc8tm8 edgepi_device_manager[659]:   File "/opt/edgepi/edgepi-device-manager/module/update_handlers/update_handler_dac.py", line 182, in <lambda>
Apr 30 14:33:29 edgepi-gc8tm8 edgepi_device_manager[659]:   File "/opt/edgepi/edgepi-device-manager/edgepi/dac/edgepi_dac.py", line 201, in compute_expected_voltage
Apr 30 14:33:29 edgepi-gc8tm8 edgepi_device_manager[659]:   File "/opt/edgepi/edgepi-device-manager/edgepi/dac/edgepi_dac.py", line 184, in channel_readback
Apr 30 14:33:29 edgepi-gc8tm8 edgepi_device_manager[659]:   File "/opt/edgepi/edgepi-device-manager/edgepi/dac/dac_commands.py", line 83, in extract_read_data
Apr 30 14:33:29 edgepi-gc8tm8 edgepi_device_manager[659]:   File "/opt/edgepi/edgepi-device-manager/bitstring/bitstream.py", line 485, in __getitem__
Apr 30 14:33:29 edgepi-gc8tm8 edgepi_device_manager[659]:   File "/opt/edgepi/edgepi-device-manager/bitstring/bits.py", line 115, in __new__
Apr 30 14:33:29 edgepi-gc8tm8 edgepi_device_manager[659]: TypeError: object.__new__(X): X is not a type object (BitStream)
farzadpanahi commented 4 months ago

Apparently there are some breaking changes in version 4.2.x and above. Built using nuitka with 4.1.4 and it works