comparison wiki/Modules.md @ 38:5f11787b4f42

include in ostc4 repository
author heinrichsweikamp
date Sat, 28 Apr 2018 11:52:34 +0200
parents
children
comparison
equal deleted inserted replaced
37:ccc45c0e1ea2 38:5f11787b4f42
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 _Bonnex_ interface.
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.