1*5fd0122aSMatthias Ringwald /* --COPYRIGHT--,BSD 2*5fd0122aSMatthias Ringwald * Copyright (c) 2017, Texas Instruments Incorporated 3*5fd0122aSMatthias Ringwald * All rights reserved. 4*5fd0122aSMatthias Ringwald * 5*5fd0122aSMatthias Ringwald * Redistribution and use in source and binary forms, with or without 6*5fd0122aSMatthias Ringwald * modification, are permitted provided that the following conditions 7*5fd0122aSMatthias Ringwald * are met: 8*5fd0122aSMatthias Ringwald * 9*5fd0122aSMatthias Ringwald * * Redistributions of source code must retain the above copyright 10*5fd0122aSMatthias Ringwald * notice, this list of conditions and the following disclaimer. 11*5fd0122aSMatthias Ringwald * 12*5fd0122aSMatthias Ringwald * * Redistributions in binary form must reproduce the above copyright 13*5fd0122aSMatthias Ringwald * notice, this list of conditions and the following disclaimer in the 14*5fd0122aSMatthias Ringwald * documentation and/or other materials provided with the distribution. 15*5fd0122aSMatthias Ringwald * 16*5fd0122aSMatthias Ringwald * * Neither the name of Texas Instruments Incorporated nor the names of 17*5fd0122aSMatthias Ringwald * its contributors may be used to endorse or promote products derived 18*5fd0122aSMatthias Ringwald * from this software without specific prior written permission. 19*5fd0122aSMatthias Ringwald * 20*5fd0122aSMatthias Ringwald * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21*5fd0122aSMatthias Ringwald * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 22*5fd0122aSMatthias Ringwald * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 23*5fd0122aSMatthias Ringwald * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 24*5fd0122aSMatthias Ringwald * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 25*5fd0122aSMatthias Ringwald * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 26*5fd0122aSMatthias Ringwald * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 27*5fd0122aSMatthias Ringwald * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 28*5fd0122aSMatthias Ringwald * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 29*5fd0122aSMatthias Ringwald * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 30*5fd0122aSMatthias Ringwald * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31*5fd0122aSMatthias Ringwald * --/COPYRIGHT--*/ 32*5fd0122aSMatthias Ringwald #ifndef LCD_F_H_ 33*5fd0122aSMatthias Ringwald #define LCD_F_H_ 34*5fd0122aSMatthias Ringwald 35*5fd0122aSMatthias Ringwald #include <stdbool.h> 36*5fd0122aSMatthias Ringwald #include <stdint.h> 37*5fd0122aSMatthias Ringwald #include <ti/devices/msp432p4xx/inc/msp.h> 38*5fd0122aSMatthias Ringwald 39*5fd0122aSMatthias Ringwald /* Define to ensure that our current MSP432 has the LCD_F module. This 40*5fd0122aSMatthias Ringwald definition is included in the device specific header file */ 41*5fd0122aSMatthias Ringwald #ifdef __MCU_HAS_LCD_F__ 42*5fd0122aSMatthias Ringwald 43*5fd0122aSMatthias Ringwald //***************************************************************************** 44*5fd0122aSMatthias Ringwald // 45*5fd0122aSMatthias Ringwald //! \addtogroup lcd_f_api 46*5fd0122aSMatthias Ringwald //! @{ 47*5fd0122aSMatthias Ringwald // 48*5fd0122aSMatthias Ringwald //***************************************************************************** 49*5fd0122aSMatthias Ringwald 50*5fd0122aSMatthias Ringwald //***************************************************************************** 51*5fd0122aSMatthias Ringwald // 52*5fd0122aSMatthias Ringwald // If building with a C++ compiler, make all of the definitions in this header 53*5fd0122aSMatthias Ringwald // have a C binding. 54*5fd0122aSMatthias Ringwald // 55*5fd0122aSMatthias Ringwald //***************************************************************************** 56*5fd0122aSMatthias Ringwald #ifdef __cplusplus 57*5fd0122aSMatthias Ringwald extern "C" 58*5fd0122aSMatthias Ringwald { 59*5fd0122aSMatthias Ringwald #endif 60*5fd0122aSMatthias Ringwald 61*5fd0122aSMatthias Ringwald typedef struct LCD_F_initParam 62*5fd0122aSMatthias Ringwald { 63*5fd0122aSMatthias Ringwald //! Selects the clock that will be used by the LCD_F_E. 64*5fd0122aSMatthias Ringwald //! \n Valid values are: 65*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKSOURCE_XTCLK [Default] 66*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKSOURCE_ACLK [Default] 67*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKSOURCE_VLOCLK 68*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKSOURCE_LFXT 69*5fd0122aSMatthias Ringwald uint32_t clockSource; 70*5fd0122aSMatthias Ringwald //! Selects the divider for LCD frequency. 71*5fd0122aSMatthias Ringwald //! \n Valid values are: 72*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_1 [Default] 73*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_2 74*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_3 75*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_4 76*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_5 77*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_6 78*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_7 79*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_8 80*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_9 81*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_10 82*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_11 83*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_12 84*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_13 85*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_14 86*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_15 87*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_16 88*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_17 89*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_18 90*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_19 91*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_20 92*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_21 93*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_22 94*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_23 95*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_24 96*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_25 97*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_26 98*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_27 99*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_28 100*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_29 101*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_30 102*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_31 103*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKDIVIDER_32 104*5fd0122aSMatthias Ringwald uint32_t clockDivider; 105*5fd0122aSMatthias Ringwald //! Selects the prescaler 106*5fd0122aSMatthias Ringwald //! \n Valid values are: 107*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKPRESCALER_1 [Default] 108*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKPRESCALER_2 109*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKPRESCALER_4 110*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKPRESCALER_8 111*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKPRESCALER_16 112*5fd0122aSMatthias Ringwald //! - \b LCD_F_CLOCKPRESCALER_32 113*5fd0122aSMatthias Ringwald uint32_t clockPrescaler; 114*5fd0122aSMatthias Ringwald //! Selects LCD_F_E mux rate. 115*5fd0122aSMatthias Ringwald //! \n Valid values are: 116*5fd0122aSMatthias Ringwald //! - \b LCD_F_STATIC [Default] 117*5fd0122aSMatthias Ringwald //! - \b LCD_F_2_MUX 118*5fd0122aSMatthias Ringwald //! - \b LCD_F_3_MUX 119*5fd0122aSMatthias Ringwald //! - \b LCD_F_4_MUX 120*5fd0122aSMatthias Ringwald //! - \b LCD_F_5_MUX 121*5fd0122aSMatthias Ringwald //! - \b LCD_F_6_MUX 122*5fd0122aSMatthias Ringwald //! - \b LCD_F_7_MUX 123*5fd0122aSMatthias Ringwald //! - \b LCD_F_8_MUX 124*5fd0122aSMatthias Ringwald uint32_t muxRate; 125*5fd0122aSMatthias Ringwald //! Selects LCD waveform mode. 126*5fd0122aSMatthias Ringwald //! \n Valid values are: 127*5fd0122aSMatthias Ringwald //! - \b LCD_F_STANDARD_WAVEFORMS [Default] 128*5fd0122aSMatthias Ringwald //! - \b LCD_F_LOW_POWER_WAVEFORMS 129*5fd0122aSMatthias Ringwald uint32_t waveforms; 130*5fd0122aSMatthias Ringwald //! Sets LCD segment on/off. 131*5fd0122aSMatthias Ringwald //! \n Valid values are: 132*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENTS_DISABLED [Default] 133*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENTS_ENABLED 134*5fd0122aSMatthias Ringwald uint32_t segments; 135*5fd0122aSMatthias Ringwald } LCD_F_Config; 136*5fd0122aSMatthias Ringwald 137*5fd0122aSMatthias Ringwald //***************************************************************************** 138*5fd0122aSMatthias Ringwald // 139*5fd0122aSMatthias Ringwald // The following are values that can be passed to the initParams parameter for 140*5fd0122aSMatthias Ringwald // functions: LCD_F_initModule(). 141*5fd0122aSMatthias Ringwald // 142*5fd0122aSMatthias Ringwald //***************************************************************************** 143*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKSOURCE_ACLK (LCD_F_CTL_SSEL_0) 144*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKSOURCE_VLOCLK (LCD_F_CTL_SSEL_1) 145*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKSOURCE_REFOCLK (LCD_F_CTL_SSEL_2) 146*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKSOURCE_LFXT (LCD_F_CTL_SSEL_3) 147*5fd0122aSMatthias Ringwald 148*5fd0122aSMatthias Ringwald 149*5fd0122aSMatthias Ringwald //***************************************************************************** 150*5fd0122aSMatthias Ringwald // 151*5fd0122aSMatthias Ringwald // The following are values that can be passed to the initParams parameter for 152*5fd0122aSMatthias Ringwald // functions: LCD_F_initModule(). 153*5fd0122aSMatthias Ringwald // 154*5fd0122aSMatthias Ringwald //***************************************************************************** 155*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_1 0x0 156*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_2 0x800 157*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_3 0x1000 158*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_4 0x1800 159*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_5 0x2000 160*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_6 0x2800 161*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_7 0x3000 162*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_8 0x3800 163*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_9 0x4000 164*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_10 0x4800 165*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_11 0x5000 166*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_12 0x5800 167*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_13 0x6000 168*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_14 0x6800 169*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_15 0x7000 170*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_16 0x7800 171*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_17 0x8000 172*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_18 0x8800 173*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_19 0x9000 174*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_20 0x9800 175*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_21 0xa000 176*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_22 0xa800 177*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_23 0xb000 178*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_24 0xb800 179*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_25 0xc000 180*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_26 0xc800 181*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_27 0xd000 182*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_28 0xd800 183*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_29 0xe000 184*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_30 0xe800 185*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_31 0xf000 186*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKDIVIDER_32 0xf800 187*5fd0122aSMatthias Ringwald 188*5fd0122aSMatthias Ringwald //***************************************************************************** 189*5fd0122aSMatthias Ringwald // 190*5fd0122aSMatthias Ringwald // The following are values that can be passed to the initParams parameter for 191*5fd0122aSMatthias Ringwald // functions: LCD_F_initModule(). 192*5fd0122aSMatthias Ringwald // 193*5fd0122aSMatthias Ringwald //***************************************************************************** 194*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKPRESCALER_1 (LCD_F_CTL_PRE_0) 195*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKPRESCALER_2 (LCD_F_CTL_PRE_1) 196*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKPRESCALER_4 (LCD_F_CTL_PRE_2) 197*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKPRESCALER_8 (LCD_F_CTL_PRE_3) 198*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKPRESCALER_16 (LCD_F_CTL_PRE_4) 199*5fd0122aSMatthias Ringwald #define LCD_F_CLOCKPRESCALER_32 (LCD_F_CTL_PRE_5) 200*5fd0122aSMatthias Ringwald 201*5fd0122aSMatthias Ringwald //***************************************************************************** 202*5fd0122aSMatthias Ringwald // 203*5fd0122aSMatthias Ringwald // The following are values that can be passed to the initParams parameter for 204*5fd0122aSMatthias Ringwald // functions: LCD_F_initModule(). 205*5fd0122aSMatthias Ringwald // 206*5fd0122aSMatthias Ringwald //***************************************************************************** 207*5fd0122aSMatthias Ringwald #define LCD_F_STATIC (LCD_F_CTL_MX_0) 208*5fd0122aSMatthias Ringwald #define LCD_F_2_MUX (LCD_F_CTL_MX_1) 209*5fd0122aSMatthias Ringwald #define LCD_F_3_MUX (LCD_F_CTL_MX_2) 210*5fd0122aSMatthias Ringwald #define LCD_F_4_MUX (LCD_F_CTL_MX_3) 211*5fd0122aSMatthias Ringwald #define LCD_F_5_MUX (LCD_F_CTL_MX_4) 212*5fd0122aSMatthias Ringwald #define LCD_F_6_MUX (LCD_F_CTL_MX_5) 213*5fd0122aSMatthias Ringwald #define LCD_F_7_MUX (LCD_F_CTL_MX_6) 214*5fd0122aSMatthias Ringwald #define LCD_F_8_MUX (LCD_F_CTL_MX_7) 215*5fd0122aSMatthias Ringwald 216*5fd0122aSMatthias Ringwald //***************************************************************************** 217*5fd0122aSMatthias Ringwald // 218*5fd0122aSMatthias Ringwald // The following are values that can be passed to the v2v3v4Source parameter 219*5fd0122aSMatthias Ringwald // for functions: LCD_F_setVLCDSource(). 220*5fd0122aSMatthias Ringwald // 221*5fd0122aSMatthias Ringwald //***************************************************************************** 222*5fd0122aSMatthias Ringwald #define LCD_F_V2V3V4_GENERATED_INTERNALLY_NOT_SWITCHED_TO_PINS (0x0) 223*5fd0122aSMatthias Ringwald #define LCD_F_V2V3V4_GENERATED_INTERNALLY_SWITCHED_TO_PINS (LCD_F_VCTL_REXT) 224*5fd0122aSMatthias Ringwald #define LCD_F_V2V3V4_SOURCED_EXTERNALLY (LCD_F_VCTL_EXTBIAS) 225*5fd0122aSMatthias Ringwald 226*5fd0122aSMatthias Ringwald //***************************************************************************** 227*5fd0122aSMatthias Ringwald // 228*5fd0122aSMatthias Ringwald // The following are values that can be passed to the v5Source parameter for 229*5fd0122aSMatthias Ringwald // functions: LCD_F_setVLCDSource(). 230*5fd0122aSMatthias Ringwald // 231*5fd0122aSMatthias Ringwald //***************************************************************************** 232*5fd0122aSMatthias Ringwald #define LCD_F_V5_VSS (0x0) 233*5fd0122aSMatthias Ringwald #define LCD_F_V5_SOURCED_FROM_R03 (LCD_F_VCTL_R03EXT) 234*5fd0122aSMatthias Ringwald 235*5fd0122aSMatthias Ringwald //***************************************************************************** 236*5fd0122aSMatthias Ringwald // 237*5fd0122aSMatthias Ringwald // The following are values that can be passed to the initParams parameter for 238*5fd0122aSMatthias Ringwald // functions: LCD_F_initModule(). 239*5fd0122aSMatthias Ringwald // 240*5fd0122aSMatthias Ringwald //***************************************************************************** 241*5fd0122aSMatthias Ringwald #define LCD_F_STANDARD_WAVEFORMS (0x0) 242*5fd0122aSMatthias Ringwald #define LCD_F_LOW_POWER_WAVEFORMS (LCD_F_CTL_LP) 243*5fd0122aSMatthias Ringwald 244*5fd0122aSMatthias Ringwald //***************************************************************************** 245*5fd0122aSMatthias Ringwald // 246*5fd0122aSMatthias Ringwald // The following are values that can be passed to the initParams parameter for 247*5fd0122aSMatthias Ringwald // functions: LCD_F_initModule(). 248*5fd0122aSMatthias Ringwald // 249*5fd0122aSMatthias Ringwald //***************************************************************************** 250*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENTS_DISABLED (0x0) 251*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENTS_ENABLED (LCD_F_CTL_SON) 252*5fd0122aSMatthias Ringwald 253*5fd0122aSMatthias Ringwald //***************************************************************************** 254*5fd0122aSMatthias Ringwald // 255*5fd0122aSMatthias Ringwald // The following are values that can be passed to the mask parameter for 256*5fd0122aSMatthias Ringwald // functions: LCD_F_clearInterrupt(), LCD_F_getInterruptStatus(), 257*5fd0122aSMatthias Ringwald // LCD_F_enableInterrupt(), and LCD_F_disableInterrupt() as well as returned by 258*5fd0122aSMatthias Ringwald // the LCD_F_getInterruptStatus() function. 259*5fd0122aSMatthias Ringwald // 260*5fd0122aSMatthias Ringwald //***************************************************************************** 261*5fd0122aSMatthias Ringwald #define LCD_F_BLINKING_SEGMENTS_ON_INTERRUPT (LCD_F_IE_BLKONIE) 262*5fd0122aSMatthias Ringwald #define LCD_F_BLINKING_SEGMENTS_OFF_INTERRUPT (LCD_F_IE_BLKOFFIE) 263*5fd0122aSMatthias Ringwald #define LCD_F_FRAME_INTERRUPT (LCD_F_IE_FRMIE) 264*5fd0122aSMatthias Ringwald #define LCD_F_ANIMATION_LOOP_INTERRUPT (LCD_F_IE_ANMLOOPIE) 265*5fd0122aSMatthias Ringwald #define LCD_F_ANIMATION_STEP_INTERRUPT (LCD_F_IE_ANMSTPIE) 266*5fd0122aSMatthias Ringwald 267*5fd0122aSMatthias Ringwald //***************************************************************************** 268*5fd0122aSMatthias Ringwald // 269*5fd0122aSMatthias Ringwald // The following are values that can be passed to the displayMemory parameter 270*5fd0122aSMatthias Ringwald // for functions: LCD_F_selectDisplayMemory(). 271*5fd0122aSMatthias Ringwald // 272*5fd0122aSMatthias Ringwald //***************************************************************************** 273*5fd0122aSMatthias Ringwald #define LCD_F_DISPLAYSOURCE_MEMORY (0x0) 274*5fd0122aSMatthias Ringwald #define LCD_F_DISPLAYSOURCE_BLINKINGMEMORY (0x1) 275*5fd0122aSMatthias Ringwald 276*5fd0122aSMatthias Ringwald //***************************************************************************** 277*5fd0122aSMatthias Ringwald // 278*5fd0122aSMatthias Ringwald // The following are values that can be passed to the clockPrescalar parameter 279*5fd0122aSMatthias Ringwald // for functions: LCD_F_setBlinkingControl(). 280*5fd0122aSMatthias Ringwald // 281*5fd0122aSMatthias Ringwald //***************************************************************************** 282*5fd0122aSMatthias Ringwald #define LCD_F_BLINK_FREQ_CLOCK_PRESCALAR_512 LCD_F_BMCTL_BLKPRE_0 283*5fd0122aSMatthias Ringwald #define LCD_F_BLINK_FREQ_CLOCK_PRESCALAR_1024 LCD_F_BMCTL_BLKPRE_1 284*5fd0122aSMatthias Ringwald #define LCD_F_BLINK_FREQ_CLOCK_PRESCALAR_2048 LCD_F_BMCTL_BLKPRE_2 285*5fd0122aSMatthias Ringwald #define LCD_F_BLINK_FREQ_CLOCK_PRESCALAR_4096 LCD_F_BMCTL_BLKPRE_3 286*5fd0122aSMatthias Ringwald #define LCD_F_BLINK_FREQ_CLOCK_PRESCALAR_8162 LCD_F_BMCTL_BLKPRE_4 287*5fd0122aSMatthias Ringwald #define LCD_F_BLINK_FREQ_CLOCK_PRESCALAR_16384 LCD_F_BMCTL_BLKPRE_5 288*5fd0122aSMatthias Ringwald #define LCD_F_BLINK_FREQ_CLOCK_PRESCALAR_32768 LCD_F_BMCTL_BLKPRE_6 289*5fd0122aSMatthias Ringwald #define LCD_F_BLINK_FREQ_CLOCK_PRESCALAR_65536 LCD_F_BMCTL_BLKPRE_7 290*5fd0122aSMatthias Ringwald 291*5fd0122aSMatthias Ringwald //***************************************************************************** 292*5fd0122aSMatthias Ringwald // 293*5fd0122aSMatthias Ringwald // The following are values that can be passed to the clockPrescalar parameter 294*5fd0122aSMatthias Ringwald // for functions: LCD_F_setBlinkingControl(). 295*5fd0122aSMatthias Ringwald // 296*5fd0122aSMatthias Ringwald //***************************************************************************** 297*5fd0122aSMatthias Ringwald #define LCD_F_BLINK_FREQ_CLOCK_DIVIDER_1 LCD_F_BMCTL_BLKDIV_0 298*5fd0122aSMatthias Ringwald #define LCD_F_BLINK_FREQ_CLOCK_DIVIDER_2 LCD_F_BMCTL_BLKDIV_1 299*5fd0122aSMatthias Ringwald #define LCD_F_BLINK_FREQ_CLOCK_DIVIDER_3 LCD_F_BMCTL_BLKDIV_2 300*5fd0122aSMatthias Ringwald #define LCD_F_BLINK_FREQ_CLOCK_DIVIDER_4 LCD_F_BMCTL_BLKDIV_3 301*5fd0122aSMatthias Ringwald #define LCD_F_BLINK_FREQ_CLOCK_DIVIDER_5 LCD_F_BMCTL_BLKDIV_4 302*5fd0122aSMatthias Ringwald #define LCD_F_BLINK_FREQ_CLOCK_DIVIDER_6 LCD_F_BMCTL_BLKDIV_5 303*5fd0122aSMatthias Ringwald #define LCD_F_BLINK_FREQ_CLOCK_DIVIDER_7 LCD_F_BMCTL_BLKDIV_6 304*5fd0122aSMatthias Ringwald #define LCD_F_BLINK_FREQ_CLOCK_DIVIDER_8 LCD_F_BMCTL_BLKDIV_7 305*5fd0122aSMatthias Ringwald 306*5fd0122aSMatthias Ringwald //***************************************************************************** 307*5fd0122aSMatthias Ringwald // 308*5fd0122aSMatthias Ringwald // The following are values that can be passed to the mode parameter for 309*5fd0122aSMatthias Ringwald // functions: LCD_F_setBlinkingControl(). 310*5fd0122aSMatthias Ringwald // 311*5fd0122aSMatthias Ringwald //***************************************************************************** 312*5fd0122aSMatthias Ringwald #define LCD_F_BLINK_MODE_DISABLED (LCD_F_BMCTL_BLKMOD_0) 313*5fd0122aSMatthias Ringwald #define LCD_F_BLINK_MODE_INDIVIDUAL_SEGMENTS (LCD_F_BMCTL_BLKMOD_1) 314*5fd0122aSMatthias Ringwald #define LCD_F_BLINK_MODE_ALL_SEGMENTS (LCD_F_BMCTL_BLKMOD_2) 315*5fd0122aSMatthias Ringwald #define LCD_F_BLINK_MODE_SWITCHING_BETWEEN_DISPLAY_CONTENTS \ 316*5fd0122aSMatthias Ringwald (LCD_F_BMCTL_BLKMOD_3) 317*5fd0122aSMatthias Ringwald 318*5fd0122aSMatthias Ringwald //***************************************************************************** 319*5fd0122aSMatthias Ringwald // 320*5fd0122aSMatthias Ringwald // The following are values that can be passed to the clockPrescalar parameter 321*5fd0122aSMatthias Ringwald // for functions: LCD_F_setAnimationControl(). 322*5fd0122aSMatthias Ringwald // 323*5fd0122aSMatthias Ringwald //***************************************************************************** 324*5fd0122aSMatthias Ringwald #define LCD_F_ANIMATION_FREQ_CLOCK_PRESCALAR_512 LCD_F_ANMCTL_ANMPRE_0 325*5fd0122aSMatthias Ringwald #define LCD_F_ANIMATION_FREQ_CLOCK_PRESCALAR_1024 LCD_F_ANMCTL_ANMPRE_1 326*5fd0122aSMatthias Ringwald #define LCD_F_ANIMATION_FREQ_CLOCK_PRESCALAR_2048 LCD_F_ANMCTL_ANMPRE_2 327*5fd0122aSMatthias Ringwald #define LCD_F_ANIMATION_FREQ_CLOCK_PRESCALAR_4096 LCD_F_ANMCTL_ANMPRE_3 328*5fd0122aSMatthias Ringwald #define LCD_F_ANIMATION_FREQ_CLOCK_PRESCALAR_8162 LCD_F_ANMCTL_ANMPRE_4 329*5fd0122aSMatthias Ringwald #define LCD_F_ANIMATION_FREQ_CLOCK_PRESCALAR_16384 LCD_F_ANMCTL_ANMPRE_5 330*5fd0122aSMatthias Ringwald #define LCD_F_ANIMATION_FREQ_CLOCK_PRESCALAR_32768 LCD_F_ANMCTL_ANMPRE_6 331*5fd0122aSMatthias Ringwald #define LCD_F_ANIMATION_FREQ_CLOCK_PRESCALAR_65536 LCD_F_ANMCTL_ANMPRE_7 332*5fd0122aSMatthias Ringwald 333*5fd0122aSMatthias Ringwald //***************************************************************************** 334*5fd0122aSMatthias Ringwald // 335*5fd0122aSMatthias Ringwald // The following are values that can be passed to the clockPrescalar parameter 336*5fd0122aSMatthias Ringwald // for functions: LCD_F_setAnimationControl(). 337*5fd0122aSMatthias Ringwald // 338*5fd0122aSMatthias Ringwald //***************************************************************************** 339*5fd0122aSMatthias Ringwald #define LCD_F_ANIMATION_FREQ_CLOCK_DIVIDER_1 LCD_F_ANMCTL_ANMDIV_0 340*5fd0122aSMatthias Ringwald #define LCD_F_ANIMATION_FREQ_CLOCK_DIVIDER_2 LCD_F_ANMCTL_ANMDIV_1 341*5fd0122aSMatthias Ringwald #define LCD_F_ANIMATION_FREQ_CLOCK_DIVIDER_3 LCD_F_ANMCTL_ANMDIV_2 342*5fd0122aSMatthias Ringwald #define LCD_F_ANIMATION_FREQ_CLOCK_DIVIDER_4 LCD_F_ANMCTL_ANMDIV_3 343*5fd0122aSMatthias Ringwald #define LCD_F_ANIMATION_FREQ_CLOCK_DIVIDER_5 LCD_F_ANMCTL_ANMDIV_4 344*5fd0122aSMatthias Ringwald #define LCD_F_ANIMATION_FREQ_CLOCK_DIVIDER_6 LCD_F_ANMCTL_ANMDIV_5 345*5fd0122aSMatthias Ringwald #define LCD_F_ANIMATION_FREQ_CLOCK_DIVIDER_7 LCD_F_ANMCTL_ANMDIV_6 346*5fd0122aSMatthias Ringwald #define LCD_F_ANIMATION_FREQ_CLOCK_DIVIDER_8 LCD_F_ANMCTL_ANMDIV_7 347*5fd0122aSMatthias Ringwald 348*5fd0122aSMatthias Ringwald //***************************************************************************** 349*5fd0122aSMatthias Ringwald // 350*5fd0122aSMatthias Ringwald // The following are values that can be passed to the mode parameter for 351*5fd0122aSMatthias Ringwald // functions: LCD_F_setAnimationControl(). 352*5fd0122aSMatthias Ringwald // 353*5fd0122aSMatthias Ringwald //***************************************************************************** 354*5fd0122aSMatthias Ringwald #define LCD_F_ANIMATION_FRAMES_T0_TO_T7 LCD_F_ANMCTL_ANMSTP_7 355*5fd0122aSMatthias Ringwald #define LCD_F_ANIMATION_FRAMES_T0_TO_T6 LCD_F_ANMCTL_ANMSTP_6 356*5fd0122aSMatthias Ringwald #define LCD_F_ANIMATION_FRAMES_T0_TO_T5 LCD_F_ANMCTL_ANMSTP_5 357*5fd0122aSMatthias Ringwald #define LCD_F_ANIMATION_FRAMES_T0_TO_T4 LCD_F_ANMCTL_ANMSTP_4 358*5fd0122aSMatthias Ringwald #define LCD_F_ANIMATION_FRAMES_T0_TO_T3 LCD_F_ANMCTL_ANMSTP_3 359*5fd0122aSMatthias Ringwald #define LCD_F_ANIMATION_FRAMES_T0_TO_T2 LCD_F_ANMCTL_ANMSTP_2 360*5fd0122aSMatthias Ringwald #define LCD_F_ANIMATION_FRAMES_T0_TO_T1 LCD_F_ANMCTL_ANMSTP_1 361*5fd0122aSMatthias Ringwald #define LCD_F_ANIMATION_FRAMES_T0 LCD_F_ANMCTL_ANMSTP_0 362*5fd0122aSMatthias Ringwald 363*5fd0122aSMatthias Ringwald //***************************************************************************** 364*5fd0122aSMatthias Ringwald // 365*5fd0122aSMatthias Ringwald // The following are values that can be passed to the startPin parameter for 366*5fd0122aSMatthias Ringwald // functions: LCD_F_setPinsAsLCDFunction(); the endPin parameter for 367*5fd0122aSMatthias Ringwald // functions: LCD_F_setPinsAsLCDFunction(); the pin parameter for functions: 368*5fd0122aSMatthias Ringwald // LCD_F_setPinAsLCDFunction(), LCD_F_setPinAsPortFunction(), 369*5fd0122aSMatthias Ringwald // LCD_F_setPinAsCOM(), and LCD_F_setPinAsSEG(). 370*5fd0122aSMatthias Ringwald // 371*5fd0122aSMatthias Ringwald //***************************************************************************** 372*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_0 (0) 373*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_1 (1) 374*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_2 (2) 375*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_3 (3) 376*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_4 (4) 377*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_5 (5) 378*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_6 (6) 379*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_7 (7) 380*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_8 (8) 381*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_9 (9) 382*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_10 (10) 383*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_11 (11) 384*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_12 (12) 385*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_13 (13) 386*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_14 (14) 387*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_15 (15) 388*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_16 (16) 389*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_17 (17) 390*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_18 (18) 391*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_19 (19) 392*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_20 (20) 393*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_21 (21) 394*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_22 (22) 395*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_23 (23) 396*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_24 (24) 397*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_25 (25) 398*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_26 (26) 399*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_27 (27) 400*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_28 (28) 401*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_29 (29) 402*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_30 (30) 403*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_31 (31) 404*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_32 (32) 405*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_33 (33) 406*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_34 (34) 407*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_35 (35) 408*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_36 (36) 409*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_37 (37) 410*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_38 (38) 411*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_39 (39) 412*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_40 (40) 413*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_41 (41) 414*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_42 (42) 415*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_43 (43) 416*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_44 (44) 417*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_45 (45) 418*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_46 (46) 419*5fd0122aSMatthias Ringwald #define LCD_F_SEGMENT_LINE_47 (47) 420*5fd0122aSMatthias Ringwald 421*5fd0122aSMatthias Ringwald 422*5fd0122aSMatthias Ringwald //***************************************************************************** 423*5fd0122aSMatthias Ringwald // 424*5fd0122aSMatthias Ringwald // The following are values that can be passed to the com parameter for 425*5fd0122aSMatthias Ringwald // functions: LCD_F_setPinAsCOM(). 426*5fd0122aSMatthias Ringwald // 427*5fd0122aSMatthias Ringwald //***************************************************************************** 428*5fd0122aSMatthias Ringwald #define LCD_F_MEMORY_COM0 (0x01) 429*5fd0122aSMatthias Ringwald #define LCD_F_MEMORY_COM1 (0x02) 430*5fd0122aSMatthias Ringwald #define LCD_F_MEMORY_COM2 (0x04) 431*5fd0122aSMatthias Ringwald #define LCD_F_MEMORY_COM3 (0x08) 432*5fd0122aSMatthias Ringwald #define LCD_F_MEMORY_COM4 (0x10) 433*5fd0122aSMatthias Ringwald #define LCD_F_MEMORY_COM5 (0x20) 434*5fd0122aSMatthias Ringwald #define LCD_F_MEMORY_COM6 (0x40) 435*5fd0122aSMatthias Ringwald #define LCD_F_MEMORY_COM7 (0x80) 436*5fd0122aSMatthias Ringwald 437*5fd0122aSMatthias Ringwald //***************************************************************************** 438*5fd0122aSMatthias Ringwald // 439*5fd0122aSMatthias Ringwald // The following are values that can be passed to the bias parameter for 440*5fd0122aSMatthias Ringwald // functions: LCD_F_selectBias(). 441*5fd0122aSMatthias Ringwald // 442*5fd0122aSMatthias Ringwald //***************************************************************************** 443*5fd0122aSMatthias Ringwald #define LCD_F_BIAS_1_3 (0x0) 444*5fd0122aSMatthias Ringwald #define LCD_F_BIAS_1_2 (LCD_F_VCTL_LCD2B) 445*5fd0122aSMatthias Ringwald #define LCD_F_BIAS_1_4 (LCD_F_VCTL_LCD2B) 446*5fd0122aSMatthias Ringwald 447*5fd0122aSMatthias Ringwald /* Internal Macros for indexing */ 448*5fd0122aSMatthias Ringwald #define OFS_LCDM0W 0x120 449*5fd0122aSMatthias Ringwald #define OFS_LCDBM0W 0x160 450*5fd0122aSMatthias Ringwald 451*5fd0122aSMatthias Ringwald //***************************************************************************** 452*5fd0122aSMatthias Ringwald // 453*5fd0122aSMatthias Ringwald //! \brief Initializes the LCD_F Module. 454*5fd0122aSMatthias Ringwald //! 455*5fd0122aSMatthias Ringwald //! This function initializes the LCD_F but without turning on. It bascially 456*5fd0122aSMatthias Ringwald //! setup the clock source, clock divider, mux rate, low-power waveform and 457*5fd0122aSMatthias Ringwald //! segments on/off. After calling this function, user can enable/disable 458*5fd0122aSMatthias Ringwald //! internal reference voltage or pin SEG/COM configurations. 459*5fd0122aSMatthias Ringwald //! 460*5fd0122aSMatthias Ringwald //! \param initParams is the pointer to LCD_F_Config structure. 461*5fd0122aSMatthias Ringwald //! 462*5fd0122aSMatthias Ringwald //! \return None 463*5fd0122aSMatthias Ringwald // 464*5fd0122aSMatthias Ringwald //***************************************************************************** 465*5fd0122aSMatthias Ringwald extern void LCD_F_initModule(LCD_F_Config *initParams); 466*5fd0122aSMatthias Ringwald 467*5fd0122aSMatthias Ringwald //***************************************************************************** 468*5fd0122aSMatthias Ringwald // 469*5fd0122aSMatthias Ringwald //! \brief Turns on the LCD_F module. 470*5fd0122aSMatthias Ringwald //! 471*5fd0122aSMatthias Ringwald //! This function turns the LCD_F on. 472*5fd0122aSMatthias Ringwald //! 473*5fd0122aSMatthias Ringwald //! \return None 474*5fd0122aSMatthias Ringwald // 475*5fd0122aSMatthias Ringwald //***************************************************************************** 476*5fd0122aSMatthias Ringwald extern void LCD_F_turnOn(void); 477*5fd0122aSMatthias Ringwald 478*5fd0122aSMatthias Ringwald //***************************************************************************** 479*5fd0122aSMatthias Ringwald // 480*5fd0122aSMatthias Ringwald //! \brief Turns the LCD_F off. 481*5fd0122aSMatthias Ringwald //! 482*5fd0122aSMatthias Ringwald //! This function turns the LCD_F off. 483*5fd0122aSMatthias Ringwald //! 484*5fd0122aSMatthias Ringwald //! \return None 485*5fd0122aSMatthias Ringwald // 486*5fd0122aSMatthias Ringwald //***************************************************************************** 487*5fd0122aSMatthias Ringwald extern void LCD_F_turnOff(void); 488*5fd0122aSMatthias Ringwald 489*5fd0122aSMatthias Ringwald /* Memory management functions */ 490*5fd0122aSMatthias Ringwald 491*5fd0122aSMatthias Ringwald //***************************************************************************** 492*5fd0122aSMatthias Ringwald // 493*5fd0122aSMatthias Ringwald //! \brief Clears all LCD_F memory registers. 494*5fd0122aSMatthias Ringwald //! 495*5fd0122aSMatthias Ringwald //! This function clears all LCD_F memory registers. 496*5fd0122aSMatthias Ringwald //! 497*5fd0122aSMatthias Ringwald //! \return None 498*5fd0122aSMatthias Ringwald // 499*5fd0122aSMatthias Ringwald //***************************************************************************** 500*5fd0122aSMatthias Ringwald extern void LCD_F_clearAllMemory(void); 501*5fd0122aSMatthias Ringwald 502*5fd0122aSMatthias Ringwald //***************************************************************************** 503*5fd0122aSMatthias Ringwald // 504*5fd0122aSMatthias Ringwald //! \brief Clears all LCD_F blinking memory registers. 505*5fd0122aSMatthias Ringwald //! 506*5fd0122aSMatthias Ringwald //! This function clears all LCD_F blinking memory registers. 507*5fd0122aSMatthias Ringwald //! 508*5fd0122aSMatthias Ringwald //! \return None 509*5fd0122aSMatthias Ringwald // 510*5fd0122aSMatthias Ringwald //***************************************************************************** 511*5fd0122aSMatthias Ringwald extern void LCD_F_clearAllBlinkingMemory(void); 512*5fd0122aSMatthias Ringwald 513*5fd0122aSMatthias Ringwald //***************************************************************************** 514*5fd0122aSMatthias Ringwald // 515*5fd0122aSMatthias Ringwald //! \brief Selects display memory. 516*5fd0122aSMatthias Ringwald //! 517*5fd0122aSMatthias Ringwald //! This function selects display memory either from memory or blinking memory. 518*5fd0122aSMatthias Ringwald //! Please note if the blinking mode is selected as 519*5fd0122aSMatthias Ringwald //! LCD_F_BLINKMODE_INDIVIDUALSEGMENTS or LCD_F_BLINKMODE_ALLSEGMENTS or mux 520*5fd0122aSMatthias Ringwald //! rate >=5, display memory can not be changed. If 521*5fd0122aSMatthias Ringwald //! LCD_F_BLINKMODE_SWITCHDISPLAYCONTENTS is selected, display memory bit 522*5fd0122aSMatthias Ringwald //! reflects current displayed memory. 523*5fd0122aSMatthias Ringwald //! 524*5fd0122aSMatthias Ringwald //! \param displayMemory is the desired displayed memory. 525*5fd0122aSMatthias Ringwald //! Valid values are: 526*5fd0122aSMatthias Ringwald //! - \b LCD_F_DISPLAYSOURCE_MEMORY [Default] 527*5fd0122aSMatthias Ringwald //! - \b LCD_F_DISPLAYSOURCE_BLINKINGMEMORY 528*5fd0122aSMatthias Ringwald //! 529*5fd0122aSMatthias Ringwald //! \return None 530*5fd0122aSMatthias Ringwald // 531*5fd0122aSMatthias Ringwald //***************************************************************************** 532*5fd0122aSMatthias Ringwald extern void LCD_F_selectDisplayMemory(uint_fast16_t displayMemory); 533*5fd0122aSMatthias Ringwald 534*5fd0122aSMatthias Ringwald //***************************************************************************** 535*5fd0122aSMatthias Ringwald // 536*5fd0122aSMatthias Ringwald //! \brief Sets the blinking control register. 537*5fd0122aSMatthias Ringwald //! 538*5fd0122aSMatthias Ringwald //! This function sets the blink control related parameter, including blink 539*5fd0122aSMatthias Ringwald //! clock frequency prescalar and blink mode. 540*5fd0122aSMatthias Ringwald //! 541*5fd0122aSMatthias Ringwald //! \param clockPrescalar is the clock pre-scalar for blinking frequency. 542*5fd0122aSMatthias Ringwald //! Valid values are: 543*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINK_FREQ_CLOCK_PRESCALAR_512 [Default] 544*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINK_FREQ_CLOCK_PRESCALAR_1024 545*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINK_FREQ_CLOCK_PRESCALAR_2048 546*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINK_FREQ_CLOCK_PRESCALAR_4096 547*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINK_FREQ_CLOCK_PRESCALAR_8162 548*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINK_FREQ_CLOCK_PRESCALAR_16384 549*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINK_FREQ_CLOCK_PRESCALAR_32768 550*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINK_FREQ_CLOCK_PRESCALAR_65536 551*5fd0122aSMatthias Ringwald //! \param clockDivider is the clock divider for blinking frequency. 552*5fd0122aSMatthias Ringwald //! Valid values are: 553*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINK_FREQ_CLOCK_DIVIDER_1 [Default] 554*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINK_FREQ_CLOCK_DIVIDER_2 555*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINK_FREQ_CLOCK_DIVIDER_3 556*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINK_FREQ_CLOCK_DIVIDER_4 557*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINK_FREQ_CLOCK_DIVIDER_5 558*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINK_FREQ_CLOCK_DIVIDER_6 559*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINK_FREQ_CLOCK_DIVIDER_7 560*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINK_FREQ_CLOCK_DIVIDER_8 561*5fd0122aSMatthias Ringwald //! \param mode is the select for blinking mode. 562*5fd0122aSMatthias Ringwald //! Valid values are: 563*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINK_MODE_DISABLED [Default] 564*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINK_MODE_INDIVIDUAL_SEGMENTS 565*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINK_MODE_ALL_SEGMENTS 566*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINK_MODE_SWITCHING_BETWEEN_DISPLAY_CONTENTS 567*5fd0122aSMatthias Ringwald //! 568*5fd0122aSMatthias Ringwald //! \return None 569*5fd0122aSMatthias Ringwald // 570*5fd0122aSMatthias Ringwald //***************************************************************************** 571*5fd0122aSMatthias Ringwald extern void LCD_F_setBlinkingControl(uint_fast16_t clockPrescalar, 572*5fd0122aSMatthias Ringwald uint_fast16_t divider, uint_fast16_t mode); 573*5fd0122aSMatthias Ringwald 574*5fd0122aSMatthias Ringwald //***************************************************************************** 575*5fd0122aSMatthias Ringwald // 576*5fd0122aSMatthias Ringwald //! \brief Sets the animation control register. 577*5fd0122aSMatthias Ringwald //! 578*5fd0122aSMatthias Ringwald //! This function sets the animation control related parameter, including 579*5fd0122aSMatthias Ringwald //! animation clock frequency prescalar, divider, and frame settings 580*5fd0122aSMatthias Ringwald //! 581*5fd0122aSMatthias Ringwald //! \param clockPrescalar is the clock pre-scalar for animation frequency. 582*5fd0122aSMatthias Ringwald //! Valid values are: 583*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_FREQ_CLOCK_PRESCALAR_512 [Default] 584*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_FREQ_CLOCK_PRESCALAR_1024 585*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_FREQ_CLOCK_PRESCALAR_2048 586*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_FREQ_CLOCK_PRESCALAR_4096 587*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_FREQ_CLOCK_PRESCALAR_8162 588*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_FREQ_CLOCK_PRESCALAR_16384 589*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_FREQ_CLOCK_PRESCALAR_32768 590*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_FREQ_CLOCK_PRESCALAR_65536 591*5fd0122aSMatthias Ringwald //! \param clockDivider is the clock divider for animation frequency. 592*5fd0122aSMatthias Ringwald //! Valid values are: 593*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_FREQ_CLOCK_DIVIDER_1 [Default] 594*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_FREQ_CLOCK_DIVIDER_2 595*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_FREQ_CLOCK_DIVIDER_3 596*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_FREQ_CLOCK_DIVIDER_4 597*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_FREQ_CLOCK_DIVIDER_5 598*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_FREQ_CLOCK_DIVIDER_6 599*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_FREQ_CLOCK_DIVIDER_7 600*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_FREQ_CLOCK_DIVIDER_8 601*5fd0122aSMatthias Ringwald //! \param frames is number of animations frames to be repeated 602*5fd0122aSMatthias Ringwald //! Valid values are: 603*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_FRAMES_T0_TO_T7 604*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_FRAMES_T0_TO_T6 605*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_FRAMES_T0_TO_T5 606*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_FRAMES_T0_TO_T4 607*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_FRAMES_T0_TO_T3 608*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_FRAMES_T0_TO_T2 609*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_FRAMES_T0_TO_T1 610*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_FRAMES_T0 611*5fd0122aSMatthias Ringwald //! 612*5fd0122aSMatthias Ringwald //! \return None 613*5fd0122aSMatthias Ringwald // 614*5fd0122aSMatthias Ringwald //***************************************************************************** 615*5fd0122aSMatthias Ringwald extern void LCD_F_setAnimationControl(uint_fast16_t clockPrescalar, 616*5fd0122aSMatthias Ringwald uint_fast16_t divider, 617*5fd0122aSMatthias Ringwald uint_fast16_t frames); 618*5fd0122aSMatthias Ringwald 619*5fd0122aSMatthias Ringwald //***************************************************************************** 620*5fd0122aSMatthias Ringwald // 621*5fd0122aSMatthias Ringwald //! \brief Enables animation on the LCD_F controller 622*5fd0122aSMatthias Ringwald //! 623*5fd0122aSMatthias Ringwald //! This function turns on animation for the LCD_F controller. 624*5fd0122aSMatthias Ringwald //! 625*5fd0122aSMatthias Ringwald //! \return None 626*5fd0122aSMatthias Ringwald // 627*5fd0122aSMatthias Ringwald //***************************************************************************** 628*5fd0122aSMatthias Ringwald extern void LCD_F_enableAnimation(void); 629*5fd0122aSMatthias Ringwald 630*5fd0122aSMatthias Ringwald 631*5fd0122aSMatthias Ringwald //***************************************************************************** 632*5fd0122aSMatthias Ringwald // 633*5fd0122aSMatthias Ringwald //! \brief Enables animation on the LCD_F controller 634*5fd0122aSMatthias Ringwald //! 635*5fd0122aSMatthias Ringwald //! This function turns on animation for the LCD_F controller. 636*5fd0122aSMatthias Ringwald //! 637*5fd0122aSMatthias Ringwald //! \return None 638*5fd0122aSMatthias Ringwald // 639*5fd0122aSMatthias Ringwald //***************************************************************************** 640*5fd0122aSMatthias Ringwald extern void LCD_F_disableAnimation(void); 641*5fd0122aSMatthias Ringwald 642*5fd0122aSMatthias Ringwald //***************************************************************************** 643*5fd0122aSMatthias Ringwald // 644*5fd0122aSMatthias Ringwald //! \brief Clears all LCD_F animation memory registers. 645*5fd0122aSMatthias Ringwald //! 646*5fd0122aSMatthias Ringwald //! This function clears all LCD_F animation memory registers. 647*5fd0122aSMatthias Ringwald //! 648*5fd0122aSMatthias Ringwald //! \return None 649*5fd0122aSMatthias Ringwald // 650*5fd0122aSMatthias Ringwald //***************************************************************************** 651*5fd0122aSMatthias Ringwald extern void LCD_F_clearAllAnimationMemory(void); 652*5fd0122aSMatthias Ringwald 653*5fd0122aSMatthias Ringwald //***************************************************************************** 654*5fd0122aSMatthias Ringwald // 655*5fd0122aSMatthias Ringwald //! \brief Sets the LCD_F pins as LCD function pin. 656*5fd0122aSMatthias Ringwald //! 657*5fd0122aSMatthias Ringwald //! This function sets the LCD_F pins as LCD function pin. 658*5fd0122aSMatthias Ringwald //! 659*5fd0122aSMatthias Ringwald //! \param pin is the select pin set as LCD function. 660*5fd0122aSMatthias Ringwald //! Valid values are: 661*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_0 662*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_1 663*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_2 664*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_3 665*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_4 666*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_5 667*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_6 668*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_7 669*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_8 670*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_9 671*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_10 672*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_11 673*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_12 674*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_13 675*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_14 676*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_15 677*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_16 678*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_17 679*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_18 680*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_19 681*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_20 682*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_21 683*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_22 684*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_23 685*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_24 686*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_25 687*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_26 688*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_27 689*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_28 690*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_29 691*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_30 692*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_31 693*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_32 694*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_33 695*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_34 696*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_35 697*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_36 698*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_37 699*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_38 700*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_39 701*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_40 702*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_41 703*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_42 704*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_43 705*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_44 706*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_45 707*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_46 708*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_47 709*5fd0122aSMatthias Ringwald //! 710*5fd0122aSMatthias Ringwald //! \return None 711*5fd0122aSMatthias Ringwald // 712*5fd0122aSMatthias Ringwald //***************************************************************************** 713*5fd0122aSMatthias Ringwald extern void LCD_F_setPinAsLCDFunction(uint_fast8_t pin); 714*5fd0122aSMatthias Ringwald 715*5fd0122aSMatthias Ringwald //***************************************************************************** 716*5fd0122aSMatthias Ringwald // 717*5fd0122aSMatthias Ringwald //! \brief Sets the LCD_F pins as port function pin. 718*5fd0122aSMatthias Ringwald //! 719*5fd0122aSMatthias Ringwald //! \param baseAddress is the base address of the LCD_F module. 720*5fd0122aSMatthias Ringwald //! \param pin is the select pin set as Port function. 721*5fd0122aSMatthias Ringwald //! Valid values are: 722*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_0 723*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_1 724*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_2 725*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_3 726*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_4 727*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_5 728*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_6 729*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_7 730*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_8 731*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_9 732*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_10 733*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_11 734*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_12 735*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_13 736*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_14 737*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_15 738*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_16 739*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_17 740*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_18 741*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_19 742*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_20 743*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_21 744*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_22 745*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_23 746*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_24 747*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_25 748*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_26 749*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_27 750*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_28 751*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_29 752*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_30 753*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_31 754*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_32 755*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_33 756*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_34 757*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_35 758*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_36 759*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_37 760*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_38 761*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_39 762*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_40 763*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_41 764*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_42 765*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_43 766*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_44 767*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_45 768*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_46 769*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_47 770*5fd0122aSMatthias Ringwald //! 771*5fd0122aSMatthias Ringwald //! \return None 772*5fd0122aSMatthias Ringwald // 773*5fd0122aSMatthias Ringwald //***************************************************************************** 774*5fd0122aSMatthias Ringwald extern void LCD_F_setPinAsPortFunction(uint_fast8_t pin); 775*5fd0122aSMatthias Ringwald 776*5fd0122aSMatthias Ringwald //***************************************************************************** 777*5fd0122aSMatthias Ringwald // 778*5fd0122aSMatthias Ringwald //! \brief Sets the LCD_F pins as LCD function pin. 779*5fd0122aSMatthias Ringwald //! 780*5fd0122aSMatthias Ringwald //! This function sets the LCD_F pins as LCD function pin. Instead of passing 781*5fd0122aSMatthias Ringwald //! the all the possible pins, it just requires the start pin and the end pin. 782*5fd0122aSMatthias Ringwald //! 783*5fd0122aSMatthias Ringwald //! \param startPin is the starting pin to be configured as LCD function pin. 784*5fd0122aSMatthias Ringwald //! Valid values are: 785*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_0 786*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_1 787*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_2 788*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_3 789*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_4 790*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_5 791*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_6 792*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_7 793*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_8 794*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_9 795*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_10 796*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_11 797*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_12 798*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_13 799*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_14 800*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_15 801*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_16 802*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_17 803*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_18 804*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_19 805*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_20 806*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_21 807*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_22 808*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_23 809*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_24 810*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_25 811*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_26 812*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_27 813*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_28 814*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_29 815*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_30 816*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_31 817*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_32 818*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_33 819*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_34 820*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_35 821*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_36 822*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_37 823*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_38 824*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_39 825*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_40 826*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_41 827*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_42 828*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_43 829*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_44 830*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_45 831*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_46 832*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_47 833*5fd0122aSMatthias Ringwald //! \param endPin is the ending pin to be configured as LCD function pin. 834*5fd0122aSMatthias Ringwald //! Valid values are: 835*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_0 836*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_1 837*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_2 838*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_3 839*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_4 840*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_5 841*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_6 842*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_7 843*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_8 844*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_9 845*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_10 846*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_11 847*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_12 848*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_13 849*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_14 850*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_15 851*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_16 852*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_17 853*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_18 854*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_19 855*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_20 856*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_21 857*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_22 858*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_23 859*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_24 860*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_25 861*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_26 862*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_27 863*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_28 864*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_29 865*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_30 866*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_31 867*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_32 868*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_33 869*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_34 870*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_35 871*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_36 872*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_37 873*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_38 874*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_39 875*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_40 876*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_41 877*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_42 878*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_43 879*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_44 880*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_45 881*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_46 882*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_47 883*5fd0122aSMatthias Ringwald //! 884*5fd0122aSMatthias Ringwald //! \return None 885*5fd0122aSMatthias Ringwald // 886*5fd0122aSMatthias Ringwald //***************************************************************************** 887*5fd0122aSMatthias Ringwald extern void LCD_F_setPinsAsLCDFunction(uint_fast8_t startPin, uint8_t endPin); 888*5fd0122aSMatthias Ringwald 889*5fd0122aSMatthias Ringwald //***************************************************************************** 890*5fd0122aSMatthias Ringwald // 891*5fd0122aSMatthias Ringwald //! \brief Sets the LCD_F pin as a common line. 892*5fd0122aSMatthias Ringwald //! 893*5fd0122aSMatthias Ringwald //! This function sets the LCD_F pin as a common line and assigns the 894*5fd0122aSMatthias Ringwald //! corresponding memory pin to a specific COM line. 895*5fd0122aSMatthias Ringwald //! 896*5fd0122aSMatthias Ringwald //! \param pin is the selected pin to be configured as common line. 897*5fd0122aSMatthias Ringwald //! Valid values are: 898*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_0 899*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_1 900*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_2 901*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_3 902*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_4 903*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_5 904*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_6 905*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_7 906*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_8 907*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_9 908*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_10 909*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_11 910*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_12 911*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_13 912*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_14 913*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_15 914*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_16 915*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_17 916*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_18 917*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_19 918*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_20 919*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_21 920*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_22 921*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_23 922*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_24 923*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_25 924*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_26 925*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_27 926*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_28 927*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_29 928*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_30 929*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_31 930*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_32 931*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_33 932*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_34 933*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_35 934*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_36 935*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_37 936*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_38 937*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_39 938*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_40 939*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_41 940*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_42 941*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_43 942*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_44 943*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_45 944*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_46 945*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_47 946*5fd0122aSMatthias Ringwald //! \param com is the selected COM number for the common line. 947*5fd0122aSMatthias Ringwald //! Valid values are: 948*5fd0122aSMatthias Ringwald //! - \b LCD_F_MEMORY_COM0 949*5fd0122aSMatthias Ringwald //! - \b LCD_F_MEMORY_COM1 950*5fd0122aSMatthias Ringwald //! - \b LCD_F_MEMORY_COM2 951*5fd0122aSMatthias Ringwald //! - \b LCD_F_MEMORY_COM3 952*5fd0122aSMatthias Ringwald //! - \b LCD_F_MEMORY_COM4 - only for 5-Mux/6-Mux/7-Mux/8-Mux 953*5fd0122aSMatthias Ringwald //! - \b LCD_F_MEMORY_COM5 - only for 5-Mux/6-Mux/7-Mux/8-Mux 954*5fd0122aSMatthias Ringwald //! - \b LCD_F_MEMORY_COM6 - only for 5-Mux/6-Mux/7-Mux/8-Mux 955*5fd0122aSMatthias Ringwald //! - \b LCD_F_MEMORY_COM7 - only for 5-Mux/6-Mux/7-Mux/8-Mux 956*5fd0122aSMatthias Ringwald //! 957*5fd0122aSMatthias Ringwald //! \return None 958*5fd0122aSMatthias Ringwald // 959*5fd0122aSMatthias Ringwald //***************************************************************************** 960*5fd0122aSMatthias Ringwald extern void LCD_F_setPinAsCOM(uint8_t pin, uint_fast8_t com); 961*5fd0122aSMatthias Ringwald 962*5fd0122aSMatthias Ringwald //***************************************************************************** 963*5fd0122aSMatthias Ringwald // 964*5fd0122aSMatthias Ringwald //! \brief Sets the LCD_F pin as a segment line. 965*5fd0122aSMatthias Ringwald //! 966*5fd0122aSMatthias Ringwald //! This function sets the LCD_F pin as segment line. 967*5fd0122aSMatthias Ringwald //! 968*5fd0122aSMatthias Ringwald //! \param pin is the selected pin to be configed as segment line. 969*5fd0122aSMatthias Ringwald //! Valid values are: 970*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_0 971*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_1 972*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_2 973*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_3 974*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_4 975*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_5 976*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_6 977*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_7 978*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_8 979*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_9 980*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_10 981*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_11 982*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_12 983*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_13 984*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_14 985*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_15 986*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_16 987*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_17 988*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_18 989*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_19 990*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_20 991*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_21 992*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_22 993*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_23 994*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_24 995*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_25 996*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_26 997*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_27 998*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_28 999*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_29 1000*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_30 1001*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_31 1002*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_32 1003*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_33 1004*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_34 1005*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_35 1006*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_36 1007*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_37 1008*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_38 1009*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_39 1010*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_40 1011*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_41 1012*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_42 1013*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_43 1014*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_44 1015*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_45 1016*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_46 1017*5fd0122aSMatthias Ringwald //! - \b LCD_F_SEGMENT_LINE_47 1018*5fd0122aSMatthias Ringwald //! 1019*5fd0122aSMatthias Ringwald //! \return None 1020*5fd0122aSMatthias Ringwald // 1021*5fd0122aSMatthias Ringwald //***************************************************************************** 1022*5fd0122aSMatthias Ringwald extern void LCD_F_setPinAsSEG(uint_fast8_t pin); 1023*5fd0122aSMatthias Ringwald 1024*5fd0122aSMatthias Ringwald //***************************************************************************** 1025*5fd0122aSMatthias Ringwald // 1026*5fd0122aSMatthias Ringwald //! \brief Selects the bias level. 1027*5fd0122aSMatthias Ringwald //! 1028*5fd0122aSMatthias Ringwald //! \param bias is the select for bias level. 1029*5fd0122aSMatthias Ringwald //! Valid values are: 1030*5fd0122aSMatthias Ringwald //! - \b LCD_F_BIAS_1_3 [Default] - 1/3 bias 1031*5fd0122aSMatthias Ringwald //! - \b LCD_F_BIAS_1_4 - 1/4 bias 1032*5fd0122aSMatthias Ringwald //! - \b LCD_F_BIAS_1_2 - 1/2 bias 1033*5fd0122aSMatthias Ringwald //! 1034*5fd0122aSMatthias Ringwald //! \note Quarter (1/4) BIAS mode is only available in 5-mux to 8-mux. In 1035*5fd0122aSMatthias Ringwald //! 2-mux to 4-mux modes, this value will result in a third BIAS (1/3) 1036*5fd0122aSMatthias Ringwald //! 1037*5fd0122aSMatthias Ringwald //! \return None 1038*5fd0122aSMatthias Ringwald // 1039*5fd0122aSMatthias Ringwald //***************************************************************************** 1040*5fd0122aSMatthias Ringwald extern void LCD_F_selectBias(uint_fast16_t bias); 1041*5fd0122aSMatthias Ringwald 1042*5fd0122aSMatthias Ringwald //***************************************************************************** 1043*5fd0122aSMatthias Ringwald // 1044*5fd0122aSMatthias Ringwald //! \brief Sets the voltage source for V2/V3/V4 and V5. 1045*5fd0122aSMatthias Ringwald //! 1046*5fd0122aSMatthias Ringwald //! \param v2v3v4Source is the V2/V3/V4 source select. 1047*5fd0122aSMatthias Ringwald //! Valid values are: 1048*5fd0122aSMatthias Ringwald //! - \b LCD_F_V2V3V4_GENERATED_INTERNALLY_NOT_SWITCHED_TO_PINS 1049*5fd0122aSMatthias Ringwald //! [Default] 1050*5fd0122aSMatthias Ringwald //! - \b LCD_F_V2V3V4_GENERATED_INTERNALLY_SWITCHED_TO_PINS 1051*5fd0122aSMatthias Ringwald //! - \b LCD_F_V2V3V4_SOURCED_EXTERNALLY 1052*5fd0122aSMatthias Ringwald //! \param v5Source is the V5 source select. 1053*5fd0122aSMatthias Ringwald //! Valid values are: 1054*5fd0122aSMatthias Ringwald //! - \b LCD_F_V5_VSS [Default] 1055*5fd0122aSMatthias Ringwald //! - \b LCD_F_V5_SOURCED_FROM_R03 1056*5fd0122aSMatthias Ringwald //! 1057*5fd0122aSMatthias Ringwald //! \return None 1058*5fd0122aSMatthias Ringwald // 1059*5fd0122aSMatthias Ringwald //***************************************************************************** 1060*5fd0122aSMatthias Ringwald extern void LCD_F_setVLCDSource(uint_fast16_t v2v3v4Source, 1061*5fd0122aSMatthias Ringwald uint_fast16_t v5Source); 1062*5fd0122aSMatthias Ringwald 1063*5fd0122aSMatthias Ringwald //***************************************************************************** 1064*5fd0122aSMatthias Ringwald // 1065*5fd0122aSMatthias Ringwald //! \brief Clears the LCD_F selected interrupt flags. 1066*5fd0122aSMatthias Ringwald //! 1067*5fd0122aSMatthias Ringwald //! This function clears the specified interrupt flags. 1068*5fd0122aSMatthias Ringwald //! 1069*5fd0122aSMatthias Ringwald //! \param mask is the masked interrupt flag to be cleared. 1070*5fd0122aSMatthias Ringwald //! Mask value is the logical OR of any of the following: 1071*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINKING_SEGMENTS_ON_INTERRUPT 1072*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINKING_SEGMENTS_OFF_INTERRUPT 1073*5fd0122aSMatthias Ringwald //! - \b LCD_F_FRAME_INTERRUPT 1074*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_LOOP_INTERRUPT 1075*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_STEP_INTERRUPT 1076*5fd0122aSMatthias Ringwald //! 1077*5fd0122aSMatthias Ringwald //! \return None 1078*5fd0122aSMatthias Ringwald // 1079*5fd0122aSMatthias Ringwald //***************************************************************************** 1080*5fd0122aSMatthias Ringwald extern void LCD_F_clearInterrupt(uint32_t mask); 1081*5fd0122aSMatthias Ringwald 1082*5fd0122aSMatthias Ringwald //***************************************************************************** 1083*5fd0122aSMatthias Ringwald // 1084*5fd0122aSMatthias Ringwald //! \brief Returns the status of the selected interrupt flags. 1085*5fd0122aSMatthias Ringwald //! 1086*5fd0122aSMatthias Ringwald //! This function returns the status of the selected interrupt flags. 1087*5fd0122aSMatthias Ringwald //! 1088*5fd0122aSMatthias Ringwald //! \return The current interrupt flag status. Can be a logical OR of: 1089*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINKING_SEGMENTS_ON_INTERRUPT 1090*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINKING_SEGMENTS_OFF_INTERRUPT 1091*5fd0122aSMatthias Ringwald //! - \b LCD_F_FRAME_INTERRUPT 1092*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_LOOP_INTERRUPT 1093*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_STEP_INTERRUPT 1094*5fd0122aSMatthias Ringwald // 1095*5fd0122aSMatthias Ringwald //***************************************************************************** 1096*5fd0122aSMatthias Ringwald extern uint32_t LCD_F_getInterruptStatus(void); 1097*5fd0122aSMatthias Ringwald 1098*5fd0122aSMatthias Ringwald //***************************************************************************** 1099*5fd0122aSMatthias Ringwald // 1100*5fd0122aSMatthias Ringwald //! \brief Returns the status of the selected interrupt flags masked with the 1101*5fd0122aSMatthias Ringwald //! currently enabled interrupts. 1102*5fd0122aSMatthias Ringwald //! 1103*5fd0122aSMatthias Ringwald //! \return The current interrupt flag status. Can be a logical OR of: 1104*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINKING_SEGMENTS_ON_INTERRUPT 1105*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINKING_SEGMENTS_OFF_INTERRUPT 1106*5fd0122aSMatthias Ringwald //! - \b LCD_F_FRAME_INTERRUPT 1107*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_LOOP_INTERRUPT 1108*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_STEP_INTERRUPT 1109*5fd0122aSMatthias Ringwald // 1110*5fd0122aSMatthias Ringwald //***************************************************************************** 1111*5fd0122aSMatthias Ringwald extern uint32_t LCD_F_getEnabledInterruptStatus(void); 1112*5fd0122aSMatthias Ringwald 1113*5fd0122aSMatthias Ringwald //***************************************************************************** 1114*5fd0122aSMatthias Ringwald // 1115*5fd0122aSMatthias Ringwald //! \brief Enables the LCD_F selected interrupts 1116*5fd0122aSMatthias Ringwald //! 1117*5fd0122aSMatthias Ringwald //! This function enables the specified interrupts 1118*5fd0122aSMatthias Ringwald //! 1119*5fd0122aSMatthias Ringwald //! \param mask is the variable containing interrupt flags to be enabled. 1120*5fd0122aSMatthias Ringwald //! Mask value is the logical OR of any of the following: 1121*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINKING_SEGMENTS_ON_INTERRUPT 1122*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINKING_SEGMENTS_OFF_INTERRUPT 1123*5fd0122aSMatthias Ringwald //! - \b LCD_F_FRAME_INTERRUPT 1124*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_LOOP_INTERRUPT 1125*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_STEP_INTERRUPT 1126*5fd0122aSMatthias Ringwald //! 1127*5fd0122aSMatthias Ringwald //! \return None 1128*5fd0122aSMatthias Ringwald // 1129*5fd0122aSMatthias Ringwald //***************************************************************************** 1130*5fd0122aSMatthias Ringwald extern void LCD_F_enableInterrupt(uint32_t mask); 1131*5fd0122aSMatthias Ringwald 1132*5fd0122aSMatthias Ringwald //***************************************************************************** 1133*5fd0122aSMatthias Ringwald // 1134*5fd0122aSMatthias Ringwald //! \brief Disables the LCD_F selected interrupts. 1135*5fd0122aSMatthias Ringwald //! 1136*5fd0122aSMatthias Ringwald //! This function disables the specified interrupts. 1137*5fd0122aSMatthias Ringwald //! 1138*5fd0122aSMatthias Ringwald //! \param mask is the variable containing interrupt flags to be disabled 1139*5fd0122aSMatthias Ringwald //! Mask value is the logical OR of any of the following: 1140*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINKING_SEGMENTS_ON_INTERRUPT 1141*5fd0122aSMatthias Ringwald //! - \b LCD_F_BLINKING_SEGMENTS_OFF_INTERRUPT 1142*5fd0122aSMatthias Ringwald //! - \b LCD_F_FRAME_INTERRUPT 1143*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_LOOP_INTERRUPT 1144*5fd0122aSMatthias Ringwald //! - \b LCD_F_ANIMATION_STEP_INTERRUPT 1145*5fd0122aSMatthias Ringwald //! 1146*5fd0122aSMatthias Ringwald //! \return None 1147*5fd0122aSMatthias Ringwald // 1148*5fd0122aSMatthias Ringwald //***************************************************************************** 1149*5fd0122aSMatthias Ringwald extern void LCD_F_disableInterrupt(uint32_t mask); 1150*5fd0122aSMatthias Ringwald 1151*5fd0122aSMatthias Ringwald //***************************************************************************** 1152*5fd0122aSMatthias Ringwald // 1153*5fd0122aSMatthias Ringwald //! Registers an interrupt handler for LCD_F interrupt. 1154*5fd0122aSMatthias Ringwald //! 1155*5fd0122aSMatthias Ringwald //! \param intHandler is a pointer to the function to be called when the 1156*5fd0122aSMatthias Ringwald //! LCD_F interrupt occurs. 1157*5fd0122aSMatthias Ringwald //! 1158*5fd0122aSMatthias Ringwald //! This function registers the handler to be called when a LCD_F 1159*5fd0122aSMatthias Ringwald //! interrupt occurs. This function enables the global interrupt in the 1160*5fd0122aSMatthias Ringwald //! interrupt controller; specific LCD_F interrupts must be enabled 1161*5fd0122aSMatthias Ringwald //! via LCD_F_enableInterrupt(). It is the interrupt handler's responsibility 1162*5fd0122aSMatthias Ringwald //! to clear the interrupt source through LCD_F_clearInterruptFlag(). 1163*5fd0122aSMatthias Ringwald //! 1164*5fd0122aSMatthias Ringwald //! \return None. 1165*5fd0122aSMatthias Ringwald // 1166*5fd0122aSMatthias Ringwald //***************************************************************************** 1167*5fd0122aSMatthias Ringwald extern void LCD_F_registerInterrupt(void (*intHandler)(void)); 1168*5fd0122aSMatthias Ringwald 1169*5fd0122aSMatthias Ringwald //***************************************************************************** 1170*5fd0122aSMatthias Ringwald // 1171*5fd0122aSMatthias Ringwald //! Unregisters the interrupt handler for the LCD_F interrupt 1172*5fd0122aSMatthias Ringwald //! 1173*5fd0122aSMatthias Ringwald //! This function unregisters the handler to be called when LCD_F 1174*5fd0122aSMatthias Ringwald //! interrupt occurs. This function also masks off the interrupt in the 1175*5fd0122aSMatthias Ringwald //! interrupt controller so that the interrupt handler no longer is called. 1176*5fd0122aSMatthias Ringwald //! 1177*5fd0122aSMatthias Ringwald //! \sa Interrupt_registerInterrupt() for important information about 1178*5fd0122aSMatthias Ringwald //! registering interrupt handlers. 1179*5fd0122aSMatthias Ringwald //! 1180*5fd0122aSMatthias Ringwald //! \return None. 1181*5fd0122aSMatthias Ringwald // 1182*5fd0122aSMatthias Ringwald //***************************************************************************** 1183*5fd0122aSMatthias Ringwald extern void LCD_F_unregisterInterrupt(void); 1184*5fd0122aSMatthias Ringwald 1185*5fd0122aSMatthias Ringwald //***************************************************************************** 1186*5fd0122aSMatthias Ringwald // 1187*5fd0122aSMatthias Ringwald // Mark the end of the C bindings section for C++ compilers. 1188*5fd0122aSMatthias Ringwald // 1189*5fd0122aSMatthias Ringwald //***************************************************************************** 1190*5fd0122aSMatthias Ringwald #ifdef __cplusplus 1191*5fd0122aSMatthias Ringwald } 1192*5fd0122aSMatthias Ringwald #endif 1193*5fd0122aSMatthias Ringwald 1194*5fd0122aSMatthias Ringwald //***************************************************************************** 1195*5fd0122aSMatthias Ringwald // 1196*5fd0122aSMatthias Ringwald // Close the Doxygen group. 1197*5fd0122aSMatthias Ringwald //! @} 1198*5fd0122aSMatthias Ringwald // 1199*5fd0122aSMatthias Ringwald //***************************************************************************** 1200*5fd0122aSMatthias Ringwald 1201*5fd0122aSMatthias Ringwald #endif /* __MCU_HAS_LCD_F__ */ 1202*5fd0122aSMatthias Ringwald 1203*5fd0122aSMatthias Ringwald #endif /* LCD_F_H_ */ 1204