Pomoc s chybou error: ‚displej‘ does not name a type

Odpovědět
chaska
Příspěvky: 4
Registrován: 01 bře 2018, 11:19
Reputation: 0

Pomoc s chybou error: ‚displej‘ does not name a type

Příspěvek od chaska » 01 bře 2018, 13:42

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

martinius96
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

Příspěvek od martinius96 » 01 bře 2018, 16:38

Obecne: nemas objekt displej, teda ti tam cast kodu chyba kde to definujes.

chaska
Příspěvky: 4
Registrován: 01 bře 2018, 11:19
Reputation: 0

Re: Pomoc s chybou error: ‚displej‘ does not name a type

Příspěvek od chaska » 01 bře 2018, 17:01

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... :D

Wojta
Příspěvky: 184
Registrován: 22 črc 2017, 16:39
Reputation: 0

Re: Pomoc s chybou error: ‚displej‘ does not name a type

Příspěvek od Wojta » 02 bře 2018, 06:42

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 ;)

chaska
Příspěvky: 4
Registrován: 01 bře 2018, 11:19
Reputation: 0

Re: Pomoc s chybou error: ‚displej‘ does not name a type

Příspěvek od chaska » 02 bře 2018, 08:57

Díky, zkusím...:)

chaska
Příspěvky: 4
Registrován: 01 bře 2018, 11:19
Reputation: 0

Re: Pomoc s chybou error: ‚displej‘ does not name a type

Příspěvek od chaska » 06 bře 2018, 09:36

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() {
;
}

nem0035
Příspěvky: 4
Registrován: 30 bře 2020, 08:52
Reputation: 0

Re: Pomoc s chybou error: ‚displej‘ does not name a type

Příspěvek od nem0035 » 31 bře 2020, 06:47

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?

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 6 hostů