131 lines
5.9 KiB
C
131 lines
5.9 KiB
C
|
#ifndef SSD1306_H_
|
||
|
#define SSD1306_H_
|
||
|
|
||
|
#include <inttypes.h>
|
||
|
|
||
|
#define SSD1306_WIDTH 128
|
||
|
#define SSD1306_HEIGHT 32
|
||
|
#define SSD1306BUFFERSIZE SSD1306_WIDTH * SSD1306_HEIGHT / 8
|
||
|
|
||
|
void SSD1306_Init(int i2c_master_port, char address);
|
||
|
void SSD1306_WriteCMD(unsigned char reg);
|
||
|
void SSD1306_WriteData(unsigned char *data,unsigned char len);
|
||
|
|
||
|
void SSD1306_UpdateScreen();
|
||
|
void SSD1306_WriteChar(char c);
|
||
|
void SSD1306_SetCursor(char x,char y);
|
||
|
void SSD1306_WriteString(char *c, char len);
|
||
|
|
||
|
void SSD1306_SetTextArea(char offsetX, char width, char offsetY, char height);
|
||
|
void SSD1306_SetPixel(char x, char y, char value);
|
||
|
void SSD1306_LoadImage(char x, char y, char ** data, char width,char height);
|
||
|
|
||
|
void SSD1306_Reset();
|
||
|
void SSD1306_SetContrast(char contrast);
|
||
|
void SSD1306_SetDisplayOn(char OnOff);
|
||
|
|
||
|
void SSD1306_Clear();
|
||
|
|
||
|
|
||
|
extern uint8_t Font6x8[];
|
||
|
|
||
|
/*
|
||
|
static const uint8_t Font6x8 [] = {
|
||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // sp
|
||
|
0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x20, 0x00, // !
|
||
|
0x50, 0x50, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, // "
|
||
|
0x50, 0x50, 0xf8, 0x50, 0xf8, 0x50, 0x50, 0x00, // #
|
||
|
0x20, 0x78, 0xa0, 0x70, 0x28, 0xf0, 0x20, 0x00, // $
|
||
|
0xc0, 0xc8, 0x10, 0x20, 0x40, 0x98, 0x18, 0x00, // %
|
||
|
0x40, 0xa0, 0xa0, 0x40, 0xa8, 0x90, 0x68, 0x00, // &
|
||
|
0x30, 0x30, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, // '
|
||
|
0x10, 0x20, 0x40, 0x40, 0x40, 0x20, 0x10, 0x00, // (
|
||
|
0x40, 0x20, 0x10, 0x10, 0x10, 0x20, 0x40, 0x00, // )
|
||
|
0x20, 0xa8, 0x70, 0xf8, 0x70, 0xa8, 0x20, 0x00, // *
|
||
|
0x00, 0x20, 0x20, 0xf8, 0x20, 0x20, 0x00, 0x00, // +
|
||
|
0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x20, 0x00, // ,
|
||
|
0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, // -
|
||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, // .
|
||
|
0x00, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, // /
|
||
|
0x70, 0x88, 0x98, 0xa8, 0xc8, 0x88, 0x70, 0x00, // 0
|
||
|
0x20, 0x60, 0x20, 0x20, 0x20, 0x20, 0x70, 0x00, // 1
|
||
|
0x70, 0x88, 0x08, 0x70, 0x80, 0x80, 0xf8, 0x00, // 2
|
||
|
0xf8, 0x08, 0x10, 0x30, 0x08, 0x88, 0x70, 0x00, // 3
|
||
|
0x10, 0x30, 0x50, 0x90, 0xf8, 0x10, 0x10, 0x00, // 4
|
||
|
0xf8, 0x80, 0xf0, 0x08, 0x08, 0x88, 0x70, 0x00, // 5
|
||
|
0x38, 0x40, 0x80, 0xf0, 0x88, 0x88, 0x70, 0x00, // 6
|
||
|
0xf8, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, // 7
|
||
|
0x70, 0x88, 0x88, 0x70, 0x88, 0x88, 0x70, 0x00, // 8
|
||
|
0x70, 0x88, 0x88, 0x78, 0x08, 0x10, 0xe0, 0x00, // 9
|
||
|
0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, // :
|
||
|
0x00, 0x00, 0x20, 0x00, 0x20, 0x20, 0x40, 0x00, // ;
|
||
|
0x08, 0x10, 0x20, 0x40, 0x20, 0x10, 0x08, 0x00, // <
|
||
|
0x00, 0x00, 0xf8, 0x00, 0xf8, 0x00, 0x00, 0x00, // =
|
||
|
0x40, 0x20, 0x10, 0x08, 0x10, 0x20, 0x40, 0x00, // >
|
||
|
0x70, 0x88, 0x08, 0x30, 0x20, 0x00, 0x20, 0x00, // ?
|
||
|
0x70, 0x88, 0xa8, 0xb8, 0xb0, 0x80, 0x78, 0x00, // @
|
||
|
0x20, 0x50, 0x88, 0x88, 0xf8, 0x88, 0x88, 0x00, // A
|
||
|
0xf0, 0x88, 0x88, 0xf0, 0x88, 0x88, 0xf0, 0x00, // B
|
||
|
0x70, 0x88, 0x80, 0x80, 0x80, 0x88, 0x70, 0x00, // C
|
||
|
0xf0, 0x88, 0x88, 0x88, 0x88, 0x88, 0xf0, 0x00, // D
|
||
|
0xf8, 0x80, 0x80, 0xf0, 0x80, 0x80, 0xf8, 0x00, // E
|
||
|
0xf8, 0x80, 0x80, 0xf0, 0x80, 0x80, 0x80, 0x00, // F
|
||
|
0x78, 0x88, 0x80, 0x80, 0x98, 0x88, 0x78, 0x00, // G
|
||
|
0x88, 0x88, 0x88, 0xf8, 0x88, 0x88, 0x88, 0x00, // H
|
||
|
0x70, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x00, // I
|
||
|
0x38, 0x10, 0x10, 0x10, 0x10, 0x90, 0x60, 0x00, // J
|
||
|
0x88, 0x90, 0xa0, 0xc0, 0xa0, 0x90, 0x88, 0x00, // K
|
||
|
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xf8, 0x00, // L
|
||
|
0x88, 0xd8, 0xa8, 0xa8, 0xa8, 0x88, 0x88, 0x00, // M
|
||
|
0x88, 0x88, 0xc8, 0xa8, 0x98, 0x88, 0x88, 0x00, // N
|
||
|
0x70, 0x88, 0x88, 0x88, 0x88, 0x88, 0x70, 0x00, // O
|
||
|
0xf0, 0x88, 0x88, 0xf0, 0x80, 0x80, 0x80, 0x00, // P
|
||
|
0x70, 0x88, 0x88, 0x88, 0xa8, 0x90, 0x68, 0x00, // Q
|
||
|
0xf0, 0x88, 0x88, 0xf0, 0xa0, 0x90, 0x88, 0x00, // R
|
||
|
0x70, 0x88, 0x80, 0x70, 0x08, 0x88, 0x70, 0x00, // S
|
||
|
0xf8, 0xa8, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, // T
|
||
|
0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x70, 0x00, // U
|
||
|
0x88, 0x88, 0x88, 0x88, 0x88, 0x50, 0x20, 0x00, // V
|
||
|
0x88, 0x88, 0x88, 0xa8, 0xa8, 0xa8, 0x50, 0x00, // W
|
||
|
0x88, 0x88, 0x50, 0x20, 0x50, 0x88, 0x88, 0x00, // X
|
||
|
0x88, 0x88, 0x50, 0x20, 0x20, 0x20, 0x20, 0x00, // Y
|
||
|
0xf8, 0x08, 0x10, 0x70, 0x40, 0x80, 0xf8, 0x00, // Z
|
||
|
0x78, 0x40, 0x40, 0x40, 0x40, 0x40, 0x78, 0x00, // [
|
||
|
0x00, 0x80, 0x40, 0x20, 0x10, 0x08, 0x00, 0x00, // \
|
||
|
0x78, 0x08, 0x08, 0x08, 0x08, 0x08, 0x78, 0x00, // ]
|
||
|
0x20, 0x50, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, // ^
|
||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, // _
|
||
|
0x60, 0x60, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, // `
|
||
|
0x00, 0x00, 0x60, 0x10, 0x70, 0x90, 0x78, 0x00, // a
|
||
|
0x80, 0x80, 0xb0, 0xc8, 0x88, 0xc8, 0xb0, 0x00, // b
|
||
|
0x00, 0x00, 0x70, 0x88, 0x80, 0x88, 0x70, 0x00, // c
|
||
|
0x08, 0x08, 0x68, 0x98, 0x88, 0x98, 0x68, 0x00, // d
|
||
|
0x00, 0x00, 0x70, 0x88, 0xf8, 0x80, 0x70, 0x00, // e
|
||
|
0x10, 0x28, 0x20, 0x70, 0x20, 0x20, 0x20, 0x00, // f
|
||
|
0x00, 0x00, 0x70, 0x98, 0x98, 0x68, 0x08, 0x00, // g
|
||
|
0x80, 0x80, 0xb0, 0xc8, 0x88, 0x88, 0x88, 0x00, // h
|
||
|
0x20, 0x00, 0x60, 0x20, 0x20, 0x20, 0x70, 0x00, // i
|
||
|
0x10, 0x00, 0x10, 0x10, 0x10, 0x90, 0x60, 0x00, // j
|
||
|
0x80, 0x80, 0x90, 0xa0, 0xc0, 0xa0, 0x90, 0x00, // k
|
||
|
0x60, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x00, // l
|
||
|
0x00, 0x00, 0xd0, 0xa8, 0xa8, 0xa8, 0xa8, 0x00, // m
|
||
|
0x00, 0x00, 0xb0, 0xc8, 0x88, 0x88, 0x88, 0x00, // n
|
||
|
0x00, 0x00, 0x70, 0x88, 0x88, 0x88, 0x70, 0x00, // o
|
||
|
0x00, 0x00, 0xb0, 0xc8, 0xc8, 0xb0, 0x80, 0x00, // p
|
||
|
0x00, 0x00, 0x68, 0x98, 0x98, 0x68, 0x08, 0x00, // q
|
||
|
0x00, 0x00, 0xb0, 0xc8, 0x80, 0x80, 0x80, 0x00, // r
|
||
|
0x00, 0x00, 0x78, 0x80, 0x70, 0x08, 0xf0, 0x00, // s
|
||
|
0x20, 0x20, 0xf8, 0x20, 0x20, 0x28, 0x10, 0x00, // t
|
||
|
0x00, 0x00, 0x88, 0x88, 0x88, 0x98, 0x68, 0x00, // u
|
||
|
0x00, 0x00, 0x88, 0x88, 0x88, 0x50, 0x20, 0x00, // v
|
||
|
0x00, 0x00, 0x88, 0x88, 0xa8, 0xa8, 0x50, 0x00, // w
|
||
|
0x00, 0x00, 0x88, 0x50, 0x20, 0x50, 0x88, 0x00, // x
|
||
|
0x00, 0x00, 0x88, 0x88, 0x78, 0x08, 0x88, 0x00, // y
|
||
|
0x00, 0x00, 0xf8, 0x10, 0x20, 0x40, 0xf8, 0x00, // z
|
||
|
0x10, 0x20, 0x20, 0x40, 0x20, 0x20, 0x10, 0x00, // {
|
||
|
0x20, 0x20, 0x20, 0x00, 0x20, 0x20, 0x20, 0x00, // |
|
||
|
0x40, 0x20, 0x20, 0x10, 0x20, 0x20, 0x40, 0x00, // }
|
||
|
0x40, 0xa8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ~
|
||
|
};*/
|
||
|
|
||
|
#endif
|