GPS Tracker with a TFT display, GPLV3

Dependencies:   MAX17055 MAX32620FTHR MAX77650 SerialGPS

Committer:
DimiterK
Date:
Sat Aug 18 22:34:58 2018 +0000
Revision:
0:48d0ba737b93
GPS tracker , Hackster Contest, August 2018; Release under GPLv3,

Who changed what in which revision?

UserRevisionLine numberNew contents of line
DimiterK 0:48d0ba737b93 1 #ifndef __LCD_DRIVER_H
DimiterK 0:48d0ba737b93 2 #define __LCD_DRIVER_H
DimiterK 0:48d0ba737b93 3
DimiterK 0:48d0ba737b93 4 #include "mbed.h"
DimiterK 0:48d0ba737b93 5 #include <stdint.h>
DimiterK 0:48d0ba737b93 6 #include "fonts.h"
DimiterK 0:48d0ba737b93 7
DimiterK 0:48d0ba737b93 8 #define COLOR uint16_t //The variable type of the color (unsigned short)
DimiterK 0:48d0ba737b93 9 #define POINT uint16_t //The type of coordinate (unsigned short)
DimiterK 0:48d0ba737b93 10 #define LENGTH uint16_t //The type of coordinate (unsigned short)
DimiterK 0:48d0ba737b93 11
DimiterK 0:48d0ba737b93 12 /********************************************************************************
DimiterK 0:48d0ba737b93 13 function:
DimiterK 0:48d0ba737b93 14 Define the full screen height length of the display
DimiterK 0:48d0ba737b93 15 ********************************************************************************/
DimiterK 0:48d0ba737b93 16 //#define LCD_1IN44
DimiterK 0:48d0ba737b93 17 #define LCD_1IN8
DimiterK 0:48d0ba737b93 18 #if defined(LCD_1IN44)
DimiterK 0:48d0ba737b93 19 #define LCD_WIDTH 128 //LCD width
DimiterK 0:48d0ba737b93 20 #define LCD_HEIGHT 128 //LCD height
DimiterK 0:48d0ba737b93 21 #define LCD_X 2
DimiterK 0:48d0ba737b93 22 #define LCD_Y 1
DimiterK 0:48d0ba737b93 23 #elif defined(LCD_1IN8)
DimiterK 0:48d0ba737b93 24 #define LCD_WIDTH 160 //LCD width
DimiterK 0:48d0ba737b93 25 #define LCD_HEIGHT 128 //LCD height
DimiterK 0:48d0ba737b93 26 #define LCD_X 1
DimiterK 0:48d0ba737b93 27 #define LCD_Y 2
DimiterK 0:48d0ba737b93 28 #endif
DimiterK 0:48d0ba737b93 29
DimiterK 0:48d0ba737b93 30 #define LCD_X_MAXPIXEL 132 //LCD width maximum memory
DimiterK 0:48d0ba737b93 31 #define LCD_Y_MAXPIXEL 162 //LCD height maximum memory
DimiterK 0:48d0ba737b93 32
DimiterK 0:48d0ba737b93 33
DimiterK 0:48d0ba737b93 34 /********************************************************************************
DimiterK 0:48d0ba737b93 35 function:
DimiterK 0:48d0ba737b93 36 scanning method
DimiterK 0:48d0ba737b93 37 ********************************************************************************/
DimiterK 0:48d0ba737b93 38 typedef enum{
DimiterK 0:48d0ba737b93 39 L2R_U2D = 0, //The display interface is displayed , left to right, up to down
DimiterK 0:48d0ba737b93 40 L2R_D2U ,
DimiterK 0:48d0ba737b93 41 R2L_U2D ,
DimiterK 0:48d0ba737b93 42 R2L_D2U ,
DimiterK 0:48d0ba737b93 43
DimiterK 0:48d0ba737b93 44 U2D_L2R ,
DimiterK 0:48d0ba737b93 45 U2D_R2L ,
DimiterK 0:48d0ba737b93 46 D2U_L2R ,
DimiterK 0:48d0ba737b93 47 D2U_R2L ,
DimiterK 0:48d0ba737b93 48 }LCD_SCAN_DIR;
DimiterK 0:48d0ba737b93 49 #define SCAN_DIR_DFT U2D_R2L //Default scan direction = L2R_U2D
DimiterK 0:48d0ba737b93 50
DimiterK 0:48d0ba737b93 51 /********************************************************************************
DimiterK 0:48d0ba737b93 52 function:
DimiterK 0:48d0ba737b93 53 Defines the total number of rows in the display area
DimiterK 0:48d0ba737b93 54 ********************************************************************************/
DimiterK 0:48d0ba737b93 55
DimiterK 0:48d0ba737b93 56 typedef struct{
DimiterK 0:48d0ba737b93 57 LENGTH LCD_Dis_Column; //COLUMN
DimiterK 0:48d0ba737b93 58 LENGTH LCD_Dis_Page; //PAGE
DimiterK 0:48d0ba737b93 59 LCD_SCAN_DIR LCD_Scan_Dir;
DimiterK 0:48d0ba737b93 60 POINT LCD_X_Adjust; //LCD x actual display position calibration
DimiterK 0:48d0ba737b93 61 POINT LCD_Y_Adjust; //LCD y actual display position calibration
DimiterK 0:48d0ba737b93 62 }LCD_DIS;
DimiterK 0:48d0ba737b93 63
DimiterK 0:48d0ba737b93 64 /********************************************************************************
DimiterK 0:48d0ba737b93 65 function:
DimiterK 0:48d0ba737b93 66 Macro definition variable name
DimiterK 0:48d0ba737b93 67 ********************************************************************************/
DimiterK 0:48d0ba737b93 68 void LCD_Init( LCD_SCAN_DIR Lcd_ScanDir );
DimiterK 0:48d0ba737b93 69 void LCD_SetGramScanWay(LCD_SCAN_DIR Scan_dir);
DimiterK 0:48d0ba737b93 70
DimiterK 0:48d0ba737b93 71 //LCD set cursor + windows + color
DimiterK 0:48d0ba737b93 72 void LCD_SetWindows( POINT Xstart, POINT Ystart, POINT Xend, POINT Yend );
DimiterK 0:48d0ba737b93 73 void LCD_SetCursor ( POINT Xpoint, POINT Ypoint );
DimiterK 0:48d0ba737b93 74 void LCD_SetColor( COLOR Color ,POINT Xpoint, POINT Ypoint);
DimiterK 0:48d0ba737b93 75 void LCD_SetPointlColor ( POINT Xpoint, POINT Ypoint, COLOR Color );
DimiterK 0:48d0ba737b93 76 void LCD_SetArealColor ( POINT Xstart, POINT Ystart, POINT Xend, POINT Yend,COLOR Color);
DimiterK 0:48d0ba737b93 77 void LCD_Clear(COLOR Color);
DimiterK 0:48d0ba737b93 78
DimiterK 0:48d0ba737b93 79 void DC_OUTPUT();
DimiterK 0:48d0ba737b93 80 void DC_LOW();
DimiterK 0:48d0ba737b93 81 void DC_HIGH();
DimiterK 0:48d0ba737b93 82
DimiterK 0:48d0ba737b93 83 void RST_OUTPUT();
DimiterK 0:48d0ba737b93 84 void RST_LOW();
DimiterK 0:48d0ba737b93 85 void RST_HIGH();
DimiterK 0:48d0ba737b93 86
DimiterK 0:48d0ba737b93 87 #endif