Thank you for your interest in contributing to Oceanix! We follow the Google C++ Style Guide to maintain code quality and consistency. Please review these guidelines before contributing.
- Fork the repository and create a new branch for your feature or bugfix.
- Follow the code style described in the Google C++ Style Guide and our project conventions.
- Write clear commit messages and document your code.
- Open a pull request and describe your changes.
- For major changes, open an issue first to discuss your proposal.
- Use feature branches (e.g.,
feature/controller-xyzorbugfix/sensor-init). - All code must be reviewed before merging to
main. - Ensure your branch is up to date with
mainbefore submitting a PR.
- Follow the Google C++ Style Guide.
- Use
clang-formatif possible. - Document all classes and functions with Doxygen-style comments.
Every class for debug must use the print_log() function:
[CLASS_N][TYPE ] msg...
// CLASS_N: 7 chars, TYPE: 5 chars (DEBUG | INFO_ | WARN_ | ERROR)
The verbose argument enables DEBUG messages. INFO, WARN, and ERROR are enabled by default.
- Controllers: Implement the abstract controller interface in
include/controller_abstract.hppand add your implementation insrc/andinclude/. - Sensors: Extend the sensor interface in
include/sensor.hppand add your implementation. - Configuration: Add new parameters to the relevant JSON files in
config/and document them in configuration.md.
- All new features must include tests (see
build_and_test.sh). - Update documentation in
README.mdanddocs/as needed.
- Use GitHub Issues for bugs, feature requests, and questions.
- Provide as much detail as possible (logs, OS, steps to reproduce).