Show2Me control FW, initial shared version
Dependencies: SDFileSystem_HelloWorld mbed FATFileSystem
Fork of 000_GEO_SHOW2ME_OK_F411RE by
ST7565_LCD/ST7565_LCD.h@2:bbc3e860fa3d, 2018-02-13 (annotated)
- Committer:
- walter76
- Date:
- Tue Feb 13 08:22:23 2018 +0000
- Revision:
- 2:bbc3e860fa3d
Preliminary version used to test all HW sections
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
walter76 | 2:bbc3e860fa3d | 1 | /******************************************************************************* |
walter76 | 2:bbc3e860fa3d | 2 | * File Name : ST7565_LCD.c |
walter76 | 2:bbc3e860fa3d | 3 | * Author : Walter Trovò |
walter76 | 2:bbc3e860fa3d | 4 | * Date First Issued : 20/03/2012 |
walter76 | 2:bbc3e860fa3d | 5 | *******************************************************************************/ |
walter76 | 2:bbc3e860fa3d | 6 | |
walter76 | 2:bbc3e860fa3d | 7 | // ST7565R LCD module driver |
walter76 | 2:bbc3e860fa3d | 8 | |
walter76 | 2:bbc3e860fa3d | 9 | #ifndef __ST7565_LCD_H |
walter76 | 2:bbc3e860fa3d | 10 | #define __ST7565_LCD_H |
walter76 | 2:bbc3e860fa3d | 11 | |
walter76 | 2:bbc3e860fa3d | 12 | #include "mbed.h" |
walter76 | 2:bbc3e860fa3d | 13 | |
walter76 | 2:bbc3e860fa3d | 14 | // LCD commands and definitions |
walter76 | 2:bbc3e860fa3d | 15 | |
walter76 | 2:bbc3e860fa3d | 16 | #define LCD_WIDTH 128 |
walter76 | 2:bbc3e860fa3d | 17 | #define LCD_HEIGHT 64 |
walter76 | 2:bbc3e860fa3d | 18 | |
walter76 | 2:bbc3e860fa3d | 19 | #define CMD_DISPLAY_OFF 0xAE |
walter76 | 2:bbc3e860fa3d | 20 | #define CMD_DISPLAY_ON 0xAF |
walter76 | 2:bbc3e860fa3d | 21 | |
walter76 | 2:bbc3e860fa3d | 22 | #define CMD_SET_DISP_START_LINE 0x40 |
walter76 | 2:bbc3e860fa3d | 23 | #define CMD_SET_PAGE 0xB0 |
walter76 | 2:bbc3e860fa3d | 24 | |
walter76 | 2:bbc3e860fa3d | 25 | #define CMD_SET_COLUMN_UPPER 0x10 |
walter76 | 2:bbc3e860fa3d | 26 | #define CMD_SET_COLUMN_LOWER 0x00 |
walter76 | 2:bbc3e860fa3d | 27 | |
walter76 | 2:bbc3e860fa3d | 28 | #define CMD_SET_ADC_NORMAL 0xA0 |
walter76 | 2:bbc3e860fa3d | 29 | #define CMD_SET_ADC_REVERSE 0xA1 |
walter76 | 2:bbc3e860fa3d | 30 | |
walter76 | 2:bbc3e860fa3d | 31 | #define CMD_SET_DISP_NORMAL 0xA6 |
walter76 | 2:bbc3e860fa3d | 32 | #define CMD_SET_DISP_REVERSE 0xA7 |
walter76 | 2:bbc3e860fa3d | 33 | |
walter76 | 2:bbc3e860fa3d | 34 | #define CMD_SET_ALLPTS_NORMAL 0xA4 |
walter76 | 2:bbc3e860fa3d | 35 | #define CMD_SET_ALLPTS_ON 0xA5 |
walter76 | 2:bbc3e860fa3d | 36 | #define CMD_SET_BIAS_9 0xA2 |
walter76 | 2:bbc3e860fa3d | 37 | #define CMD_SET_BIAS_7 0xA3 |
walter76 | 2:bbc3e860fa3d | 38 | |
walter76 | 2:bbc3e860fa3d | 39 | #define CMD_RMW 0xE0 |
walter76 | 2:bbc3e860fa3d | 40 | #define CMD_RMW_CLEAR 0xEE |
walter76 | 2:bbc3e860fa3d | 41 | #define CMD_INTERNAL_RESET 0xE2 |
walter76 | 2:bbc3e860fa3d | 42 | #define CMD_SET_COM_NORMAL 0xC0 |
walter76 | 2:bbc3e860fa3d | 43 | #define CMD_SET_COM_REVERSE 0xC8 |
walter76 | 2:bbc3e860fa3d | 44 | #define CMD_SET_POWER_CONTROL 0x28 |
walter76 | 2:bbc3e860fa3d | 45 | #define CMD_SET_RESISTOR_RATIO 0x20 |
walter76 | 2:bbc3e860fa3d | 46 | #define CMD_SET_VOLUME_FIRST 0x81 |
walter76 | 2:bbc3e860fa3d | 47 | #define CMD_SET_VOLUME_SECOND 0 |
walter76 | 2:bbc3e860fa3d | 48 | #define CMD_SET_STATIC_OFF 0xAC |
walter76 | 2:bbc3e860fa3d | 49 | #define CMD_SET_STATIC_ON 0xAD |
walter76 | 2:bbc3e860fa3d | 50 | #define CMD_SET_STATIC_REG 0x0 |
walter76 | 2:bbc3e860fa3d | 51 | #define CMD_SET_BOOSTER_FIRST 0xF8 |
walter76 | 2:bbc3e860fa3d | 52 | #define CMD_SET_BOOSTER_234 0 |
walter76 | 2:bbc3e860fa3d | 53 | #define CMD_SET_BOOSTER_5 1 |
walter76 | 2:bbc3e860fa3d | 54 | #define CMD_SET_BOOSTER_6 3 |
walter76 | 2:bbc3e860fa3d | 55 | #define CMD_NOP 0xE3 |
walter76 | 2:bbc3e860fa3d | 56 | #define CMD_TEST 0xF0 |
walter76 | 2:bbc3e860fa3d | 57 | |
walter76 | 2:bbc3e860fa3d | 58 | #define swap(a, b) { unsigned short t = a; a = b; b = t; } |
walter76 | 2:bbc3e860fa3d | 59 | |
walter76 | 2:bbc3e860fa3d | 60 | // ------------- Functions prototype ----------------- |
walter76 | 2:bbc3e860fa3d | 61 | |
walter76 | 2:bbc3e860fa3d | 62 | |
walter76 | 2:bbc3e860fa3d | 63 | void SPI_Write(uint8_t data); |
walter76 | 2:bbc3e860fa3d | 64 | void LCD_cmd(uint8_t command); |
walter76 | 2:bbc3e860fa3d | 65 | void LCD_data(uint8_t data); |
walter76 | 2:bbc3e860fa3d | 66 | void LCD_reset(void); |
walter76 | 2:bbc3e860fa3d | 67 | void LCD_set_contrast(unsigned int level); |
walter76 | 2:bbc3e860fa3d | 68 | void LCD_write_buffer(unsigned int *buffer); |
walter76 | 2:bbc3e860fa3d | 69 | void LCD_clear(void); |
walter76 | 2:bbc3e860fa3d | 70 | void LCD_setpixel(unsigned int *buff, uint8_t x, uint8_t y, uint8_t color); |
walter76 | 2:bbc3e860fa3d | 71 | void LCD_clearpixel(unsigned int *buff, uint8_t x, uint8_t y); |
walter76 | 2:bbc3e860fa3d | 72 | void LCD_drawline(unsigned int *buff, uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t color); |
walter76 | 2:bbc3e860fa3d | 73 | void LCD_drawchar(unsigned int *buff, uint8_t x, uint8_t line, char c); |
walter76 | 2:bbc3e860fa3d | 74 | void LCD_drawstring(unsigned int *buff, uint8_t x, uint8_t line, char *c); |
walter76 | 2:bbc3e860fa3d | 75 | void Clear_buffer(unsigned int *buff); |
walter76 | 2:bbc3e860fa3d | 76 | |
walter76 | 2:bbc3e860fa3d | 77 | #endif |