# Chapter 9: Integration and Robot Control ## Sample code - Directory: `docs/os-on-arduino/code/09_integration` ```bash uv run pio run -d 09_integration -t upload uv run pio device monitor -b 115200 ``` ## Source code The sketch for this chapter. Click a file name to expand. The code is mirrored automatically from the manuscript repository, so what you see here is always current. :::{dropdown} `src/main.cpp` — 165 lines :icon: code [Open on GitHub](https://github.com/iory/learning-os-from-arduino/blob/main/docs/os-on-arduino/code/09_integration/src/main.cpp) ```{literalinclude} ../../../../code/09_integration/src/main.cpp :language: cpp :linenos: ``` ::: :::{dropdown} `include/interpreter.h` — 36 lines :icon: code [Open on GitHub](https://github.com/iory/learning-os-from-arduino/blob/main/docs/os-on-arduino/code/09_integration/include/interpreter.h) ```{literalinclude} ../../../../code/09_integration/include/interpreter.h :language: cpp :linenos: ``` ::: :::{dropdown} `include/os_display.h` — 18 lines :icon: code [Open on GitHub](https://github.com/iory/learning-os-from-arduino/blob/main/docs/os-on-arduino/code/09_integration/include/os_display.h) ```{literalinclude} ../../../../code/09_integration/include/os_display.h :language: cpp :linenos: ``` ::: :::{dropdown} `include/os_fault.h` — 46 lines :icon: code [Open on GitHub](https://github.com/iory/learning-os-from-arduino/blob/main/docs/os-on-arduino/code/09_integration/include/os_fault.h) ```{literalinclude} ../../../../code/09_integration/include/os_fault.h :language: cpp :linenos: ``` ::: :::{dropdown} `include/os_kernel.h` — 79 lines :icon: code [Open on GitHub](https://github.com/iory/learning-os-from-arduino/blob/main/docs/os-on-arduino/code/09_integration/include/os_kernel.h) ```{literalinclude} ../../../../code/09_integration/include/os_kernel.h :language: cpp :linenos: ``` ::: :::{dropdown} `include/shell.h` — 23 lines :icon: code [Open on GitHub](https://github.com/iory/learning-os-from-arduino/blob/main/docs/os-on-arduino/code/09_integration/include/shell.h) ```{literalinclude} ../../../../code/09_integration/include/shell.h :language: cpp :linenos: ``` ::: :::{dropdown} `src/interpreter.cpp` — 288 lines :icon: code [Open on GitHub](https://github.com/iory/learning-os-from-arduino/blob/main/docs/os-on-arduino/code/09_integration/src/interpreter.cpp) ```{literalinclude} ../../../../code/09_integration/src/interpreter.cpp :language: cpp :linenos: ``` ::: :::{dropdown} `src/os_display.cpp` — 162 lines :icon: code [Open on GitHub](https://github.com/iory/learning-os-from-arduino/blob/main/docs/os-on-arduino/code/09_integration/src/os_display.cpp) ```{literalinclude} ../../../../code/09_integration/src/os_display.cpp :language: cpp :linenos: ``` ::: :::{dropdown} `src/os_fault.cpp` — 170 lines :icon: code [Open on GitHub](https://github.com/iory/learning-os-from-arduino/blob/main/docs/os-on-arduino/code/09_integration/src/os_fault.cpp) ```{literalinclude} ../../../../code/09_integration/src/os_fault.cpp :language: cpp :linenos: ``` ::: :::{dropdown} `src/os_kernel.cpp` — 266 lines :icon: code [Open on GitHub](https://github.com/iory/learning-os-from-arduino/blob/main/docs/os-on-arduino/code/09_integration/src/os_kernel.cpp) ```{literalinclude} ../../../../code/09_integration/src/os_kernel.cpp :language: cpp :linenos: ``` ::: :::{dropdown} `src/shell.cpp` — 237 lines :icon: code [Open on GitHub](https://github.com/iory/learning-os-from-arduino/blob/main/docs/os-on-arduino/code/09_integration/src/shell.cpp) ```{literalinclude} ../../../../code/09_integration/src/shell.cpp :language: cpp :linenos: ``` ::: ## Pitfalls (Collected from reader questions — ask via [GitHub Issues](https://github.com/iory/build-your-own-arduino-rtos/issues).)