The startup system check is shown on an OLED display. The display has its separate i2c bus (I2C-3) to communicate with the Raspberry.
The startup process is the following:
- Greeting
- Test I2C-1 devices: moving platform, sensor platform, and face module. If something is not represented on the bus, the error will be shown.
- Waiting while ssh service will be loaded
- Waiting while the network will be connected
- Waiting while roscore will be launched
- Infinite loop showing the network and project info. The robot is ready!
Gif of the process:
Code of the startup check process:
https://github.com/an-dr/zakhar_service/tree/feature/display_n_startup/display