Pages: [1]   Go Down
Author Topic: Développer une librairie à partir d'autres librairies  (Read 407 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 41
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut salut,

Le problème est dans le titre. J'aimerais créer une librairie qui utilise les librairies déjà développées pour arduino. Par exemple dans ma classe j'aimerais créer et utiliser un objet provenant de la librairie ethernet, et écrire des méthodes pour établir des connexions.
Est ce possible?
Je ne vois pas pourquoi on ne pourrait pas le faire, mais je n' y parvient pas. J'ai des soucis pour lier les librairies.
J'utilise la version Codeblocks Arduino du site http://www.arduinodev.com/codeblocks/ pour développer la librairie.

Merci pour votre aide !
Logged

Ales
Offline Offline
Faraday Member
**
Karma: 29
Posts: 3176
Do or DIY
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Avec codeblock je sais pas, mais avec la méthode "classique" (IDE Arduino ou notepad++ quoi), il suffit d'ajouter les librairies normalement dans le .h comme dans un programme normal : #include <wire.h> par exemple si tu fais appel à l'i2c.
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 41
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Oui c'est ce que j'ai fait.
J'ai malgré tout des erreur du type: "undefined reference to 'EthernetClient::stop()'. Comme si la librairie n'était pas compilée.
Logged

Ales
Offline Offline
Faraday Member
**
Karma: 29
Posts: 3176
Do or DIY
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Es-tu sûr que les lib sont dans le bon dossier correpondant à codeblock ?
Logged


Paris
Offline Offline
Full Member
***
Karma: 1
Posts: 175
Beyond the possible...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Il faut vérifier aussi si la fonction est bien dans le header (le .h)
Logged

The Mind is like a parachute it works best when opened.

France S-O ou exil en IDF
Offline Offline
Edison Member
*
Karma: 25
Posts: 1904
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Regarder comment fait Arduino ?
Le cas existe de classes qui héritent d'autre classe.
Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 224
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut,

En raison d'une "spécificité" de l'environnement Arduino, il faut aussi inclure les bibliothèques de bas niveau dans le sketch. Même si elle ne sont utilisées que dans ta bibliothèque perso.

Par exemple, j'avais développé une bibliothèque pour EEPROM 24Cxxx qui utilisait Wire :
- eeprom_24cxxx.ino -> #include <Wire.h>
- eeprom_24cxxx.cpp -> #include <Wire.h>
Bien que je n'avais aucun appel à la bibliothèque Wire dans le sketch...

A voir si le problème est le même avec Code::Blocks...

++
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 41
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bon le problème est résolu. Je pense que j'ajoutais mal les librairies d'arduino à mon projet.
Et effectivement il faut bien penser aux librairies de bas niveau.

Merci en tout cas.
Logged

Pages: [1]   Go Up
Jump to: