target/ast10x0/peripherals/sgpiom: add bare-metal SGPIOM smoke test
- Add target/ast10x0/tests/peripherals/sgpiom/sgpiom_smoke with
system.json5, BUILD.bazel, and target.rs bare-metal test binary
- Fix int_sens_write match arms in register_block.rs to return ()
consistently, eliminating E0308 type mismatch at the _ => {} arm
Tests cover:
- configure_global: valid ngpios accepted, zero ngpios rejected, enable
bit verified in gpio554
- configure_pin: output with InitialLevel::High sets register bit,
out-of-range pin rejected
- configure_interrupt: Edge+Both sets int_en and sens2 bits correctly
- HAL GpioPort: configure, set_reset, toggle, read_input via SgpiomBankPort
- GpioBankPassthrough: set_passthrough_mask, clear_passthrough
The OpenPRoT Technical Charter can be found at https://github.com/OpenPRoT/.github/blob/main/GOVERNANCE.md
NOTE: We are converting our build system to bazel. We recommend installing bazelisk to automatically manage bazel versions.
You can run tasks using the Pigweed workflow launcher pw or bazel.
./pw presubmit - Run presubmit checks: formatting, license checks, C/C++ header checks and clippy../pw format - Run the code formatters.bazel test //... - Run all tests.bazel build //docs - Build documentation.The project is structured as a bazel module.
No additional tools are required - all dependencies are managed by bazel.