diff wiki/Modules.md @ 489:0e7c16dd774d

add wiki sub-directory
author heinrichsweikamp
date Mon, 29 Jun 2020 16:18:17 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wiki/Modules.md	Mon Jun 29 16:18:17 2020 +0200
@@ -0,0 +1,38 @@
+# OSTC4 Code Modules #
+
+## Main CPU - aka CPU1-Discovery ##
+
+For historical reasons, the firmware of the main CPU was divided in three parts.
+It helps development, allow smalled upgrades, and improve security as a bad manipulation won't kill the bootloader, responsible fot the next firmware upgrade.
+
+### Bootloader ##
+
+The code responsible to upload new firmwares for both CPU.
+
+### Font Pack ###
+
+This module does not contains any code. Just font data and images.
+
+### Firmware code ###
+
+The main OSTC4 firmware. The more important modules are:
+
+- Buehlmann decompression algorithm.
+- VPM decompression algorithm.
+- The simulator and dive planner.
+- Logbook display (surface and dive mode).
+- All user interface code, during dive or surface mode (`t*.c` files).
+- Graphics (gfx) engine.
+- Plus interface to the other CPU, the management of the _LCD_ screen, and the optional _Bonex_ scooter interface (No longer supported)
+
+## Small CPU - aka CPU2-RTE ##
+
+The _Real Time_ CPU handle everything that requires precise timming to function perperly.
+
+The most important modules are:
+
+- Real time computation of gas exchanges during dive (aka the _LifeData_ structure).
+- Analog to digital conversion for the ... ambient light sensor.
+- I2C bus interface to the pressure sensor, the magnetic compass and the battery gauge.
+- SPI bus interface to the buttons and to the other CPU.
+- Serial interface to the _RS232-over-Wireless_ connection.
\ No newline at end of file