annotate wiki/Modules.md @ 837:18946846b95b Evo_2_23

Bugfixes and code cleanup for BF views: BF views gauge and apnoe were using "dive computer" T3 view functions which caused some problem because these legacy views were not intended to work with customer view selection. A switch condition has been added to skip these kind of functions in case a design other T3 is in use. Another potential problem was that there were two definitions for T3 and T7 views which were basically the same. If they wold not be the same the switching functionality wold not work properly. To avoid this problem in futur the arrays have been merged => the view are handled sing the (newer) cv_view arrays instead of the standard_views which were in used before the user could the views which should be shown.
author ideenmodellierer
date Wed, 27 Dec 2023 19:37:17 +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.