les choses serieuses commencent

This commit is contained in:
2024-12-16 09:41:59 +01:00
parent d75d6acf9b
commit 373949d02c

33
tp6.md
View File

@@ -151,6 +151,8 @@ Pour le developpement on a besoin du libgpiod.so, du gpiod.h et potentiellement
`arm-buildroot-linux-musleabi-gcc testGpio.c -o gpio -I /home/moi/tp/lib/compiledLib/include/ -lgpiod -L /home/moi/tp/lib/compiledLib/lib/`
### Lecture du joystick via les outils libgpiod
Voici le premier bout de code qui permet de simplement de lister tous les devices GPIO sur la board embarquée :
```c
@@ -343,8 +345,39 @@ int main(void)
}
```
```
~ # echo $?
0
```
Le code ci dessus devrait faire en permanence du pulling et dès que le joystick est bougé on l'affiche.
J'ai ajouté le fait que quand on appuie sur le bouton du joystick ca arrête le programme et que le sleep(0.1) permette à la boucle de ne s'executer que toutes les 0.1s pour ne pas surcharger le processeur.
### Lecture du joystick via lAPI C libgpiod
En fait j'avais pas compris que il fallait utiliser les outils dabord et ensuite l'API. J'ai commencé direct avec l'API.
Mais on peut facilement imaginer un petit script bash qui utiliserait juste les outils avec des commande simples genre `gpioget` et `gpioset`
Pour le makefile voici un exemple très simple:
```makefile
CC = arm-buildroot-linux-musleabi-gcc
SRC = testJoystick.c
TARGET = joystick
INCLUDE_DIR = /home/moi/tp/lib/compiledLib/include/
LIB_DIR = /home/moi/tp/lib/compiledLib/lib/
LIBS = -lgpiod
all: $(TARGET)
$(TARGET): $(SRC)
$(CC) $(SRC) -o $(TARGET) -I $(INCLUDE_DIR) $(LIBS) -L $(LIB_DIR)
clean:
rm -f $(TARGET)
```
### Développement dun module noyau