SLCD lib

Committer:
dogcatfee
Date:
Tue Oct 24 17:22:46 2017 -0700
Revision:
0:5085b49e7c77
Add files

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dogcatfee 0:5085b49e7c77 1 #pragma once
dogcatfee 0:5085b49e7c77 2 /*^^^^^^^^^^^^^^^^ LCD HARDWARE CONECTION ^^^^^^^^^^^^^^^^^^^^^^^^*/
dogcatfee 0:5085b49e7c77 3 #define _LCDFRONTPLANES (8) // # of frontPlanes
dogcatfee 0:5085b49e7c77 4 #define _LCDBACKPLANES (4) // # of backplanes
dogcatfee 0:5085b49e7c77 5
dogcatfee 0:5085b49e7c77 6 /*
dogcatfee 0:5085b49e7c77 7 LCD logical organization definition
dogcatfee 0:5085b49e7c77 8 This section indicates how the LCD is distributed how many characteres of (7-seg, 14,seg, 16 seg, or colums in case of Dot Matrix) does it contain
dogcatfee 0:5085b49e7c77 9 First character is forced only one can be written
dogcatfee 0:5085b49e7c77 10
dogcatfee 0:5085b49e7c77 11 */
dogcatfee 0:5085b49e7c77 12 // HARDWARE_CONFIG Changing LCD pins Allows to verify all LCD pins easily
dogcatfee 0:5085b49e7c77 13 // if HARDWARE_CONFIG == 0 FRDM-KL46 RevB
dogcatfee 0:5085b49e7c77 14 // if HARDWARE_CONFIG == 1 FRDM-KL46 RevA
dogcatfee 0:5085b49e7c77 15 #ifdef FRDM_REVA
dogcatfee 0:5085b49e7c77 16 #define HARDWARE_CONFIG 1
dogcatfee 0:5085b49e7c77 17 #else
dogcatfee 0:5085b49e7c77 18 #define HARDWARE_CONFIG 0
dogcatfee 0:5085b49e7c77 19 #endif
dogcatfee 0:5085b49e7c77 20
dogcatfee 0:5085b49e7c77 21 #define _CHARNUM (4) //number of chars that can be written
dogcatfee 0:5085b49e7c77 22 #define _CHAR_SIZE (2) // Used only when Dot Matrix is used
dogcatfee 0:5085b49e7c77 23 #define _LCDTYPE (2) //indicate how many LCD_WF are required to write a single Character
dogcatfee 0:5085b49e7c77 24
dogcatfee 0:5085b49e7c77 25 /*
dogcatfee 0:5085b49e7c77 26 Following definitions indicate how characters are associated to waveform
dogcatfee 0:5085b49e7c77 27 */
dogcatfee 0:5085b49e7c77 28 /* Hardware configuration */
dogcatfee 0:5085b49e7c77 29 #if HARDWARE_CONFIG == 0
dogcatfee 0:5085b49e7c77 30
dogcatfee 0:5085b49e7c77 31 // LCD PIN1 to LCDWF0 Rev B
dogcatfee 0:5085b49e7c77 32 #define CHAR1a 37 // LCD Pin 5
dogcatfee 0:5085b49e7c77 33 #define CHAR1b 17 // LCD Pin 6
dogcatfee 0:5085b49e7c77 34 #define CHAR2a 7 // LCD Pin 7
dogcatfee 0:5085b49e7c77 35 #define CHAR2b 8 // LCD Pin 8
dogcatfee 0:5085b49e7c77 36 #define CHAR3a 53 // LCD Pin 9
dogcatfee 0:5085b49e7c77 37 #define CHAR3b 38 // LCD Pin 10
dogcatfee 0:5085b49e7c77 38 #define CHAR4a 10 // LCD Pin 11
dogcatfee 0:5085b49e7c77 39 #define CHAR4b 11 // LCD Pin 12
dogcatfee 0:5085b49e7c77 40 #define CHARCOM0 40 // LCD Pin 1
dogcatfee 0:5085b49e7c77 41 #define CHARCOM1 52 // LCD Pin 2
dogcatfee 0:5085b49e7c77 42 #define CHARCOM2 19 // LCD Pin 3
dogcatfee 0:5085b49e7c77 43 #define CHARCOM3 18 // LCD Pin 4
dogcatfee 0:5085b49e7c77 44
dogcatfee 0:5085b49e7c77 45 // LCD PIN1 to LCDWF2 for FRDM-KL46Z
dogcatfee 0:5085b49e7c77 46 #elif HARDWARE_CONFIG == 1
dogcatfee 0:5085b49e7c77 47 #define CHAR1a 37 // LCD Pin 5
dogcatfee 0:5085b49e7c77 48 #define CHAR1b 17 // LCD Pin 6
dogcatfee 0:5085b49e7c77 49 #define CHAR2a 7 // LCD Pin 7
dogcatfee 0:5085b49e7c77 50 #define CHAR2b 8 // LCD Pin 8
dogcatfee 0:5085b49e7c77 51 #define CHAR3a 12 // LCD Pin 9
dogcatfee 0:5085b49e7c77 52 #define CHAR3b 26 // LCD Pin 10
dogcatfee 0:5085b49e7c77 53 #define CHAR4a 10 // LCD Pin 11
dogcatfee 0:5085b49e7c77 54 #define CHAR4b 11 // LCD Pin 12
dogcatfee 0:5085b49e7c77 55 #define CHARCOM0 51 // LCD Pin 1
dogcatfee 0:5085b49e7c77 56 #define CHARCOM1 52 // LCD Pin 2
dogcatfee 0:5085b49e7c77 57 #define CHARCOM2 19 // LCD Pin 3
dogcatfee 0:5085b49e7c77 58 #define CHARCOM3 16 // LCD Pin 4
dogcatfee 0:5085b49e7c77 59
dogcatfee 0:5085b49e7c77 60 #endif
dogcatfee 0:5085b49e7c77 61
dogcatfee 0:5085b49e7c77 62
dogcatfee 0:5085b49e7c77 63 /*Ascii Codification table information */
dogcatfee 0:5085b49e7c77 64 #define ASCCI_TABLE_START '0' // indicates which is the first Ascii character in the table
dogcatfee 0:5085b49e7c77 65 #define ASCCI_TABLE_END 'Z' // indicates which is the first Ascii character in the table
dogcatfee 0:5085b49e7c77 66 #define BLANK_CHARACTER '>' // Indicate which ASCII character is a blank character (depends on ASCII table)
dogcatfee 0:5085b49e7c77 67
dogcatfee 0:5085b49e7c77 68 #define _ALLON 0xFF // Used for ALL_on function
dogcatfee 0:5085b49e7c77 69
dogcatfee 0:5085b49e7c77 70 #define SEGDP 0x01
dogcatfee 0:5085b49e7c77 71 #define SEGC 0x02
dogcatfee 0:5085b49e7c77 72 #define SEGB 0x04
dogcatfee 0:5085b49e7c77 73 #define SEGA 0x08
dogcatfee 0:5085b49e7c77 74
dogcatfee 0:5085b49e7c77 75 #define SEGD 0x01
dogcatfee 0:5085b49e7c77 76 #define SEGE 0x02
dogcatfee 0:5085b49e7c77 77 #define SEGG 0x04
dogcatfee 0:5085b49e7c77 78 #define SEGF 0x08
dogcatfee 0:5085b49e7c77 79
dogcatfee 0:5085b49e7c77 80
dogcatfee 0:5085b49e7c77 81 /* Fault detect initial limits */
dogcatfee 0:5085b49e7c77 82
dogcatfee 0:5085b49e7c77 83 /* Fault detect initial parameters and limits */
dogcatfee 0:5085b49e7c77 84 #define FAULTD_FP_FDPRS FDPRS_32
dogcatfee 0:5085b49e7c77 85 #define FAULTD_FP_FDSWW FDSWW_128
dogcatfee 0:5085b49e7c77 86 #define FAULTD_BP_FDPRS FDPRS_64
dogcatfee 0:5085b49e7c77 87 #define FAULTD_BP_FDSWW FDSWW_128
dogcatfee 0:5085b49e7c77 88
dogcatfee 0:5085b49e7c77 89 #define FAULTD_FP_HI 127
dogcatfee 0:5085b49e7c77 90 #define FAULTD_FP_LO 110
dogcatfee 0:5085b49e7c77 91 #define FAULTD_BP_HI 127
dogcatfee 0:5085b49e7c77 92 #define FAULTD_BP_LO 110
dogcatfee 0:5085b49e7c77 93 #define FAULTD_TIME 6
dogcatfee 0:5085b49e7c77 94
dogcatfee 0:5085b49e7c77 95 extern const uint8_t WF_ORDERING_TABLE[]; // Logical Front plane N to LCD_WFx
dogcatfee 0:5085b49e7c77 96
dogcatfee 0:5085b49e7c77 97