Build and upload tool (arduino-build.sh): - Compile, upload, and monitor via arduino-cli - Device discovery with USB ID identification (--devices) - Persistent reconnecting serial monitor (--watch) - Split compile/upload workflow (--verify, --upload-only) - First-time setup wizard (--setup) - Comprehensive --help with troubleshooting and RedBoard specs Testable application architecture: - Hardware abstraction layer (lib/hal/) decouples logic from Arduino API - Google Mock HAL for unit tests (exact call verification) - Simulated HAL for system tests (GPIO state, virtual clock, I2C devices) - Example I2C temperature sensor simulator (TMP102) - Host-side test suite via CMake + Google Test (21 tests) Example sketch: - blink/ -- LED blink with button-controlled speed, wired through HAL
28 lines
314 B
Plaintext
28 lines
314 B
Plaintext
# Build artifacts (arduino-cli output)
|
|
/tmp/arduino-build/
|
|
*.elf
|
|
*.hex
|
|
*.bin
|
|
*.map
|
|
*.eep
|
|
|
|
# Compiled object files
|
|
*.o
|
|
*.d
|
|
|
|
# Arduino IDE (if someone opens it there)
|
|
build/
|
|
*.ino.cpp
|
|
|
|
# Editor files
|
|
.vscode/c_cpp_properties.json
|
|
.vscode/ipch/
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
.idea/
|
|
*.sublime-workspace
|
|
|
|
# OS junk
|
|
.DS_Store
|
|
Thumbs.db |