7 #ifndef __MSP430WARE_LCD_B_H__
8 #define __MSP430WARE_LCD_B_H__
12 #ifdef __MSP430_HAS_LCD_B__
31 typedef struct LCD_B_initParam {
71 uint16_t clockDivider;
80 uint16_t clockPrescalar;
95 extern const LCD_B_initParam LCD_B_INIT_PARAM;
102 #define LCD_B_CLOCKSOURCE_ACLK (0x0)
103 #define LCD_B_CLOCKSOURCE_VLOCLK (LCDSSEL)
111 #define LCD_B_CLOCKDIVIDER_1 (LCDDIV_0)
112 #define LCD_B_CLOCKDIVIDER_2 (LCDDIV_1)
113 #define LCD_B_CLOCKDIVIDER_3 (LCDDIV_2)
114 #define LCD_B_CLOCKDIVIDER_4 (LCDDIV_3)
115 #define LCD_B_CLOCKDIVIDER_5 (LCDDIV_4)
116 #define LCD_B_CLOCKDIVIDER_6 (LCDDIV_5)
117 #define LCD_B_CLOCKDIVIDER_7 (LCDDIV_6)
118 #define LCD_B_CLOCKDIVIDER_8 (LCDDIV_7)
119 #define LCD_B_CLOCKDIVIDER_9 (LCDDIV_8)
120 #define LCD_B_CLOCKDIVIDER_10 (LCDDIV_9)
121 #define LCD_B_CLOCKDIVIDER_11 (LCDDIV_10)
122 #define LCD_B_CLOCKDIVIDER_12 (LCDDIV_11)
123 #define LCD_B_CLOCKDIVIDER_13 (LCDDIV_12)
124 #define LCD_B_CLOCKDIVIDER_14 (LCDDIV_13)
125 #define LCD_B_CLOCKDIVIDER_15 (LCDDIV_14)
126 #define LCD_B_CLOCKDIVIDER_16 (LCDDIV_15)
127 #define LCD_B_CLOCKDIVIDER_17 (LCDDIV_16)
128 #define LCD_B_CLOCKDIVIDER_18 (LCDDIV_17)
129 #define LCD_B_CLOCKDIVIDER_19 (LCDDIV_18)
130 #define LCD_B_CLOCKDIVIDER_20 (LCDDIV_19)
131 #define LCD_B_CLOCKDIVIDER_21 (LCDDIV_20)
132 #define LCD_B_CLOCKDIVIDER_22 (LCDDIV_21)
133 #define LCD_B_CLOCKDIVIDER_23 (LCDDIV_22)
134 #define LCD_B_CLOCKDIVIDER_24 (LCDDIV_23)
135 #define LCD_B_CLOCKDIVIDER_25 (LCDDIV_24)
136 #define LCD_B_CLOCKDIVIDER_26 (LCDDIV_25)
137 #define LCD_B_CLOCKDIVIDER_27 (LCDDIV_26)
138 #define LCD_B_CLOCKDIVIDER_28 (LCDDIV_27)
139 #define LCD_B_CLOCKDIVIDER_29 (LCDDIV_28)
140 #define LCD_B_CLOCKDIVIDER_30 (LCDDIV_29)
141 #define LCD_B_CLOCKDIVIDER_31 (LCDDIV_30)
142 #define LCD_B_CLOCKDIVIDER_32 (LCDDIV_31)
150 #define LCD_B_CLOCKPRESCALAR_1 (LCDPRE_0)
151 #define LCD_B_CLOCKPRESCALAR_2 (LCDPRE_1)
152 #define LCD_B_CLOCKPRESCALAR_4 (LCDPRE_2)
153 #define LCD_B_CLOCKPRESCALAR_8 (LCDPRE_3)
154 #define LCD_B_CLOCKPRESCALAR_16 (LCDPRE_4)
155 #define LCD_B_CLOCKPRESCALAR_32 (LCDPRE_5)
163 #define LCD_B_STATIC (0x0)
164 #define LCD_B_2_MUX (LCDMX0)
165 #define LCD_B_3_MUX (LCDMX1)
166 #define LCD_B_4_MUX (LCDMX1 | LCDMX0)
174 #define LCD_B_SEGMENTS_DISABLED (0x0)
175 #define LCD_B_SEGMENTS_ENABLED (LCDSON)
185 #define LCD_B_NO_CAPACITANCE_CONNECTED_INTERRUPT (LCDNOCAPIE)
186 #define LCD_B_BLINKING_SEGMENTS_ON_INTERRUPT (LCDBLKONIE)
187 #define LCD_B_BLINKING_SEGMENTS_OFF_INTERRUPT (LCDBLKOFFIE)
188 #define LCD_B_FRAME_INTERRUPT (LCDFRMIE)
196 #define LCD_B_DISPLAYSOURCE_MEMORY (0x0)
197 #define LCD_B_DISPLAYSOURCE_BLINKINGMEMORY (LCDDISP)
205 #define LCD_B_BLINK_FREQ_CLOCK_DIVIDER_1 (0x0)
206 #define LCD_B_BLINK_FREQ_CLOCK_DIVIDER_2 (LCDBLKDIV0)
207 #define LCD_B_BLINK_FREQ_CLOCK_DIVIDER_3 (LCDBLKDIV1)
208 #define LCD_B_BLINK_FREQ_CLOCK_DIVIDER_4 (LCDBLKDIV0 | LCDBLKDIV1)
209 #define LCD_B_BLINK_FREQ_CLOCK_DIVIDER_5 (LCDBLKDIV2)
210 #define LCD_B_BLINK_FREQ_CLOCK_DIVIDER_6 (LCDBLKDIV2 | LCDBLKDIV0)
211 #define LCD_B_BLINK_FREQ_CLOCK_DIVIDER_7 (LCDBLKDIV2 | LCDBLKDIV1)
212 #define LCD_B_BLINK_FREQ_CLOCK_DIVIDER_8 (LCDBLKDIV2 | LCDBLKDIV1 | LCDBLKDIV0)
220 #define LCD_B_BLINK_FREQ_CLOCK_PRESCALAR_512 (0x0)
221 #define LCD_B_BLINK_FREQ_CLOCK_PRESCALAR_1024 (LCDBLKPRE0)
222 #define LCD_B_BLINK_FREQ_CLOCK_PRESCALAR_2048 (LCDBLKPRE1)
223 #define LCD_B_BLINK_FREQ_CLOCK_PRESCALAR_4096 (LCDBLKPRE1 | LCDBLKPRE0)
224 #define LCD_B_BLINK_FREQ_CLOCK_PRESCALAR_8162 (LCDBLKPRE2)
225 #define LCD_B_BLINK_FREQ_CLOCK_PRESCALAR_16384 LCDBLKPRE2 | LCDBLKPRE0)
226 #define LCD_B_BLINK_FREQ_CLOCK_PRESCALAR_32768 (LCDBLKPRE2 | LCDBLKPRE1)
227 #define LCD_B_BLINK_FREQ_CLOCK_PRESCALAR_65536 \
228 (LCDBLKPRE2 | LCDBLKPRE1 | LCDBLKPRE0)
236 #define LCD_B_BLINK_MODE_DISABLED (LCDBLKMOD_0)
237 #define LCD_B_BLINK_MODE_INDIVIDUAL_SEGMENTS (LCDBLKMOD_1)
238 #define LCD_B_BLINK_MODE_ALL_SEGMENTS (LCDBLKMOD_2)
239 #define LCD_B_BLINK_MODE_SWITCHING_BETWEEN_DISPLAY_CONTENTS (LCDBLKMOD_3)
247 #define LCD_B_BIAS_1_3 (0x0)
248 #define LCD_B_BIAS_1_2 (LCD2B)
256 #define LCD_B_INTERNAL_REFERENCE_VOLTAGE (VLCDREF_0)
257 #define LCD_B_EXTERNAL_REFERENCE_VOLTAGE (VLCDREF_1)
258 #define LCD_B_INTERNAL_REFERENCE_VOLTAGE_SWITCHED_TO_EXTERNAL_PIN (VLCDREF_2)
266 #define LCD_B_VLCD_GENERATED_INTERNALLY (0x0)
267 #define LCD_B_VLCD_SOURCED_EXTERNALLY (VLCDEXT)
275 #define LCD_B_V2V3V4_GENERATED_INTERNALLY_NOT_SWITCHED_TO_PINS (0x0)
276 #define LCD_B_V2V3V4_GENERATED_INTERNALLY_SWITCHED_TO_PINS (LCDREXT)
277 #define LCD_B_V2V3V4_SOURCED_EXTERNALLY (LCDEXTBIAS)
285 #define LCD_B_V5_VSS (0x0)
286 #define LCD_B_V5_SOURCED_FROM_R03 (R03EXT)
294 #define LCD_B_CHARGEPUMP_DISABLED (0x0)
295 #define LCD_B_CHARGEPUMP_VOLTAGE_2_60V_OR_2_17VREF (VLCD0)
296 #define LCD_B_CHARGEPUMP_VOLTAGE_2_66V_OR_2_22VREF (VLCD1)
297 #define LCD_B_CHARGEPUMP_VOLTAGE_2_72V_OR_2_27VREF (VLCD1 | VLCD0)
298 #define LCD_B_CHARGEPUMP_VOLTAGE_2_78V_OR_2_32VREF (VLCD2)
299 #define LCD_B_CHARGEPUMP_VOLTAGE_2_84V_OR_2_37VREF (VLCD2 | VLCD0)
300 #define LCD_B_CHARGEPUMP_VOLTAGE_2_90V_OR_2_42VREF (VLCD2 | VLCD1)
301 #define LCD_B_CHARGEPUMP_VOLTAGE_2_96V_OR_2_47VREF (VLCD2 | VLCD1 | VLCD0)
302 #define LCD_B_CHARGEPUMP_VOLTAGE_3_02V_OR_2_52VREF (VLCD3)
303 #define LCD_B_CHARGEPUMP_VOLTAGE_3_08V_OR_2_57VREF (VLCD3 | VLCD0)
304 #define LCD_B_CHARGEPUMP_VOLTAGE_3_14V_OR_2_62VREF (VLCD3 | VLCD1)
305 #define LCD_B_CHARGEPUMP_VOLTAGE_3_20V_OR_2_67VREF (VLCD3 | VLCD1 | VLCD0)
306 #define LCD_B_CHARGEPUMP_VOLTAGE_3_26V_OR_2_72VREF (VLCD3 | VLCD2)
307 #define LCD_B_CHARGEPUMP_VOLTAGE_3_32V_OR_2_77VREF (VLCD3 | VLCD2 | VLCD0)
308 #define LCD_B_CHARGEPUMP_VOLTAGE_3_38V_OR_2_82VREF (VLCD3 | VLCD2 | VLCD1)
309 #define LCD_B_CHARGEPUMP_VOLTAGE_3_44V_OR_2_87VREF \
310 (VLCD3 | VLCD2 | VLCD1 | VLCD0)
320 #define LCD_B_SEGMENT_LINE_0 (0)
321 #define LCD_B_SEGMENT_LINE_1 (1)
322 #define LCD_B_SEGMENT_LINE_2 (2)
323 #define LCD_B_SEGMENT_LINE_3 (3)
324 #define LCD_B_SEGMENT_LINE_4 (4)
325 #define LCD_B_SEGMENT_LINE_5 (5)
326 #define LCD_B_SEGMENT_LINE_6 (6)
327 #define LCD_B_SEGMENT_LINE_7 (7)
328 #define LCD_B_SEGMENT_LINE_8 (8)
329 #define LCD_B_SEGMENT_LINE_9 (9)
330 #define LCD_B_SEGMENT_LINE_10 (10)
331 #define LCD_B_SEGMENT_LINE_11 (11)
332 #define LCD_B_SEGMENT_LINE_12 (12)
333 #define LCD_B_SEGMENT_LINE_13 (13)
334 #define LCD_B_SEGMENT_LINE_14 (14)
335 #define LCD_B_SEGMENT_LINE_15 (15)
336 #define LCD_B_SEGMENT_LINE_16 (16)
337 #define LCD_B_SEGMENT_LINE_17 (17)
338 #define LCD_B_SEGMENT_LINE_18 (18)
339 #define LCD_B_SEGMENT_LINE_19 (19)
340 #define LCD_B_SEGMENT_LINE_20 (20)
341 #define LCD_B_SEGMENT_LINE_21 (21)
342 #define LCD_B_SEGMENT_LINE_22 (22)
343 #define LCD_B_SEGMENT_LINE_23 (23)
344 #define LCD_B_SEGMENT_LINE_24 (24)
345 #define LCD_B_SEGMENT_LINE_25 (25)
346 #define LCD_B_SEGMENT_LINE_26 (26)
347 #define LCD_B_SEGMENT_LINE_27 (27)
348 #define LCD_B_SEGMENT_LINE_28 (28)
349 #define LCD_B_SEGMENT_LINE_29 (29)
350 #define LCD_B_SEGMENT_LINE_30 (30)
351 #define LCD_B_SEGMENT_LINE_31 (31)
352 #define LCD_B_SEGMENT_LINE_32 (32)
353 #define LCD_B_SEGMENT_LINE_33 (33)
354 #define LCD_B_SEGMENT_LINE_34 (34)
355 #define LCD_B_SEGMENT_LINE_35 (35)
356 #define LCD_B_SEGMENT_LINE_36 (36)
357 #define LCD_B_SEGMENT_LINE_37 (37)
358 #define LCD_B_SEGMENT_LINE_38 (38)
359 #define LCD_B_SEGMENT_LINE_39 (39)
360 #define LCD_B_SEGMENT_LINE_40 (40)
361 #define LCD_B_SEGMENT_LINE_41 (41)
362 #define LCD_B_SEGMENT_LINE_42 (42)
363 #define LCD_B_SEGMENT_LINE_43 (43)
364 #define LCD_B_SEGMENT_LINE_44 (44)
365 #define LCD_B_SEGMENT_LINE_45 (45)
366 #define LCD_B_SEGMENT_LINE_46 (46)
367 #define LCD_B_SEGMENT_LINE_47 (47)
368 #define LCD_B_SEGMENT_LINE_48 (48)
369 #define LCD_B_SEGMENT_LINE_49 (49)
370 #define LCD_B_SEGMENT_LINE_50 (50)
371 #define LCD_B_SEGMENT_LINE_51 (51)
372 #define LCD_B_SEGMENT_LINE_52 (52)
373 #define LCD_B_SEGMENT_LINE_53 (53)
374 #define LCD_B_SEGMENT_LINE_54 (54)
375 #define LCD_B_SEGMENT_LINE_55 (55)
376 #define LCD_B_SEGMENT_LINE_56 (56)
377 #define LCD_B_SEGMENT_LINE_57 (57)
378 #define LCD_B_SEGMENT_LINE_58 (58)
379 #define LCD_B_SEGMENT_LINE_59 (59)
380 #define LCD_B_SEGMENT_LINE_60 (60)
381 #define LCD_B_SEGMENT_LINE_61 (61)
382 #define LCD_B_SEGMENT_LINE_62 (62)
383 #define LCD_B_SEGMENT_LINE_63 (63)
394 #define LCD_B_MEMORY_BLINKINGMEMORY_0 (0)
395 #define LCD_B_MEMORY_BLINKINGMEMORY_1 (1)
396 #define LCD_B_MEMORY_BLINKINGMEMORY_2 (2)
397 #define LCD_B_MEMORY_BLINKINGMEMORY_3 (3)
398 #define LCD_B_MEMORY_BLINKINGMEMORY_4 (4)
399 #define LCD_B_MEMORY_BLINKINGMEMORY_5 (5)
400 #define LCD_B_MEMORY_BLINKINGMEMORY_6 (6)
401 #define LCD_B_MEMORY_BLINKINGMEMORY_7 (7)
402 #define LCD_B_MEMORY_BLINKINGMEMORY_8 (8)
403 #define LCD_B_MEMORY_BLINKINGMEMORY_9 (9)
404 #define LCD_B_MEMORY_BLINKINGMEMORY_10 (10)
405 #define LCD_B_MEMORY_BLINKINGMEMORY_11 (11)
406 #define LCD_B_MEMORY_BLINKINGMEMORY_12 (12)
407 #define LCD_B_MEMORY_BLINKINGMEMORY_13 (13)
408 #define LCD_B_MEMORY_BLINKINGMEMORY_14 (14)
409 #define LCD_B_MEMORY_BLINKINGMEMORY_15 (15)
410 #define LCD_B_MEMORY_BLINKINGMEMORY_16 (16)
411 #define LCD_B_MEMORY_BLINKINGMEMORY_17 (17)
412 #define LCD_B_MEMORY_BLINKINGMEMORY_18 (18)
413 #define LCD_B_MEMORY_BLINKINGMEMORY_19 (19)
414 #define LCD_B_MEMORY_BLINKINGMEMORY_20 (20)
415 #define LCD_B_MEMORY_BLINKINGMEMORY_21 (21)
416 #define LCD_B_MEMORY_BLINKINGMEMORY_22 (22)
417 #define LCD_B_MEMORY_BLINKINGMEMORY_23 (23)
418 #define LCD_B_MEMORY_BLINKINGMEMORY_24 (24)
419 #define LCD_B_MEMORY_BLINKINGMEMORY_25 (25)
420 #define LCD_B_MEMORY_BLINKINGMEMORY_26 (26)
421 #define LCD_B_MEMORY_BLINKINGMEMORY_27 (27)
422 #define LCD_B_MEMORY_BLINKINGMEMORY_28 (28)
423 #define LCD_B_MEMORY_BLINKINGMEMORY_29 (29)
424 #define LCD_B_MEMORY_BLINKINGMEMORY_30 (30)
425 #define LCD_B_MEMORY_BLINKINGMEMORY_31 (31)
426 #define LCD_B_MEMORY_BLINKINGMEMORY_32 (32)
427 #define LCD_B_MEMORY_BLINKINGMEMORY_33 (33)
428 #define LCD_B_MEMORY_BLINKINGMEMORY_34 (34)
429 #define LCD_B_MEMORY_BLINKINGMEMORY_35 (35)
430 #define LCD_B_MEMORY_BLINKINGMEMORY_36 (36)
431 #define LCD_B_MEMORY_BLINKINGMEMORY_37 (37)
432 #define LCD_B_MEMORY_BLINKINGMEMORY_38 (38)
433 #define LCD_B_MEMORY_BLINKINGMEMORY_39 (39)
441 #define LCD_B_CHARGEPUMP_NOTAUTO_DISABLED_DURING_ADC_CONVERSION (0x0)
442 #define LCD_B_CHARGEPUMP_AUTO_DISABLED_DURING_ADC_CONVERSION (LCDCPDIS2)
466 extern void LCD_B_init(uint16_t baseAddress,
467 LCD_B_initParam *initParams);
480 extern void LCD_B_on(uint16_t baseAddress);
493 extern void LCD_B_off(uint16_t baseAddress);
512 extern void LCD_B_clearInterrupt(uint16_t baseAddress,
536 extern uint16_t LCD_B_getInterruptStatus(uint16_t baseAddress,
556 extern void LCD_B_enableInterrupt(uint16_t baseAddress,
576 extern void LCD_B_disableInterrupt(uint16_t baseAddress,
590 extern void LCD_B_clearAllMemory(uint16_t baseAddress);
603 extern void LCD_B_clearAllBlinkingMemory(uint16_t baseAddress);
626 extern void LCD_B_selectDisplayMemory(uint16_t baseAddress,
627 uint16_t displayMemory);
660 extern void LCD_B_setBlinkingControl(uint16_t baseAddress,
661 uint8_t clockDivider,
662 uint8_t clockPrescalar,
677 extern void LCD_B_enableChargePump(uint16_t baseAddress);
691 extern void LCD_B_disableChargePump(uint16_t baseAddress);
709 extern void LCD_B_selectBias(uint16_t baseAddress,
735 extern void LCD_B_selectChargePumpReference(uint16_t baseAddress,
770 extern void LCD_B_setVLCDSource(uint16_t baseAddress,
772 uint16_t v2v3v4Source,
807 extern void LCD_B_setVLCDVoltage(uint16_t baseAddress,
888 extern void LCD_B_setPinAsLCDFunction(uint16_t baseAddress,
969 extern void LCD_B_setPinAsPortFunction(uint16_t baseAddress,
1119 extern void LCD_B_setPinAsLCDFunctionEx(uint16_t baseAddress,
1179 extern void LCD_B_setMemory(uint16_t baseAddress,
1240 extern void LCD_B_updateMemory(uint16_t baseAddress,
1301 extern void LCD_B_toggleMemory(uint16_t baseAddress,
1362 extern void LCD_B_clearMemory(uint16_t baseAddress,
1422 extern void LCD_B_setBlinkingMemory(uint16_t baseAddress,
1483 extern void LCD_B_updateBlinkingMemory(uint16_t baseAddress,
1544 extern void LCD_B_toggleBlinkingMemory(uint16_t baseAddress,
1605 extern void LCD_B_clearBlinkingMemory(uint16_t baseAddress,
1628 extern void LCD_B_configureChargePump(uint16_t baseAddress,
1629 uint16_t autoDisabled);