6 Commits

Author SHA1 Message Date
Kevin Thomas 433263eac0 style: enforce coding standard — headers, @brief on #define, Doxygen on statics, remove _ prefix, max 8 lines per function 2026-04-16 22:45:11 -04:00
Kevin Thomas b3aaf950d7 Updated formatting of cbm 2026-04-07 19:40:29 -04:00
Kevin Thomas 9fd8c28e30 fix(ir_cbm): clear PDE bit in pad config for proper pull-up input
PADS_BANK0 GPIO5 had PDE (pull-down enable, bit 2) still set to its
reset default. With both PUE and PDE active the pin floated to ~VDD/2,
causing the Schmitt trigger to read LOW permanently. Clear PDE in
_configure_pad() so the pull-up works correctly.

Added PADS_BANK0_PDE_SHIFT define to rp2350.h.
2026-04-06 21:47:48 -04:00
Kevin Thomas e54c756423 refactor: enforce max 8 code lines, add docstrings, fix warnings across all Rust and C SDK projects
Rust (all 15 projects):
- Refactored overlength functions: format_counter, format_u8, format_f32_1,
  format_u32_minimal, gpio_drive, read_sensor, poll_sensor, format_round_trip,
  format_u32, prepare_write_buf, write_min_digits, write_temp, UartDriver::init,
  init_spi, angle_to_pulse_us, compute_servo_level
- Added 200+ docstrings to test functions, mock structs, impl blocks
- Fixed pub static comments (//) to doc comments (///) in all main.rs files
- Fixed helper function ordering (helpers above callers)
- Fixed Fn(u32) -> FnMut(u32) bound in button poll_button
- Moved OneShot trait import from main.rs to board.rs in adc project
- Added unsafe {} blocks in flash unsafe fn bodies (Rust 2024 edition)
- Removed unused hal::Clock imports from pwm/servo main.rs
- All 15 projects build with zero errors and zero warnings

C Pico SDK (all 15 projects):
- Added docstrings to all public functions, macros, and static variables
- All 15 projects rebuilt with zero errors

Cleanup:
- Removed build/ and target/ directories from git tracking
- Added target/ to .gitignore
- Deleted temporary fix_rust_docs.py script
2026-04-06 08:33:17 -04:00
Kevin Thomas 3ee093be92 remove unused coprocessor driver from all CBM projects
No project uses floating-point, so coprocessor_enable() was dead code.
Removes rp2350_coprocessor.c/.h and all references from reset handlers
and Makefiles across all 15 CBM drivers (0x01-0x0f).
2026-04-05 21:36:42 -04:00
Kevin Thomas 1271291abf feat: add 0x0a_ir_cbm bare-metal NEC IR receiver 2026-04-05 18:36:30 -04:00