#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_ST7796S.h>
#include <U8g2_for_Adafruit_GFX.h>
#include "colors.h"
#define TFT_CS 5
#define TFT_DC 1
#define TFT_RST 4
#define TFT_SCLK 12 // SCL
#define TFT_MOSI 11 // SDA
#define TFT_MISO 13
// Initialize the display
//Adafruit_ST7796S tft = Adafruit_ST7796S(&SPI, TFT_CS, TFT_DC, TFT_RST);
Adafruit_ST7796S tft(TFT_CS, TFT_DC, TFT_RST);
//Adafruit_ST7796S tft(TFT_CS, TFT_DC);
U8G2_FOR_ADAFRUIT_GFX u8g2;
void setup() {
Serial.begin(115200);
pinMode(TFT_CS, OUTPUT);
SPI.begin(TFT_SCLK, TFT_MISO, TFT_MOSI); // 12, 13, 11
tft.init(320, 480, 0, 0, ST7796S_BGR);
//tft.enableDisplay(true);
//tft.setRotation(0);
//tft.fillScreen(TFT_BLACK);
tft.drawRect(0, 0, tft.width(), tft.height(), TFT_BLUE);
// Narysuj różne kolory
tft.fillRect( 10, 10, 50, 50, TFT_RED); // 0xF800
tft.fillRect(110, 10, 50, 50, TFT_GREEN); // 0x07E0
tft.fillRect(210, 10, 50, 50, TFT_BLUE); // 0x001F
// U8g2
u8g2.begin(tft);
// B - bold, I - italic
//u8g2.setFont(u8g2_font_unifont_te); // 16x16px za małe
//u8g2.setFont(u8g2_font_helvB14_te);
//u8g2.setFont(u8g2_font_helvR14_te);
//u8g2.setFont(u8g2_font_ncenB14_te);
//u8g2.setFont(u8g2_font_ncenR14_te); // ok wersaliki
//u8g2.setFont(u8g2_font_lubB14_te);
//u8g2.setFont(u8g2_font_lubBI14_te);
//u8g2.setFont(u8g2_font_lubI14_te);
//u8g2.setFont(u8g2_font_luBIS14_te);
//u8g2.setFont(u8g2_font_lubR14_te); // ok
//u8g2.setFont(u8g2_font_luBS14_te);
//u8g2.setFont(u8g2_font_luIS14_te); // ok
//u8g2.setFont(u8g2_font_luRS14_te); // ok szeroka
u8g2.setFont(u8g2_font_maniac_te); // duża, kontur
//u8g2.setFont(u8g2_font_10x20_te); // ok
//u8g2.setFont(u8g2_font_t0_22_te); // hmm
//u8g2.setFont(u8g2_font_DigitalDiscoThin_te); // fajna mała
//u8g2.setFont(u8g2_font_Born2bSportyV2_te);
//u8g2.setFont(u8g2_font_Born2bSportySlab_te);
//u8g2.setFont(u8g2_font_Born2bSportySlab_t_all);
//u8g2.setFont(u8g2_font_spleen8x16_me); // brak?
//u8g2.setFont(u8g2_font_Pixellari_te);
//u8g2.setFont(u8g2_font_DigitalDisco_te);
//u8g2.setFont(u8g2_font_t0_16_te);
//u8g2.setFont(u8g2_font_t0_30_me);
u8g2.setFontMode(0);
u8g2.setBackgroundColor(TFT_BLACK);
u8g2.setForegroundColor(TFT_WHITE);
u8g2.setCursor(65, 150);
u8g2.print("Hello ST7796");
u8g2.setCursor(70, 200);
u8g2.print("by Kshyhoo");
u8g2.setCursor(70, 250);
u8g2.print("ĄĆĘŁŃÓŚŻŹ");
u8g2.setCursor(75, 300);
u8g2.print("ąćęłńóśżź");
/*
int lineHeight = 24;
int y = lineHeight;
for (int i = 1; i <= 40; i++) {
u8g2.setCursor(10, y);
u8g2.print(i);
// pozioma linia dla orientacji
tft.drawLine(0, y, tft.width(), y, TFT_YELLOW);
// odległość między wierszami
y += lineHeight;
}*/
}
void loop() {
}