Hallo liebe Leute,
ich bin derzeit an der Programmierung meines TFT Touchshields V2. Dabei stehe ich nun leider vor einem Problem, bei dem mir Arduino immer wieder eine Fehleranzeige auswirft:
J:\Bachelorarbeit Sprühverkeimung\Arduino Touchscreen\SPRAYVERKEIMUNG_Hauptmenu\SPRAY.ino: In function 'void controlSpray1()':
SPRAY:34: error: 'drawSpray2' was not declared in this scope
J:\Bachelorarbeit Sprühverkeimung\Arduino Touchscreen\SPRAYVERKEIMUNG_Hauptmenu\SPRAY.ino: In function 'void sprayProcess()':
SPRAY:75: error: a function-definition is not allowed here before '{' token
SPRAY:128: error: expected '}' at end of input
exit status 1
'drawSpray2' was not declared in this scope
Ich habe schon alles mögliche mit Klammern etc. probiert, aber bisher hat noch nichts funktioniert. Ich habe euch unten den Code beigefügt, welcher für Probleme sorgt.
Vielen Dank im Voraus!
code
void drawSpray1() {
// Bildschirm leeren
Tft.fillScreen();
// Button zeichnen
Tft.drawRectangle(20,230,200,70,WHITE);
// Button beschriften
Tft.drawString("Confirm",90,255,2,GREEN);
// Back Button
Tft.drawString("Venting performed?",80,130,2,RED);
Tft.drawRectangle(10,20,80,45,WHITE);
Tft.drawString("Back",15,60,2,WHITE);
// Home Button
Tft.drawRectangle(130,20,80,45,WHITE);
Tft.drawString("Home",152,30,2,WHITE);
// While Schleife zum Reagieren auf Druck.
while (true) {
// WICHTIG AUFPASSEN ZU WELCHEM MENÜ MAN WECHSELT!! EINDEUTIGE BESCHRIFTUNG
controlSpray1();
}
}
void controlSpray1()
{
// a point object holds x y and z coordinates.
Point p = ts.getPoint();
//map the ADC value read to into pixel co-ordinates
p.x = map(p.x, TS_MINX, TS_MAXX, 0, 240);
p.y = map(p.y, TS_MINY, TS_MAXY, 0, 320);
if (p.z > __PRESURE) {
// Button bestaetigung
if(p.x > 20 && p.x < 220 && p.y > 230 && p.y < 300) {
drawSpray2();
}
//Back Button
if(p.x > 10 && p.x < 90 && p.y > 20 && p.y < 65) {
// VORSICHT!! IMMER AUFPASSEN, DASS AUF VORHERIGE SEITE VERWIESEN WIRD
drawMainMenu();
}
//Home Button IMMER AUF HAUPTMENÜ
if(p.x > 150 && p.x < 230 && p.y > 20 && p.y < 65) {
drawMainMenu();
}
}
}
void drawSpray2() {
// Bildschirm leeren
Tft.fillScreen();
Tft.drawRectangle(20,230,200,70,WHITE);
Tft.drawString("Start spray",70,260,2,GREEN);
// Back Button
Tft.drawRectangle(10,20,80,45,WHITE);
Tft.drawString("Back",15,60,2,WHITE);
// Home Button
Tft.drawRectangle(130,20,80,45,WHITE);
Tft.drawString("Home",152,30,2,WHITE)
// While Schleife zum Reagieren auf Druck.
while (true) {
controlSpray2();
}
}
void controlSpray2()
{
// a point object holds x y and z coordinates.
Point p = ts.getPoint();
//map the ADC value read to into pixel co-ordinates
p.x = map(p.x, TS_MINX, TS_MAXX, 0, 240);
p.y = map(p.y, TS_MINY, TS_MAXY, 0, 320);
if (p.z > __PRESURE) {
// DELAY DAFÜR, DASS FUNKTION NUR EINMAL AUSGEFÜHRT WIRD!! WICHTIG, Auf Nächste Seite Wechseln
delay(1000);
// Button bestaetigung
if(p.x > 20 && p.x < 220 && p.y > 230 && p.y < 300) {
//Aufruf der Funktion um zu spruehen
saeftyFunctionSpray();
}
//Back Button
if(p.x > 10 && p.x < 90 && p.y > 20 && p.y < 65) {
drawSpray1();
}
//Home Button
if(p.x > 150 && p.x < 230 && p.y > 20 && p.y < 65) {
drawMainMenu();
}
}
code