annotate wiki/Modules.md @ 771:29d9b5bc7946

Revised automatic setpoint change. The proposed approach is essentially the approach used by most controllers of eCCR ('upshift' on descent, 'downshift' on ascent), so that the OSTC4 when used as a backup computer for eCCR will make the changes at the same time as the eCCR itself.
author heinrichsweikamp
date Fri, 21 Apr 2023 09:48:23 +0200
parents 0e7c16dd774d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
489
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
1 # OSTC4 Code Modules #
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
2
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
3 ## Main CPU - aka CPU1-Discovery ##
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
4
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
5 For historical reasons, the firmware of the main CPU was divided in three parts.
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
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.
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
7
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
8 ### Bootloader ##
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
9
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
10 The code responsible to upload new firmwares for both CPU.
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
11
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
12 ### Font Pack ###
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
13
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
14 This module does not contains any code. Just font data and images.
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
15
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
16 ### Firmware code ###
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
17
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
18 The main OSTC4 firmware. The more important modules are:
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
19
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
20 - Buehlmann decompression algorithm.
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
21 - VPM decompression algorithm.
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
22 - The simulator and dive planner.
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
23 - Logbook display (surface and dive mode).
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
24 - All user interface code, during dive or surface mode (`t*.c` files).
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
25 - Graphics (gfx) engine.
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
26 - Plus interface to the other CPU, the management of the _LCD_ screen, and the optional _Bonex_ scooter interface (No longer supported)
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
27
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
28 ## Small CPU - aka CPU2-RTE ##
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
29
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
30 The _Real Time_ CPU handle everything that requires precise timming to function perperly.
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
31
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
32 The most important modules are:
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
33
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
34 - Real time computation of gas exchanges during dive (aka the _LifeData_ structure).
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
35 - Analog to digital conversion for the ... ambient light sensor.
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
36 - I2C bus interface to the pressure sensor, the magnetic compass and the battery gauge.
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
37 - SPI bus interface to the buttons and to the other CPU.
0e7c16dd774d add wiki sub-directory
heinrichsweikamp
parents:
diff changeset
38 - Serial interface to the _RS232-over-Wireless_ connection.