Adafruit 2.8" TFT, ILI9341 VS. 1284p

Hogyha sikeresen O/PLED illetve hagyományos alfanumerikus - esetleg tán grafikus kijelzővel gyűlik meg a baja valakinek:)
Trebi
Újonc
Újonc
Hozzászólások: 3
Csatlakozott: 2017. június 19. hétfő, 6:48

Adafruit 2.8" TFT, ILI9341 VS. 1284p

HozzászólásSzerző: Trebi » 2017. június 20. kedd, 9:34

Sziasztok!
Segítségre lenne szükségem.
Van egy ilyen https://learn.adafruit.com/adafruit-2-dot-8-color-tft-touchscreen-breakout-v2/overview kijelzőm amit egy 1284p IC-s Arduino kompatibilis lappal szeretném üzemeltetni. A "maniacbug Mighty 1284P 16 Mhz using optiboot" boarddal kiválasztva az Arduino 1.6.8 verziót használva az alap programokat fel tudom tölteni. Arzomban a kijelzővel nem boldogulok! Fehér kijelzőnél tovább nem jutok. Korábban már használtam MEGA és DUE lapokat Mcufreind kijelzőkkel UTFT és TFTLCD könyvtárakkal. Tudnátok bármilyen segítséget nyújtani 1284p-hez példakönyvtár, bekötések stb.
Előre is köszönöm!

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9716
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Adafruit 2.8" TFT, ILI9341 VS. 1284p

HozzászólásSzerző: Robert » 2017. június 20. kedd, 15:24

Arduino által _nem_ natívan támogatott rendszerek esetén a járulékos/külső eljáráskönyvtárak nem nagyon működnek - ha alacsonyszintű rutinokat kezelnek.
Ezek kibogozása, átírása nem 1-2 perces folyamat.
Nem lehet áttérni Mega2560 panelra? Sokkal gyorsabb lenne a fejlesztés....


Kérdés: Más (alap) UNO/Mega lapon _ez a kijelző_ feléledt már? Futottam belem hibás példányba, ami nem működött. Az 5V-3.3V illesztések igaz megvannak? A chip NEM 5V toleráns!
http://www.tavir.hu - a gazda :)

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3210
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

Re: Adafruit 2.8" TFT, ILI9341 VS. 1284p

HozzászólásSzerző: kapu48 » 2017. június 20. kedd, 15:27


Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3210
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

Re: Adafruit 2.8" TFT, ILI9341 VS. 1284p

HozzászólásSzerző: kapu48 » 2017. június 20. kedd, 15:38

Illesztésnek, Ott van a hátulján a 2db. 74LVC245 párhuzamos Port.

Trebi
Újonc
Újonc
Hozzászólások: 3
Csatlakozott: 2017. június 19. hétfő, 6:48

Re: Adafruit 2.8" TFT, ILI9341 VS. 1284p

HozzászólásSzerző: Trebi » 2017. június 21. szerda, 16:32

Sajnos már a fordításnál elakadok:

In file included from C:\Program Files (x86)\Arduino\libraries\TFTLCD-Library\Adafruit_TFTLCD.cpp:19:0:

C:\Program Files (x86)\Arduino\libraries\TFTLCD-Library\pin_magic.h:350:3: error: #error "Board type unsupported / not recognized"

#error "Board type unsupported / not recognized"

^

C:\Program Files (x86)\Arduino\libraries\TFTLCD-Library\Adafruit_TFTLCD.cpp: In member function 'void Adafruit_TFTLCD::write8(uint8_t)':

C:\Program Files (x86)\Arduino\libraries\TFTLCD-Library\Adafruit_TFTLCD.cpp:962:21: error: 'write8inline' was not declared in this scope

write8inline(value);

^

C:\Program Files (x86)\Arduino\libraries\TFTLCD-Library\Adafruit_TFTLCD.cpp: In member function 'uint8_t Adafruit_TFTLCD::read8fn()':

