This PR introduces new functionality to support both Jetson Orin Nano and Raspberry Pi hardware in the achiever project. It includes updated traits for input and output peripherals and error handling for hardware-specific implementations. The addition of feature flags ensures compatibility with different target systems.
Changes:
β¨ [Cargo.toml]: Added new feature flags (jetson, rpi) to conditionally compile hardware-specific code for either Jetson Orin Nano or Raspberry Pi.
π§ [body.rs]: Improved error handling for Peripheral enum by making Input and Output variants handle dynamic errors (Box<dyn Error>).
β¨ [inputs.rs, outputs.rs]: Added implementations of Input and Output traits for Raspberry Pi using the rppal crate, and for Jetson with future extensibility.
π§ [agent.rs]: Updated act method to propagate errors from output peripherals via the newly introduced Result type.
π [lib.rs]: Introduced a compile-time error if both jetson and rpi features are enabled simultaneously.
This PR introduces new functionality to support both Jetson Orin Nano and Raspberry Pi hardware in the
achiever
project. It includes updated traits for input and output peripherals and error handling for hardware-specific implementations. The addition of feature flags ensures compatibility with different target systems. Changes:Features:
Additional Notes: