Show2Me control FW, initial shared version

Dependencies:   SDFileSystem_HelloWorld mbed FATFileSystem

Fork of 000_GEO_SHOW2ME_OK_F411RE by Walter Trovo

/media/uploads/walter76/img-1277.jpg

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?

UserRevisionLine numberNew 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