C:\Program Files (x86)\Arduino\libraries\TFTLCD-Library\Adafruit_TFTLCD.cpp:969:21: error: 'read8inline' was not declared in this scope

read8inline(result);

^

C:\Program Files (x86)\Arduino\libraries\TFTLCD-Library\Adafruit_TFTLCD.cpp: In member function 'void Adafruit_TFTLCD::setWriteDir()':

C:\Program Files (x86)\Arduino\libraries\TFTLCD-Library\Adafruit_TFTLCD.cpp:976:21: error: 'setWriteDirInline' was not declared in this scope

setWriteDirInline();

^

C:\Program Files (x86)\Arduino\libraries\TFTLCD-Library\Adafruit_TFTLCD.cpp: In member function 'void Adafruit_TFTLCD::setReadDir()':

C:\Program Files (x86)\Arduino\libraries\TFTLCD-Library\Adafruit_TFTLCD.cpp:982:20: error: 'setReadDirInline' was not declared in this scope

setReadDirInline();

^

exit status 1
Error compiling for board "maniacbug" Mighty 1284p 16MHz using Optiboot.

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9716
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Adafruit 2.8" TFT, ILI9341 VS. 1284p

HozzászólásSzerző: Robert » 2017. június 21. szerda, 19:15

Ott a válasz - amit írtam: Board not supported.
A cp és h állományba bújj bele, hogy a M1284P chip támogatott legyen (regiszterek, portok pontosítása, kiegészítése). Az összes rész, ahol #ifdef chinév szerepel, ott nincs benne a M1284P, hanem csak pl. Due, M2560, M1280....

Ennek bogarászása, beírása - gyakorlattól függően 2...4 óra.....
http://www.tavir.hu - a gazda :)

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3210
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

Re: Adafruit 2.8" TFT, ILI9341 VS. 1284p

HozzászólásSzerző: kapu48 » 2017. június 22. csütörtök, 6:54

Pár jó tanács!

Mivel új Boardot akarsz rendszerbe állítani, biztos, hogy bele kel nyúlni a meglevő libbe.
Ezért nem jó, ha a rendszer könyvtárba rakod, mert ott írásvédett lesz.
Inkább rakd át a helyére: c:\Users\Name\Documents\Arduino\libraries\TFTLCD-Library\

Nekem Mega1280 boardra lefordult a példaprogram. Pár jelentéktelen Warning-al. (Amiket persze illik kijavítani!)

Már csak annyi a dolgod, hogy Ahol a ilyesmi fordítási feltételek szerepelnek:
#elif defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2561__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1280__)
Beszúrod plusz a te: || defined(__AVR_ATmega1284__) –esedet.
Azt nem tudom mi a különbség a felsorolt procik között? Ha valami nem jól müködik? Azt javítani kel.

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9716
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Adafruit 2.8" TFT, ILI9341 VS. 1284p

HozzászólásSzerző: Robert » 2017. június 22. csütörtök, 7:32

