Mercurial > public > ostc4
view wiki/Modules.md @ 781:01b3eb9d55c3
Update real multiplexer implementation:
The final multiplexer provides 4 sensor connections instead of three supported by the prototype => A mupping functionality has been introduced to map the 4 possible mux addresses to the three visible O2 sensor slots.
In addition the request cycle time is not depending on the number of sensors connected to make sure that all sensors are read within a defined time frame.
The error reaction had to be updated to reset mux channels if one of the sensors fails to respond.
author | Ideenmodellierer |
---|---|
date | Mon, 29 May 2023 18:26:55 +0200 |
parents | 0e7c16dd774d |
children |
line wrap: on
line source
# OSTC4 Code Modules # ## Main CPU - aka CPU1-Discovery ## For historical reasons, the firmware of the main CPU was divided in three parts. It helps development, allow smalled upgrades, and improve security as a bad manipulation won't kill the bootloader, responsible fot the next firmware upgrade. ### Bootloader ## The code responsible to upload new firmwares for both CPU. ### Font Pack ### This module does not contains any code. Just font data and images. ### Firmware code ### The main OSTC4 firmware. The more important modules are: - Buehlmann decompression algorithm. - VPM decompression algorithm. - The simulator and dive planner. - Logbook display (surface and dive mode). - All user interface code, during dive or surface mode (`t*.c` files). - Graphics (gfx) engine. - Plus interface to the other CPU, the management of the _LCD_ screen, and the optional _Bonex_ scooter interface (No longer supported) ## Small CPU - aka CPU2-RTE ## The _Real Time_ CPU handle everything that requires precise timming to function perperly. The most important modules are: - Real time computation of gas exchanges during dive (aka the _LifeData_ structure). - Analog to digital conversion for the ... ambient light sensor. - I2C bus interface to the pressure sensor, the magnetic compass and the battery gauge. - SPI bus interface to the buttons and to the other CPU. - Serial interface to the _RS232-over-Wireless_ connection.