Example board file and cpp file for the Auduino teensy and the SSD1351 driver
This commit is contained in:
parent
8e18cc30e2
commit
9f38cbc445
60
boards/addons/gdisp/board_SSD1351_teensy.cpp
Normal file
60
boards/addons/gdisp/board_SSD1351_teensy.cpp
Normal file
@ -0,0 +1,60 @@
|
||||
/*
|
||||
* This file is subject to the terms of the GFX License. If a copy of
|
||||
* the license was not distributed with this file, you can obtain one at:
|
||||
*
|
||||
* http://ugfx.org/license.html
|
||||
*/
|
||||
|
||||
#include <Arduino.h>
|
||||
#include <SPI.h>
|
||||
|
||||
// pin numbers
|
||||
#define SSD1351_DC 14
|
||||
#define SSD1351_R 15
|
||||
#define SSD1351_CS 16
|
||||
|
||||
// Predefine the routine with "C" prototypes
|
||||
extern "C" void ssd1351_init_board(void);
|
||||
extern "C" void ssd1351_setpin_reset(int state);
|
||||
extern "C" void ssd1351_acquire_bus(void);
|
||||
extern "C" void ssd1351_release_bus(void);
|
||||
extern "C" void ssd1351_write_cmd(unsigned char index);
|
||||
extern "C" void ssd1351_write_data(unsigned char data);
|
||||
|
||||
static SPISettings settings(12000000, MSBFIRST, SPI_MODE0);
|
||||
|
||||
void ssd1351_init_board(void) {
|
||||
pinMode(SSD1351_R, OUTPUT);
|
||||
pinMode(SSD1351_CS, OUTPUT);
|
||||
pinMode(SSD1351_DC, OUTPUT);
|
||||
digitalWriteFast(SSD1351_R, 1);
|
||||
digitalWriteFast(SSD1351_CS, 1);
|
||||
digitalWriteFast(SSD1351_D, 1);
|
||||
}
|
||||
|
||||
void ssd1351_setpin_reset(int state) {
|
||||
if (state)
|
||||
digitalWriteFast(SSD1351_R, 0);
|
||||
else
|
||||
digitalWriteFast(SSD1351_R, 1);
|
||||
}
|
||||
|
||||
void ssd1351_acquire_bus(void) {
|
||||
SPI.beginTransaction(settings);
|
||||
digitalWriteFast(SSD1351_CS, 0);
|
||||
}
|
||||
|
||||
void ssd1351_release_bus(void) {
|
||||
digitalWriteFast(SSD1351_CS, 1);
|
||||
SPI.endTransaction();
|
||||
}
|
||||
|
||||
void ssd1351_write_cmd(unsigned char index) {
|
||||
digitalWriteFast(SSD1351_DC, 0);
|
||||
SPI.transfer(index);
|
||||
digitalWriteFast(SSD1351_DC, 1);
|
||||
}
|
||||
|
||||
void ssd1351_write_data(unsigned char data) {
|
||||
SPI.transfer(data);
|
||||
}
|
35
boards/addons/gdisp/board_SSD1351_teensy.h
Normal file
35
boards/addons/gdisp/board_SSD1351_teensy.h
Normal file
@ -0,0 +1,35 @@
|
||||
/*
|
||||
* This file is subject to the terms of the GFX License. If a copy of
|
||||
* the license was not distributed with this file, you can obtain one at:
|
||||
*
|
||||
* http://ugfx.org/license.html
|
||||
*/
|
||||
|
||||
#ifndef _GDISP_LLD_BOARD_H
|
||||
#define _GDISP_LLD_BOARD_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif // __cplusplus
|
||||
|
||||
extern void ssd1351_init_board(void);
|
||||
extern void ssd1351_setpin_reset(int state);
|
||||
extern void ssd1351_acquire_bus(void);
|
||||
extern void ssd1351_release_bus(void);
|
||||
extern void ssd1351_write_cmd(unsigned char index);
|
||||
extern void ssd1351_write_data(unsigned char data);
|
||||
|
||||
#define init_board(g) ssd1351_init_board()
|
||||
#define post_init_board(g)
|
||||
#define setpin_reset(g, s) ssd1351_setpin_reset(s)
|
||||
#define set_backlight(g, p)
|
||||
#define acquire_bus(g) ssd1351_acquire_bus()
|
||||
#define release_bus(g) ssd1351_release_bus()
|
||||
#define write_cmd(g, i) ssd1351_write_cmd(i)
|
||||
#define write_data(g, d) ssd1351_write_cmd(d)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif // __cplusplus
|
||||
|
||||
#endif /* _GDISP_LLD_BOARD_H */
|
Loading…
Reference in New Issue
Block a user