annotate wiki/Modules.md @ 929:63c340abd70e Evo_2_23

Add a line to the compass heading dive menu that shows the currently set heading to enable the diver to confirm it / add it to notes. Also add a log entry every time a new compass heading is set or the heading is cleared. And add a way to add compass headings to the log without changing the currently set heading - this was added after discussion with cave divers who are interested in recording headings when mapping out caves. From mikeller
author heinrichsweikamp
date Mon, 02 Dec 2024 11:16:10 +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.