# Zephyr configurator ## Project structure ### File structure ``` ├── data │ ├── app.overlay │ ├── CMakeLists.txt │ ├── main.c │ ├── prj.conf │ └── VERSION ├── Dockerfile ├── Entwicklungsleitfaden.md ├── images │ ├── ... ├── README.md ├── script.sh └── snippets ├── ... ``` `data` contains the empty project, that is used to generate a new project \ `images` contains images for the documentation \ `snippets` contains code snippets for functions \ `script.sh` main script ### Snippets The snippets are used to add new functions to the project. Each function has one directory with one or more files. To add new functions, you have to create a new directory in the `snippets`-directory and adjust the script. ### script.sh The main script that is the entrypoint of the docker container ## Run ### [Optional] Build manually ``` docker build . -t git.flokaiser.com/h4ck3r-01/zephyr-configurator ``` ### Create volume and run Creating the volume is needed due to permission problems on some systems. ``` docker volume create --driver local --name zephyr --opt type=none --opt device=$HOME/zephyrproject --opt o=uid=root,gid=root --opt o=bind docker run -it -v zephyr:/workdir --rm git.flokaiser.com/h4ck3r-01/zephyr-configurator ``` ## Developing 1. Create the zephyr workspace if you are running the container for the first time by using the first option in the menu 2. Create a new project by selecting the second option 3. Open the `$HOME/zephyrproject/app` directory in your IDE. The source code is located in the `src` subdirectory. 4. Build and flash the project using the options 4 and 5. If you want to compile zepyhr for another plattform you have to clear the build directory first.