57 lines
No EOL
1.3 KiB
C++
57 lines
No EOL
1.3 KiB
C++
#ifndef MORTSE_GFX_H
|
|
#define MORTSE_GFX_H
|
|
|
|
#include <Arduino.h>
|
|
#include <SPI.h>
|
|
#include <Wire.h>
|
|
#include <Adafruit_GFX.h>
|
|
#include <Adafruit_SSD1306.h>
|
|
|
|
#define SCREEN_WIDTH 128 // OLED display width, in pixels
|
|
#define SCREEN_HEIGHT 32 // OLED display height, in pixels
|
|
|
|
|
|
// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
|
|
// The pins for I2C are defined by the Wire-library.
|
|
// On an arduino UNO: A4(SDA), A5(SCL)
|
|
// On an arduino MEGA 2560: 20(SDA), 21(SCL)
|
|
// On an arduino LEONARDO: 2(SDA), 3(SCL), ...
|
|
#define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin)
|
|
#define SCREEN_ADDRESS 0x3C ///< See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32
|
|
//Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
|
|
|
|
#define NUMFLAKES 10 // Number of snowflakes in the animation example
|
|
|
|
#define LOGO_HEIGHT 16
|
|
#define LOGO_WIDTH 16
|
|
//static const unsigned char PROGMEM
|
|
|
|
class MortseGfx
|
|
{
|
|
private:
|
|
byte cursor_x;
|
|
byte cursor_y;
|
|
enum cursorState cursor_state;
|
|
|
|
|
|
public:
|
|
|
|
void MortseGfx();
|
|
|
|
void MoveCursor(byte row, byte column);
|
|
|
|
void SetChar(byte row, byte column, char value);
|
|
|
|
void ClearChar(byte row, byte column);
|
|
|
|
void SetCursorState(cursorState state);
|
|
|
|
|
|
}
|
|
|
|
enum cursorState {
|
|
hidden,
|
|
below
|
|
}
|
|
|
|
#endif |