dois-je inclure la bibliothèque de adafruit aussi dans le .cpp?
J'ai elevé le "= bla bla bla" dans mon .h (il reste plus que Adafruit_ILI9340 tft
et j'ai mis dans mon ino et dans mon .cpp le reste ( cest a dire : Adafruit_ILI9340 tft = Adafruit_ILI9340(TFT_CS, TFT_DC, TFT_RST)![]()
Mais ca ne marche pas apparemment, ca affiche ca:
Arduino : 1.5.5-r2 (Windows 8), Carte : "Arduino Uno"
In file included from exemple_internet_pour_bitmap_et_SD.ino:22:
C:\Program Files (x86)\Arduino\libraries\Graphique/Graphique.h:21: error: no matching function for call to 'Adafruit_ILI9340::Adafruit_ILI9340()'
C:\Program Files (x86)\Arduino\libraries\Adafruit_ILI9340/Adafruit_ILI9340.h:127: note: candidates are: Adafruit_ILI9340::Adafruit_ILI9340(uint8_t, uint8_t, uint8_t)
C:\Program Files (x86)\Arduino\libraries\Adafruit_ILI9340/Adafruit_ILI9340.h:126: note: Adafruit_ILI9340::Adafruit_ILI9340(uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t)
C:\Program Files (x86)\Arduino\libraries\Adafruit_ILI9340/Adafruit_ILI9340.h:121: note: Adafruit_ILI9340::Adafruit_ILI9340(const Adafruit_ILI9340&)
voici les nouveaux codes (dans l'ordre .cpp et .h):
#if ARDUINO<100
#include <WProgram.h>
#else
#include <Arduino.h>
#endif
#include "Graphique.h"
Adafruit_ILI9340 tft = Adafruit_ILI9340(TFT_CS, TFT_DC, TFT_RST);
Graphique ::Graphique(){
resetVarGraph();
}
void Graphique::setTitleX(String x){
titrex=x;
}
void Graphique::setTitleY(String y){
titrey=y;
}
void Graphique::setTitle(String t){
titre=t;
}
void Graphique::setValueX(double xmax,double xmin){
xMax=xmax;
xMin=xmin;
}
void Graphique::setValueY(double ymax,double ymin){
yMax=ymax;
yMin=ymin;
}
void Graphique::resetVarGraph(){
titrex="Titre X";
titrey="Titre Y";
titre="Titre";
xMax=100.0;
xMin=0.0;
yMax=100.0;
yMin=0.0;
ori=1;
exDotX=7;
exDotY=35;
counter=0;
}
void Graphique::setOrientation(int r){
ori=r;
}
void Graphique::traceBase(){
int a;
int b;
int i;
double sousInter;
i=0;
a=titre.length();
b=titrex.length();
a=(320-a*6)/2;
b=315-b;
// tft.setRotation(1);
tft.fillScreen(ILI9340_BLACK);
tft.setTextColor(ILI9340_RED);
tft.setTextSize(1);
tft.drawLine(6, 0, 6, 240, ILI9340_WHITE);
tft.drawLine(5, 0, 5, 240, ILI9340_WHITE);
tft.drawLine(0, 236, 320, 236, ILI9340_WHITE);
tft.drawLine(0, 235, 320, 235, ILI9340_WHITE);
tft.drawLine(84, 240, 84, 35, ILI9340_WHITE);
tft.drawLine(163, 240, 163, 35, ILI9340_WHITE);
tft.drawLine(242, 240, 242, 35, ILI9340_WHITE);
tft.drawLine(318, 240, 318, 35, ILI9340_WHITE);
tft.drawLine(0, 35, 320, 35, ILI9340_WHITE);
tft.drawLine(0, 85, 320, 85, ILI9340_WHITE);
tft.drawLine(0, 135, 320, 135, ILI9340_WHITE);
tft.drawLine(0, 185, 320, 185, ILI9340_WHITE);
tft.fillTriangle(5, 0, 0, 5, 10, 5,ILI9340_WHITE);
tft.fillTriangle(315, 230, 315, 240, 320, 235,ILI9340_WHITE);
tft.setCursor(15, 3);
tft.println(titrey);
tft.setCursor(b,210);
tft.println(titrex);
tft.setTextColor(tft.Color565(0, 255, 255));
tft.setCursor(a,18);
tft.println(titre);
tft.setTextColor(ILI9340_YELLOW);
sousInter=(yMax-yMin)/4;
while (i<5){
tft.setCursor(15,225-i*50);
tft.println(sousInter*i+yMin);
i++;
}
i=0;
sousInter=(xMax-xMin)/4;
while (i<3){
tft.setCursor(280-i*78,225);
tft.println((xMax)-sousInter*i);
i++;
}
i=0;
}
void Graphique::traceNextDot(double x,double y,int red,int green,int blue){
dotY=35+(((yMax-y)*200)/(yMax-yMin));//convertion entre unitees et pixels ( equivalance dimentionnelle)
dotX=7+((311*(x-xMin))/(xMax-xMin));
if(counter>0){
tft.drawLine(exDotX, exDotY, dotX,dotY,tft.Color565(red,green,blue));
}
exDotY=dotY;
exDotX=dotX;
counter++;
}
#ifndef Graphique_h
#define Graphique_h
#if ARDUINO<100
#include <WProgram.h>
#else
#include <Arduino.h>
#endif
#include "Adafruit_GFX.h"
#include "Adafruit_ILI9340.h"
#if defined(__SAM3X8E__)
#undef __FlashStringHelper::F(string_literal)
#define F(string_literal) string_literal
#endif
#define TFT_RST 8
#define TFT_DC 9
#define TFT_CS 10
#define SD_CS 4
Adafruit_ILI9340 tft ;
class Graphique{
public:
Graphique();// constructeur
void setTitleX(String x);
void setTitleY(String y);
void setTitle(String t);
void setValueX(double xmax,double xmin);
void setValueY(double ymax,double ymin);
void setOrientation(int ori);
void resetVarGraph();
void traceBase();
void traceNextDot(double x,double y,int red,int green,int blue);
private:
double xMax,xMin,yMax,yMin;
String titrex,titrey,titre;
int ori,counter,dotX,dotY,exDotX,exDotY;
};
#endif
Merci pour ta reponse rapide,
stefano zampieri