Problémy s Marlin a displejem 12864

Po prvním nastvení zkompilování a narání Marlin FW vypadalo vše skvěle a radost byla veliká, protože to bylo moje první setkání s deskou arduino, od jaktěživa jsem byl spíše na Malinu. Ale ihned po prvním spuštěním jsem zjistil že displej nezobrazuje co má, vlastně zobrazuje co má ale špatně, veškerá grafika i písmena byla rozhozená a téměř nečitelná viz. tento obrázek obrázek.

 

S čím jsme pracoval

Arduino IDE 1.8.10
Adruino MEGA
RepRapDiscount 12864
RAMPS 1.6
TMC 2130
Po sestavení a zkompilování Marlinu jsem pripojil arduino a nahrál Marlin na desku.

Co tento problém spusobuje a ho napravit

Po delším googlení jsem se dočel názor že tohle spusobuje špatně napájený a přehozený konektor na desce dipleje. Jenže tohle nemusí být vždy náš problém. U některych desek je to možné ale ve vetšině případů se jedná o špatné časování //#define ST7920_DELAY_2 DELAY_NS(0) 

  1. Najdeme v Arduino IDE soubor ultralcd_st7920_u8glib_rrd.h
  2. Vyhledáme sekvenci
    // If you want you can define your own set of delays in Configuration.h
    //#define ST7920_DELAY_1 DELAY_NS(0)
    //#define ST7920_DELAY_2 DELAY_NS(0)
    //#define ST7920_DELAY_3 DELAY_NS(0)
  3. a odkomentujeme všechny tři řádky, takže to potom bude vypadat takto:
    // If you want you can define your own set of delays in Configuration.h
    #define ST7920_DELAY_1 DELAY_NS(0)
    #define ST7920_DELAY_2 DELAY_NS(0)
    #define ST7920_DELAY_3 DELAY_NS(0)

    Nakonec přidáme hodnotu 188 do řádku #define ST7920_DELAY_2 DELAY_NS(0) takže vysledný blok úprav bude vypadat takto:

    // If you want you can define your own set of delays in Configuration.h

    #define ST7920_DELAY_1 DELAY_NS(0)
    #define ST7920_DELAY_2 DELAY_NS(188)
    #define ST7920_DELAY_3 DELAY_NS(0

  4. Nakonec uložíme, skompilujeme a nahrajeme do Arduina Mega. Restartujeme desku a pokud se nejedná o obráceně napajené piny na desce nebo nejaký jiny problém s displejem tak nám naskočí uvítací a hlavně dobře čitelná obrazovka Marlina

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *