489
|
1 # OSTC4 Code Modules #
|
|
2
|
|
3 ## Main CPU - aka CPU1-Discovery ##
|
|
4
|
|
5 For historical reasons, the firmware of the main CPU was divided in three parts.
|
|
6 It helps development, allow smalled upgrades, and improve security as a bad manipulation won't kill the bootloader, responsible fot the next firmware upgrade.
|
|
7
|
|
8 ### Bootloader ##
|
|
9
|
|
10 The code responsible to upload new firmwares for both CPU.
|
|
11
|
|
12 ### Font Pack ###
|
|
13
|
|
14 This module does not contains any code. Just font data and images.
|
|
15
|
|
16 ### Firmware code ###
|
|
17
|
|
18 The main OSTC4 firmware. The more important modules are:
|
|
19
|
|
20 - Buehlmann decompression algorithm.
|
|
21 - VPM decompression algorithm.
|
|
22 - The simulator and dive planner.
|
|
23 - Logbook display (surface and dive mode).
|
|
24 - All user interface code, during dive or surface mode (`t*.c` files).
|
|
25 - Graphics (gfx) engine.
|
|
26 - Plus interface to the other CPU, the management of the _LCD_ screen, and the optional _Bonex_ scooter interface (No longer supported)
|
|
27
|
|
28 ## Small CPU - aka CPU2-RTE ##
|
|
29
|
|
30 The _Real Time_ CPU handle everything that requires precise timming to function perperly.
|
|
31
|
|
32 The most important modules are:
|
|
33
|
|
34 - Real time computation of gas exchanges during dive (aka the _LifeData_ structure).
|
|
35 - Analog to digital conversion for the ... ambient light sensor.
|
|
36 - I2C bus interface to the pressure sensor, the magnetic compass and the battery gauge.
|
|
37 - SPI bus interface to the buttons and to the other CPU.
|
|
38 - Serial interface to the _RS232-over-Wireless_ connection. |