37 #include <ti/devices/msp432p4xx/inc/msp.h> 
   41 #ifdef __MCU_HAS_LCD_F__ 
  143 #define LCD_F_CLOCKSOURCE_ACLK                               (LCD_F_CTL_SSEL_0) 
  144 #define LCD_F_CLOCKSOURCE_VLOCLK                             (LCD_F_CTL_SSEL_1) 
  145 #define LCD_F_CLOCKSOURCE_REFOCLK                            (LCD_F_CTL_SSEL_2) 
  146 #define LCD_F_CLOCKSOURCE_LFXT                               (LCD_F_CTL_SSEL_3) 
  155 #define LCD_F_CLOCKDIVIDER_1 0x0 
  156 #define LCD_F_CLOCKDIVIDER_2 0x800 
  157 #define LCD_F_CLOCKDIVIDER_3 0x1000 
  158 #define LCD_F_CLOCKDIVIDER_4 0x1800 
  159 #define LCD_F_CLOCKDIVIDER_5 0x2000 
  160 #define LCD_F_CLOCKDIVIDER_6 0x2800 
  161 #define LCD_F_CLOCKDIVIDER_7 0x3000 
  162 #define LCD_F_CLOCKDIVIDER_8 0x3800 
  163 #define LCD_F_CLOCKDIVIDER_9 0x4000 
  164 #define LCD_F_CLOCKDIVIDER_10 0x4800 
  165 #define LCD_F_CLOCKDIVIDER_11 0x5000 
  166 #define LCD_F_CLOCKDIVIDER_12 0x5800 
  167 #define LCD_F_CLOCKDIVIDER_13 0x6000 
  168 #define LCD_F_CLOCKDIVIDER_14 0x6800 
  169 #define LCD_F_CLOCKDIVIDER_15 0x7000 
  170 #define LCD_F_CLOCKDIVIDER_16 0x7800 
  171 #define LCD_F_CLOCKDIVIDER_17 0x8000 
  172 #define LCD_F_CLOCKDIVIDER_18 0x8800 
  173 #define LCD_F_CLOCKDIVIDER_19 0x9000 
  174 #define LCD_F_CLOCKDIVIDER_20 0x9800 
  175 #define LCD_F_CLOCKDIVIDER_21 0xa000 
  176 #define LCD_F_CLOCKDIVIDER_22 0xa800 
  177 #define LCD_F_CLOCKDIVIDER_23 0xb000 
  178 #define LCD_F_CLOCKDIVIDER_24 0xb800 
  179 #define LCD_F_CLOCKDIVIDER_25 0xc000 
  180 #define LCD_F_CLOCKDIVIDER_26 0xc800 
  181 #define LCD_F_CLOCKDIVIDER_27 0xd000 
  182 #define LCD_F_CLOCKDIVIDER_28 0xd800 
  183 #define LCD_F_CLOCKDIVIDER_29 0xe000 
  184 #define LCD_F_CLOCKDIVIDER_30 0xe800 
  185 #define LCD_F_CLOCKDIVIDER_31 0xf000 
  186 #define LCD_F_CLOCKDIVIDER_32 0xf800 
  194 #define LCD_F_CLOCKPRESCALER_1                                 (LCD_F_CTL_PRE_0) 
  195 #define LCD_F_CLOCKPRESCALER_2                                 (LCD_F_CTL_PRE_1) 
  196 #define LCD_F_CLOCKPRESCALER_4                                 (LCD_F_CTL_PRE_2) 
  197 #define LCD_F_CLOCKPRESCALER_8                                 (LCD_F_CTL_PRE_3) 
  198 #define LCD_F_CLOCKPRESCALER_16                                (LCD_F_CTL_PRE_4) 
  199 #define LCD_F_CLOCKPRESCALER_32                                (LCD_F_CTL_PRE_5) 
  207 #define LCD_F_STATIC                                            (LCD_F_CTL_MX_0) 
  208 #define LCD_F_2_MUX                                             (LCD_F_CTL_MX_1) 
  209 #define LCD_F_3_MUX                                             (LCD_F_CTL_MX_2) 
  210 #define LCD_F_4_MUX                                             (LCD_F_CTL_MX_3) 
  211 #define LCD_F_5_MUX                                             (LCD_F_CTL_MX_4) 
  212 #define LCD_F_6_MUX                                             (LCD_F_CTL_MX_5) 
  213 #define LCD_F_7_MUX                                             (LCD_F_CTL_MX_6) 
  214 #define LCD_F_8_MUX                                             (LCD_F_CTL_MX_7) 
  222 #define LCD_F_V2V3V4_GENERATED_INTERNALLY_NOT_SWITCHED_TO_PINS            (0x0) 
  223 #define LCD_F_V2V3V4_GENERATED_INTERNALLY_SWITCHED_TO_PINS  (LCD_F_VCTL_REXT) 
  224 #define LCD_F_V2V3V4_SOURCED_EXTERNALLY                  (LCD_F_VCTL_EXTBIAS) 
  232 #define LCD_F_V5_VSS                                                      (0x0) 
  233 #define LCD_F_V5_SOURCED_FROM_R03                         (LCD_F_VCTL_R03EXT) 
  241 #define LCD_F_STANDARD_WAVEFORMS                                          (0x0) 
  242 #define LCD_F_LOW_POWER_WAVEFORMS                                 (LCD_F_CTL_LP) 
  250 #define LCD_F_SEGMENTS_DISABLED                                           (0x0) 
  251 #define LCD_F_SEGMENTS_ENABLED                                   (LCD_F_CTL_SON) 
  261 #define LCD_F_BLINKING_SEGMENTS_ON_INTERRUPT                  (LCD_F_IE_BLKONIE) 
  262 #define LCD_F_BLINKING_SEGMENTS_OFF_INTERRUPT                (LCD_F_IE_BLKOFFIE) 
  263 #define LCD_F_FRAME_INTERRUPT                                   (LCD_F_IE_FRMIE) 
  264 #define LCD_F_ANIMATION_LOOP_INTERRUPT                      (LCD_F_IE_ANMLOOPIE) 
  265 #define LCD_F_ANIMATION_STEP_INTERRUPT                       (LCD_F_IE_ANMSTPIE) 
  273 #define LCD_F_DISPLAYSOURCE_MEMORY                                        (0x0) 
  274 #define LCD_F_DISPLAYSOURCE_BLINKINGMEMORY                                (0x1) 
  282 #define LCD_F_BLINK_FREQ_CLOCK_PRESCALAR_512                LCD_F_BMCTL_BLKPRE_0 
  283 #define LCD_F_BLINK_FREQ_CLOCK_PRESCALAR_1024               LCD_F_BMCTL_BLKPRE_1 
  284 #define LCD_F_BLINK_FREQ_CLOCK_PRESCALAR_2048               LCD_F_BMCTL_BLKPRE_2 
  285 #define LCD_F_BLINK_FREQ_CLOCK_PRESCALAR_4096               LCD_F_BMCTL_BLKPRE_3 
  286 #define LCD_F_BLINK_FREQ_CLOCK_PRESCALAR_8162               LCD_F_BMCTL_BLKPRE_4 
  287 #define LCD_F_BLINK_FREQ_CLOCK_PRESCALAR_16384              LCD_F_BMCTL_BLKPRE_5 
  288 #define LCD_F_BLINK_FREQ_CLOCK_PRESCALAR_32768              LCD_F_BMCTL_BLKPRE_6 
  289 #define LCD_F_BLINK_FREQ_CLOCK_PRESCALAR_65536              LCD_F_BMCTL_BLKPRE_7 
  297 #define LCD_F_BLINK_FREQ_CLOCK_DIVIDER_1                   LCD_F_BMCTL_BLKDIV_0 
  298 #define LCD_F_BLINK_FREQ_CLOCK_DIVIDER_2                   LCD_F_BMCTL_BLKDIV_1 
  299 #define LCD_F_BLINK_FREQ_CLOCK_DIVIDER_3                   LCD_F_BMCTL_BLKDIV_2 
  300 #define LCD_F_BLINK_FREQ_CLOCK_DIVIDER_4                   LCD_F_BMCTL_BLKDIV_3 
  301 #define LCD_F_BLINK_FREQ_CLOCK_DIVIDER_5                   LCD_F_BMCTL_BLKDIV_4 
  302 #define LCD_F_BLINK_FREQ_CLOCK_DIVIDER_6                   LCD_F_BMCTL_BLKDIV_5 
  303 #define LCD_F_BLINK_FREQ_CLOCK_DIVIDER_7                   LCD_F_BMCTL_BLKDIV_6 
  304 #define LCD_F_BLINK_FREQ_CLOCK_DIVIDER_8                   LCD_F_BMCTL_BLKDIV_7 
  312 #define LCD_F_BLINK_MODE_DISABLED                         (LCD_F_BMCTL_BLKMOD_0) 
  313 #define LCD_F_BLINK_MODE_INDIVIDUAL_SEGMENTS              (LCD_F_BMCTL_BLKMOD_1) 
  314 #define LCD_F_BLINK_MODE_ALL_SEGMENTS                     (LCD_F_BMCTL_BLKMOD_2) 
  315 #define LCD_F_BLINK_MODE_SWITCHING_BETWEEN_DISPLAY_CONTENTS \ 
  316                                                           (LCD_F_BMCTL_BLKMOD_3) 
  324 #define LCD_F_ANIMATION_FREQ_CLOCK_PRESCALAR_512          LCD_F_ANMCTL_ANMPRE_0 
  325 #define LCD_F_ANIMATION_FREQ_CLOCK_PRESCALAR_1024         LCD_F_ANMCTL_ANMPRE_1 
  326 #define LCD_F_ANIMATION_FREQ_CLOCK_PRESCALAR_2048         LCD_F_ANMCTL_ANMPRE_2 
  327 #define LCD_F_ANIMATION_FREQ_CLOCK_PRESCALAR_4096         LCD_F_ANMCTL_ANMPRE_3 
  328 #define LCD_F_ANIMATION_FREQ_CLOCK_PRESCALAR_8162         LCD_F_ANMCTL_ANMPRE_4 
  329 #define LCD_F_ANIMATION_FREQ_CLOCK_PRESCALAR_16384        LCD_F_ANMCTL_ANMPRE_5 
  330 #define LCD_F_ANIMATION_FREQ_CLOCK_PRESCALAR_32768        LCD_F_ANMCTL_ANMPRE_6 
  331 #define LCD_F_ANIMATION_FREQ_CLOCK_PRESCALAR_65536        LCD_F_ANMCTL_ANMPRE_7 
  339 #define LCD_F_ANIMATION_FREQ_CLOCK_DIVIDER_1              LCD_F_ANMCTL_ANMDIV_0 
  340 #define LCD_F_ANIMATION_FREQ_CLOCK_DIVIDER_2              LCD_F_ANMCTL_ANMDIV_1 
  341 #define LCD_F_ANIMATION_FREQ_CLOCK_DIVIDER_3              LCD_F_ANMCTL_ANMDIV_2 
  342 #define LCD_F_ANIMATION_FREQ_CLOCK_DIVIDER_4              LCD_F_ANMCTL_ANMDIV_3 
  343 #define LCD_F_ANIMATION_FREQ_CLOCK_DIVIDER_5              LCD_F_ANMCTL_ANMDIV_4 
  344 #define LCD_F_ANIMATION_FREQ_CLOCK_DIVIDER_6              LCD_F_ANMCTL_ANMDIV_5 
  345 #define LCD_F_ANIMATION_FREQ_CLOCK_DIVIDER_7              LCD_F_ANMCTL_ANMDIV_6 
  346 #define LCD_F_ANIMATION_FREQ_CLOCK_DIVIDER_8              LCD_F_ANMCTL_ANMDIV_7 
  354 #define LCD_F_ANIMATION_FRAMES_T0_TO_T7                   LCD_F_ANMCTL_ANMSTP_7 
  355 #define LCD_F_ANIMATION_FRAMES_T0_TO_T6                   LCD_F_ANMCTL_ANMSTP_6 
  356 #define LCD_F_ANIMATION_FRAMES_T0_TO_T5                   LCD_F_ANMCTL_ANMSTP_5 
  357 #define LCD_F_ANIMATION_FRAMES_T0_TO_T4                   LCD_F_ANMCTL_ANMSTP_4 
  358 #define LCD_F_ANIMATION_FRAMES_T0_TO_T3                   LCD_F_ANMCTL_ANMSTP_3 
  359 #define LCD_F_ANIMATION_FRAMES_T0_TO_T2                   LCD_F_ANMCTL_ANMSTP_2 
  360 #define LCD_F_ANIMATION_FRAMES_T0_TO_T1                   LCD_F_ANMCTL_ANMSTP_1 
  361 #define LCD_F_ANIMATION_FRAMES_T0                         LCD_F_ANMCTL_ANMSTP_0 
  372 #define LCD_F_SEGMENT_LINE_0                                                (0) 
  373 #define LCD_F_SEGMENT_LINE_1                                                (1) 
  374 #define LCD_F_SEGMENT_LINE_2                                                (2) 
  375 #define LCD_F_SEGMENT_LINE_3                                                (3) 
  376 #define LCD_F_SEGMENT_LINE_4                                                (4) 
  377 #define LCD_F_SEGMENT_LINE_5                                                (5) 
  378 #define LCD_F_SEGMENT_LINE_6                                                (6) 
  379 #define LCD_F_SEGMENT_LINE_7                                                (7) 
  380 #define LCD_F_SEGMENT_LINE_8                                                (8) 
  381 #define LCD_F_SEGMENT_LINE_9                                                (9) 
  382 #define LCD_F_SEGMENT_LINE_10                                              (10) 
  383 #define LCD_F_SEGMENT_LINE_11                                              (11) 
  384 #define LCD_F_SEGMENT_LINE_12                                              (12) 
  385 #define LCD_F_SEGMENT_LINE_13                                              (13) 
  386 #define LCD_F_SEGMENT_LINE_14                                              (14) 
  387 #define LCD_F_SEGMENT_LINE_15                                              (15) 
  388 #define LCD_F_SEGMENT_LINE_16                                              (16) 
  389 #define LCD_F_SEGMENT_LINE_17                                              (17) 
  390 #define LCD_F_SEGMENT_LINE_18                                              (18) 
  391 #define LCD_F_SEGMENT_LINE_19                                              (19) 
  392 #define LCD_F_SEGMENT_LINE_20                                              (20) 
  393 #define LCD_F_SEGMENT_LINE_21                                              (21) 
  394 #define LCD_F_SEGMENT_LINE_22                                              (22) 
  395 #define LCD_F_SEGMENT_LINE_23                                              (23) 
  396 #define LCD_F_SEGMENT_LINE_24                                              (24) 
  397 #define LCD_F_SEGMENT_LINE_25                                              (25) 
  398 #define LCD_F_SEGMENT_LINE_26                                              (26) 
  399 #define LCD_F_SEGMENT_LINE_27                                              (27) 
  400 #define LCD_F_SEGMENT_LINE_28                                              (28) 
  401 #define LCD_F_SEGMENT_LINE_29                                              (29) 
  402 #define LCD_F_SEGMENT_LINE_30                                              (30) 
  403 #define LCD_F_SEGMENT_LINE_31                                              (31) 
  404 #define LCD_F_SEGMENT_LINE_32                                              (32) 
  405 #define LCD_F_SEGMENT_LINE_33                                              (33) 
  406 #define LCD_F_SEGMENT_LINE_34                                              (34) 
  407 #define LCD_F_SEGMENT_LINE_35                                              (35) 
  408 #define LCD_F_SEGMENT_LINE_36                                              (36) 
  409 #define LCD_F_SEGMENT_LINE_37                                              (37) 
  410 #define LCD_F_SEGMENT_LINE_38                                              (38) 
  411 #define LCD_F_SEGMENT_LINE_39                                              (39) 
  412 #define LCD_F_SEGMENT_LINE_40                                              (40) 
  413 #define LCD_F_SEGMENT_LINE_41                                              (41) 
  414 #define LCD_F_SEGMENT_LINE_42                                              (42) 
  415 #define LCD_F_SEGMENT_LINE_43                                              (43) 
  416 #define LCD_F_SEGMENT_LINE_44                                              (44) 
  417 #define LCD_F_SEGMENT_LINE_45                                              (45) 
  418 #define LCD_F_SEGMENT_LINE_46                                              (46) 
  419 #define LCD_F_SEGMENT_LINE_47                                              (47) 
  428 #define LCD_F_MEMORY_COM0                                                (0x01) 
  429 #define LCD_F_MEMORY_COM1                                                (0x02) 
  430 #define LCD_F_MEMORY_COM2                                                (0x04) 
  431 #define LCD_F_MEMORY_COM3                                                (0x08) 
  432 #define LCD_F_MEMORY_COM4                                                (0x10) 
  433 #define LCD_F_MEMORY_COM5                                                (0x20) 
  434 #define LCD_F_MEMORY_COM6                                                (0x40) 
  435 #define LCD_F_MEMORY_COM7                                                (0x80) 
  443 #define LCD_F_BIAS_1_3                                                    (0x0) 
  444 #define LCD_F_BIAS_1_2                                     (LCD_F_VCTL_LCD2B) 
  445 #define LCD_F_BIAS_1_4                                     (LCD_F_VCTL_LCD2B) 
  448 #define OFS_LCDM0W                                                        0x120 
  449 #define OFS_LCDBM0W                                                       0x160 
  572                                      uint_fast16_t divider, uint_fast16_t mode);
 
  616                                       uint_fast16_t divider,
 
  617                                       uint_fast16_t frames);
 
 1061                                      uint_fast16_t v5Source);
 
