Configure instructions for this repository as documented in Best practices for Copilot coding agent in your repository.
Any time a change is made, please ensure the relevant component documentation, examples, configuration files are also up to date. Finally, if a new component is added, please ensure the documentation configuration files and the continuous integration / build and component publishing files are updated. Below is a list describing where such files are and how they are structured. If a new component is added, make sure to follow the structure of the other components in the repo (example directory structure provided below)
example component directory structure:
components/task
├── CMakeLists.txt
├── README.md
├── example
│ ├── CMakeLists.txt
│ ├── README.md
│ ├── main
│ │ ├── CMakeLists.txt
│ │ └── task_example.cpp
│ └── sdkconfig.defaults
├── idf_component.yml
├── include
│ ├── run_on_core.hpp
│ ├── task.hpp
│ └── task_formatters.hpp
└── src
└── task.cpp
Note that some component examples have multiple sdkconfig.defaults files if they support multiple specific hardware configurations and some examples may have partitions.csv as well.
Below is a snippet of the top-level doc folder with the Doxyfile for configuring paths to component includes and component examples, as well as the doc/en directory containing RST files for short form docs and md files which simply point to the actual component example readme files.
doc
├── Dockerfile
├── Doxyfile
├── README.md
├── conf_common.py
├── doxygen-known-warnings.txt
├── en
│ ├── adc
│ ├── base_component.rst
│ ├── base_peripheral.rst
│ ├── battery
│ ├── binary_log_example.md
│ ├── bldc
│ ├── ble
│ ├── button.rst
│ ├── button_example.md
│ ├── byte90.rst
│ ├── byte90_example.md
...
Each component should have:
- include files properly referenced in Doxyfile (keep in alphabetical order)
- example cpp file properly referenced in Doxyfile (keep in alphabetical order)
- Minimum of 1 RST file in doc/en (or relevant subdirectory) for the component
- md file in doc/en (or relevant subdirectory) which points to the example's README
Finally, we have a few important CI files that need to be maintained / updated for any new component:
.github/workflows
├── build.yml
└── upload_components.yml
Configure instructions for this repository as documented in Best practices for Copilot coding agent in your repository.
Any time a change is made, please ensure the relevant component documentation, examples, configuration files are also up to date. Finally, if a new component is added, please ensure the documentation configuration files and the continuous integration / build and component publishing files are updated. Below is a list describing where such files are and how they are structured. If a new component is added, make sure to follow the structure of the other components in the repo (example directory structure provided below)
example component directory structure:
components/task
├── CMakeLists.txt
├── README.md
├── example
│ ├── CMakeLists.txt
│ ├── README.md
│ ├── main
│ │ ├── CMakeLists.txt
│ │ └── task_example.cpp
│ └── sdkconfig.defaults
├── idf_component.yml
├── include
│ ├── run_on_core.hpp
│ ├── task.hpp
│ └── task_formatters.hpp
└── src
└── task.cpp
Note that some component examples have multiple sdkconfig.defaults files if they support multiple specific hardware configurations and some examples may have partitions.csv as well.
Below is a snippet of the top-level doc folder with the Doxyfile for configuring paths to component includes and component examples, as well as the doc/en directory containing RST files for short form docs and md files which simply point to the actual component example readme files.
doc
├── Dockerfile
├── Doxyfile
├── README.md
├── conf_common.py
├── doxygen-known-warnings.txt
├── en
│ ├── adc
│ ├── base_component.rst
│ ├── base_peripheral.rst
│ ├── battery
│ ├── binary_log_example.md
│ ├── bldc
│ ├── ble
│ ├── button.rst
│ ├── button_example.md
│ ├── byte90.rst
│ ├── byte90_example.md
...
Each component should have:
Finally, we have a few important CI files that need to be maintained / updated for any new component:
.github/workflows
├── build.yml
└── upload_components.yml