7 #ifndef __MSP430WARE_LCD_C_H__
8 #define __MSP430WARE_LCD_C_H__
10 #include "inc/hw_memmap.h"
12 #ifdef __MSP430_HAS_LCD_C__
25 #include "inc/hw_memmap.h"
113 #define LCD_C_CLOCKSOURCE_ACLK (0x0)
114 #define LCD_C_CLOCKSOURCE_VLOCLK (LCDSSEL)
122 #define LCD_C_CLOCKDIVIDER_1 (LCDDIV_0)
123 #define LCD_C_CLOCKDIVIDER_2 (LCDDIV_1)
124 #define LCD_C_CLOCKDIVIDER_3 (LCDDIV_2)
125 #define LCD_C_CLOCKDIVIDER_4 (LCDDIV_3)
126 #define LCD_C_CLOCKDIVIDER_5 (LCDDIV_4)
127 #define LCD_C_CLOCKDIVIDER_6 (LCDDIV_5)
128 #define LCD_C_CLOCKDIVIDER_7 (LCDDIV_6)
129 #define LCD_C_CLOCKDIVIDER_8 (LCDDIV_7)
130 #define LCD_C_CLOCKDIVIDER_9 (LCDDIV_8)
131 #define LCD_C_CLOCKDIVIDER_10 (LCDDIV_9)
132 #define LCD_C_CLOCKDIVIDER_11 (LCDDIV_10)
133 #define LCD_C_CLOCKDIVIDER_12 (LCDDIV_11)
134 #define LCD_C_CLOCKDIVIDER_13 (LCDDIV_12)
135 #define LCD_C_CLOCKDIVIDER_14 (LCDDIV_13)
136 #define LCD_C_CLOCKDIVIDER_15 (LCDDIV_14)
137 #define LCD_C_CLOCKDIVIDER_16 (LCDDIV_15)
138 #define LCD_C_CLOCKDIVIDER_17 (LCDDIV_16)
139 #define LCD_C_CLOCKDIVIDER_18 (LCDDIV_17)
140 #define LCD_C_CLOCKDIVIDER_19 (LCDDIV_18)
141 #define LCD_C_CLOCKDIVIDER_20 (LCDDIV_19)
142 #define LCD_C_CLOCKDIVIDER_21 (LCDDIV_20)
143 #define LCD_C_CLOCKDIVIDER_22 (LCDDIV_21)
144 #define LCD_C_CLOCKDIVIDER_23 (LCDDIV_22)
145 #define LCD_C_CLOCKDIVIDER_24 (LCDDIV_23)
146 #define LCD_C_CLOCKDIVIDER_25 (LCDDIV_24)
147 #define LCD_C_CLOCKDIVIDER_26 (LCDDIV_25)
148 #define LCD_C_CLOCKDIVIDER_27 (LCDDIV_26)
149 #define LCD_C_CLOCKDIVIDER_28 (LCDDIV_27)
150 #define LCD_C_CLOCKDIVIDER_29 (LCDDIV_28)
151 #define LCD_C_CLOCKDIVIDER_30 (LCDDIV_29)
152 #define LCD_C_CLOCKDIVIDER_31 (LCDDIV_30)
153 #define LCD_C_CLOCKDIVIDER_32 (LCDDIV_31)
161 #define LCD_C_CLOCKPRESCALAR_1 (LCDPRE_0)
162 #define LCD_C_CLOCKPRESCALAR_2 (LCDPRE_1)
163 #define LCD_C_CLOCKPRESCALAR_4 (LCDPRE_2)
164 #define LCD_C_CLOCKPRESCALAR_8 (LCDPRE_3)
165 #define LCD_C_CLOCKPRESCALAR_16 (LCDPRE_4)
166 #define LCD_C_CLOCKPRESCALAR_32 (LCDPRE_5)
174 #define LCD_C_STATIC (0x0)
175 #define LCD_C_2_MUX (LCDMX0)
176 #define LCD_C_3_MUX (LCDMX1)
177 #define LCD_C_4_MUX (LCDMX1 | LCDMX0)
178 #define LCD_C_5_MUX (LCDMX2)
179 #define LCD_C_6_MUX (LCDMX2 | LCDMX0)
180 #define LCD_C_7_MUX (LCDMX2 | LCDMX1)
181 #define LCD_C_8_MUX (LCDMX2 | LCDMX1 | LCDMX0)
189 #define LCD_C_STANDARD_WAVEFORMS (0x0)
190 #define LCD_C_LOW_POWER_WAVEFORMS (LCDLP)
198 #define LCD_C_SEGMENTS_DISABLED (0x0)
199 #define LCD_C_SEGMENTS_ENABLED (LCDSON)
209 #define LCD_C_NO_CAPACITANCE_CONNECTED_INTERRUPT (LCDNOCAPIE)
210 #define LCD_C_BLINKING_SEGMENTS_ON_INTERRUPT (LCDBLKONIE)
211 #define LCD_C_BLINKING_SEGMENTS_OFF_INTERRUPT (LCDBLKOFFIE)
212 #define LCD_C_FRAME_INTERRUPT (LCDFRMIE)
220 #define LCD_C_DISPLAYSOURCE_MEMORY (0x0)
221 #define LCD_C_DISPLAYSOURCE_BLINKINGMEMORY (LCDDISP)
229 #define LCD_C_BLINK_FREQ_CLOCK_DIVIDER_1 (0x0)
230 #define LCD_C_BLINK_FREQ_CLOCK_DIVIDER_2 (LCDBLKDIV0)
231 #define LCD_C_BLINK_FREQ_CLOCK_DIVIDER_3 (LCDBLKDIV1)
232 #define LCD_C_BLINK_FREQ_CLOCK_DIVIDER_4 (LCDBLKDIV0 | LCDBLKDIV1)
233 #define LCD_C_BLINK_FREQ_CLOCK_DIVIDER_5 (LCDBLKDIV2)
234 #define LCD_C_BLINK_FREQ_CLOCK_DIVIDER_6 (LCDBLKDIV2 | LCDBLKDIV0)
235 #define LCD_C_BLINK_FREQ_CLOCK_DIVIDER_7 (LCDBLKDIV2 | LCDBLKDIV1)
236 #define LCD_C_BLINK_FREQ_CLOCK_DIVIDER_8 (LCDBLKDIV2 | LCDBLKDIV1 | LCDBLKDIV0)
244 #define LCD_C_BLINK_FREQ_CLOCK_PRESCALAR_512 (0x0)
245 #define LCD_C_BLINK_FREQ_CLOCK_PRESCALAR_1024 (LCDBLKPRE0)
246 #define LCD_C_BLINK_FREQ_CLOCK_PRESCALAR_2048 (LCDBLKPRE1)
247 #define LCD_C_BLINK_FREQ_CLOCK_PRESCALAR_4096 (LCDBLKPRE1 | LCDBLKPRE0)
248 #define LCD_C_BLINK_FREQ_CLOCK_PRESCALAR_8162 (LCDBLKPRE2)
249 #define LCD_C_BLINK_FREQ_CLOCK_PRESCALAR_16384 (LCDBLKPRE2 | LCDBLKPRE0)
250 #define LCD_C_BLINK_FREQ_CLOCK_PRESCALAR_32768 (LCDBLKPRE2 | LCDBLKPRE1)
251 #define LCD_C_BLINK_FREQ_CLOCK_PRESCALAR_65536 \
252 (LCDBLKPRE2 | LCDBLKPRE1 | LCDBLKPRE0)
260 #define LCD_C_BLINK_MODE_DISABLED (LCDBLKMOD_0)
261 #define LCD_C_BLINK_MODE_INDIVIDUAL_SEGMENTS (LCDBLKMOD_1)
262 #define LCD_C_BLINK_MODE_ALL_SEGMENTS (LCDBLKMOD_2)
263 #define LCD_C_BLINK_MODE_SWITCHING_BETWEEN_DISPLAY_CONTENTS (LCDBLKMOD_3)
271 #define LCD_C_BIAS_1_3 (0x0)
272 #define LCD_C_BIAS_1_2 (LCD2B)
280 #define LCD_C_INTERNAL_REFERENCE_VOLTAGE (VLCDREF_0)
281 #define LCD_C_EXTERNAL_REFERENCE_VOLTAGE (VLCDREF_1)
282 #define LCD_C_INTERNAL_REFERENCE_VOLTAGE_SWITCHED_TO_EXTERNAL_PIN (VLCDREF_2)
290 #define LCD_C_VLCD_GENERATED_INTERNALLY (0x0)
291 #define LCD_C_VLCD_SOURCED_EXTERNALLY (VLCDEXT)
299 #define LCD_C_V2V3V4_GENERATED_INTERNALLY_NOT_SWITCHED_TO_PINS (0x0)
300 #define LCD_C_V2V3V4_GENERATED_INTERNALLY_SWITCHED_TO_PINS (LCDREXT)
301 #define LCD_C_V2V3V4_SOURCED_EXTERNALLY (LCDEXTBIAS)
309 #define LCD_C_V5_VSS (0x0)
310 #define LCD_C_V5_SOURCED_FROM_R03 (R03EXT)
318 #define LCD_C_CHARGEPUMP_DISABLED (0x0)
319 #define LCD_C_CHARGEPUMP_VOLTAGE_2_60V_OR_2_17VREF (VLCD0)
320 #define LCD_C_CHARGEPUMP_VOLTAGE_2_66V_OR_2_22VREF (VLCD1)
321 #define LCD_C_CHARGEPUMP_VOLTAGE_2_72V_OR_2_27VREF (VLCD1 | VLCD0)
322 #define LCD_C_CHARGEPUMP_VOLTAGE_2_78V_OR_2_32VREF (VLCD2)
323 #define LCD_C_CHARGEPUMP_VOLTAGE_2_84V_OR_2_37VREF (VLCD2 | VLCD0)
324 #define LCD_C_CHARGEPUMP_VOLTAGE_2_90V_OR_2_42VREF (VLCD2 | VLCD1)
325 #define LCD_C_CHARGEPUMP_VOLTAGE_2_96V_OR_2_47VREF (VLCD2 | VLCD1 | VLCD0)
326 #define LCD_C_CHARGEPUMP_VOLTAGE_3_02V_OR_2_52VREF (VLCD3)
327 #define LCD_C_CHARGEPUMP_VOLTAGE_3_08V_OR_2_57VREF (VLCD3 | VLCD0)
328 #define LCD_C_CHARGEPUMP_VOLTAGE_3_14V_OR_2_62VREF (VLCD3 | VLCD1)
329 #define LCD_C_CHARGEPUMP_VOLTAGE_3_20V_OR_2_67VREF (VLCD3 | VLCD1 | VLCD0)
330 #define LCD_C_CHARGEPUMP_VOLTAGE_3_26V_OR_2_72VREF (VLCD3 | VLCD2)
331 #define LCD_C_CHARGEPUMP_VOLTAGE_3_32V_OR_2_77VREF (VLCD3 | VLCD2 | VLCD0)
332 #define LCD_C_CHARGEPUMP_VOLTAGE_3_38V_OR_2_82VREF (VLCD3 | VLCD2 | VLCD1)
333 #define LCD_C_CHARGEPUMP_VOLTAGE_3_44V_OR_2_87VREF \
334 (VLCD3 | VLCD2 | VLCD1 | VLCD0)
345 #define LCD_C_SEGMENT_LINE_0 (0)
346 #define LCD_C_SEGMENT_LINE_1 (1)
347 #define LCD_C_SEGMENT_LINE_2 (2)
348 #define LCD_C_SEGMENT_LINE_3 (3)
349 #define LCD_C_SEGMENT_LINE_4 (4)
350 #define LCD_C_SEGMENT_LINE_5 (5)
351 #define LCD_C_SEGMENT_LINE_6 (6)
352 #define LCD_C_SEGMENT_LINE_7 (7)
353 #define LCD_C_SEGMENT_LINE_8 (8)
354 #define LCD_C_SEGMENT_LINE_9 (9)
355 #define LCD_C_SEGMENT_LINE_10 (10)
356 #define LCD_C_SEGMENT_LINE_11 (11)
357 #define LCD_C_SEGMENT_LINE_12 (12)
358 #define LCD_C_SEGMENT_LINE_13 (13)
359 #define LCD_C_SEGMENT_LINE_14 (14)
360 #define LCD_C_SEGMENT_LINE_15 (15)
361 #define LCD_C_SEGMENT_LINE_16 (16)
362 #define LCD_C_SEGMENT_LINE_17 (17)
363 #define LCD_C_SEGMENT_LINE_18 (18)
364 #define LCD_C_SEGMENT_LINE_19 (19)
365 #define LCD_C_SEGMENT_LINE_20 (20)
366 #define LCD_C_SEGMENT_LINE_21 (21)
367 #define LCD_C_SEGMENT_LINE_22 (22)
368 #define LCD_C_SEGMENT_LINE_23 (23)
369 #define LCD_C_SEGMENT_LINE_24 (24)
370 #define LCD_C_SEGMENT_LINE_25 (25)
371 #define LCD_C_SEGMENT_LINE_26 (26)
372 #define LCD_C_SEGMENT_LINE_27 (27)
373 #define LCD_C_SEGMENT_LINE_28 (28)
374 #define LCD_C_SEGMENT_LINE_29 (29)
375 #define LCD_C_SEGMENT_LINE_30 (30)
376 #define LCD_C_SEGMENT_LINE_31 (31)
377 #define LCD_C_SEGMENT_LINE_32 (32)
378 #define LCD_C_SEGMENT_LINE_33 (33)
379 #define LCD_C_SEGMENT_LINE_34 (34)
380 #define LCD_C_SEGMENT_LINE_35 (35)
381 #define LCD_C_SEGMENT_LINE_36 (36)
382 #define LCD_C_SEGMENT_LINE_37 (37)
383 #define LCD_C_SEGMENT_LINE_38 (38)
384 #define LCD_C_SEGMENT_LINE_39 (39)
385 #define LCD_C_SEGMENT_LINE_40 (40)
386 #define LCD_C_SEGMENT_LINE_41 (41)
387 #define LCD_C_SEGMENT_LINE_42 (42)
388 #define LCD_C_SEGMENT_LINE_43 (43)
389 #define LCD_C_SEGMENT_LINE_44 (44)
390 #define LCD_C_SEGMENT_LINE_45 (45)
391 #define LCD_C_SEGMENT_LINE_46 (46)
392 #define LCD_C_SEGMENT_LINE_47 (47)
393 #define LCD_C_SEGMENT_LINE_48 (48)
394 #define LCD_C_SEGMENT_LINE_49 (49)
395 #define LCD_C_SEGMENT_LINE_50 (50)
396 #define LCD_C_SEGMENT_LINE_51 (51)
397 #define LCD_C_SEGMENT_LINE_52 (52)
398 #define LCD_C_SEGMENT_LINE_53 (53)
399 #define LCD_C_SEGMENT_LINE_54 (54)
400 #define LCD_C_SEGMENT_LINE_55 (55)
401 #define LCD_C_SEGMENT_LINE_56 (56)
402 #define LCD_C_SEGMENT_LINE_57 (57)
403 #define LCD_C_SEGMENT_LINE_58 (58)
404 #define LCD_C_SEGMENT_LINE_59 (59)
405 #define LCD_C_SEGMENT_LINE_60 (60)
406 #define LCD_C_SEGMENT_LINE_61 (61)
407 #define LCD_C_SEGMENT_LINE_62 (62)
408 #define LCD_C_SEGMENT_LINE_63 (63)
416 #define LCD_C_SYNCHRONIZATION_DISABLED (0x0)
417 #define LCD_C_SYNCHRONIZATION_ENABLED (LCDCPCLKSYNC)
455 extern void LCD_C_on(uint16_t baseAddress);
468 extern void LCD_C_off(uint16_t baseAddress);
602 uint16_t displayMemory);
636 uint8_t clockDivider,
637 uint8_t clockPrescalar,
747 uint16_t v2v3v4Source,
1283 uint16_t syncToClock,
1284 uint16_t functionControl);
1296 #endif // __MSP430WARE_LCD_C_H__
uint16_t clockSource
Definition: lcd_c.h:36
void LCD_C_clearInterrupt(uint16_t baseAddress, uint16_t mask)
Clears the LCD interrupt flags.
Definition: lcd_c.c:78
void LCD_C_selectDisplayMemory(uint16_t baseAddress, uint16_t displayMemory)
Selects display memory.
Definition: lcd_c.c:108
uint16_t waveforms
Definition: lcd_c.h:96
void LCD_C_disableInterrupt(uint16_t baseAddress, uint16_t mask)
Disables LCD interrupt sources.
Definition: lcd_c.c:93
void LCD_C_on(uint16_t baseAddress)
Turns on the LCD module.
Definition: lcd_c.c:68
void LCD_C_setVLCDVoltage(uint16_t baseAddress, uint16_t voltage)
Selects the charge pump reference.
Definition: lcd_c.c:169
void LCD_C_clearMemory(uint16_t baseAddress)
Clears all LCD memory registers.
Definition: lcd_c.c:98
void LCD_C_clearBlinkingMemory(uint16_t baseAddress)
Clears all LCD blinking memory registers.
Definition: lcd_c.c:103
uint16_t muxRate
Definition: lcd_c.h:91
void LCD_C_selectBias(uint16_t baseAddress, uint16_t bias)
Selects the bias level.
Definition: lcd_c.c:138
void LCD_C_enableChargePump(uint16_t baseAddress)
Enables the charge pump.
Definition: lcd_c.c:126
void LCD_C_enableInterrupt(uint16_t baseAddress, uint16_t mask)
Enables LCD interrupt sources.
Definition: lcd_c.c:88
void LCD_C_setVLCDSource(uint16_t baseAddress, uint16_t vlcdSource, uint16_t v2v3v4Source, uint16_t v5Source)
Sets the voltage source for V2/V3/V4 and V5.
Definition: lcd_c.c:154
void LCD_C_selectChargePumpReference(uint16_t baseAddress, uint16_t reference)
Selects the charge pump reference.
Definition: lcd_c.c:146
Used in the LCD_C_init() function as the initParams parameter.
Definition: lcd_c.h:31
void LCD_C_setPinAsPortFunction(uint16_t baseAddress, uint8_t pin)
Sets the LCD Pin as Port functions.
Definition: lcd_c.c:187
uint16_t clockPrescalar
Definition: lcd_c.h:80
void LCD_C_off(uint16_t baseAddress)
Turns off the LCD module.
Definition: lcd_c.c:73
void LCD_C_setMemory(uint16_t baseAddress, uint8_t pin, uint8_t value)
Sets the LCD memory register.
Definition: lcd_c.c:241
void LCD_C_setBlinkingMemory(uint16_t baseAddress, uint8_t pin, uint8_t value)
Sets the LCD blink memory register.
Definition: lcd_c.c:263
uint16_t segments
Definition: lcd_c.h:101
void LCD_C_configChargePump(uint16_t baseAddress, uint16_t syncToClock, uint16_t functionControl)
Configs the charge pump for synchronization and disabled capability.
Definition: lcd_c.c:286
uint16_t LCD_C_getInterruptStatus(uint16_t baseAddress, uint16_t mask)
Gets the LCD interrupt status.
Definition: lcd_c.c:83
void LCD_C_setBlinkingControl(uint16_t baseAddress, uint8_t clockDivider, uint8_t clockPrescalar, uint8_t mode)
Sets the blink settings.
Definition: lcd_c.c:114
uint16_t clockDivider
Definition: lcd_c.h:71
void LCD_C_setPinAsLCDFunction(uint16_t baseAddress, uint8_t pin)
Sets the LCD Pin as LCD functions.
Definition: lcd_c.c:177
void LCD_C_init(uint16_t baseAddress, LCD_C_initParam *initParams)
Initializes the LCD Module.
Definition: lcd_c.c:54
void LCD_C_setPinAsLCDFunctionEx(uint16_t baseAddress, uint8_t startPin, uint8_t endPin)
Sets the LCD pins as LCD function pin.
Definition: lcd_c.c:211
void LCD_C_disableChargePump(uint16_t baseAddress)
Disables the charge pump.
Definition: lcd_c.c:132