Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

Transmission RF via nRF24L01 et C++
#1

Bonjour,

Après plusieurs heures (et encore, c'est un euphémisme !) de galère pour faire fonctionner la librairie RF24 dans un programme écrit en C++, je viens quérir votre aide !

J'ai installé la librairie RF24 via le Github de l'auteur et je me retrouve donc avec le dossier qui contient à sa racine des .h et .cpp mais en les incluant dans mon programme rien ne marche (erreurs à la compilation). Puis j'ai pris les fichiers des exemples qui se trouve dans le dossier RF24/librf24-rpi/librf24/
Ce coup çi, aucun problème mais lorsque je déclare un objet de type RF24, là ça plante !

Une idée ?

Merci !

Anciennement vodkaorange Wink
Forum français et communauté sur les caméras embarqués et dashcam : Dashcam-France.fr
Blog notes - Github
Répondre
#2

Salut,

As-tu pensé à activer le module SPI? (teste le fichier /dev/spidev0.0 ou encore lsmod --> spi-bcm2708)

Cool
Répondre
#3

Le fichier /dev/spidev0.0 est bien présent.
Quelques précisions sur mon problème :
Le programme se compose d'un fichier main.cpp, d'un fichier fonctions.cpp et son .h qui contient les fonctions nécessaires (conversion de type et lecture des valeurs des fichiers de stockage) et une classe Transmission qui permet de faire abstraction de la transmission (le main appelle juste les méthodes publiques qui correspondent à l'initialisation et l'envoi du message).
Après recherches, j'ai l'impression que c'est l'édition de lien qui foire car tout les fichiers objets (.o) sont créés sans aucune erreur.

Mon makefile :
Code :
[== C++ ==]
FLAG=-Wall -Ofast -mfpu=vfp -mfloat-abi=hard -march=armv6zk -mtune=arm1176jzf-s

Transmission: fonctions.o transmission.o main.o
        g++ -o Transmission fonctions.o transmission.o main.o

all: fonctions.o transmission.o main.o

fonctions.o: fonctions.cpp fonctions.h
        g++ -c fonctions.cpp

transmission.o: transmission.cpp fonctions.h
        g++ -c $(FLAG) transmission.cpp -lrf24-bcm

main.o: main.cpp fonctions.h
        g++ -c $(FLAG) main.cpp -lrf24-bcm

clean:
        rm -f *.h~
        rm -f *.cpp~
        rm -f *.o

L'erreur que j'ai :
Citation :g++ -o Transmission fonctions.o transmission.o main.o
main.o: In function `main':
main.cppSad.text.startup+0x40): undefined reference to `RF24::RF24(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned char)'
collect2: ld returned 1 exit status
make: *** [Transmission] Erreur 1

Et la librairie utilisée : https://github.com/gnulnulf/RF24

Merci

Anciennement vodkaorange Wink
Forum français et communauté sur les caméras embarqués et dashcam : Dashcam-France.fr
Blog notes - Github
Répondre
#4

Peut être ca ?
https://github.com/TMRh20/RF24/tree/master/RPi
Répondre
#5

C'est la même lib non ?

Anciennement vodkaorange Wink
Forum français et communauté sur les caméras embarqués et dashcam : Dashcam-France.fr
Blog notes - Github
Répondre
#6

Je l'ai découvert avec ton message, et en regardant comment elle fonctionnait, j'ai vu qu il y avait plusieurs dépots, un gars c'est plaint que la première ne fonctionnait pas on lui à conseillé celle que je t'ai donné, mais j'ai perdu la page qui en parlait.

Elle est référencé sur la page des library arduino :
http://playground.arduino.cc/Main/LibraryList

RF24 Fork - A new fork of the original RF24 library for driving nRF24L01 RF radios. Combines improvements and device support from many of the existing library forks with a round of major updates which includes many improvements, extended hardware support, and updated documentation.
http://tmrh20.github.io/RF24/
Répondre
#7

Je vais l'essayer Wink
Je pense qu'il y a un bug au niveau du makefile, un petit coup de main ?

Anciennement vodkaorange Wink
Forum français et communauté sur les caméras embarqués et dashcam : Dashcam-France.fr
Blog notes - Github
Répondre
#8

J'y connais pas grand chose en C Sad

http://hack.lenotta.com/arduino-raspberr...ment-14359
Répondre
#9

C'est bien le tuto que je suis mais pas moyen de faire marcher cette lib !

Anciennement vodkaorange Wink
Forum français et communauté sur les caméras embarqués et dashcam : Dashcam-France.fr
Blog notes - Github
Répondre
#10

Du coup c est bon ? Tu as fais comment ?
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)