Commit Graph

2044 Commits

Author SHA1 Message Date
Bohdan Buinich c0442cc0e6 [RPI] Refactor SPI and GPIO handling for XVF3510 initialization
This commit significantly overhauls the script for setting the XVF3510 board to boot from SPI slave mode and for loading a binary file. The refactor not only aims at improving code readability, maintainability, and robustness but also addresses compatibility issues with the latest Raspberry Pi models, specifically the Raspberry Pi 5, which does not support the RPi.GPIO library.

Changes made:
- Switched from `smbus` to `smbus2` for I2C communication, offering a more modern and robust interface.
- Replaced `RPi.GPIO` and `spidev` with `digitalio` and `busio` from the `adafruit_blinka` library, enhancing cross-platform compatibility and providing a more Pythonic API for GPIO and SPI operations.
- Introduced type annotations for function signatures, improving code readability and type safety.
- Added exception handling around I2C operations and file reading, increasing the script's robustness by gracefully handling potential errors.
- Defined global variables for GPIO pin configurations, making the code cleaner and easier to modify for different setups.
- Encapsulated GPIO setup and reset logic into dedicated functions (`setup_direct_gpio`), streamlining the main logic flow and separating concerns.
- Modularized SPI setup (`setup_spi`) and data transmission logic (`send_data_over_spi` and `handle_block_transfer`), enhancing code organization and maintainability.