void LCD_F_setAnimationControl(uint_fast16_t clockPrescalar, uint_fast16_t divider, uint_fast16_t frames)
Sets the animation control register. 
Definition: lcd_f.c:89
void LCD_F_setPinsAsLCDFunction(uint_fast8_t startPin, uint8_t endPin)
Sets the LCD_F pins as LCD function pin. 
Definition: lcd_f.c:146
void LCD_F_clearAllAnimationMemory(void)
Clears all LCD_F animation memory registers. 
Definition: lcd_f.c:108
void LCD_F_setPinAsSEG(uint_fast8_t pin)
Sets the LCD_F pin as a segment line. 
Definition: lcd_f.c:194
void LCD_F_clearInterrupt(uint32_t mask)
Clears the LCD_F selected interrupt flags. 
Definition: lcd_f.c:225
void LCD_F_setPinAsPortFunction(uint_fast8_t pin)
Sets the LCD_F pins as port function pin. 
Definition: lcd_f.c:130
void LCD_F_setBlinkingControl(uint_fast16_t clockPrescalar, uint_fast16_t divider, uint_fast16_t mode)
Sets the blinking control register. 
Definition: lcd_f.c:80
void LCD_F_enableAnimation(void)
Enables animation on the LCD_F controller. 
Definition: lcd_f.c:98
uint32_t clockPrescaler
Definition: lcd_f.h:113
void LCD_F_disableInterrupt(uint32_t mask)
Disables the LCD_F selected interrupts. 
Definition: lcd_f.c:246
struct LCD_F_initParam LCD_F_Config
uint32_t muxRate
Definition: lcd_f.h:124
void LCD_F_unregisterInterrupt(void)
Definition: lcd_f.c:257
void LCD_F_setPinAsCOM(uint8_t pin, uint_fast8_t com)
Sets the LCD_F pin as a common line. 
Definition: lcd_f.c:173
void LCD_F_initModule(LCD_F_Config *initParams)
Initializes the LCD_F Module. 
Definition: lcd_f.c:41
void LCD_F_setPinAsLCDFunction(uint_fast8_t pin)
Sets the LCD_F pins as LCD function pin. 
Definition: lcd_f.c:114
uint32_t clockDivider
Definition: lcd_f.h:104
void LCD_F_selectBias(uint_fast16_t bias)
Selects the bias level. 
Definition: lcd_f.c:210
void LCD_F_disableAnimation(void)
Enables animation on the LCD_F controller. 
Definition: lcd_f.c:103
void LCD_F_selectDisplayMemory(uint_fast16_t displayMemory)
Selects display memory. 
Definition: lcd_f.c:75
uint32_t clockSource
Definition: lcd_f.h:69
uint32_t LCD_F_getEnabledInterruptStatus(void)
Returns the status of the selected interrupt flags masked with the currently enabled interrupts...
Definition: lcd_f.c:235
void LCD_F_enableInterrupt(uint32_t mask)
Enables the LCD_F selected interrupts. 
Definition: lcd_f.c:241
void LCD_F_turnOff(void)
Turns the LCD_F off. 
Definition: lcd_f.c:59
void LCD_F_clearAllBlinkingMemory(void)
Clears all LCD_F blinking memory registers. 
Definition: lcd_f.c:70
void LCD_F_turnOn(void)
Turns on the LCD_F module. 
Definition: lcd_f.c:54
void LCD_F_registerInterrupt(void(*intHandler)(void))
Definition: lcd_f.c:251
uint32_t LCD_F_getInterruptStatus(void)
Returns the status of the selected interrupt flags. 
Definition: lcd_f.c:230
void LCD_F_setVLCDSource(uint_fast16_t v2v3v4Source, uint_fast16_t v5Source)
Sets the voltage source for V2/V3/V4 and V5. 
Definition: lcd_f.c:216
uint32_t waveforms
Definition: lcd_f.h:129
void LCD_F_clearAllMemory(void)
Clears all LCD_F memory registers. 
Definition: lcd_f.c:65
uint32_t segments
Definition: lcd_f.h:134