Use this version as starting point. Tested on Show2Me_V1 PCB (minor patches required).

Dependencies:   GPS Library QEI SDFileSystem mbed

Committer:
walter76
Date:
Mon Sep 03 01:54:41 2018 +0000
Revision:
0:5c5a3012dbfc
working code, initial version

Who changed what in which revision?

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