LoRa_APRS_iGate/src/display.cpp

133 lines
2.9 KiB
C++
Raw Normal View History

2020-03-18 23:24:23 +01:00
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include "display.h"
2020-07-24 15:29:14 +02:00
#include "pins.h"
2020-11-08 00:07:43 +01:00
#include "logger.h"
2020-03-18 23:24:23 +01:00
2020-05-08 23:59:19 +02:00
Adafruit_SSD1306 display(128, 64, &Wire, OLED_RST);
2020-03-18 23:24:23 +01:00
2020-03-19 22:02:24 +01:00
void setup_display()
2020-03-18 23:24:23 +01:00
{
2020-05-08 23:59:19 +02:00
pinMode(OLED_RST, OUTPUT);
digitalWrite(OLED_RST, LOW);
2020-03-18 23:24:23 +01:00
delay(20);
2020-05-08 23:59:19 +02:00
digitalWrite(OLED_RST, HIGH);
2020-03-18 23:24:23 +01:00
2020-05-08 23:59:19 +02:00
Wire.begin(OLED_SDA, OLED_SCL);
2020-03-18 23:24:23 +01:00
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3c, false, false))
{
2020-11-08 00:07:43 +01:00
logPrintlnE("SSD1306 allocation failed");
2020-03-18 23:24:23 +01:00
while (1);
}
2020-11-08 00:07:43 +01:00
logPrintlnI("Display init done!");
}
2020-03-18 23:24:23 +01:00
void turn_off_display()
{
display.ssd1306_command(SSD1306_DISPLAYOFF);
2020-03-18 23:24:23 +01:00
}
void show_display(String header, int wait)
{
display.clearDisplay();
display.setTextColor(WHITE);
display.setTextSize(2);
display.setCursor(0,0);
display.println(header);
display.display();
delay(wait);
}
2020-03-19 22:02:24 +01:00
void show_display(String header, String line1, int wait)
2020-03-18 23:24:23 +01:00
{
display.clearDisplay();
display.setTextColor(WHITE);
display.setTextSize(2);
display.setCursor(0,0);
display.println(header);
display.setTextSize(1);
display.setCursor(0,16);
display.println(line1);
display.display();
delay(wait);
}
2020-03-19 22:02:24 +01:00
void show_display(String header, String line1, String line2, int wait)
2020-03-18 23:24:23 +01:00
{
display.clearDisplay();
display.setTextColor(WHITE);
display.setTextSize(2);
display.setCursor(0,0);
display.println(header);
display.setTextSize(1);
display.setCursor(0,16);
display.println(line1);
display.setCursor(0,26);
display.println(line2);
display.display();
delay(wait);
}
2020-03-19 22:02:24 +01:00
void show_display(String header, String line1, String line2, String line3, int wait)
2020-03-18 23:24:23 +01:00
{
display.clearDisplay();
display.setTextColor(WHITE);
display.setTextSize(2);
display.setCursor(0,0);
display.println(header);
display.setTextSize(1);
display.setCursor(0,16);
display.println(line1);
display.setCursor(0,26);
display.println(line2);
display.setCursor(0,36);
display.println(line3);
display.display();
delay(wait);
}
2020-03-19 22:02:24 +01:00
void show_display(String header, String line1, String line2, String line3, String line4, int wait)
2020-03-18 23:24:23 +01:00
{
display.clearDisplay();
display.setTextColor(WHITE);
display.setTextSize(2);
display.setCursor(0,0);
display.println(header);
display.setTextSize(1);
display.setCursor(0,16);
display.println(line1);
display.setCursor(0,26);
display.println(line2);
display.setCursor(0,36);
display.println(line3);
display.setCursor(0,46);
display.println(line4);
display.display();
delay(wait);
}
2020-03-19 22:02:24 +01:00
void show_display(String header, String line1, String line2, String line3, String line4, String line5, int wait)
2020-03-18 23:24:23 +01:00
{
display.clearDisplay();
display.setTextColor(WHITE);
display.setTextSize(2);
display.setCursor(0,0);
display.println(header);
display.setTextSize(1);
display.setCursor(0,16);
display.println(line1);
display.setCursor(0,26);
display.println(line2);
display.setCursor(0,36);
display.println(line3);
display.setCursor(0,46);
display.println(line4);
display.setCursor(0,56);
display.println(line5);
display.display();
delay(wait);
}