comparison wiki/Modules.md @ 489:0e7c16dd774d

add wiki sub-directory
author heinrichsweikamp
date Mon, 29 Jun 2020 16:18:17 +0200
parents
children
comparison
equal deleted inserted replaced
488:9eeab3fead8f 489:0e7c16dd774d
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.