ekfsm 1.2.0a7__tar.gz → 1.3.0a32__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.2.0a7 → ekfsm-1.3.0a32}/.gitlab-ci.yml +21 -2
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/.readthedocs.yaml +1 -1
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/PKG-INFO +8 -5
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/README.md +3 -3
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/devenv.lock +27 -30
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/devenv.nix +47 -3
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/docs/source/boards/hitron/hdrc-300s.rst +11 -11
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/docs/source/intro.rst +6 -6
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/boards/oem/hitron/hdrc-300s.yaml +1 -1
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/cli.py +6 -8
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/config.py +14 -6
- ekfsm-1.3.0a32/ekfsm/core/__init__.py +14 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/core/components.py +4 -4
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/core/slots.py +6 -13
- ekfsm-1.3.0a32/ekfsm/core/sysfs.py +251 -0
- ekfsm-1.3.0a32/ekfsm/core/utils.py +132 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/devices/__init__.py +8 -7
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/devices/coretemp.py +11 -10
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/devices/eeprom.py +52 -39
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/devices/ekf_ccu_uc.py +37 -46
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/devices/ekf_sur_led.py +6 -2
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/devices/generic.py +141 -88
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/devices/gpio.py +33 -25
- ekfsm-1.3.0a32/ekfsm/devices/iio.py +42 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/devices/iio_thermal_humidity.py +12 -13
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/devices/mux.py +11 -6
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/devices/pmbus.py +60 -67
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/devices/smbios.py +10 -8
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/devices/smbus.py +1 -1
- ekfsm-1.3.0a32/ekfsm/devices/utils.py +7 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/exceptions.py +28 -7
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/simctrl.py +37 -83
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/system.py +44 -70
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/utils.py +9 -6
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/pyproject.toml +13 -2
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/scripts/modify-acpi-table.sh +11 -17
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/basic_sim.py +4 -9
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/ccu-test.py +5 -6
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/ccu_wokwi_sim.py +2 -6
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/locking/test_lock.py +3 -2
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/props.py +5 -9
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/run.py +2 -4
- ekfsm-1.3.0a32/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-17/new_device +0 -0
- ekfsm-1.3.0a32/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-9/new_device +0 -0
- ekfsm-1.3.0a32/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/new_device +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/srf-fan-test.py +2 -2
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/test_config.py +2 -1
- ekfsm-1.3.0a32/tests/test_module_schema.py +28 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/test_sim-ccu-eeprom.py +5 -7
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/test_sim1.py +11 -11
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/test_sim2.py +9 -11
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/zip2-comp1_smoke.py +5 -6
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/zip2-comp2_smoke.py +5 -6
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/zip2_ccu_exp.py +3 -3
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/zip2_ccu_imu.py +3 -6
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/zip2_psu.py +3 -4
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/uv.lock +198 -0
- ekfsm-1.2.0a7/docs/build/doctrees/boards/ekf/ccu.doctree +0 -0
- ekfsm-1.2.0a7/docs/build/doctrees/boards/ekf/sc5-festival.doctree +0 -0
- ekfsm-1.2.0a7/docs/build/doctrees/boards/ekf/sc9-toccata.doctree +0 -0
- ekfsm-1.2.0a7/docs/build/doctrees/boards/ekf/se5-club.doctree +0 -0
- ekfsm-1.2.0a7/docs/build/doctrees/boards/ekf/sn4-djembe.doctree +0 -0
- ekfsm-1.2.0a7/docs/build/doctrees/boards/ekf/snippets/cpci_inventory.doctree +0 -0
- ekfsm-1.2.0a7/docs/build/doctrees/boards/ekf/spv-mystic.doctree +0 -0
- ekfsm-1.2.0a7/docs/build/doctrees/boards/ekf/sq1-track.doctree +0 -0
- ekfsm-1.2.0a7/docs/build/doctrees/boards/ekf/sq3-quartet.doctree +0 -0
- ekfsm-1.2.0a7/docs/build/doctrees/boards/ekf/sur-uart.doctree +0 -0
- ekfsm-1.2.0a7/docs/build/doctrees/boards/hitron/hdrc-300s.doctree +0 -0
- ekfsm-1.2.0a7/docs/build/doctrees/boards.doctree +0 -0
- ekfsm-1.2.0a7/docs/build/doctrees/environment.pickle +0 -0
- ekfsm-1.2.0a7/docs/build/doctrees/index.doctree +0 -0
- ekfsm-1.2.0a7/docs/build/doctrees/intro.doctree +0 -0
- ekfsm-1.2.0a7/docs/build/doctrees/reference/ekfsm.doctree +0 -0
- ekfsm-1.2.0a7/docs/build/doctrees/reference/index.doctree +0 -0
- ekfsm-1.2.0a7/docs/build/doctrees/reference/systemconfig.doctree +0 -0
- ekfsm-1.2.0a7/docs/build/html/.buildinfo +0 -4
- ekfsm-1.2.0a7/docs/build/html/_modules/ekfsm/cli.html +0 -247
- ekfsm-1.2.0a7/docs/build/html/_modules/ekfsm/config.html +0 -144
- ekfsm-1.2.0a7/docs/build/html/_modules/ekfsm/core/components.html +0 -250
- ekfsm-1.2.0a7/docs/build/html/_modules/ekfsm/core/probe.html +0 -119
- ekfsm-1.2.0a7/docs/build/html/_modules/ekfsm/core/slots.html +0 -325
- ekfsm-1.2.0a7/docs/build/html/_modules/ekfsm/core/sysfs.html +0 -229
- ekfsm-1.2.0a7/docs/build/html/_modules/ekfsm/core/utils.html +0 -204
- ekfsm-1.2.0a7/docs/build/html/_modules/ekfsm/devices/coretemp.html +0 -183
- ekfsm-1.2.0a7/docs/build/html/_modules/ekfsm/devices/eeprom.html +0 -1350
- ekfsm-1.2.0a7/docs/build/html/_modules/ekfsm/devices/ekf_ccu_uc.html +0 -628
- ekfsm-1.2.0a7/docs/build/html/_modules/ekfsm/devices/ekf_sur_led.html +0 -176
- ekfsm-1.2.0a7/docs/build/html/_modules/ekfsm/devices/generic.html +0 -429
- ekfsm-1.2.0a7/docs/build/html/_modules/ekfsm/devices/gpio.html +0 -522
- ekfsm-1.2.0a7/docs/build/html/_modules/ekfsm/devices/iio.html +0 -164
- ekfsm-1.2.0a7/docs/build/html/_modules/ekfsm/devices/iio_thermal_humidity.html +0 -161
- ekfsm-1.2.0a7/docs/build/html/_modules/ekfsm/devices/imu.html +0 -124
- ekfsm-1.2.0a7/docs/build/html/_modules/ekfsm/devices/mux.html +0 -178
- ekfsm-1.2.0a7/docs/build/html/_modules/ekfsm/devices/pmbus.html +0 -418
- ekfsm-1.2.0a7/docs/build/html/_modules/ekfsm/devices/smbios.html +0 -149
- ekfsm-1.2.0a7/docs/build/html/_modules/ekfsm/devices/utils.html +0 -125
- ekfsm-1.2.0a7/docs/build/html/_modules/ekfsm/exceptions.html +0 -185
- ekfsm-1.2.0a7/docs/build/html/_modules/ekfsm/lock.html +0 -239
- ekfsm-1.2.0a7/docs/build/html/_modules/ekfsm/log.html +0 -134
- ekfsm-1.2.0a7/docs/build/html/_modules/ekfsm/system.html +0 -490
- ekfsm-1.2.0a7/docs/build/html/_modules/ekfsm/utils.html +0 -150
- ekfsm-1.2.0a7/docs/build/html/_modules/enum.html +0 -2212
- ekfsm-1.2.0a7/docs/build/html/_modules/index.html +0 -127
- ekfsm-1.2.0a7/docs/build/html/_sources/boards/ekf/ccu.rst.txt +0 -151
- ekfsm-1.2.0a7/docs/build/html/_sources/boards/ekf/sc5-festival.rst.txt +0 -42
- ekfsm-1.2.0a7/docs/build/html/_sources/boards/ekf/sc9-toccata.rst.txt +0 -42
- ekfsm-1.2.0a7/docs/build/html/_sources/boards/ekf/se5-club.rst.txt +0 -10
- ekfsm-1.2.0a7/docs/build/html/_sources/boards/ekf/sn4-djembe.rst.txt +0 -10
- ekfsm-1.2.0a7/docs/build/html/_sources/boards/ekf/snippets/cpci_inventory.rst.txt +0 -16
- ekfsm-1.2.0a7/docs/build/html/_sources/boards/ekf/spv-mystic.rst.txt +0 -30
- ekfsm-1.2.0a7/docs/build/html/_sources/boards/ekf/sq1-track.rst.txt +0 -8
- ekfsm-1.2.0a7/docs/build/html/_sources/boards/ekf/sq3-quartet.rst.txt +0 -8
- ekfsm-1.2.0a7/docs/build/html/_sources/boards/ekf/sur-uart.rst.txt +0 -36
- ekfsm-1.2.0a7/docs/build/html/_sources/boards/hitron/hdrc-300s.rst.txt +0 -63
- ekfsm-1.2.0a7/docs/build/html/_sources/boards.rst.txt +0 -24
- ekfsm-1.2.0a7/docs/build/html/_sources/index.rst.txt +0 -16
- ekfsm-1.2.0a7/docs/build/html/_sources/intro.rst.txt +0 -204
- ekfsm-1.2.0a7/docs/build/html/_sources/reference/ekfsm.rst.txt +0 -98
- ekfsm-1.2.0a7/docs/build/html/_sources/reference/index.rst.txt +0 -13
- ekfsm-1.2.0a7/docs/build/html/_sources/reference/systemconfig.rst.txt +0 -88
- ekfsm-1.2.0a7/docs/build/html/_static/_sphinx_javascript_frameworks_compat.js +0 -123
- ekfsm-1.2.0a7/docs/build/html/_static/basic.css +0 -914
- ekfsm-1.2.0a7/docs/build/html/_static/css/badge_only.css +0 -1
- ekfsm-1.2.0a7/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/css/fonts/fontawesome-webfont.svg +0 -2671
- ekfsm-1.2.0a7/docs/build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/css/fonts/lato-bold.woff +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/css/fonts/lato-bold.woff2 +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/css/fonts/lato-normal.woff +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/css/fonts/lato-normal.woff2 +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/css/theme.css +0 -4
- ekfsm-1.2.0a7/docs/build/html/_static/devices.drawio.png +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/doctools.js +0 -149
- ekfsm-1.2.0a7/docs/build/html/_static/documentation_options.js +0 -13
- ekfsm-1.2.0a7/docs/build/html/_static/ekfsm_system.drawio.png +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/file.png +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/fonts/Lato/lato-bold.eot +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/fonts/Lato/lato-bold.ttf +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/fonts/Lato/lato-bold.woff +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/fonts/Lato/lato-bold.woff2 +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/fonts/Lato/lato-bolditalic.eot +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/fonts/Lato/lato-bolditalic.woff +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/fonts/Lato/lato-italic.eot +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/fonts/Lato/lato-italic.ttf +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/fonts/Lato/lato-italic.woff +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/fonts/Lato/lato-italic.woff2 +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/fonts/Lato/lato-regular.eot +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/fonts/Lato/lato-regular.ttf +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/fonts/Lato/lato-regular.woff +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/fonts/Lato/lato-regular.woff2 +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/jquery.js +0 -2
- ekfsm-1.2.0a7/docs/build/html/_static/js/badge_only.js +0 -1
- ekfsm-1.2.0a7/docs/build/html/_static/js/theme.js +0 -1
- ekfsm-1.2.0a7/docs/build/html/_static/js/versions.js +0 -228
- ekfsm-1.2.0a7/docs/build/html/_static/language_data.js +0 -192
- ekfsm-1.2.0a7/docs/build/html/_static/minus.png +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/plus.png +0 -0
- ekfsm-1.2.0a7/docs/build/html/_static/pygments.css +0 -75
- ekfsm-1.2.0a7/docs/build/html/_static/searchtools.js +0 -632
- ekfsm-1.2.0a7/docs/build/html/_static/sphinx_highlight.js +0 -154
- ekfsm-1.2.0a7/docs/build/html/boards/ekf/ccu.html +0 -367
- ekfsm-1.2.0a7/docs/build/html/boards/ekf/sc5-festival.html +0 -182
- ekfsm-1.2.0a7/docs/build/html/boards/ekf/sc9-toccata.html +0 -182
- ekfsm-1.2.0a7/docs/build/html/boards/ekf/se5-club.html +0 -158
- ekfsm-1.2.0a7/docs/build/html/boards/ekf/sn4-djembe.html +0 -158
- ekfsm-1.2.0a7/docs/build/html/boards/ekf/snippets/cpci_inventory.html +0 -130
- ekfsm-1.2.0a7/docs/build/html/boards/ekf/spv-mystic.html +0 -188
- ekfsm-1.2.0a7/docs/build/html/boards/ekf/sq1-track.html +0 -157
- ekfsm-1.2.0a7/docs/build/html/boards/ekf/sq3-quartet.html +0 -157
- ekfsm-1.2.0a7/docs/build/html/boards/ekf/sur-uart.html +0 -197
- ekfsm-1.2.0a7/docs/build/html/boards/hitron/hdrc-300s.html +0 -225
- ekfsm-1.2.0a7/docs/build/html/boards.html +0 -154
- ekfsm-1.2.0a7/docs/build/html/genindex.html +0 -1201
- ekfsm-1.2.0a7/docs/build/html/index.html +0 -142
- ekfsm-1.2.0a7/docs/build/html/intro.html +0 -291
- ekfsm-1.2.0a7/docs/build/html/objects.inv +0 -0
- ekfsm-1.2.0a7/docs/build/html/py-modindex.html +0 -227
- ekfsm-1.2.0a7/docs/build/html/reference/ekfsm.html +0 -3687
- ekfsm-1.2.0a7/docs/build/html/reference/index.html +0 -264
- ekfsm-1.2.0a7/docs/build/html/reference/systemconfig.html +0 -190
- ekfsm-1.2.0a7/docs/build/html/search.html +0 -122
- ekfsm-1.2.0a7/docs/build/html/searchindex.js +0 -1
- ekfsm-1.2.0a7/docs/build/latex/LICRcyr2utf8.xdy +0 -101
- ekfsm-1.2.0a7/docs/build/latex/LICRlatin2utf8.xdy +0 -239
- ekfsm-1.2.0a7/docs/build/latex/LatinRules.xdy +0 -611
- ekfsm-1.2.0a7/docs/build/latex/Makefile +0 -65
- ekfsm-1.2.0a7/docs/build/latex/_static/_sphinx_javascript_frameworks_compat.js +0 -123
- ekfsm-1.2.0a7/docs/build/latex/_static/jquery.js +0 -2
- ekfsm-1.2.0a7/docs/build/latex/devices.drawio.png +0 -0
- ekfsm-1.2.0a7/docs/build/latex/ekfsm.aux +0 -482
- ekfsm-1.2.0a7/docs/build/latex/ekfsm.fdb_latexmk +0 -207
- ekfsm-1.2.0a7/docs/build/latex/ekfsm.fls +0 -407
- ekfsm-1.2.0a7/docs/build/latex/ekfsm.idx +0 -320
- ekfsm-1.2.0a7/docs/build/latex/ekfsm.ilg +0 -7
- ekfsm-1.2.0a7/docs/build/latex/ekfsm.ind +0 -534
- ekfsm-1.2.0a7/docs/build/latex/ekfsm.log +0 -2182
- ekfsm-1.2.0a7/docs/build/latex/ekfsm.out +0 -86
- ekfsm-1.2.0a7/docs/build/latex/ekfsm.pdf +0 -0
- ekfsm-1.2.0a7/docs/build/latex/ekfsm.tex +0 -8359
- ekfsm-1.2.0a7/docs/build/latex/ekfsm.toc +0 -87
- ekfsm-1.2.0a7/docs/build/latex/ekfsm_system.drawio.png +0 -0
- ekfsm-1.2.0a7/docs/build/latex/latexmkjarc +0 -22
- ekfsm-1.2.0a7/docs/build/latex/latexmkrc +0 -9
- ekfsm-1.2.0a7/docs/build/latex/make.bat +0 -31
- ekfsm-1.2.0a7/docs/build/latex/python.ist +0 -16
- ekfsm-1.2.0a7/docs/build/latex/sphinx.sty +0 -1195
- ekfsm-1.2.0a7/docs/build/latex/sphinx.xdy +0 -230
- ekfsm-1.2.0a7/docs/build/latex/sphinxhighlight.sty +0 -130
- ekfsm-1.2.0a7/docs/build/latex/sphinxhowto.cls +0 -102
- ekfsm-1.2.0a7/docs/build/latex/sphinxlatexadmonitions.sty +0 -403
- ekfsm-1.2.0a7/docs/build/latex/sphinxlatexcontainers.sty +0 -22
- ekfsm-1.2.0a7/docs/build/latex/sphinxlatexgraphics.sty +0 -123
- ekfsm-1.2.0a7/docs/build/latex/sphinxlatexindbibtoc.sty +0 -69
- ekfsm-1.2.0a7/docs/build/latex/sphinxlatexlists.sty +0 -131
- ekfsm-1.2.0a7/docs/build/latex/sphinxlatexliterals.sty +0 -1000
- ekfsm-1.2.0a7/docs/build/latex/sphinxlatexnumfig.sty +0 -135
- ekfsm-1.2.0a7/docs/build/latex/sphinxlatexobjects.sty +0 -365
- ekfsm-1.2.0a7/docs/build/latex/sphinxlatexshadowbox.sty +0 -178
- ekfsm-1.2.0a7/docs/build/latex/sphinxlatexstyleheadings.sty +0 -91
- ekfsm-1.2.0a7/docs/build/latex/sphinxlatexstylepage.sty +0 -73
- ekfsm-1.2.0a7/docs/build/latex/sphinxlatexstyletext.sty +0 -145
- ekfsm-1.2.0a7/docs/build/latex/sphinxlatextables.sty +0 -1241
- ekfsm-1.2.0a7/docs/build/latex/sphinxmanual.cls +0 -128
- ekfsm-1.2.0a7/docs/build/latex/sphinxmessages.sty +0 -21
- ekfsm-1.2.0a7/docs/build/latex/sphinxoptionsgeometry.sty +0 -54
- ekfsm-1.2.0a7/docs/build/latex/sphinxoptionshyperref.sty +0 -35
- ekfsm-1.2.0a7/docs/build/latex/sphinxpackageboxes.sty +0 -827
- ekfsm-1.2.0a7/docs/build/latex/sphinxpackagecyrillic.sty +0 -55
- ekfsm-1.2.0a7/docs/build/latex/sphinxpackagefootnote.sty +0 -434
- ekfsm-1.2.0a7/docs/build/latex/sphinxpackagesubstitutefont.sty +0 -21
- ekfsm-1.2.0a7/docs/source/_static/devices.drawio.png +0 -0
- ekfsm-1.2.0a7/docs/source/_static/devices.drawio.svg +0 -4
- ekfsm-1.2.0a7/docs/source/_static/ekfsm_system.drawio.png +0 -0
- ekfsm-1.2.0a7/docs/source/_static/ekfsm_system.drawio.svg +0 -4
- ekfsm-1.2.0a7/ekfsm/core/__init__.py +0 -14
- ekfsm-1.2.0a7/ekfsm/core/sysfs.py +0 -81
- ekfsm-1.2.0a7/ekfsm/core/utils.py +0 -92
- ekfsm-1.2.0a7/ekfsm/devices/iio.py +0 -58
- ekfsm-1.2.0a7/ekfsm/devices/utils.py +0 -16
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/.env +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/.envrc +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/.flake8 +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/.gitignore +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/.vscode/launch.json +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/.vscode/settings.json +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/GitVersion.yml +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/LICENSE.md +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/devenv.yaml +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/docs/.gitignore +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/docs/Makefile +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/docs/requirements.txt +0 -0
- {ekfsm-1.2.0a7/docs/build/html/_images → ekfsm-1.3.0a32/docs/source/_static}/devices.drawio.png +0 -0
- {ekfsm-1.2.0a7/docs/build/html → ekfsm-1.3.0a32/docs/source}/_static/devices.drawio.svg +0 -0
- {ekfsm-1.2.0a7/docs/build/html/_images → ekfsm-1.3.0a32/docs/source/_static}/ekfsm_system.drawio.png +0 -0
- {ekfsm-1.2.0a7/docs/build/html → ekfsm-1.3.0a32/docs/source}/_static/ekfsm_system.drawio.svg +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/docs/source/boards/ekf/ccu.rst +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/docs/source/boards/ekf/sc5-festival.rst +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/docs/source/boards/ekf/sc9-toccata.rst +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/docs/source/boards/ekf/se5-club.rst +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/docs/source/boards/ekf/sn4-djembe.rst +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/docs/source/boards/ekf/snippets/cpci_inventory.rst +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/docs/source/boards/ekf/spv-mystic.rst +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/docs/source/boards/ekf/sq1-track.rst +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/docs/source/boards/ekf/sq3-quartet.rst +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/docs/source/boards/ekf/sur-uart.rst +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/docs/source/boards.rst +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/docs/source/conf.py +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/docs/source/index.rst +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/docs/source/reference/ekfsm.rst +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/docs/source/reference/index.rst +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/docs/source/reference/systemconfig.rst +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/__init__.py +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/boards/oem/ekf/ccu.yaml +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/boards/oem/ekf/sc5-festival.yaml +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/boards/oem/ekf/sc9-toccata.yaml +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/boards/oem/ekf/se5-club.yaml +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/boards/oem/ekf/sn4-djembe.yaml +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/boards/oem/ekf/spv-mystic.yaml +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/boards/oem/ekf/sq1-track.yaml +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/boards/oem/ekf/sq3-quartet.yaml +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/boards/oem/ekf/srf-fan.yaml +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/boards/oem/ekf/sur-uart.yaml +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/core/probe.py +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/devices/imu.py +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/lock.py +1 -1
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/log.py +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/ekfsm/py.typed +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/hack/bringup_zip_i2c_devs.sh +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/__init__.py +0 -0
- {ekfsm-1.2.0a7/tests/testdata → ekfsm-1.3.0a32/tests/data}/cfg_simple.yaml +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/locking/lock_tester.py +1 -1
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/sc5-hitron-only.yaml +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/sim/__init__.py +0 -0
- /ekfsm-1.2.0a7/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-10/new_device → /ekfsm-1.3.0a32/tests/sim/sys/bus/i2c/drivers/at24/.keep +0 -0
- /ekfsm-1.2.0a7/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-11/new_device → /ekfsm-1.3.0a32/tests/sim/sys/bus/i2c/drivers/pca953x/.keep +0 -0
- /ekfsm-1.2.0a7/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-12/new_device → /ekfsm-1.3.0a32/tests/sim/sys/bus/i2c/drivers/pca954x/.keep +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/sim/sys/class/hwmon/hwmon2/name +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/sim/sys/class/hwmon/hwmon2/temp1_input +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-10/firmware_node/adr +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-10/name +0 -0
- {ekfsm-1.2.0a7/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-14 → ekfsm-1.3.0a32/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-10}/new_device +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-11/firmware_node/adr +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-11/name +0 -0
- {ekfsm-1.2.0a7/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-15 → ekfsm-1.3.0a32/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-11}/new_device +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-12/firmware_node/adr +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-12/name +0 -0
- {ekfsm-1.2.0a7/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-16 → ekfsm-1.3.0a32/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-12}/new_device +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-14/firmware_node/adr +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/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.2.0a7 → ekfsm-1.3.0a32}/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.2.0a7 → ekfsm-1.3.0a32}/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.2.0a7 → ekfsm-1.3.0a32}/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.2.0a7 → ekfsm-1.3.0a32}/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.2.0a7 → ekfsm-1.3.0a32}/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.2.0a7 → ekfsm-1.3.0a32}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-14/name +0 -0
- {ekfsm-1.2.0a7/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-17 → ekfsm-1.3.0a32/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-14}/new_device +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-15/firmware_node/adr +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-15/name +0 -0
- {ekfsm-1.2.0a7/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-9 → ekfsm-1.3.0a32/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-15}/new_device +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-16/firmware_node/adr +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-16/name +0 -0
- {ekfsm-1.2.0a7/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1 → ekfsm-1.3.0a32/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-16}/new_device +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-17/firmware_node/adr +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-17/name +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-9/firmware_node/adr +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/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.2.0a7 → ekfsm-1.3.0a32}/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.2.0a7 → ekfsm-1.3.0a32}/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.2.0a7 → ekfsm-1.3.0a32}/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.2.0a7 → ekfsm-1.3.0a32}/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.2.0a7 → ekfsm-1.3.0a32}/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.2.0a7 → ekfsm-1.3.0a32}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-9/name +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/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.2.0a7 → ekfsm-1.3.0a32}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-PRP0001:00/name +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/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.2.0a7 → ekfsm-1.3.0a32}/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.2.0a7 → ekfsm-1.3.0a32}/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.2.0a7 → ekfsm-1.3.0a32}/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.2.0a7 → ekfsm-1.3.0a32}/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.2.0a7 → ekfsm-1.3.0a32}/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.2.0a7 → ekfsm-1.3.0a32}/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.2.0a7 → ekfsm-1.3.0a32}/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.2.0a7 → ekfsm-1.3.0a32}/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.2.0a7 → ekfsm-1.3.0a32}/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.2.0a7 → ekfsm-1.3.0a32}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-PRP0001:03/name +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/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.2.0a7 → ekfsm-1.3.0a32}/tests/sim/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.2/i2c-1/i2c-PRP0002:00/name +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/sim/sys/devices/pci0000:00/0000:00:1f.4/i2c-7/7-0057/eeprom +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/sim/sys/devices/pci0000:00/0000:00:1f.4/i2c-7/7-0057/name +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/sim/sys/devices/virtual/dmi/id/board_version +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/sim/sys/kernel/debug/pmbus/hwmon99/status0_input +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/sim/sys/kernel/debug/pmbus/hwmon99/status1_input +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/sim/test_system.yaml +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/sim/test_system_inconsistent.yaml +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/srf-fan-test.yaml +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/zip2-ccu-only.yaml +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/zip2-comp1.yaml +0 -0
- {ekfsm-1.2.0a7 → ekfsm-1.3.0a32}/tests/zip2-comp2.yaml +0 -0
|
@@ -180,7 +180,7 @@ build-doc-coverage:
|
|
|
180
180
|
paths:
|
|
181
181
|
- docs/build/coverage
|
|
182
182
|
|
|
183
|
-
deploy:
|
|
183
|
+
deploy-gitlab-pypi:
|
|
184
184
|
stage: ⬆️ deploy
|
|
185
185
|
image: python:3.12
|
|
186
186
|
tags:
|
|
@@ -196,7 +196,26 @@ deploy:
|
|
|
196
196
|
- echo "Install twine..."
|
|
197
197
|
- python -m pip install twine
|
|
198
198
|
script:
|
|
199
|
-
- echo "Deploying version ${GitVersion_SemVer} to pypi repository..."
|
|
199
|
+
- echo "Deploying version ${GitVersion_SemVer} to gitlab pypi repository..."
|
|
200
200
|
- TWINE_PASSWORD=${CI_JOB_TOKEN} TWINE_USERNAME=gitlab-ci-token python -m twine upload --repository-url ${PACKAGE_REGISTRY_URL} dist/*
|
|
201
201
|
needs:
|
|
202
202
|
- pkg
|
|
203
|
+
|
|
204
|
+
deploy-pypi:
|
|
205
|
+
stage: ⬆️ deploy
|
|
206
|
+
tags:
|
|
207
|
+
- shared
|
|
208
|
+
variables:
|
|
209
|
+
GIT_STRATEGY: clone
|
|
210
|
+
GIT_SUBMODULE_STRATEGY: recursive
|
|
211
|
+
rules:
|
|
212
|
+
- *default_rule_hotfix
|
|
213
|
+
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH == "develop"
|
|
214
|
+
when: on_success
|
|
215
|
+
before_script:
|
|
216
|
+
- direnv allow .
|
|
217
|
+
script:
|
|
218
|
+
- echo "Deploying version ${GitVersion_SemVer} to pypi repository..."
|
|
219
|
+
- direnv exec . publish-package
|
|
220
|
+
needs:
|
|
221
|
+
- pkg
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ekfsm
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.3.0a32
|
|
4
4
|
Summary: The EKF System Management Library (ekfsm) is a sensor monitoring suite for Compact PCI Serial devices.
|
|
5
|
-
Author-email: Klaus Popp <klaus.popp@ci4rail.com>,
|
|
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
|
|
7
7
|
Requires-Dist: anytree
|
|
8
8
|
Requires-Dist: click>=8.0.1
|
|
9
9
|
Requires-Dist: crcmod
|
|
10
10
|
Requires-Dist: gpiod>=2.1.0
|
|
11
11
|
Requires-Dist: hexdump
|
|
12
|
+
Requires-Dist: ipdb>=0.13.13
|
|
12
13
|
Requires-Dist: more-itertools
|
|
13
14
|
Requires-Dist: munch
|
|
15
|
+
Requires-Dist: schema>=0.7.7
|
|
14
16
|
Requires-Dist: smbus2
|
|
17
|
+
Requires-Dist: termcolor>=3.0.1
|
|
15
18
|
Requires-Dist: types-pyyaml>=6.0.12.20241230
|
|
16
19
|
Requires-Dist: yamale
|
|
17
20
|
Description-Content-Type: text/markdown
|
|
@@ -146,9 +149,9 @@ import ekfsm
|
|
|
146
149
|
|
|
147
150
|
system = ekfsm.System("system.yaml")
|
|
148
151
|
|
|
149
|
-
# alternative ways to get the SUR
|
|
150
|
-
sur = system["SER"] # by using the
|
|
151
|
-
sur = system.ser # by using the
|
|
152
|
+
# alternative ways to get the SUR HWModule
|
|
153
|
+
sur = system["SER"] # by using the HWModule name as key
|
|
154
|
+
sur = system.ser # by using the HWmodule name as attribute
|
|
152
155
|
sur = system.slots["SLOT1"].hwmodule # by using the slot name as key
|
|
153
156
|
sur = system.slots.slot1.hwmodule # by using the slot name as attribute
|
|
154
157
|
|
|
@@ -128,9 +128,9 @@ import ekfsm
|
|
|
128
128
|
|
|
129
129
|
system = ekfsm.System("system.yaml")
|
|
130
130
|
|
|
131
|
-
# alternative ways to get the SUR
|
|
132
|
-
sur = system["SER"] # by using the
|
|
133
|
-
sur = system.ser # by using the
|
|
131
|
+
# alternative ways to get the SUR HWModule
|
|
132
|
+
sur = system["SER"] # by using the HWModule name as key
|
|
133
|
+
sur = system.ser # by using the HWmodule name as attribute
|
|
134
134
|
sur = system.slots["SLOT1"].hwmodule # by using the slot name as key
|
|
135
135
|
sur = system.slots.slot1.hwmodule # by using the slot name as attribute
|
|
136
136
|
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
"devenv": {
|
|
4
4
|
"locked": {
|
|
5
5
|
"dir": "src/modules",
|
|
6
|
-
"lastModified":
|
|
6
|
+
"lastModified": 1743582803,
|
|
7
7
|
"owner": "cachix",
|
|
8
8
|
"repo": "devenv",
|
|
9
|
-
"rev": "
|
|
9
|
+
"rev": "3dd684b5df083ca48a8db263d9406bf83fc12b3e",
|
|
10
10
|
"type": "github"
|
|
11
11
|
},
|
|
12
12
|
"original": {
|
|
@@ -19,10 +19,10 @@
|
|
|
19
19
|
"flake-compat": {
|
|
20
20
|
"flake": false,
|
|
21
21
|
"locked": {
|
|
22
|
-
"lastModified":
|
|
22
|
+
"lastModified": 1747046372,
|
|
23
23
|
"owner": "edolstra",
|
|
24
24
|
"repo": "flake-compat",
|
|
25
|
-
"rev": "
|
|
25
|
+
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
|
26
26
|
"type": "github"
|
|
27
27
|
},
|
|
28
28
|
"original": {
|
|
@@ -31,31 +31,10 @@
|
|
|
31
31
|
"type": "github"
|
|
32
32
|
}
|
|
33
33
|
},
|
|
34
|
-
"git-hooks": {
|
|
35
|
-
"inputs": {
|
|
36
|
-
"flake-compat": "flake-compat",
|
|
37
|
-
"gitignore": "gitignore",
|
|
38
|
-
"nixpkgs": [
|
|
39
|
-
"nixpkgs"
|
|
40
|
-
]
|
|
41
|
-
},
|
|
42
|
-
"locked": {
|
|
43
|
-
"lastModified": 1737465171,
|
|
44
|
-
"owner": "cachix",
|
|
45
|
-
"repo": "git-hooks.nix",
|
|
46
|
-
"rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17",
|
|
47
|
-
"type": "github"
|
|
48
|
-
},
|
|
49
|
-
"original": {
|
|
50
|
-
"owner": "cachix",
|
|
51
|
-
"repo": "git-hooks.nix",
|
|
52
|
-
"type": "github"
|
|
53
|
-
}
|
|
54
|
-
},
|
|
55
34
|
"gitignore": {
|
|
56
35
|
"inputs": {
|
|
57
36
|
"nixpkgs": [
|
|
58
|
-
"
|
|
37
|
+
"pre-commit-hooks",
|
|
59
38
|
"nixpkgs"
|
|
60
39
|
]
|
|
61
40
|
},
|
|
@@ -87,14 +66,32 @@
|
|
|
87
66
|
"type": "github"
|
|
88
67
|
}
|
|
89
68
|
},
|
|
69
|
+
"pre-commit-hooks": {
|
|
70
|
+
"inputs": {
|
|
71
|
+
"flake-compat": "flake-compat",
|
|
72
|
+
"gitignore": "gitignore",
|
|
73
|
+
"nixpkgs": [
|
|
74
|
+
"nixpkgs"
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
"locked": {
|
|
78
|
+
"lastModified": 1747372754,
|
|
79
|
+
"owner": "cachix",
|
|
80
|
+
"repo": "pre-commit-hooks.nix",
|
|
81
|
+
"rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46",
|
|
82
|
+
"type": "github"
|
|
83
|
+
},
|
|
84
|
+
"original": {
|
|
85
|
+
"owner": "cachix",
|
|
86
|
+
"repo": "pre-commit-hooks.nix",
|
|
87
|
+
"type": "github"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
90
|
"root": {
|
|
91
91
|
"inputs": {
|
|
92
92
|
"devenv": "devenv",
|
|
93
|
-
"git-hooks": "git-hooks",
|
|
94
93
|
"nixpkgs": "nixpkgs",
|
|
95
|
-
"pre-commit-hooks":
|
|
96
|
-
"git-hooks"
|
|
97
|
-
]
|
|
94
|
+
"pre-commit-hooks": "pre-commit-hooks"
|
|
98
95
|
}
|
|
99
96
|
}
|
|
100
97
|
},
|
|
@@ -30,11 +30,26 @@
|
|
|
30
30
|
};
|
|
31
31
|
|
|
32
32
|
git-hooks.hooks = {
|
|
33
|
+
default-version = {
|
|
34
|
+
enable = true;
|
|
35
|
+
name = "Ensure default version";
|
|
36
|
+
entry = "git-reset-version";
|
|
37
|
+
pass_filenames = false;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
update-docs-requirements = {
|
|
41
|
+
enable = true;
|
|
42
|
+
name = "Update requirements of documentation";
|
|
43
|
+
entry = "update-docs";
|
|
44
|
+
pass_filenames = false;
|
|
45
|
+
};
|
|
46
|
+
|
|
33
47
|
# Remove trailing whitespace
|
|
34
48
|
trailing-whitespace = {
|
|
35
49
|
enable = true;
|
|
36
50
|
package = pkgs.python3Packages.pre-commit-hooks;
|
|
37
51
|
entry = "trailing-whitespace-fixer";
|
|
52
|
+
excludes = [ "tests/sim/sys/.*$" ];
|
|
38
53
|
};
|
|
39
54
|
|
|
40
55
|
# Ensure files end with a newline
|
|
@@ -47,6 +62,26 @@
|
|
|
47
62
|
flake8.enable = true;
|
|
48
63
|
};
|
|
49
64
|
|
|
65
|
+
scripts.update-docs.exec = ''
|
|
66
|
+
temp_file=$(mktemp)
|
|
67
|
+
trap "rm -f $temp_file" 0 2 3 15
|
|
68
|
+
uv export > $temp_file 2>/dev/null
|
|
69
|
+
|
|
70
|
+
if diff -q $temp_file docs/requirements.txt &>/dev/null; then
|
|
71
|
+
update-doc-reqs
|
|
72
|
+
|
|
73
|
+
if git diff --cached --name-only | grep -q -- 'uv.lock'; then
|
|
74
|
+
git add docs/requirements.txt
|
|
75
|
+
fi
|
|
76
|
+
fi
|
|
77
|
+
'';
|
|
78
|
+
|
|
79
|
+
scripts.git-reset-version.exec = ''
|
|
80
|
+
if git diff --cached --name-only | grep -q -- "^pyproject.toml"; then
|
|
81
|
+
uvx --from=toml-cli toml set --toml-path=pyproject.toml project.version 0.0.0 && git add pyproject.toml
|
|
82
|
+
fi
|
|
83
|
+
'';
|
|
84
|
+
|
|
50
85
|
scripts.bump-version.exec = ''
|
|
51
86
|
uvx --from=toml-cli toml set --toml-path=pyproject.toml project.version $(uvx dunamai from any --no-metadata --style semver)
|
|
52
87
|
'';
|
|
@@ -56,13 +91,22 @@
|
|
|
56
91
|
uv build
|
|
57
92
|
'';
|
|
58
93
|
|
|
94
|
+
scripts.publish-package.exec = ''
|
|
95
|
+
uv publish
|
|
96
|
+
'';
|
|
97
|
+
|
|
59
98
|
scripts.generate-doc-reqs.exec = ''
|
|
60
|
-
uv export >docs/requirements.txt
|
|
99
|
+
uv export > docs/requirements.txt
|
|
61
100
|
'';
|
|
62
101
|
|
|
63
102
|
scripts.generate-coverage.exec = ''
|
|
64
|
-
|
|
65
|
-
|
|
103
|
+
if [ "$EUID" -ne 0 ]; then
|
|
104
|
+
uv run --with pytest-cov pytest -k 'not locking' --cov=ekfsm --cov --cov-report term --cov-report xml:coverage.xml | perl -pe 's/\e\[?.*?[\@-~]//g' | tee pytest.log
|
|
105
|
+
uv run --with pytest-cov pytest -k 'not locking' --cov=ekfsm --junitxml=report.xml
|
|
106
|
+
else
|
|
107
|
+
uv run --with pytest-cov pytest --cov=ekfsm --cov --cov-report term --cov-report xml:coverage.xml | perl -pe 's/\e\[?.*?[\@-~]//g' | tee pytest.log
|
|
108
|
+
uv run --with pytest-cov pytest --cov=ekfsm --junitxml=report.xml
|
|
109
|
+
fi
|
|
66
110
|
'';
|
|
67
111
|
|
|
68
112
|
scripts.doc-coverage.exec = ''
|
|
@@ -10,13 +10,13 @@ The inventory provides access to the PSU inventory, such as the vendor, model, s
|
|
|
10
10
|
+---------------------------------------------+-------------------+----------------------------+
|
|
11
11
|
| Method | Description | Example Value |
|
|
12
12
|
+---------------------------------------------+-------------------+----------------------------+
|
|
13
|
-
| :meth:`~ekfsm.devices.pmbus.
|
|
13
|
+
| :meth:`~ekfsm.devices.pmbus.PMBus.vendor` | get vendor | ``hitron`` |
|
|
14
14
|
+---------------------------------------------+-------------------+----------------------------+
|
|
15
|
-
| :meth:`~ekfsm.devices.pmbus.
|
|
15
|
+
| :meth:`~ekfsm.devices.pmbus.PMBus.model` | Get model | ``HDRC300S-110J-D120E(N)`` |
|
|
16
16
|
+---------------------------------------------+-------------------+----------------------------+
|
|
17
|
-
| :meth:`~ekfsm.devices.pmbus.
|
|
17
|
+
| :meth:`~ekfsm.devices.pmbus.PaBus.serial` | Get serial number | ``23450506`` |
|
|
18
18
|
+---------------------------------------------+-------------------+----------------------------+
|
|
19
|
-
| :meth:`~ekfsm.devices.pmbus.
|
|
19
|
+
| :meth:`~ekfsm.devices.pmbus.PMBus.revision` | Get Prevision | ``0A`` |
|
|
20
20
|
+---------------------------------------------+-------------------+----------------------------+
|
|
21
21
|
|
|
22
22
|
Device Temperature (Object: `th`)
|
|
@@ -25,7 +25,7 @@ Device Temperature (Object: `th`)
|
|
|
25
25
|
+---------------------------------------------------------------+---------------------+---------------+
|
|
26
26
|
| Method | Description | Example Value |
|
|
27
27
|
+---------------------------------------------------------------+---------------------+---------------+
|
|
28
|
-
| :meth:`temperature() <ekfsm.devices.pmbus.
|
|
28
|
+
| :meth:`temperature() <ekfsm.devices.pmbus.PMBus.temp1_input>` | Get the temperature | ``-10`` |
|
|
29
29
|
+---------------------------------------------------------------+---------------------+---------------+
|
|
30
30
|
|
|
31
31
|
Main Output (Object: `main`)
|
|
@@ -36,11 +36,11 @@ The `main` object respresent the main output module (+12V) of the PSU.
|
|
|
36
36
|
+------------------------------------------------------------+---------------------------+---------------------------------------------------------------+
|
|
37
37
|
| Method | Description | Example Value |
|
|
38
38
|
+------------------------------------------------------------+---------------------------+---------------------------------------------------------------+
|
|
39
|
-
| :meth:`voltage() <ekfsm.devices.pmbus.
|
|
39
|
+
| :meth:`voltage() <ekfsm.devices.pmbus.PMBus.in1_input>` | Get actual output voltage | ``12.1`` |
|
|
40
40
|
+------------------------------------------------------------+---------------------------+---------------------------------------------------------------+
|
|
41
|
-
| :meth:`current() <ekfsm.devices.pmbus.
|
|
41
|
+
| :meth:`current() <ekfsm.devices.pmbus.PMBus.curr1_input>` | Get actual output current | ``2.5`` |
|
|
42
42
|
+------------------------------------------------------------+---------------------------+---------------------------------------------------------------+
|
|
43
|
-
| :meth:`status() <ekfsm.devices.pmbus.
|
|
43
|
+
| :meth:`status() <ekfsm.devices.pmbus.PMBus.status0_input>` | Get diagnostics | ``<PSUStatus.OUTPUT_OVERVOLTAGE``|``OUTPUT_OVERCURRENT: 48>`` |
|
|
44
44
|
+------------------------------------------------------------+---------------------------+---------------------------------------------------------------+
|
|
45
45
|
|
|
46
46
|
|
|
@@ -52,11 +52,11 @@ The `sby` object respresent the secondary output module (+5V) of the PSU.
|
|
|
52
52
|
+------------------------------------------------------------+---------------------------+---------------------------------------------------------------+
|
|
53
53
|
| Method | Description | Example Value |
|
|
54
54
|
+------------------------------------------------------------+---------------------------+---------------------------------------------------------------+
|
|
55
|
-
| :meth:`voltage() <ekfsm.devices.pmbus.
|
|
55
|
+
| :meth:`voltage() <ekfsm.devices.pmbus.PMBus.in2_input>` | Get actual output voltage | ``5.1`` |
|
|
56
56
|
+------------------------------------------------------------+---------------------------+---------------------------------------------------------------+
|
|
57
|
-
| :meth:`current() <ekfsm.devices.pmbus.
|
|
57
|
+
| :meth:`current() <ekfsm.devices.pmbus.PMBus.curr2_input>` | Get actual output current | ``0.2`` |
|
|
58
58
|
+------------------------------------------------------------+---------------------------+---------------------------------------------------------------+
|
|
59
|
-
| :meth:`status() <ekfsm.devices.pmbus.
|
|
59
|
+
| :meth:`status() <ekfsm.devices.pmbus.PMBus.status1_input>` | Get diagnostics | ``<PSUStatus.OUTPUT_OVERVOLTAGE``|``OUTPUT_OVERCURRENT: 48>`` |
|
|
60
60
|
+------------------------------------------------------------+---------------------------+---------------------------------------------------------------+
|
|
61
61
|
|
|
62
62
|
.. warning::
|
|
@@ -34,10 +34,10 @@ System Configuration
|
|
|
34
34
|
--------------------
|
|
35
35
|
|
|
36
36
|
The system configuration is defined in a :ref:`systemconfig`. The configuration file defines the
|
|
37
|
-
modular components of the system, i.e. you define which board types (called :class:`~
|
|
37
|
+
modular components of the system, i.e. you define which board types (called :class:`~HWModule`s in ekfsm) are expected in which slots of the chassis.
|
|
38
38
|
|
|
39
39
|
The system configuration file is then passed to the :class:`~.System` constructor to create a system object.
|
|
40
|
-
During instantiation, the system object will create the necessary :class:`~ekfsm.core.components.
|
|
40
|
+
During instantiation, the system object will create the necessary :class:`~ekfsm.core.components.HWModule` objects and all the
|
|
41
41
|
supported functions for the devices.
|
|
42
42
|
|
|
43
43
|
It will also check if the actual hardware configuration matches the expected configuration. The result
|
|
@@ -50,7 +50,7 @@ The objects and subobjects model the hardware topology of the system.
|
|
|
50
50
|
|
|
51
51
|
An :class:`~.System` object is the root object of the ekfsm package.
|
|
52
52
|
The system object contains :class:`~.Slot` objects, which represent the slots of the chassis.
|
|
53
|
-
Each slot object contains zero or one :class:`~ekfsm.core.components.
|
|
53
|
+
Each slot object contains zero or one :class:`~ekfsm.core.components.HWModule` objects, which represents the hardware module in the slot.
|
|
54
54
|
|
|
55
55
|
.. image:: _static/ekfsm_system.drawio.png
|
|
56
56
|
:align: center
|
|
@@ -93,9 +93,9 @@ If you want to access the LEDs on the :ref:`sur-uart`, you can do the following:
|
|
|
93
93
|
|
|
94
94
|
system = ekfsm.System("system.yaml")
|
|
95
95
|
|
|
96
|
-
# alternative ways to get the SUR
|
|
97
|
-
sur = system["SER"] # by using the
|
|
98
|
-
sur = system.ser # by using the
|
|
96
|
+
# alternative ways to get the SUR HWModule
|
|
97
|
+
sur = system["SER"] # by using the HWModule name as key
|
|
98
|
+
sur = system.ser # by using the HWModule name as attribute
|
|
99
99
|
sur = system.slots["SLOT1"].hwmodule # by using the slot name as key
|
|
100
100
|
sur = system.slots.slot1.hwmodule # by using the slot name as attribute
|
|
101
101
|
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
#! /usr/bin/env python3
|
|
2
2
|
# import os
|
|
3
3
|
# import sys
|
|
4
|
-
|
|
4
|
+
# pyright: reportOptionalMemberAccess = false
|
|
5
5
|
import logging
|
|
6
6
|
from pathlib import Path
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
from ekfsm.log import ekfsm_logger
|
|
10
|
-
from ekfsm.simctrl import enable_simulation
|
|
11
|
-
from ekfsm.simctrl import register_gpio_simulations
|
|
8
|
+
import click
|
|
12
9
|
|
|
10
|
+
from ekfsm.log import ekfsm_logger
|
|
11
|
+
from ekfsm.simctrl import enable_simulation, register_gpio_simulations
|
|
12
|
+
from ekfsm.system import System
|
|
13
13
|
|
|
14
14
|
logging.basicConfig(level=logging.WARNING, format="%(levelname)s: %(message)s")
|
|
15
15
|
logger = ekfsm_logger(__name__)
|
|
@@ -87,9 +87,7 @@ def cli(verbose, debug, sysfs, config):
|
|
|
87
87
|
type=int,
|
|
88
88
|
help="Write chassis serial number",
|
|
89
89
|
)
|
|
90
|
-
@click.option(
|
|
91
|
-
"--unit", "-u", is_flag=False, prompt=True, type=int, help="Write chassis unit"
|
|
92
|
-
)
|
|
90
|
+
@click.option("--unit", "-u", is_flag=False, prompt=True, type=int, help="Write chassis unit")
|
|
93
91
|
@click.option(
|
|
94
92
|
"--vendor",
|
|
95
93
|
"-n",
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
from typing import Any, List, Tuple
|
|
2
|
+
|
|
3
|
+
import munch
|
|
1
4
|
import yamale # type: ignore
|
|
2
5
|
import yaml
|
|
3
|
-
import munch
|
|
4
6
|
|
|
5
|
-
from
|
|
7
|
+
from ekfsm.exceptions import ConfigError
|
|
6
8
|
|
|
7
9
|
schema_str = """
|
|
8
10
|
system_config:
|
|
@@ -22,13 +24,19 @@ slot:
|
|
|
22
24
|
def _validate_config(config_file: str) -> None:
|
|
23
25
|
schema = yamale.make_schema(content=schema_str)
|
|
24
26
|
data = yamale.make_data(config_file)
|
|
25
|
-
|
|
27
|
+
try:
|
|
28
|
+
yamale.validate(schema, data)
|
|
29
|
+
except yamale.YamaleError:
|
|
30
|
+
raise ConfigError("Error in configuration file")
|
|
26
31
|
|
|
27
32
|
|
|
28
33
|
def _parse_config(config_file: str) -> Any | munch.Munch | List | Tuple:
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
try:
|
|
35
|
+
with open(config_file) as file:
|
|
36
|
+
config = yaml.safe_load(file)
|
|
37
|
+
munchified_config = munch.munchify(config)
|
|
38
|
+
except OSError:
|
|
39
|
+
raise ConfigError("Failed to open configuration file: {config_file}")
|
|
32
40
|
return munchified_config
|
|
33
41
|
|
|
34
42
|
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from .components import HWModule # noqa: F401
|
|
2
|
+
from .probe import ProbeableDevice # noqa: F401
|
|
3
|
+
from .slots import Slot, Slots, SlotType # noqa: F401
|
|
4
|
+
from .sysfs import SysFSAttribute, SysfsDevice # noqa: F401
|
|
5
|
+
|
|
6
|
+
__all__ = [
|
|
7
|
+
"Slot",
|
|
8
|
+
"SlotType",
|
|
9
|
+
"Slots",
|
|
10
|
+
"SysfsDevice",
|
|
11
|
+
"SysFSAttribute",
|
|
12
|
+
"HWModule",
|
|
13
|
+
"ProbeableDevice",
|
|
14
|
+
]
|
|
@@ -36,9 +36,9 @@ class SysTree(NodeMixin):
|
|
|
36
36
|
print(self)
|
|
37
37
|
|
|
38
38
|
|
|
39
|
-
class
|
|
39
|
+
class HWModule(SysTree):
|
|
40
40
|
"""
|
|
41
|
-
A
|
|
41
|
+
A HWModule represents an instantiation of a specifc hw board type,
|
|
42
42
|
for example an instance of an EKF SC9 board.
|
|
43
43
|
"""
|
|
44
44
|
|
|
@@ -119,13 +119,13 @@ class HwModule(SysTree):
|
|
|
119
119
|
@property
|
|
120
120
|
def instance_name(self) -> str:
|
|
121
121
|
if self.name is None:
|
|
122
|
-
raise RuntimeError("
|
|
122
|
+
raise RuntimeError("Instance name not set")
|
|
123
123
|
return self.name
|
|
124
124
|
|
|
125
125
|
@property
|
|
126
126
|
def slot(self) -> Slot:
|
|
127
127
|
if self._slot is None:
|
|
128
|
-
raise RuntimeError("
|
|
128
|
+
raise RuntimeError("Slot not set")
|
|
129
129
|
return self._slot
|
|
130
130
|
|
|
131
131
|
def __repr__(self) -> str:
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
from enum import Enum
|
|
2
|
-
from
|
|
3
|
-
|
|
2
|
+
from typing import Any
|
|
4
3
|
|
|
5
4
|
from munch import Munch
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
from typing import Any
|
|
6
|
+
from ekfsm.core.components import HWModule
|
|
9
7
|
|
|
10
8
|
|
|
11
9
|
class SlotType(Enum):
|
|
@@ -66,8 +64,8 @@ class Slot:
|
|
|
66
64
|
desired_hwmodule_type: str,
|
|
67
65
|
desired_hwmodule_name: str,
|
|
68
66
|
number: int,
|
|
69
|
-
hwmodule:
|
|
70
|
-
master:
|
|
67
|
+
hwmodule: HWModule | None = None,
|
|
68
|
+
master: HWModule | None = None,
|
|
71
69
|
attributes: Munch | None = None,
|
|
72
70
|
) -> None:
|
|
73
71
|
self._name = name
|
|
@@ -104,9 +102,7 @@ class Slot:
|
|
|
104
102
|
}
|
|
105
103
|
|
|
106
104
|
def __repr__(self) -> str:
|
|
107
|
-
return (
|
|
108
|
-
f"{self.__class__.__name__}(name={self._name}, slot_type={self.slot_type})"
|
|
109
|
-
)
|
|
105
|
+
return f"{self.__class__.__name__}(name={self._name}, slot_type={self.slot_type})"
|
|
110
106
|
|
|
111
107
|
@property
|
|
112
108
|
def name(self) -> str:
|
|
@@ -127,10 +123,7 @@ class Slot:
|
|
|
127
123
|
"""
|
|
128
124
|
Return True if the slot is populated with the desired hardware module type, False otherwise.
|
|
129
125
|
"""
|
|
130
|
-
return (
|
|
131
|
-
self.hwmodule is not None
|
|
132
|
-
and self.hwmodule.board_type.lower() == self._desired_hwmodule_type.lower()
|
|
133
|
-
)
|
|
126
|
+
return self.hwmodule is not None and self.hwmodule.board_type.lower() == self._desired_hwmodule_type.lower()
|
|
134
127
|
|
|
135
128
|
|
|
136
129
|
class Slots(Munch):
|