GPS Tracker with a TFT display, GPLV3
Dependencies: MAX17055 MAX32620FTHR MAX77650 SerialGPS
LCD_Driver.h@0:48d0ba737b93, 2018-08-18 (annotated)
- 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?
User | Revision | Line number | New 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 |