Pomoc s chybou error: ‚displej‘ does not name a type
Pomoc s chybou error: ‚displej‘ does not name a type
Zdravím, mohu poprosit o začátečnickou radu? Mám projekt kdy přes wemos chci nahrávat data o teplotách na eink display. Teprve se vším začínám, chtěl jsem rozchodit alespoň zobrazení textu na eink displayi a zasekl jsem se na tom že ze zkopírovaného kódu dostávám chybovou hlášku:
sketch_feb28b:25: error: ‚displej‘ does not name a type
Šlo by obecně poradit co je špatně…?
Díky moc.
Čerpal jsem z jednoho článku na zive.cz kde je návod právě na tento display. Je to ale starší článek, takže mi na dotaz už nikdo nereagoval.
https://www.zive.cz/clanky/pojdme-progr ... fault.aspx?
Kód:
/*
Knihovna GxEPD pro praci s e-ink displejem
Vychazi z knihovny Adafruit GFX
https://github.com/ZinggJM/GxEPD
*/
#include <GxEPD.h>
// Vyber modelu displeje (GDEH029A1 je 2,9" Waveshare)
#include <GxGDEH029A1/GxGDEH029A1.cpp>
#include <GxIO/GxIO_SPI/GxIO_SPI.cpp>
#include <GxIO/GxIO.cpp>
/*
Displej je pripojeny skrze rozhrani SPI
Na desce Wemos LOLIN32 takto:
BUSY -> 4, RST -> 16, DC -> 17, CS -> 5, CLK -> 18, DIN -> 23
*/
GxIO_Class io(SPI, SS, 17, 16);
GxEPD_Class displej(io, 16, 4);
displej.init();
displej.setRotation(1);
displej.setTextColor(GxEPD_BLACK);
displej.setFont(&Lato_Heavy_35);
displej.setCursor(0, 40);
displej.print(AHOOOOJ);
displej.update();
Celá chybová hláška při kompilaci:
ketch_feb28b:20: error: 'displej' does not name a type
displej.init();
^
sketch_feb28b:21: error: 'displej' does not name a type
displej.setRotation(1);
^
sketch_feb28b:23: error: 'displej' does not name a type
displej.setTextColor(GxEPD_BLACK);
^
sketch_feb28b:24: error: 'displej' does not name a type
displej.setFont(&Lato_Heavy_35);
^
sketch_feb28b:25: error: 'displej' does not name a type
displej.setCursor(0, 40);
^
sketch_feb28b:26: error: 'displej' does not name a type
displej.print(AHOOOOJ);
^
sketch_feb28b:28: error: 'displej' does not name a type
displej.update();
^
Using library GxEPD-master at version 2.3.3 in folder: C:\Users\ja005723\Documents\Arduino\libraries\GxEPD-master
Using library SPI at version 1.0 in folder: C:\Users\ja005723\Documents\Arduino\hardware\espressif\esp32\libraries\SPI
Using library Adafruit-GFX-Library-master at version 1.2.3 in folder: C:\Users\ja005723\Documents\Arduino\libraries\Adafruit-GFX-Library-master
exit status 1
'displej' does not name a type
sketch_feb28b:25: error: ‚displej‘ does not name a type
Šlo by obecně poradit co je špatně…?
Díky moc.
Čerpal jsem z jednoho článku na zive.cz kde je návod právě na tento display. Je to ale starší článek, takže mi na dotaz už nikdo nereagoval.
https://www.zive.cz/clanky/pojdme-progr ... fault.aspx?
Kód:
/*
Knihovna GxEPD pro praci s e-ink displejem
Vychazi z knihovny Adafruit GFX
https://github.com/ZinggJM/GxEPD
*/
#include <GxEPD.h>
// Vyber modelu displeje (GDEH029A1 je 2,9" Waveshare)
#include <GxGDEH029A1/GxGDEH029A1.cpp>
#include <GxIO/GxIO_SPI/GxIO_SPI.cpp>
#include <GxIO/GxIO.cpp>
/*
Displej je pripojeny skrze rozhrani SPI
Na desce Wemos LOLIN32 takto:
BUSY -> 4, RST -> 16, DC -> 17, CS -> 5, CLK -> 18, DIN -> 23
*/
GxIO_Class io(SPI, SS, 17, 16);
GxEPD_Class displej(io, 16, 4);
displej.init();
displej.setRotation(1);
displej.setTextColor(GxEPD_BLACK);
displej.setFont(&Lato_Heavy_35);
displej.setCursor(0, 40);
displej.print(AHOOOOJ);
displej.update();
Celá chybová hláška při kompilaci:
ketch_feb28b:20: error: 'displej' does not name a type
displej.init();
^
sketch_feb28b:21: error: 'displej' does not name a type
displej.setRotation(1);
^
sketch_feb28b:23: error: 'displej' does not name a type
displej.setTextColor(GxEPD_BLACK);
^
sketch_feb28b:24: error: 'displej' does not name a type
displej.setFont(&Lato_Heavy_35);
^
sketch_feb28b:25: error: 'displej' does not name a type
displej.setCursor(0, 40);
^
sketch_feb28b:26: error: 'displej' does not name a type
displej.print(AHOOOOJ);
^
sketch_feb28b:28: error: 'displej' does not name a type
displej.update();
^
Using library GxEPD-master at version 2.3.3 in folder: C:\Users\ja005723\Documents\Arduino\libraries\GxEPD-master
Using library SPI at version 1.0 in folder: C:\Users\ja005723\Documents\Arduino\hardware\espressif\esp32\libraries\SPI
Using library Adafruit-GFX-Library-master at version 1.2.3 in folder: C:\Users\ja005723\Documents\Arduino\libraries\Adafruit-GFX-Library-master
exit status 1
'displej' does not name a type
-
- Příspěvky: 579
- Registrován: 01 srp 2017, 19:29
- Reputation: 0
- Bydliště: Poprad
- Kontaktovat uživatele:
Re: Pomoc s chybou error: ‚displej‘ does not name a type
Obecne: nemas objekt displej, teda ti tam cast kodu chyba kde to definujes.
Re: Pomoc s chybou error: ‚displej‘ does not name a type
Díky, to jsem myslel že je tato řádka:
GxEPD_Class displej(io, 16, 4);
Ale i tak díky. Zkusím dále googlit...
GxEPD_Class displej(io, 16, 4);
Ale i tak díky. Zkusím dále googlit...
Re: Pomoc s chybou error: ‚displej‘ does not name a type
Jen upozorním že je to chybně i v příkladech u této knihovny. To co voláš, tedy GxEPD je vlastně jenom třída v C++ která je nadefinovaná v GxEPD.h. Zkus se podívat na tvorbu tříd v C++, možná nakouknout do toho .h souboru a jsem si jistý že k řešení dojdeš. Jde jen o to si tu třídu inicializovat pod názvem "displej". Kdyby to nešlo tak se ozvi tady
Re: Pomoc s chybou error: ‚displej‘ does not name a type
Díky, zkusím...
Re: Pomoc s chybou error: ‚displej‘ does not name a type
Tak nevím.., metodou pokus omyl jsem složil tenhle kód který už sice jde kompilovat i nahrát na wemos, ale displej stejně nic nevypíše.
Pochopil jsem správně že to určující je "void setup()" ? Je to to jak incializovat třídu pod názvem "displej"?
Díky moc za rady...
/*
Knihovna GxEPD pro praci s e-ink displejem
Vychazi z knihovny Adafruit GFX
https://github.com/ZinggJM/GxEPD
*/
#include <GxEPD.h>
// Vyber modelu displeje (GDEH029A1 je 2,9" Waveshare)
#include <GxGDEH029A1/GxGDEH029A1.cpp>
#include <GxIO/GxIO_SPI/GxIO_SPI.cpp>
#include <GxIO/GxIO.cpp>
// #include <Lato_Heavy_35.h>
/*
Displej je pripojeny skrze rozhrani SPI
Na desce Wemos LOLIN32 takto:
BUSY -> 4, RST -> 16, DC -> 17, CS -> 5, CLK -> 18, DIN -> 23
*/
GxIO_Class io(SPI, SS, 17, 16);
GxEPD_Class displej(io, 16, 4);
// Funkce setup se zpracuje jen jednou po startu mikrokontroleru
void setup() {
// Nastartovani seriove linky
Serial.begin(115200);
// Nastartovani displeje
displej.init();
// Nastaveni orientace displeje na sirku
// Po smeru hodinovych rucicek (0 = na vysku, 1 = na sirku atd.)
displej.setRotation(1);
// Nastaveni barvy pisma na cernou
displej.setTextColor(GxEPD_BLACK);
displej.setCursor(0, 40);
displej.print("AHOOOOJ");
// Zatim vse kreslim jen do pameti
// Teprve nyni vykreslim pole pixelu na obrazovku
displej.update();
}
/* Funkci loop tentokrat nepouziji, jakmile se totiz
mikrokontroler po 30 sekundach probudi ze spanku, vse zacne nanovo
a opet se zpracuje funcke setup
*/
// void loop() {
;
}
Pochopil jsem správně že to určující je "void setup()" ? Je to to jak incializovat třídu pod názvem "displej"?
Díky moc za rady...
/*
Knihovna GxEPD pro praci s e-ink displejem
Vychazi z knihovny Adafruit GFX
https://github.com/ZinggJM/GxEPD
*/
#include <GxEPD.h>
// Vyber modelu displeje (GDEH029A1 je 2,9" Waveshare)
#include <GxGDEH029A1/GxGDEH029A1.cpp>
#include <GxIO/GxIO_SPI/GxIO_SPI.cpp>
#include <GxIO/GxIO.cpp>
// #include <Lato_Heavy_35.h>
/*
Displej je pripojeny skrze rozhrani SPI
Na desce Wemos LOLIN32 takto:
BUSY -> 4, RST -> 16, DC -> 17, CS -> 5, CLK -> 18, DIN -> 23
*/
GxIO_Class io(SPI, SS, 17, 16);
GxEPD_Class displej(io, 16, 4);
// Funkce setup se zpracuje jen jednou po startu mikrokontroleru
void setup() {
// Nastartovani seriove linky
Serial.begin(115200);
// Nastartovani displeje
displej.init();
// Nastaveni orientace displeje na sirku
// Po smeru hodinovych rucicek (0 = na vysku, 1 = na sirku atd.)
displej.setRotation(1);
// Nastaveni barvy pisma na cernou
displej.setTextColor(GxEPD_BLACK);
displej.setCursor(0, 40);
displej.print("AHOOOOJ");
// Zatim vse kreslim jen do pameti
// Teprve nyni vykreslim pole pixelu na obrazovku
displej.update();
}
/* Funkci loop tentokrat nepouziji, jakmile se totiz
mikrokontroler po 30 sekundach probudi ze spanku, vse zacne nanovo
a opet se zpracuje funcke setup
*/
// void loop() {
;
}
Re: Pomoc s chybou error: ‚displej‘ does not name a type
Ahoj, tak už si rozchodit eink?
Ahoj, četl jsem si článek o krmitku, kde uvádíš N-FET tranzistor, dá se to naprogramovat tak, že rtc mi pošlou signál k probuzení esp a po ukončení programu mi esp pošle signál na uspání? Dá se použít něco jiného místo N-FET?
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 11 hostů