Электронная панель приборов на Due + 3,2 TFT
- Войдите на сайт для отправки комментариев
Ср, 26/11/2014 - 14:22
Начал делать панельку для снегохода при программировании наткнулся на проблему Дуе ругается на картики, выдаёт такое сообщение
Arduino: 1.5.7 (Windows XP), Board: "Arduino Due (Programming Port)"
paneldue.ino: In function 'void setup()':
paneldue.ino:83:46: error: no matching function for call to 'UTFT::drawBitmap(int, int, int, int, unsigned int [900], int)'
paneldue.ino:83:46: note: candidates are:
In file included from paneldue.ino:12:0:
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:228:8: note: void UTFT::drawBitmap(int, int, int, int, short unsigned int*, int)
void drawBitmap(int x, int y, int sx, int sy, bitmapdatatype data, int scale=1);
^
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:228:8: note: no known conversion for argument 5 from 'unsigned int [900]' to 'short unsigned int*'
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:229:8: note: void UTFT::drawBitmap(int, int, int, int, short unsigned int*, int, int, int)
void drawBitmap(int x, int y, int sx, int sy, bitmapdatatype data, int deg, int rox, int roy);
^
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:229:8: note: candidate expects 8 arguments, 6 provided
paneldue.ino:84:46: error: no matching function for call to 'UTFT::drawBitmap(int, int, int, int, unsigned int [900], int)'
paneldue.ino:84:46: note: candidates are:
In file included from paneldue.ino:12:0:
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:228:8: note: void UTFT::drawBitmap(int, int, int, int, short unsigned int*, int)
void drawBitmap(int x, int y, int sx, int sy, bitmapdatatype data, int scale=1);
^
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:228:8: note: no known conversion for argument 5 from 'unsigned int [900]' to 'short unsigned int*'
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:229:8: note: void UTFT::drawBitmap(int, int, int, int, short unsigned int*, int, int, int)
void drawBitmap(int x, int y, int sx, int sy, bitmapdatatype data, int deg, int rox, int roy);
^
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:229:8: note: candidate expects 8 arguments, 6 provided
paneldue.ino:85:47: error: no matching function for call to 'UTFT::drawBitmap(int, int, int, int, unsigned int [900], int)'
paneldue.ino:85:47: note: candidates are:
In file included from paneldue.ino:12:0:
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:228:8: note: void UTFT::drawBitmap(int, int, int, int, short unsigned int*, int)
void drawBitmap(int x, int y, int sx, int sy, bitmapdatatype data, int scale=1);
^
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:228:8: note: no known conversion for argument 5 from 'unsigned int [900]' to 'short unsigned int*'
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:229:8: note: void UTFT::drawBitmap(int, int, int, int, short unsigned int*, int, int, int)
void drawBitmap(int x, int y, int sx, int sy, bitmapdatatype data, int deg, int rox, int roy);
^
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:229:8: note: candidate expects 8 arguments, 6 provided
paneldue.ino:86:47: error: no matching function for call to 'UTFT::drawBitmap(int, int, int, int, unsigned int [900], int)'
paneldue.ino:86:47: note: candidates are:
In file included from paneldue.ino:12:0:
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:228:8: note: void UTFT::drawBitmap(int, int, int, int, short unsigned int*, int)
void drawBitmap(int x, int y, int sx, int sy, bitmapdatatype data, int scale=1);
^
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:228:8: note: no known conversion for argument 5 from 'unsigned int [900]' to 'short unsigned int*'
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:229:8: note: void UTFT::drawBitmap(int, int, int, int, short unsigned int*, int, int, int)
void drawBitmap(int x, int y, int sx, int sy, bitmapdatatype data, int deg, int rox, int roy);
^
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:229:8: note: candidate expects 8 arguments, 6 provided
paneldue.ino:87:49: error: no matching function for call to 'UTFT::drawBitmap(int, int, int, int, unsigned int [900], int)'
paneldue.ino:87:49: note: candidates are:
In file included from paneldue.ino:12:0:
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:228:8: note: void UTFT::drawBitmap(int, int, int, int, short unsigned int*, int)
void drawBitmap(int x, int y, int sx, int sy, bitmapdatatype data, int scale=1);
^
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:228:8: note: no known conversion for argument 5 from 'unsigned int [900]' to 'short unsigned int*'
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:229:8: note: void UTFT::drawBitmap(int, int, int, int, short unsigned int*, int, int, int)
void drawBitmap(int x, int y, int sx, int sy, bitmapdatatype data, int deg, int rox, int roy);
^
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:229:8: note: candidate expects 8 arguments, 6 provided
paneldue.ino:88:45: error: no matching function for call to 'UTFT::drawBitmap(int, int, int, int, unsigned int [900], int)'
paneldue.ino:88:45: note: candidates are:
In file included from paneldue.ino:12:0:
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:228:8: note: void UTFT::drawBitmap(int, int, int, int, short unsigned int*, int)
void drawBitmap(int x, int y, int sx, int sy, bitmapdatatype data, int scale=1);
^
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:228:8: note: no known conversion for argument 5 from 'unsigned int [900]' to 'short unsigned int*'
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:229:8: note: void UTFT::drawBitmap(int, int, int, int, short unsigned int*, int, int, int)
void drawBitmap(int x, int y, int sx, int sy, bitmapdatatype data, int deg, int rox, int roy);
^
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:229:8: note: candidate expects 8 arguments, 6 provided
paneldue.ino:89:46: error: no matching function for call to 'UTFT::drawBitmap(int, int, int, int, unsigned int [900], int)'
paneldue.ino:89:46: note: candidates are:
In file included from paneldue.ino:12:0:
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:228:8: note: void UTFT::drawBitmap(int, int, int, int, short unsigned int*, int)
void drawBitmap(int x, int y, int sx, int sy, bitmapdatatype data, int scale=1);
^
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:228:8: note: no known conversion for argument 5 from 'unsigned int [900]' to 'short unsigned int*'
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:229:8: note: void UTFT::drawBitmap(int, int, int, int, short unsigned int*, int, int, int)
void drawBitmap(int x, int y, int sx, int sy, bitmapdatatype data, int deg, int rox, int roy);
^
C:\Documents and Settings\DreamWolf\Мои документы\Arduino\libraries\UTFT/UTFT.h:229:8: note: candidate expects 8 arguments, 6 provided
This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.
если закоментить картинки то всё грузится нормально, на мегу тоже грузится нормально
сама прога
#include <UTFT.h>
#include <avr/pgmspace.h>
UTFT myGLCD(SSD1289,38,39,40,41);
// Declare which fonts we will be using
extern uint8_t SmallFont[];
extern uint8_t BigFont[];
extern uint8_t SevenSegNumFont[];
extern unsigned int bigtemp[900];
extern unsigned int temp[900];
extern unsigned int Park[900];
extern unsigned int hloff[900];
extern unsigned int akum2[900];
extern unsigned int reverse[900];
extern unsigned int oil[900];
extern unsigned int fuel[900];
extern unsigned int br[900];
int error;
// taho
int taho;
int t;
int y;
int x2;
int y2;
int x3;
int y3;
int r;
int r2;
// engine temp
int engtemp;
int tt;
int ttt;
//fuel level
int flevel;
int fl;
int fll;
int ffll;
//brake
long tb;
long tp;
//speed
int speed;
int sp;
void setup()
{
myGLCD.InitLCD();
myGLCD.setFont(SmallFont);
myGLCD.fillScr(100, 255, 255);
myGLCD.setColor(255, 255, 255);
myGLCD.drawBitmap (103, 84, 30, 30, temp, 1);
myGLCD.drawBitmap (134, 84, 30, 30, Park, 1);
myGLCD.drawBitmap (165, 84, 30, 30, hloff, 1);
myGLCD.drawBitmap (196, 84, 30, 30, akum2, 1);
myGLCD.drawBitmap (227, 84, 30, 30, reverse, 1);
myGLCD.drawBitmap (258, 84, 30, 30, oil, 1);
myGLCD.drawBitmap (289, 84, 30, 30, fuel, 1);
//temp rect
myGLCD.setColor(0,38,255);
myGLCD.drawRect(103, 224, 132, 234);
myGLCD.drawRect(103, 212, 132, 222);
myGLCD.drawRect(103, 200, 132, 210);
myGLCD.setColor(0, 0, 0);
myGLCD.drawRect(103, 188, 132, 198);
myGLCD.drawRect(103, 176, 132, 186);
myGLCD.drawRect(103, 164, 132, 174);
myGLCD.drawRect(103, 152, 132, 162);
myGLCD.drawRect(103, 140, 132, 150);
myGLCD.setColor(255,0,0);
myGLCD.drawRect(103, 128, 132, 138);
myGLCD.drawRect(103, 116, 132, 126);
//fuel rect
myGLCD.drawRect(289, 224, 317, 234);
myGLCD.drawRect(289, 212, 317, 222);
myGLCD.setColor(0, 0, 0);
myGLCD.drawRect(289, 200, 317, 210);
myGLCD.drawRect(289, 188, 317, 198);
myGLCD.drawRect(289, 176, 317, 186);
myGLCD.drawRect(289, 164, 317, 174);
myGLCD.drawRect(289, 152, 317, 162);
myGLCD.drawRect(289, 140, 317, 150);
myGLCD.drawRect(289, 128, 317, 138);
myGLCD.drawRect(289, 116, 317, 126);
myGLCD.setBackColor(100,255,255);
t = 100;
tt = 0;
engtemp = 0;
ttt = 0;
flevel=0;
fl=0;
fll=0;
tb=0;
tb=0;
error=0;
}
void loop()
{
myGLCD.setColor(0,0,0);
//tahometer
myGLCD.setFont(SevenSegNumFont);
taho = taho + t;
if (taho > 9000){
taho = 9000;
t = -50; }
if (taho <0) {
t=50;
}
if(taho <1000) {
myGLCD.printNumI(taho/100, 32, 1);
myGLCD.print("0", 1, 1);
}
else myGLCD.printNumI(taho/100, 1, 1);
//tahoscale
r = map(taho, 0, 9000, 150, 200);
// myGLCD.setColor(100,255,255);
// myGLCD.drawLine(100,100,x2,y2);
x2 = 218 + sin(2*PI*r/200)*200;
y2 = 218 - cos(2*PI*r/200)*200;
//x3 = 100 + sin(2*PI*r/200)*100;
//y3 = 100 - cos(2*PI*r/200)*100;
myGLCD.setColor(150,230,0);
myGLCD.fillCircle(x2,y2, 15);
// engin temp
engtemp = engtemp + tt;
if (engtemp >= 100){
tt = -1;
}
if (engtemp <= 0){
tt= 1;
}
if (engtemp>=0 & engtemp<=10){
myGLCD.setColor(100,255,255);
myGLCD.fillRect(104, 233, 131, 225);
ttt = engtemp ;
myGLCD.setColor(0,38,255);
myGLCD.fillRect (103, 234-ttt, 132, 234);
}
if (engtemp>=10 & engtemp<=20){
myGLCD.setColor(100,255,255);
myGLCD.fillRect(104, 221, 131, 213);
myGLCD.setColor(0,38,255);
ttt=(engtemp-10);
myGLCD.fillRect(103, 222-ttt, 132, 222);
}
if (engtemp>=20 & engtemp<=30){
myGLCD.setColor(100,255,255);
myGLCD.fillRect(104, 209, 131, 201);
myGLCD.setColor(0,38,255);
ttt=(engtemp-20);
myGLCD.fillRect(103, 210-ttt, 132, 210);
}
if (engtemp>=30 & engtemp<=40){
myGLCD.setColor(100,255,255);
myGLCD.fillRect(104, 197, 131, 189);
myGLCD.setColor(0, 0, 0);
ttt=(engtemp-30);
myGLCD.fillRect(103, 198-ttt, 132, 198);
}
if (engtemp>=40 & engtemp<=50){
myGLCD.setColor(100,255,255);
myGLCD.fillRect(104, 185, 131, 177);
myGLCD.setColor(0, 0, 0);
ttt=(engtemp-40);
myGLCD.fillRect(103, 186-ttt, 132, 186);
}
if (engtemp>=50 & engtemp<=60){
myGLCD.setColor(100,255,255);
myGLCD.fillRect(104, 173, 131, 165);
myGLCD.setColor(0, 0, 0);
ttt=(engtemp-50);
myGLCD.fillRect(103, 174-ttt, 132, 174);
}
if (engtemp>=60 & engtemp<=70){
myGLCD.setColor(100,255,255);
myGLCD.fillRect(104, 161, 131, 153);
myGLCD.setColor(0, 0, 0);
ttt=(engtemp-60);
myGLCD.fillRect(103, 162-ttt, 132, 162);
}
if (engtemp>=70 & engtemp<=80){
myGLCD.setColor(100,255,255);
myGLCD.fillRect(104, 149, 131, 141);
myGLCD.setColor(0, 0, 0);
ttt=(engtemp-70);
myGLCD.fillRect(103, 150-ttt, 132, 150);
}
if (engtemp>=80 & engtemp<=90){
myGLCD.setColor(100,255,255);
myGLCD.fillRect(104, 137, 131, 129);
ttt=(engtemp-80);
myGLCD.setColor(255,0,0);
myGLCD.fillRect(103, 138-ttt, 132, 138);
}
if (engtemp>=90 & engtemp<=100){
myGLCD.setColor(100,255,255);
myGLCD.fillRect(104, 125, 131, 117);
ttt=(engtemp-90);
myGLCD.setColor(255,0,0);
myGLCD.fillRect(103, 126-ttt, 132, 126);
}
// high engine temp
if (engtemp >=82){
// myGLCD.drawBitmap(103, 84, 30, 30, bigtemp);
error = 1;
}
else if (error==1){
// myGLCD.drawBitmap(103, 84, 30, 30, temp);
error=0;
}
// Fuel level
}
картинки делал этим конвертером http://www.henningkarlsen.com/electronics/t_imageconverter565.php галочки стояли на .с и чипкит/дуэ, да и просто на ардуину пробывал
проблема решена