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
8cbabf0f40
Add 0x05_servo_cbm: bare-metal RP2350 servo driver
...
- PWM slice 3, channel A on GPIO6 at 50 Hz
- Fractional divider 14.5 (14.5 MHz XOSC / 50 Hz / 20000)
- Sweep 0-180-0 degrees in 10-degree steps
- Pulse range 1000-2000 us, angle-to-pulse mapping
- UART reports each angle step
- 1557B FLASH, 11 source files, zero warnings
2026-04-05 16:25:29 -04:00