Az 1284p az valahol az atmega128 és az atmega256 közt van - csak DIP tokban.
A regiszterek elnevezései, a funkcinális lábak eltérőek az előző chipektől, Ezért nem csak a feltételrendszereket kell piszkálni...:(
http://www.tavir.hu - a gazda :)

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3210
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

Re: Adafruit 2.8" TFT, ILI9341 VS. 1284p

HozzászólásSzerző: kapu48 » 2017. június 22. csütörtök, 8:06

Igen!
Itt kezdődik a munka érdekesebb része!

Trebi
Újonc
Újonc
Hozzászólások: 3
Csatlakozott: 2017. június 19. hétfő, 6:48

Re: Adafruit 2.8" TFT, ILI9341 VS. 1284p

HozzászólásSzerző: Trebi » 2017. június 23. péntek, 9:45

kapu48 írta:Pár jó tanács!

Mivel új Boardot akarsz rendszerbe állítani, biztos, hogy bele kel nyúlni a meglevő libbe.
Ezért nem jó, ha a rendszer könyvtárba rakod, mert ott írásvédett lesz.
Inkább rakd át a helyére: c:\Users\Name\Documents\Arduino\libraries\TFTLCD-Library\

Nekem Mega1280 boardra lefordult a példaprogram. Pár jelentéktelen Warning-al. (Amiket persze illik kijavítani!)

Már csak annyi a dolgod, hogy Ahol a ilyesmi fordítási feltételek szerepelnek:
#elif defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2561__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1280__)
Beszúrod plusz a te: || defined(__AVR_ATmega1284__) –esedet.
Azt nem tudom mi a különbség a felsorolt procik között? Ha valami nem jól müködik? Azt javítani kel.


Kösz a segítséget!

Átpakoltam a c:\Users\Name\Documents\Arduino\libraries\TFTLCD könyvtárat, beszúrtam a TFTLCD.cpp-be mindenhova a
|| defined(__AVR_ATmega1284__) -ot.

Most ez a fordítási hibaüzenet:
WARNING: Spurious .github folder in 'Adafruit ILI9340' library
C:\Users\Norbi\Documents\Arduino\libraries\TFTLCD\TFTLCD.cpp:915:5: error: #error "No pins defined!"

#error "No pins defined!" ^

C:\Users\Norbi\Documents\Arduino\libraries\TFTLCD\TFTLCD.cpp:943:5: error: #error "No pins defined!"

#error "No pins defined!" ^

C:\Users\Norbi\Documents\Arduino\libraries\TFTLCD\TFTLCD.cpp:1000:5: error: #error "No pins defined!"

#error "No pins defined!" ^

C:\Users\Norbi\Documents\Arduino\libraries\TFTLCD\TFTLCD.cpp:1044:5: error: #error "No pins defined!"

#error "No pins defined!" ^

exit status 1
Error compiling for board "maniacbug" Mighty 1284p 16MHz using Optiboot.

Hogyan tudom a PIn-eket definiálni?

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3210
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

Re: Adafruit 2.8" TFT, ILI9341 VS. 1284p

HozzászólásSzerző: kapu48 » 2017. június 23. péntek, 11:44

Kezdő létedre eléggé nehéz válalkozás!

Most jön az a rész, amit Robi említett. Hogy eltérő a tokozás, és ezzel összefüggően a lábak elnevezése.
Ezért feltételes fordítási direktívákat kel alkalmazni.

Most keresel adatlapot valamelyikhez (__AVR_ATmega1281__) || defined(__AVR_ATmega2561__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1280__)
Nekem ez ismerős: ATmega1280.
És az új alkatrész adatlapja: ATmega1284

Jelzi, hogy melyik fájl, melyik sor, hányadik karakternél van a hiba:
...\libraries\TFTLCD\TFTLCD.cpp:915:5: error:

Ide kell a feltételes fordítás, így:
#if defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2561__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1280__)
Itt legyenek az eredeti sorok

#elif defined(__AVR_ATmega1284__)
Ide kel a javítást szerkeszteni!
Vagy más a néven szerepel a pin, vagy nem is létezik?

#endif

Van a: pin_magic.h
Az egész #ifdef ... #else .... #endif, részletezést értelmezned kel

Ott láthatod hogyan van feltételes fordításba egyes Boardok pin kiosztása deklarálva:
Például: #ifdef USE_ADAFRUIT_SHIELD_PINOUT
...
#endif

Ezek alapján létrehozol egy Új Boardot az alkalmazott névvel:
Valahogy így csak csupa nagybetűvel???
#ifdef Mighty_1284p_16MHz_using_Optiboot
...

Majd láthatod anevek minden boardnál egy formák, Csak a hozzárendelt értékek mások.
Pl.:
#define RD_MASK B00000001

...
#define RD_MASK B10000000


Vissza: “LCD kezelése”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 3 vendég