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. |