Benefits:
- The use of `smbus2` and `adafruit_blinka` libraries modernizes the script and may improve compatibility with a wider range of devices and future Python versions.
- Type annotations and structured exception handling make the script more understandable and safer to execute, reducing the risk of runtime errors.
- The refactoring into more granular functions and the introduction of global variables for configuration parameters make the script easier to read, modify, and extend.
- Improved error handling ensures that the script fails gracefully, providing clear error messages and avoiding potential resource leaks.
2024-02-08 01:25:53 +02:00
j1nx 379e94dad3 [RPI] (WIP) Switch to kernel 6.6 VocalFusion drivers 2024-02-07 22:19:43 +00:00
j1nx f8e7a135e4 [All] Add --security-opt label=disable to the quadlet files 2024-02-07 18:24:19 +00:00
j1nx feb7a214ac [All] Hopefully the last dumb ass mistake to fix. 2024-02-07 18:23:29 +00:00
j1nx c8617076da [All] Fix another stupid mistake of wrong mycroft.conf location 2024-02-06 20:28:41 +00:00
j1nx ce81526d60 [All] Fix stupid mistake by disabling the wrong service at boot 2024-02-06 20:23:48 +00:00
j1nx 6bb37c4e82 [All] Changes to the quadlet files (again) 2024-02-06 19:12:26 +00:00
j1nx 455f11d7a6 [All] Mount host /etc/mycroft.conf into containers by default.
Shipping with OS release configuration while allowing to use the
user mycroft.conf to overwrite those settings again if wanted
2024-02-06 15:51:25 +00:00
j1nx 49d12c56bc [All] Remove fallback Mimic1 configuration 2024-02-06 11:42:37 +00:00
j1nx 141995d991 [RPI] Fixes and changes for respeaker / kernel 6.6 2024-02-06 10:55:56 +00:00
j1nx a505988bb4 [All] Bump buildroot for rpi fixes 2024-02-05 20:30:20 +00:00
j1nx fffa51ff5f [All] (testing) Bumpe kernel to 6.6.14 2024-02-05 16:41:40 +00:00
j1nx 4fc5231981 [All] Bump buildroot 2024-02-05 11:56:05 +00:00
j1nx 2cf3fb2d91 [x86] (Fix) No longer needed to install the kernel to the vfat esp partition. 2024-02-05 11:34:16 +00:00
j1nx e999e64152 [All] Disable libcamera-apps 2024-02-05 11:31:53 +00:00
j1nx 19b7e80788 [All] Add messagebus and phal-admin to prefetch containers 2024-02-04 21:34:06 +00:00
j1nx 40db52932d [All] Bump buildroot 2024-02-04 17:19:09 +00:00
j1nx 0af4122eab [All] Switch back to old quadlet image system
Need to think this through
2024-02-04 17:18:36 +00:00
j1nx 5787cae2c9 [All] Remove healthy sdnotify system
The structure changed, need to figure out the best way forward.
2024-02-04 12:50:23 +00:00
j1nx 262bb73b52 [All] Add support for ovos_local_state
According 7df24e8ea8 (diff-b093d34eec92adf6e0cc6e445edb7147ea45d25fb0c98f2f84a60f5aae6f34f7)
2024-02-04 11:19:36 +00:00
j1nx 7aea4f0c5f [All] Switch over to / make use of podman .image files.
Also fix a filename error for tts-server and
do not pull in new containers automatically when newer are available
2024-02-04 11:03:14 +00:00
j1nx e8187814a3 [x86] Fix overseen little post-build script issues for x86 2024-02-04 11:03:14 +00:00
j1nx 5c7734b453 [All] Add a minimal phal.list to the main rootfs overlay 2024-02-04 11:03:14 +00:00
Peter Steenbergen 23bc8fb5ca
Merge pull request #212 from BohdanBuinich/fix-services
[ALL] Fix Service Failures during Boot
2024-02-04 11:02:30 +01:00
j1nx 5fb25536c7 [All] Revert certain pipewire tweaks (let's start over) 2024-02-03 19:27:41 +00:00
Bohdan Buinich 05e88781f6 [ALL] Fix Service Failures during Boot 2024-02-03 20:13:39 +02:00
j1nx 9116521d1e [All] Move the kernel RT PREEMPT settings to the main kernel config fragment file 2024-02-03 14:09:11 +00:00
j1nx 1ee4419270 [All] Pull in the main chat gpt skill as teh PR is merged 2024-02-03 12:37:30 +00:00
j1nx 2f8e165506 [x86] Use the SOF open firmware for Intel HDA soundcards 2024-02-03 12:36:46 +00:00
j1nx 46e0ebdded [All] Add ALSA UCM2 profiles 2024-02-03 12:36:14 +00:00
j1nx c3a0370a4b [All] Enable alsa-plugins 2024-02-03 12:34:51 +00:00
Peter Steenbergen 7f3487115a
Merge pull request #205 from BohdanBuinich/refactor-buildroot-scripts
[ALL] Refactor buildroot scripts
2024-01-27 08:44:40 +01:00
Bohdan Buinich 8342760419 align 0x86_64 2024-01-27 02:42:38 +02:00
Bohdan Buinich f7fc7caa0f oops 2 2024-01-27 02:40:10 +02:00
Bohdan Buinich 521dd9eeb5 oops 2024-01-27 02:37:38 +02:00
Bohdan Buinich 4b092feb65 fix after merge 2024-01-27 02:33:31 +02:00
Bohdan Buinich d1ac3d4be1 Merge remote-tracking branch 'origin/develop' into refactor-buildroot-scripts 2024-01-27 02:28:15 +02:00
j1nx c704499d22 Merge branch 'develop' of github.com:OpenVoiceOS/ovos-buildroot into develop 2024-01-26 14:45:01 +00:00
j1nx 4b2daa4980 [OVA] Defconfig clean up 2024-01-26 14:44:25 +00:00
j1nx 5a327ef218 [X86] Defconfig clean up 2024-01-26 14:43:39 +00:00
j1nx cee0325418 [OVA] Get defconfig inline with the rest 2024-01-26 13:06:58 +00:00
j1nx 6269301fc7 Merge branch 'develop' of github.com:OpenVoiceOS/ovos-buildroot into develop 2024-01-26 11:57:20 +00:00
j1nx 29a4ad1690 Merge branch 'develop' of github.com:OpenVoiceOS/ovos-buildroot into develop 2024-01-26 11:56:39 +00:00
j1nx 5e7fd2e185 [X86] Get the X86 defconfig inline.
Build completes, however needs extensive testing.
2024-01-26 11:51:18 +00:00
j1nx 5087df0971 [RPI] Small changes to defconfig.
- enable dbus_python
- install both py and pyc files
- disable root login
2024-01-25 20:35:57 +00:00
j1nx 4ce75256d3 [RPI] Get the Raspberry Pi3 and 4 back in sync again.
With a possible fix for the RT kernel not booting on the rpi3
2024-01-24 15:43:33 +00:00
j1nx d38345a507 Merge branch 'develop' of github.com:OpenVoiceOS/ovos-buildroot into develop 2024-01-22 16:58:53 +00:00
j1nx e306bcd9bc [All] Real messy commit with switch to NetworkManager, kernel bump and countless fixes that came up 2024-01-22 16:57:19 +00:00
Bohdan Buinich d0dcab2864 Moved post-build and post-images on top level (not fully tested) 2024-01-12 14:52:02 +02:00
Bohdan Buinich 080cfad2bf [RPI] Refactor Image Generation Script for Clarity and Modularization
- Reorganized variable definitions for clarity and consistency.
- Encapsulated SWU file creation logic into 'create_swu_file' function for better modularity and readability.
- Implemented 'cleanup' function to handle temporary file cleanup, enhancing script robustness.
- Utilized bash array for 'SWUPDATE_FILES' to improve handling of multiple file entries.
- Simplified error handling with 'set -e' and streamlined script exit using 'trap' for cleanup operations.
- Cleaned up directory changing commands by redirecting 'pushd' and 'popd' output to '/dev/null'.
2024-01-12 14:50:44 +02:00