annotate wiki/Modules.md @ 539:d784f281833a

Added inertia simulation for compass heading: In previous version calculated compass values were directly used for visualization of the compass. This causes a fast changing (jumping) of values. With the inertia introduction the compass behalfs more like an analog compass. The final value is reached slowly and the displayed values are more stable. For configuration a new menu item has been added to the compass menu allowing to switch inertia off (default), small and large inertia simulation
author Ideenmodellierer
date Sat, 10 Oct 2020 16:59:18 +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.