Mercurial > public > ostc4
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. |