annotate wiki/Modules.md @ 635:66c8a4ff9fc4

Debounce fallback warning: In previous versions the fallback option (automatical setting of a fixed setpoint) was only done for communication timeout scenario in combination with a HUD. It is now also applied in case all sensors are rated as out of bounds. The signaling of the fallback warning (including optional automatic setpoint change) is now done taking a 5 seconds debounds time into account. In case a fallback warning is active, then the only way to reset it is by selecting a new setpoint or by changing the sensor configuration (no change compared to previous implementation
author Ideenmodellierer
date Wed, 24 Feb 2021 21:03:22 +0100
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.