Go to file
2026-07-25 23:06:06 +02:00
.vscode Module fonctionnel 2026-07-25 23:03:16 +02:00
Platform Module fonctionnel 2026-07-25 23:03:16 +02:00
VL53L8CX_ULD_API Module fonctionnel 2026-07-25 23:03:16 +02:00
CMakeLists.txt Module fonctionnel 2026-07-25 23:03:16 +02:00
Readme.md Mineur: ajout instruction CMakeLists.txt dans le Readme.md 2026-07-25 23:06:06 +02:00
VL53L8_2024.c Module fonctionnel 2026-07-25 23:03:16 +02:00
VL53L8_2024.h Correction des includes 2026-07-25 13:25:05 +02:00

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