Mercurial > public > ostc4
view wiki/Modules.md @ 678:05cdd367dbd0 Betatest
Bugfix: deco planner did not initialize properly
Redoing a deco calculation in the planner, after a change in used gasses, did result
in wrong gas usage figures. And a restart after sleep made things right again. This all
feels like some initialization problem. Nothing very important as it's only a desktop
planner, but a bug it is.
Code reading, I found the not correctly initialized data.
Reported-by: Teun (forum user tdewilt2)
Signed-off-by: Jan Mulder <jan@jlmulder.nl>
author | Jan Mulder <jan@jlmulder.nl> |
---|---|
date | Thu, 21 Apr 2022 21:02:50 +0200 |
parents | 0e7c16dd774d |
children |
line wrap: on
line source
# 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.