ekfsm 1.4.0a37__tar.gz → 1.4.0a42__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ekfsm might be problematic. Click here for more details.
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/PKG-INFO +1 -1
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/docs/requirements.txt +75 -1
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/docs/source/reference/ekfsm.rst +3 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/core/utils.py +1 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/devices/button.py +6 -1
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/devices/buttonArray.py +23 -3
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/devices/colorLed.py +25 -6
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/devices/thermal_humidity.py +10 -5
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/devices/watchdog.py +11 -3
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/pyproject.toml +1 -1
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/.env +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/.envrc +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/.flake8 +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/.gitattributes +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/.gitignore +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/.gitlab-ci.yml +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/.readthedocs.yaml +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/.vscode/launch.json +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/.vscode/settings.json +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/GitVersion.yml +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/LICENSE.md +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/README.md +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/devenv.lock +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/devenv.nix +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/devenv.yaml +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/docs/.gitignore +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/docs/Makefile +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/docs/source/_static/devices.drawio.png +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/docs/source/_static/devices.drawio.svg +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/docs/source/_static/ekfsm_system.drawio.png +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/docs/source/_static/ekfsm_system.drawio.svg +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/docs/source/boards/ekf/ccu.rst +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/docs/source/boards/ekf/sc5-festival.rst +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/docs/source/boards/ekf/sc9-toccata.rst +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/docs/source/boards/ekf/se5-club.rst +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/docs/source/boards/ekf/sn4-djembe.rst +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/docs/source/boards/ekf/snippets/cpci_inventory.rst +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/docs/source/boards/ekf/spv-mystic.rst +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/docs/source/boards/ekf/sq1-track.rst +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/docs/source/boards/ekf/sq3-quartet.rst +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/docs/source/boards/ekf/sur-uart.rst +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/docs/source/boards/hitron/hdrc-300s.rst +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/docs/source/boards.rst +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/docs/source/conf.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/docs/source/index.rst +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/docs/source/intro.rst +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/docs/source/reference/index.rst +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/docs/source/reference/systemconfig.rst +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/__init__.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/boards/oem/ekf/ccu.yaml +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/boards/oem/ekf/sc5-festival.yaml +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/boards/oem/ekf/sc9-toccata.yaml +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/boards/oem/ekf/se5-club.yaml +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/boards/oem/ekf/sn4-djembe.yaml +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/boards/oem/ekf/spv-mystic.yaml +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/boards/oem/ekf/sq1-track.yaml +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/boards/oem/ekf/sq3-quartet.yaml +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/boards/oem/ekf/srf-fan.yaml +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/boards/oem/ekf/sur-uart.yaml +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/boards/oem/ekf/z1010.yaml +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/boards/oem/hitron/hdrc-300s.yaml +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/cli.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/config.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/core/__init__.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/core/components.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/core/probe.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/core/slots.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/core/sysfs.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/devices/__init__.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/devices/coretemp.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/devices/eeprom.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/devices/ekf_ccu_uc.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/devices/ekf_sur_led.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/devices/generic.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/devices/gpio.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/devices/iio.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/devices/iio_thermal_humidity.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/devices/imu.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/devices/io4edge.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/devices/ledArray.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/devices/mux.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/devices/pixelDisplay.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/devices/pmbus.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/devices/smbios.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/devices/smbus.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/devices/utils.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/exceptions.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/lock.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/log.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/py.typed +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/simctrl.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/system.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/ekfsm/utils.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/hack/bringup_zip_i2c_devs.sh +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/scripts/modify-acpi-table.sh +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/__init__.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/basic_sim.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/cctv.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/cctv.yaml +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/ccu-test.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/ccu_wokwi_sim.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/data/cfg_simple.yaml +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/locking/lock_tester.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/locking/test_lock.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/props.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/run.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sc5-hitron-only.yaml +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/SQ3.png +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/__init__.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/bus/i2c/drivers/at24/.keep +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/bus/i2c/drivers/pca953x/.keep +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/bus/i2c/drivers/pca954x/.keep +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/class/hwmon/hwmon2/name +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/class/hwmon/hwmon2/temp1_input +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-10/firmware_node/adr +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-10/name +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-10/new_device +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-11/firmware_node/adr +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-11/name +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-11/new_device +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-12/firmware_node/adr +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-12/name +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-12/new_device +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-14/firmware_node/adr +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-14/i2c-PRP0002:01/firmware_node/description +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-14/i2c-PRP0002:01/gpiochip1/dev +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-14/i2c-PRP0002:01/name +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-14/i2c-PRP0002:02/eeprom +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-14/i2c-PRP0002:02/firmware_node/description +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-14/i2c-PRP0002:02/name +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-14/name +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-14/new_device +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-15/firmware_node/adr +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-15/name +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-15/new_device +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-16/firmware_node/adr +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-16/name +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-16/new_device +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-17/firmware_node/adr +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-17/name +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-17/new_device +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-9/firmware_node/adr +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-9/i2c-PRP0001:01/firmware_node/description +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-9/i2c-PRP0001:01/gpiochip1/dev +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-9/i2c-PRP0001:01/name +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-9/i2c-PRP0001:02/eeprom +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-9/i2c-PRP0001:02/firmware_node/description +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-9/i2c-PRP0001:02/name +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-9/name +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-9/new_device +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-PRP0001:00/firmware_node/description +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-PRP0001:00/name +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-PRP0001:03/firmware_node/description +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-PRP0001:03/hwmon/hwmon99/curr1_input +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-PRP0001:03/hwmon/hwmon99/curr2_input +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-PRP0001:03/hwmon/hwmon99/in1_input +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-PRP0001:03/hwmon/hwmon99/in2_input +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-PRP0001:03/hwmon/hwmon99/model +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-PRP0001:03/hwmon/hwmon99/revision +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-PRP0001:03/hwmon/hwmon99/serial +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-PRP0001:03/hwmon/hwmon99/temp1_input +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-PRP0001:03/hwmon/hwmon99/vendor +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-PRP0001:03/name +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-PRP0002:00/firmware_node/description +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-PRP0002:00/name +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/new_device +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:1f.4/i2c-7/7-0057/eeprom +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:1f.4/i2c-7/7-0057/name +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/virtual/dmi/id/board_version +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/kernel/debug/pmbus/hwmon99/status0_input +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/kernel/debug/pmbus/hwmon99/status1_input +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/test_system.yaml +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/test_system_inconsistent.yaml +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sq3-only.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sq3-only.yaml +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/srf-fan-test.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/srf-fan-test.yaml +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/test_config.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/test_module_schema.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/test_sim-ccu-eeprom.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/test_sim1.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/test_sim2.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/zip2-ccu-only.yaml +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/zip2-comp1.yaml +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/zip2-comp1_smoke.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/zip2-comp2.yaml +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/zip2-comp2_smoke.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/zip2_ccu_exp.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/zip2_ccu_imu.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/zip2_psu.py +0 -0
- {ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ekfsm
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.0a42
|
|
4
4
|
Summary: The EKF System Management Library (ekfsm) is a sensor monitoring suite for Compact PCI Serial devices.
|
|
5
5
|
Author-email: Jan Jansen <jan@ekf.de>, Klaus Popp <klaus.popp@ci4rail.com>, Felix Päßler <fp@ekf.de>
|
|
6
6
|
Requires-Python: >=3.10
|
|
@@ -165,6 +165,10 @@ idna==3.10 \
|
|
|
165
165
|
--hash=sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9 \
|
|
166
166
|
--hash=sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3
|
|
167
167
|
# via requests
|
|
168
|
+
ifaddr==0.2.0 \
|
|
169
|
+
--hash=sha256:085e0305cfe6f16ab12d72e2024030f5d52674afad6911bb1eee207177b8a748 \
|
|
170
|
+
--hash=sha256:cc0cbfcaabf765d44595825fb96a99bb12c79716b73b44330ea38ee2b0c4aed4
|
|
171
|
+
# via zeroconf
|
|
168
172
|
imagesize==1.4.1 \
|
|
169
173
|
--hash=sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b \
|
|
170
174
|
--hash=sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a
|
|
@@ -173,6 +177,10 @@ iniconfig==2.0.0 \
|
|
|
173
177
|
--hash=sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3 \
|
|
174
178
|
--hash=sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374
|
|
175
179
|
# via pytest
|
|
180
|
+
io4edge-client==1.6.2 \
|
|
181
|
+
--hash=sha256:52c9b65defc19e74ca6b5d42c8c0c7f07ec879416d90323a7a5e682ff38f536f \
|
|
182
|
+
--hash=sha256:a83f3eb635861b697b0a6052bf89ba36998283ab6e7fc19bca8ec4c04272f0b5
|
|
183
|
+
# via ekfsm
|
|
176
184
|
ipdb==0.13.13 \
|
|
177
185
|
--hash=sha256:45529994741c4ab6d2388bfa5d7b725c2cf7fe9deffabdb8a6113aa5ed449ed4 \
|
|
178
186
|
--hash=sha256:e3ac6018ef05126d442af680aad863006ec19d02290561ac88b8b1c0b0cfc726
|
|
@@ -409,7 +417,9 @@ protobuf==6.31.1 \
|
|
|
409
417
|
--hash=sha256:7fa17d5a29c2e04b7d90e5e32388b8bfd0e7107cd8e616feef7ed3fa6bdab5c9 \
|
|
410
418
|
--hash=sha256:a40fc12b84c154884d7d4c4ebd675d5b3b5283e155f324049ae396b95ddebc39 \
|
|
411
419
|
--hash=sha256:d8cac4c982f0b957a4dc73a80e2ea24fab08e679c0de9deb835f4a12d69aca9a
|
|
412
|
-
# via
|
|
420
|
+
# via
|
|
421
|
+
# ekfsm
|
|
422
|
+
# io4edge-client
|
|
413
423
|
ptyprocess==0.7.0 ; sys_platform != 'emscripten' and sys_platform != 'win32' \
|
|
414
424
|
--hash=sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35 \
|
|
415
425
|
--hash=sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220
|
|
@@ -607,3 +617,67 @@ yamale==6.0.0 \
|
|
|
607
617
|
--hash=sha256:60be681f35e4939320b89de0d6f187ee0e5479ae7f7286b7f17f0859ddee4a66 \
|
|
608
618
|
--hash=sha256:828c6cf2023101ec97d2759dfdc507e04ecfc0c6d39d500c00c37ec895ada53b
|
|
609
619
|
# via ekfsm
|
|
620
|
+
zeroconf==0.147.2 \
|
|
621
|
+
--hash=sha256:01d64386cf21b72659d070792faaa621e9c3dcc3f54361b38ac29afcb5f32ad4 \
|
|
622
|
+
--hash=sha256:0204a7b163d497c08b38e3e6d15304da7553819f9de4ad87d86ed01b445db140 \
|
|
623
|
+
--hash=sha256:0730fa038822085cb5eb0b4ebb57a106ae8b051aef0745cae79067e5e713d4f5 \
|
|
624
|
+
--hash=sha256:0958a0dbe5e84270ab36412cb290e72c87d63b931d260bc2f4a4a35c11729cab \
|
|
625
|
+
--hash=sha256:1398dd9e6f9678c3b47ec16c28531a7dad2ac9c31bbc267ab523f641537ce17c \
|
|
626
|
+
--hash=sha256:219a6c490251be96def371c4c670812fcb386ed5e36917e0523a4fa5d53fe21a \
|
|
627
|
+
--hash=sha256:23ea2fde9091ebc765e936c3f70f31f3053cadd2e7c96bbdabb8c7f58d922170 \
|
|
628
|
+
--hash=sha256:2a6941a1363116fe4416585f50e0b18ab1aa3bcb90854b77577c07a934f57e70 \
|
|
629
|
+
--hash=sha256:2d7619dc33b04e2ce1349b9e4194e3b98264bbbb57d138bcad977aced06eb3db \
|
|
630
|
+
--hash=sha256:2f91e2544433acfa928c8dbaea7af8bf0644e06904610799d6b762fd599d81bd \
|
|
631
|
+
--hash=sha256:3937ba05211bcbd3f45dca553a0c66a19f31f3626c9219a422b37a29b19c62b5 \
|
|
632
|
+
--hash=sha256:3a6f64fef18482b2d44fac3e7c95d5fd08a0af47584e71380c652abef68d19db \
|
|
633
|
+
--hash=sha256:3b6348049ed7ac4f67341cb23ae4d2bfcfc5f02d585aa251e1cd5b9151af0699 \
|
|
634
|
+
--hash=sha256:45f4279c908b2ccdac5804392e47c728e3c128b4ec49d0945263fbc5829bf891 \
|
|
635
|
+
--hash=sha256:47acc2d5117240afcb231dc669007ac1c25122094300aa1226143f16cff96406 \
|
|
636
|
+
--hash=sha256:4e47bf618bf8dd3b45f0ae5c2f4f67e9769210e8c786760f3eef3eff21a6394a \
|
|
637
|
+
--hash=sha256:55742f3fa55fb911c7e794888f34304832256106b9b6d969af3230ac60b74e30 \
|
|
638
|
+
--hash=sha256:572d4734dd9ea28369f0ea6af2b4ee02e97c52bc26a349c11f01aa191b577b1f \
|
|
639
|
+
--hash=sha256:58228730194c5b43f6d3a020071a980143adfb9f083bf6e1a526375b612281a4 \
|
|
640
|
+
--hash=sha256:58ef18096a566878238bb2190537fdd87949ce324d40540f60f2553fbcea8120 \
|
|
641
|
+
--hash=sha256:593316ef66ffe4920a8958409757d218d533f856c25028ae6bcea50129fe1da4 \
|
|
642
|
+
--hash=sha256:5b0ab523d7be5bebf58aeada1ca7f5ae41c1ebbe69da8435bbf2c2581b4fb3ac \
|
|
643
|
+
--hash=sha256:5bcf519c047a37c48684fdc8e2b5560be696ec1fbbc0099809fd9b36a6d4d2d4 \
|
|
644
|
+
--hash=sha256:5c3e5dd5db5d3ad02af43c76c0c11005d2dca811083ecfb29554ea744eb87d20 \
|
|
645
|
+
--hash=sha256:5e0bc1274d8157a21d43705b256b3320b25756dbc25ca017f7ae1fe66877c93f \
|
|
646
|
+
--hash=sha256:5fc666a8f76241b04beae6e3230dc45a76fa2edb33b525d456eabd92b1a08b08 \
|
|
647
|
+
--hash=sha256:62d8898c8fc47f1f951991f7745e50c553618d7e47aa019597c3333eddf24139 \
|
|
648
|
+
--hash=sha256:635ddcf238db00d92dd2aace77a1d852ce12152de06bdbde61767472cf45f93a \
|
|
649
|
+
--hash=sha256:64780ec808e0914c9de43ba9582ec1318ed18e91da650e1562560775bfe1714e \
|
|
650
|
+
--hash=sha256:65333ad735cbc7f6f8e0552e2dc85f254fa929da6e179c86ebe413986e4aa42f \
|
|
651
|
+
--hash=sha256:66ca484d14bb88885d227f1b2ad32e9ebf9b7e6238bb61e0a6ba241b3b0950c9 \
|
|
652
|
+
--hash=sha256:6a4d412e553b4adc650431dd0912f423b1e59780cf97429170c0cb431cfde347 \
|
|
653
|
+
--hash=sha256:6fe3f5acb1b5782dd8d4eec3f4f53e70c6f4cc09ca082d61bb9350e14f5cd38b \
|
|
654
|
+
--hash=sha256:777d71ae5154707175d9d392c7f37a2b810e862228409a0ea38459d4e4efd67a \
|
|
655
|
+
--hash=sha256:7960f749bcb534dab9456e2fa849405be7d96328b1135bb85c02ca87a385a455 \
|
|
656
|
+
--hash=sha256:7a94e0a3814b07bf7e848300166f890eb37d30d5e07030bbd144936674370e41 \
|
|
657
|
+
--hash=sha256:7b7a95526c7185c1f828042d4321c4abe1f7c1781c6e2ed7d69551630ffd950f \
|
|
658
|
+
--hash=sha256:7e7ec97f017fbb5ad5491fae250aa42216d9087b0ce7286afe2258f40afbf1b0 \
|
|
659
|
+
--hash=sha256:7f6ae2978034bebb48f629fc070e960bb1edee548d171ca5ff30c8a634fde908 \
|
|
660
|
+
--hash=sha256:889c5d4fcc163c1c8846a0a8fee164c62919db841f6b34dba1dbe55088402237 \
|
|
661
|
+
--hash=sha256:915bf241f3bb968dd37447551a114f42384b15e1a1778479fd7d0bf2c9898141 \
|
|
662
|
+
--hash=sha256:94a60cffde70d1cb50ff84290ddbfb56cb01093c008ab135c0ad94bcfd877610 \
|
|
663
|
+
--hash=sha256:9cf0c804c762f79c8056da421765cfb679ebef52fb35d9d7c01625136a9d0b44 \
|
|
664
|
+
--hash=sha256:a2aa19664d71ace60e4a9ca03649bb9e553a08360e7a3a93ed79f7b263e3e7ec \
|
|
665
|
+
--hash=sha256:a7ae899017781fbe0b30adef14ae97e27bdec6fe69603117dc45925a84ec5c23 \
|
|
666
|
+
--hash=sha256:b51c3d57223ae968f1fa432144eb10eb474fe01efce7a480309e947d72de6d41 \
|
|
667
|
+
--hash=sha256:b95d0dd3ec85c6f1db4b5417eb39b9d25a14bb67bb8b95a053d2fb63d842872b \
|
|
668
|
+
--hash=sha256:bb1a057d961f66423fe2f423cfc8a1d3ab854b520ac28e1226c200b916d07a4f \
|
|
669
|
+
--hash=sha256:c30a551d9a1df428ecce7816659314470f2bf36957a15905ff40560595bf61e9 \
|
|
670
|
+
--hash=sha256:c6259df8104aa1a29a9be9dafd6c4c3a5fd388c1a4cea7f921f70b1cc5ac17b6 \
|
|
671
|
+
--hash=sha256:d2bf175fa6226596cdd9a6ec93b2319b1c8e2e735f23a295ac59d192fbb70c68 \
|
|
672
|
+
--hash=sha256:d8cca1d4861d3b7c34d209e03e419a87ec96f5048870973b81f89483cf689c0b \
|
|
673
|
+
--hash=sha256:de22c0306b35ef0ee23f4deaa9204f0ffc3600125c63cc277fc5a52b7021aaf6 \
|
|
674
|
+
--hash=sha256:de45086232034d079e8b732ab65caf4df338fbc93f9547d9001558d832018296 \
|
|
675
|
+
--hash=sha256:e5a4ab8aab1a2dbb48132c02f009e0ec1648256b1c024b15ab924c5a62b6bd58 \
|
|
676
|
+
--hash=sha256:e5ecdeb37f1a298c1ae6b4a6c2bd882bf29286cabe7d03de3e9b5a4487accefc \
|
|
677
|
+
--hash=sha256:ebe04dbb35b9a7e461823f027eef0970576ace94e3e06222b85b10401d3276ed \
|
|
678
|
+
--hash=sha256:ed488fe2ae27438266f658630e2491a1b08462532ff69090f37095cf8002c002 \
|
|
679
|
+
--hash=sha256:fa36dd4a1f01acdf1ceee98ebb83df696ce03314908fb7a14292ebe61b25151f \
|
|
680
|
+
--hash=sha256:fb1056e9b08104dac93fa6f345c8722a106cc3582a49d7186deae627ae294116 \
|
|
681
|
+
--hash=sha256:fbdd3db8e53e8ff7f5f850613a46a22a828e490fbcd769e1acd2a8697aa66c77 \
|
|
682
|
+
--hash=sha256:ffc2c93167c43bf7e8387c1c860813b26ebf4dfe5c71a68c2ef4911b01a46ae6
|
|
683
|
+
# via io4edge-client
|
|
@@ -4,7 +4,7 @@ from ekfsm.devices.generic import Device
|
|
|
4
4
|
|
|
5
5
|
class Button(Device):
|
|
6
6
|
"""
|
|
7
|
-
Device class for handling a button array.
|
|
7
|
+
Device class for handling a single button as part on array.
|
|
8
8
|
"""
|
|
9
9
|
|
|
10
10
|
def __init__(
|
|
@@ -35,6 +35,11 @@ class Button(Device):
|
|
|
35
35
|
def handler(self, func: Callable | None, *args, **kwargs):
|
|
36
36
|
"""
|
|
37
37
|
Handle button events with a callback function.
|
|
38
|
+
|
|
39
|
+
Parameters
|
|
40
|
+
----------
|
|
41
|
+
func : Callable | None
|
|
42
|
+
The function to call on button events. If None, no function is called.
|
|
38
43
|
"""
|
|
39
44
|
if callable(func):
|
|
40
45
|
self._handler = func
|
|
@@ -8,7 +8,13 @@ import io4edge_client.functionblock as fb
|
|
|
8
8
|
|
|
9
9
|
class ButtonArray(Device):
|
|
10
10
|
"""
|
|
11
|
-
Device class for handling
|
|
11
|
+
Device class for handling an io4edge button array.
|
|
12
|
+
|
|
13
|
+
To read button events, call the `read` method in a separate thread.
|
|
14
|
+
|
|
15
|
+
Note
|
|
16
|
+
----
|
|
17
|
+
Button handlers are called in the context of the `read` method's thread and need to be set in the Button instances.
|
|
12
18
|
"""
|
|
13
19
|
|
|
14
20
|
def __init__(
|
|
@@ -18,6 +24,7 @@ class ButtonArray(Device):
|
|
|
18
24
|
children: list[Device] | None = None,
|
|
19
25
|
abort: bool = False,
|
|
20
26
|
service_suffix: str | None = None,
|
|
27
|
+
keepaliveInterval: int = 10000,
|
|
21
28
|
*args,
|
|
22
29
|
**kwargs,
|
|
23
30
|
):
|
|
@@ -33,12 +40,14 @@ class ButtonArray(Device):
|
|
|
33
40
|
|
|
34
41
|
self.service_addr = f"{parent.deviceId}-{self.service_suffix}"
|
|
35
42
|
|
|
36
|
-
self.client = binio.Client(
|
|
43
|
+
self.client = binio.Client(
|
|
44
|
+
self.service_addr, command_timeout=keepaliveInterval / 1000 + 5
|
|
45
|
+
)
|
|
37
46
|
|
|
38
47
|
self.subscriptionType = binio.Pb.SubscriptionType.BINARYIOTYPEB_ON_RISING_EDGE
|
|
39
48
|
self.stream_cfg = fb.Pb.StreamControlStart(
|
|
40
49
|
bucketSamples=1, # 1 sample per bucket, also ein event pro bucket
|
|
41
|
-
keepaliveInterval=
|
|
50
|
+
keepaliveInterval=keepaliveInterval,
|
|
42
51
|
bufferedSamples=2, # 2 samples werden gepuffert
|
|
43
52
|
low_latency_mode=True, # schickt soweit moeglich sofort die Events
|
|
44
53
|
)
|
|
@@ -46,6 +55,17 @@ class ButtonArray(Device):
|
|
|
46
55
|
def read(self, stop_event: threading.Event | None = None, timeout: float = 0.1):
|
|
47
56
|
"""
|
|
48
57
|
Read all button events and dispatch to handlers.
|
|
58
|
+
|
|
59
|
+
Parameters
|
|
60
|
+
----------
|
|
61
|
+
stop_event : threading.Event, optional
|
|
62
|
+
Event to signal stopping the reading loop. If None, the loop will run indefinitely.
|
|
63
|
+
timeout : float, optional
|
|
64
|
+
Timeout for reading from the stream in seconds. Default is 0.1 seconds.
|
|
65
|
+
|
|
66
|
+
Note
|
|
67
|
+
----
|
|
68
|
+
This method blocks and should be run in a separate thread.
|
|
49
69
|
"""
|
|
50
70
|
self.client.start_stream(
|
|
51
71
|
binio.Pb.StreamControlStart(
|
|
@@ -32,18 +32,37 @@ class ColorLED(Device):
|
|
|
32
32
|
def get(self) -> tuple[Color, bool]:
|
|
33
33
|
"""
|
|
34
34
|
Get color LED state.
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
|
|
36
|
+
Returns
|
|
37
|
+
-------
|
|
38
|
+
Current color and blink state.
|
|
39
|
+
|
|
40
|
+
Raises
|
|
41
|
+
------
|
|
42
|
+
RuntimeError
|
|
43
|
+
if the command fails
|
|
44
|
+
TimeoutError
|
|
45
|
+
if the command times out
|
|
37
46
|
"""
|
|
38
47
|
return self.client.get(self.channel_id)
|
|
39
48
|
|
|
40
49
|
def set(self, color: Color, blink: bool) -> None:
|
|
41
50
|
"""
|
|
42
51
|
Set the color of the color LED.
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
52
|
+
|
|
53
|
+
Parameters
|
|
54
|
+
----------
|
|
55
|
+
color : Color
|
|
56
|
+
The color to set the LED to.
|
|
57
|
+
blink : bool
|
|
58
|
+
Whether to blink the LED.
|
|
59
|
+
|
|
60
|
+
Raises
|
|
61
|
+
------
|
|
62
|
+
RuntimeError
|
|
63
|
+
if the command fails
|
|
64
|
+
TimeoutError
|
|
65
|
+
if the command times out
|
|
47
66
|
"""
|
|
48
67
|
self.client.set(self.channel_id, color, blink)
|
|
49
68
|
|
|
@@ -32,13 +32,18 @@ class ThermalHumidity(Device):
|
|
|
32
32
|
|
|
33
33
|
self.client = Client(self.service_addr)
|
|
34
34
|
|
|
35
|
-
def __repr__(self):
|
|
36
|
-
return f"{self.name}; Service Address: {self.service_addr}"
|
|
37
|
-
|
|
38
35
|
def temperature(self) -> float:
|
|
39
36
|
"""
|
|
40
37
|
Get the temperature in Celsius.
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
|
|
39
|
+
Raises
|
|
40
|
+
------
|
|
41
|
+
RuntimeError
|
|
42
|
+
if the command fails
|
|
43
|
+
TimeoutError
|
|
44
|
+
if the command times out
|
|
43
45
|
"""
|
|
44
46
|
return self.client.value()
|
|
47
|
+
|
|
48
|
+
def __repr__(self):
|
|
49
|
+
return f"{self.name}; Service Address: {self.service_addr}"
|
|
@@ -5,7 +5,7 @@ from io4edge_client.watchdog import Client
|
|
|
5
5
|
|
|
6
6
|
class Watchdog(Device):
|
|
7
7
|
"""
|
|
8
|
-
Device class for handling
|
|
8
|
+
Device class for handling an application watchdog.
|
|
9
9
|
"""
|
|
10
10
|
|
|
11
11
|
def __init__(
|
|
@@ -38,7 +38,15 @@ class Watchdog(Device):
|
|
|
38
38
|
def kick(self) -> None:
|
|
39
39
|
"""
|
|
40
40
|
Kick the watchdog.
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
|
|
42
|
+
Raises
|
|
43
|
+
------
|
|
44
|
+
RuntimeError
|
|
45
|
+
if the command fails
|
|
46
|
+
TimeoutError
|
|
47
|
+
if the command times out
|
|
43
48
|
"""
|
|
44
49
|
self.client.kick()
|
|
50
|
+
|
|
51
|
+
def __repr__(self):
|
|
52
|
+
return f"{self.name}; Service Address: {self.service_addr}"
|
|
@@ -27,7 +27,7 @@ authors = [
|
|
|
27
27
|
]
|
|
28
28
|
description = "The EKF System Management Library (ekfsm) is a sensor monitoring suite for Compact PCI Serial devices."
|
|
29
29
|
requires-python = ">=3.10"
|
|
30
|
-
version = "1.4.0-alpha.
|
|
30
|
+
version = "1.4.0-alpha.42"
|
|
31
31
|
|
|
32
32
|
[project.scripts]
|
|
33
33
|
ekfsm-cli = "ekfsm.cli:main"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:1f.4/i2c-7/7-0057/eeprom
RENAMED
|
File without changes
|
{ekfsm-1.4.0a37 → ekfsm-1.4.0a42}/tests/sim/sys/devices/pci0000:00/0000:00:1f.4/i2c-7/7-0057/name
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|