Vers 2014, j'ai entamé avec un ami,Jonathan Bastien , la conception et développement d'un ordinateur de plongée. Les choix techniques se sont arrêté sur le microcontrôleur STM32F4.
Le MS5803-05BA est un module de capteur de pression absolue et d'altimètre numérique 24 bits fabriqué par TE Connectivity.
Le microcontrôleur peut fonctionner à l'aide de 4 batterie AA.
À la base, gcc 4.9 a été utilisé. Étant sous Linux en x86, faire de la compilation croisée était pas évident, surtout quand on a d'autre version plus récente.
Cette année, j'ai décidé de reprendre le projet, mais je voulais impacté le moins possible mon environnement de développement en local.
Je me suis mis à la recherche d'un docker et j'ai trouvé cette image.
docker pull wischner/gcc-arm-none-eabi:1.2.0
docker build -t stm32-divecomputer .
Quelques modification on script de build et je pouvais compiler et envoyer l'image sur mon ordinateur de plongée
docker run --rm --device-cgroup-rule='c 189:* rmw' -v /dev/bus/usb:/dev/bus/usb -v "$PWD":/work -w /work divecomputer-builder scons upload
C'est gcc 10 qui est utilisé par l'image docker.
L'algorithme de Buhlman a été implémenté, c'est celui le plus utilisé dans l'univers de la plongée. Il y a la gestion de différent gas, la langue, les unités métrique ou impériale. Une carte sd est utilisé pour sauvegarder les tissues de l'algorithme de décompression et différent paramètre de configuration.
L'écran de démarrage
Le menu système
L'écran qui pourrait être affiché sous l'eau
Une écran qui montre de la décompression à faire
L'ordinateur a déjà été testé dans un sac pour mettre une caméra sous l'eau afin de voir la réaction du capteur de pression. L'expérience a été concluante.
Il reste du travail à faire ne serait-ce que présentation des données. Une écran oled avec une meilleur résolution serait aussi intéressant. Le remplacement des batteries AA par une 18650 serait un gain intéressant en terme d'autonomie et de fiabilité avec le froid sous-marin.
L'informatique de micro-controlleur c'est complètement un autre monde que celui de l'informatique de gestion.
Les sources sont disponible sur mon github




Commentaires
Enregistrer un commentaire