a vim plugin that displays stuff on an led matrix
1# C++ style guide for Daedalus firmware 2 3## Formatting 4- Use clang-format with the provided .clang-format file 5- Run before committing: `clang-format -i firmware/src/*.cpp firmware/src/*.h` 6 7## Naming 8- Classes: PascalCase (e.g., `LedController`) 9- Functions: camelCase (e.g., `initializeHardware()`) 10- Variables: camelCase (e.g., `ledPin`) 11- Constants: UPPER_SNAKE_CASE (e.g., `MAX_BUFFER_SIZE`) 12- Macros: UPPER_SNAKE_CASE (e.g., `DEBUG_ENABLE`) 13- Files: snake_case (e.g., `led_controller.cpp`) 14 15## Headers 16- Use `#pragma once` for header guards 17- Order includes: standard library, Pico SDK, project headers 18 19## Comments 20- Use Doxygen-style comments for functions and classes 21- Comment complex algorithms and non-obvious code 22 23## Error handling 24- Use return codes for error reporting 25- Check return values from SDK functions 26- Use assertions for invariants 27 28## Memory management 29- Avoid dynamic memory allocation when possible 30- If needed, use RAII principles with smart pointers