2.4 KiB
Submodule VL53L8CX pour le RP2040
Ceci est un submodule git pour intégrer facilement un capteur VL53L8CX à un projet.
Le code présent ici se base sur Ultra lite driver (ULD) API for the VL53L8CX
La documentation est disponible ici : https://www.st.com/content/st_com/en/technical-documents/UM3109.html
On crée ce Submodule en se servant de la documentation disponible ici : https://git-scm.com/book/en/v2/Git-Tools-Submodules
Utilisation
Ajout du sub-module
Ajouter ce submodule à votre projet. Dans un terminal, dans le répertoire de votre projet, entrez :
git submodule add https://git.poivron-robotique.fr/Keuronde/Mod_VL53L8CX.git
Ajouter le fichier nouvellement créé .gitmodules à votre projet.
git add .gitmodules
Configuration de la compilation
Dans le fichier CMakeLists.txt, ajouter le dossier du sub module:
add_subdirectory(Mod_VL53L8CX)
Dans la liste des bilbiothèques à compiler, ajoutez le nom du module
target_link_libraries(VOTRE_PROJET
Mod_VL53L8
)
Intégration au code source
Dans le code du module, ouvrez le fichier Platform/platform.c, adaptez les macro de configuration de l'i2c
#define I2C_DEVICE i2c1
#define I2C1_SDA_PIN 14
#define I2C1_SCL_PIN 15
Dans votre code, ajout du fichier d'include :
#include "Mod_VL53L8CX/VL53L8_2024.h"
Initialisation du module :
struct VL53L8CX_Configuration Dev;
VL53L8_init(&Dev);
Lecture des distances :
struct VL53L8CX_ResultsData Results;
VL53L8_lecture(&Dev, &Results);
Affichage des distances :
for (int i=0; i< 8; i++){
for (int j=0; j< 8; j++){
printf("%3d ",Results.distance_mm[8*i+j]);
}
printf("\n");
}
Configuration applicative
Un système de masque permet de considéré que le capteur ne voit "rien" s'il la distance est supérieur à une certaine valeur.
Cette valeur se configure dans la variable masque présente dans VL53L8_2024.c.
Cas où vous clonez un projet contenant des submodules
Après avoir cloné le projet, initialisez les submodules:
git submodule init
git submodule update
Pour récupérer les dernières mise à jour des sub-modules :
git submodule update --remote