Skip to content
Snippets Groups Projects
pin_manager.h 34.77 KiB
/**
  @Generated Pin Manager Header File

  @Company:
    Microchip Technology Inc.

  @File Name:
    pin_manager.h

  @Summary:
    This is the Pin Manager file generated using PIC10 / PIC12 / PIC16 / PIC18 MCUs

  @Description
    This header file provides APIs for driver for .
    Generation Information :
        Product Revision  :  PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.7
        Device            :  PIC18F46K22
        Driver Version    :  2.11
    The generated drivers are tested against the following:
        Compiler          :  XC8 2.31 and above
        MPLAB 	          :  MPLAB X 5.45	
*/

/*
    (c) 2018 Microchip Technology Inc. and its subsidiaries. 
    
    Subject to your compliance with these terms, you may use Microchip software and any 
    derivatives exclusively with Microchip products. It is your responsibility to comply with third party 
    license terms applicable to your use of third party software (including open source software) that 
    may accompany Microchip software.
    
    THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER 
    EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY 
    IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS 
    FOR A PARTICULAR PURPOSE.
    
    IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, 
    INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND 
    WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP 
    HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO 
    THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL 
    CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT 
    OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS 
    SOFTWARE.
*/

#ifndef PIN_MANAGER_H
#define PIN_MANAGER_H

/**
  Section: Included Files
*/

#include <xc.h>

#define INPUT   1
#define OUTPUT  0

#define HIGH    1
#define LOW     0

#define ANALOG      1
#define DIGITAL     0

#define PULL_UP_ENABLED      1
#define PULL_UP_DISABLED     0

// get/set AIN_DUL_BRD_TEMP aliases
#define AIN_DUL_BRD_TEMP_TRIS                 TRISAbits.TRISA0
#define AIN_DUL_BRD_TEMP_LAT                  LATAbits.LATA0
#define AIN_DUL_BRD_TEMP_PORT                 PORTAbits.RA0
#define AIN_DUL_BRD_TEMP_ANS                  ANSELAbits.ANSA0
#define AIN_DUL_BRD_TEMP_SetHigh()            do { LATAbits.LATA0 = 1; } while(0)
#define AIN_DUL_BRD_TEMP_SetLow()             do { LATAbits.LATA0 = 0; } while(0)
#define AIN_DUL_BRD_TEMP_Toggle()             do { LATAbits.LATA0 = ~LATAbits.LATA0; } while(0)
#define AIN_DUL_BRD_TEMP_GetValue()           PORTAbits.RA0
#define AIN_DUL_BRD_TEMP_SetDigitalInput()    do { TRISAbits.TRISA0 = 1; } while(0)
#define AIN_DUL_BRD_TEMP_SetDigitalOutput()   do { TRISAbits.TRISA0 = 0; } while(0)
#define AIN_DUL_BRD_TEMP_SetAnalogMode()      do { ANSELAbits.ANSA0 = 1; } while(0)
#define AIN_DUL_BRD_TEMP_SetDigitalMode()     do { ANSELAbits.ANSA0 = 0; } while(0)

// get/set AIN_VICOR2_TEMP aliases
#define AIN_VICOR2_TEMP_TRIS                 TRISAbits.TRISA1
#define AIN_VICOR2_TEMP_LAT                  LATAbits.LATA1
#define AIN_VICOR2_TEMP_PORT                 PORTAbits.RA1
#define AIN_VICOR2_TEMP_ANS                  ANSELAbits.ANSA1
#define AIN_VICOR2_TEMP_SetHigh()            do { LATAbits.LATA1 = 1; } while(0)
#define AIN_VICOR2_TEMP_SetLow()             do { LATAbits.LATA1 = 0; } while(0)
#define AIN_VICOR2_TEMP_Toggle()             do { LATAbits.LATA1 = ~LATAbits.LATA1; } while(0)
#define AIN_VICOR2_TEMP_GetValue()           PORTAbits.RA1
#define AIN_VICOR2_TEMP_SetDigitalInput()    do { TRISAbits.TRISA1 = 1; } while(0)
#define AIN_VICOR2_TEMP_SetDigitalOutput()   do { TRISAbits.TRISA1 = 0; } while(0)
#define AIN_VICOR2_TEMP_SetAnalogMode()      do { ANSELAbits.ANSA1 = 1; } while(0)
#define AIN_VICOR2_TEMP_SetDigitalMode()     do { ANSELAbits.ANSA1 = 0; } while(0)

// get/set AIN_VICOR1_TEMP aliases
#define AIN_VICOR1_TEMP_TRIS                 TRISAbits.TRISA2
#define AIN_VICOR1_TEMP_LAT                  LATAbits.LATA2
#define AIN_VICOR1_TEMP_PORT                 PORTAbits.RA2
#define AIN_VICOR1_TEMP_ANS                  ANSELAbits.ANSA2
#define AIN_VICOR1_TEMP_SetHigh()            do { LATAbits.LATA2 = 1; } while(0)
#define AIN_VICOR1_TEMP_SetLow()             do { LATAbits.LATA2 = 0; } while(0)
#define AIN_VICOR1_TEMP_Toggle()             do { LATAbits.LATA2 = ~LATAbits.LATA2; } while(0)
#define AIN_VICOR1_TEMP_GetValue()           PORTAbits.RA2
#define AIN_VICOR1_TEMP_SetDigitalInput()    do { TRISAbits.TRISA2 = 1; } while(0)
#define AIN_VICOR1_TEMP_SetDigitalOutput()   do { TRISAbits.TRISA2 = 0; } while(0)
#define AIN_VICOR1_TEMP_SetAnalogMode()      do { ANSELAbits.ANSA2 = 1; } while(0)
#define AIN_VICOR1_TEMP_SetDigitalMode()     do { ANSELAbits.ANSA2 = 0; } while(0)

// get/set AIN_DU_RTN_I_MON aliases
#define AIN_DU_RTN_I_MON_TRIS                 TRISAbits.TRISA3
#define AIN_DU_RTN_I_MON_LAT                  LATAbits.LATA3
#define AIN_DU_RTN_I_MON_PORT                 PORTAbits.RA3
#define AIN_DU_RTN_I_MON_ANS                  ANSELAbits.ANSA3
#define AIN_DU_RTN_I_MON_SetHigh()            do { LATAbits.LATA3 = 1; } while(0)
#define AIN_DU_RTN_I_MON_SetLow()             do { LATAbits.LATA3 = 0; } while(0)
#define AIN_DU_RTN_I_MON_Toggle()             do { LATAbits.LATA3 = ~LATAbits.LATA3; } while(0)
#define AIN_DU_RTN_I_MON_GetValue()           PORTAbits.RA3
#define AIN_DU_RTN_I_MON_SetDigitalInput()    do { TRISAbits.TRISA3 = 1; } while(0)
#define AIN_DU_RTN_I_MON_SetDigitalOutput()   do { TRISAbits.TRISA3 = 0; } while(0)
#define AIN_DU_RTN_I_MON_SetAnalogMode()      do { ANSELAbits.ANSA3 = 1; } while(0)
#define AIN_DU_RTN_I_MON_SetDigitalMode()     do { ANSELAbits.ANSA3 = 0; } while(0)

// get/set DIN_HYDRO_PWR_FLT aliases
#define DIN_HYDRO_PWR_FLT_TRIS                 TRISAbits.TRISA4
#define DIN_HYDRO_PWR_FLT_LAT                  LATAbits.LATA4
#define DIN_HYDRO_PWR_FLT_PORT                 PORTAbits.RA4
#define DIN_HYDRO_PWR_FLT_SetHigh()            do { LATAbits.LATA4 = 1; } while(0)
#define DIN_HYDRO_PWR_FLT_SetLow()             do { LATAbits.LATA4 = 0; } while(0)
#define DIN_HYDRO_PWR_FLT_Toggle()             do { LATAbits.LATA4 = ~LATAbits.LATA4; } while(0)
#define DIN_HYDRO_PWR_FLT_GetValue()           PORTAbits.RA4
#define DIN_HYDRO_PWR_FLT_SetDigitalInput()    do { TRISAbits.TRISA4 = 1; } while(0)
#define DIN_HYDRO_PWR_FLT_SetDigitalOutput()   do { TRISAbits.TRISA4 = 0; } while(0)

// get/set AIN_DU_FWR_I_MON aliases
#define AIN_DU_FWR_I_MON_TRIS                 TRISAbits.TRISA5
#define AIN_DU_FWR_I_MON_LAT                  LATAbits.LATA5
#define AIN_DU_FWR_I_MON_PORT                 PORTAbits.RA5
#define AIN_DU_FWR_I_MON_ANS                  ANSELAbits.ANSA5
#define AIN_DU_FWR_I_MON_SetHigh()            do { LATAbits.LATA5 = 1; } while(0)
#define AIN_DU_FWR_I_MON_SetLow()             do { LATAbits.LATA5 = 0; } while(0)
#define AIN_DU_FWR_I_MON_Toggle()             do { LATAbits.LATA5 = ~LATAbits.LATA5; } while(0)
#define AIN_DU_FWR_I_MON_GetValue()           PORTAbits.RA5
#define AIN_DU_FWR_I_MON_SetDigitalInput()    do { TRISAbits.TRISA5 = 1; } while(0)
#define AIN_DU_FWR_I_MON_SetDigitalOutput()   do { TRISAbits.TRISA5 = 0; } while(0)
#define AIN_DU_FWR_I_MON_SetAnalogMode()      do { ANSELAbits.ANSA5 = 1; } while(0)
#define AIN_DU_FWR_I_MON_SetDigitalMode()     do { ANSELAbits.ANSA5 = 0; } while(0)

// get/set DOUT_JP2_LED_D10 aliases
#define DOUT_JP2_LED_D10_TRIS                 TRISAbits.TRISA6
#define DOUT_JP2_LED_D10_LAT                  LATAbits.LATA6
#define DOUT_JP2_LED_D10_PORT                 PORTAbits.RA6
#define DOUT_JP2_LED_D10_SetHigh()            do { LATAbits.LATA6 = 1; } while(0)
#define DOUT_JP2_LED_D10_SetLow()             do { LATAbits.LATA6 = 0; } while(0)
#define DOUT_JP2_LED_D10_Toggle()             do { LATAbits.LATA6 = ~LATAbits.LATA6; } while(0)
#define DOUT_JP2_LED_D10_GetValue()           PORTAbits.RA6
#define DOUT_JP2_LED_D10_SetDigitalInput()    do { TRISAbits.TRISA6 = 1; } while(0)
#define DOUT_JP2_LED_D10_SetDigitalOutput()   do { TRISAbits.TRISA6 = 0; } while(0)

// get/set DOUT_JP1_LED_D9 aliases
#define DOUT_JP1_LED_D9_TRIS                 TRISAbits.TRISA7
#define DOUT_JP1_LED_D9_LAT                  LATAbits.LATA7
#define DOUT_JP1_LED_D9_PORT                 PORTAbits.RA7
#define DOUT_JP1_LED_D9_SetHigh()            do { LATAbits.LATA7 = 1; } while(0)
#define DOUT_JP1_LED_D9_SetLow()             do { LATAbits.LATA7 = 0; } while(0)
#define DOUT_JP1_LED_D9_Toggle()             do { LATAbits.LATA7 = ~LATAbits.LATA7; } while(0)
#define DOUT_JP1_LED_D9_GetValue()           PORTAbits.RA7
#define DOUT_JP1_LED_D9_SetDigitalInput()    do { TRISAbits.TRISA7 = 1; } while(0)
#define DOUT_JP1_LED_D9_SetDigitalOutput()   do { TRISAbits.TRISA7 = 0; } while(0)

// get/set DIN_GLR_B_PG aliases
#define DIN_GLR_B_PG_TRIS                 TRISBbits.TRISB0
#define DIN_GLR_B_PG_LAT                  LATBbits.LATB0
#define DIN_GLR_B_PG_PORT                 PORTBbits.RB0
#define DIN_GLR_B_PG_WPU                  WPUBbits.WPUB0
#define DIN_GLR_B_PG_ANS                  ANSELBbits.ANSB0
#define DIN_GLR_B_PG_SetHigh()            do { LATBbits.LATB0 = 1; } while(0)
#define DIN_GLR_B_PG_SetLow()             do { LATBbits.LATB0 = 0; } while(0)
#define DIN_GLR_B_PG_Toggle()             do { LATBbits.LATB0 = ~LATBbits.LATB0; } while(0)
#define DIN_GLR_B_PG_GetValue()           PORTBbits.RB0
#define DIN_GLR_B_PG_SetDigitalInput()    do { TRISBbits.TRISB0 = 1; } while(0)
#define DIN_GLR_B_PG_SetDigitalOutput()   do { TRISBbits.TRISB0 = 0; } while(0)
#define DIN_GLR_B_PG_SetPullup()          do { WPUBbits.WPUB0 = 1; } while(0)
#define DIN_GLR_B_PG_ResetPullup()        do { WPUBbits.WPUB0 = 0; } while(0)
#define DIN_GLR_B_PG_SetAnalogMode()      do { ANSELBbits.ANSB0 = 1; } while(0)
#define DIN_GLR_B_PG_SetDigitalMode()     do { ANSELBbits.ANSB0 = 0; } while(0)

// get/set AIN_PWB_I_MON aliases
#define AIN_PWB_I_MON_TRIS                 TRISBbits.TRISB1
#define AIN_PWB_I_MON_LAT                  LATBbits.LATB1
#define AIN_PWB_I_MON_PORT                 PORTBbits.RB1
#define AIN_PWB_I_MON_WPU                  WPUBbits.WPUB1
#define AIN_PWB_I_MON_ANS                  ANSELBbits.ANSB1
#define AIN_PWB_I_MON_SetHigh()            do { LATBbits.LATB1 = 1; } while(0)
#define AIN_PWB_I_MON_SetLow()             do { LATBbits.LATB1 = 0; } while(0)
#define AIN_PWB_I_MON_Toggle()             do { LATBbits.LATB1 = ~LATBbits.LATB1; } while(0)
#define AIN_PWB_I_MON_GetValue()           PORTBbits.RB1
#define AIN_PWB_I_MON_SetDigitalInput()    do { TRISBbits.TRISB1 = 1; } while(0)
#define AIN_PWB_I_MON_SetDigitalOutput()   do { TRISBbits.TRISB1 = 0; } while(0)
#define AIN_PWB_I_MON_SetPullup()          do { WPUBbits.WPUB1 = 1; } while(0)
#define AIN_PWB_I_MON_ResetPullup()        do { WPUBbits.WPUB1 = 0; } while(0)
#define AIN_PWB_I_MON_SetAnalogMode()      do { ANSELBbits.ANSB1 = 1; } while(0)
#define AIN_PWB_I_MON_SetDigitalMode()     do { ANSELBbits.ANSB1 = 0; } while(0)

// get/set AIN_GLR_A_I_MON aliases
#define AIN_GLR_A_I_MON_TRIS                 TRISBbits.TRISB2
#define AIN_GLR_A_I_MON_LAT                  LATBbits.LATB2
#define AIN_GLR_A_I_MON_PORT                 PORTBbits.RB2
#define AIN_GLR_A_I_MON_WPU                  WPUBbits.WPUB2
#define AIN_GLR_A_I_MON_ANS                  ANSELBbits.ANSB2
#define AIN_GLR_A_I_MON_SetHigh()            do { LATBbits.LATB2 = 1; } while(0)
#define AIN_GLR_A_I_MON_SetLow()             do { LATBbits.LATB2 = 0; } while(0)
#define AIN_GLR_A_I_MON_Toggle()             do { LATBbits.LATB2 = ~LATBbits.LATB2; } while(0)
#define AIN_GLR_A_I_MON_GetValue()           PORTBbits.RB2
#define AIN_GLR_A_I_MON_SetDigitalInput()    do { TRISBbits.TRISB2 = 1; } while(0)
#define AIN_GLR_A_I_MON_SetDigitalOutput()   do { TRISBbits.TRISB2 = 0; } while(0)
#define AIN_GLR_A_I_MON_SetPullup()          do { WPUBbits.WPUB2 = 1; } while(0)
#define AIN_GLR_A_I_MON_ResetPullup()        do { WPUBbits.WPUB2 = 0; } while(0)
#define AIN_GLR_A_I_MON_SetAnalogMode()      do { ANSELBbits.ANSB2 = 1; } while(0)
#define AIN_GLR_A_I_MON_SetDigitalMode()     do { ANSELBbits.ANSB2 = 0; } while(0)

// get/set AIN_GLR_B_I_MON aliases
#define AIN_GLR_B_I_MON_TRIS                 TRISBbits.TRISB3
#define AIN_GLR_B_I_MON_LAT                  LATBbits.LATB3
#define AIN_GLR_B_I_MON_PORT                 PORTBbits.RB3
#define AIN_GLR_B_I_MON_WPU                  WPUBbits.WPUB3
#define AIN_GLR_B_I_MON_ANS                  ANSELBbits.ANSB3
#define AIN_GLR_B_I_MON_SetHigh()            do { LATBbits.LATB3 = 1; } while(0)
#define AIN_GLR_B_I_MON_SetLow()             do { LATBbits.LATB3 = 0; } while(0)
#define AIN_GLR_B_I_MON_Toggle()             do { LATBbits.LATB3 = ~LATBbits.LATB3; } while(0)
#define AIN_GLR_B_I_MON_GetValue()           PORTBbits.RB3
#define AIN_GLR_B_I_MON_SetDigitalInput()    do { TRISBbits.TRISB3 = 1; } while(0)
#define AIN_GLR_B_I_MON_SetDigitalOutput()   do { TRISBbits.TRISB3 = 0; } while(0)
#define AIN_GLR_B_I_MON_SetPullup()          do { WPUBbits.WPUB3 = 1; } while(0)
#define AIN_GLR_B_I_MON_ResetPullup()        do { WPUBbits.WPUB3 = 0; } while(0)
#define AIN_GLR_B_I_MON_SetAnalogMode()      do { ANSELBbits.ANSB3 = 1; } while(0)
#define AIN_GLR_B_I_MON_SetDigitalMode()     do { ANSELBbits.ANSB3 = 0; } while(0)

// get/set DIN_ALRMPOS1 aliases
#define DIN_ALRMPOS1_TRIS                 TRISBbits.TRISB4
#define DIN_ALRMPOS1_LAT                  LATBbits.LATB4
#define DIN_ALRMPOS1_PORT                 PORTBbits.RB4
#define DIN_ALRMPOS1_WPU                  WPUBbits.WPUB4
#define DIN_ALRMPOS1_ANS                  ANSELBbits.ANSB4
#define DIN_ALRMPOS1_SetHigh()            do { LATBbits.LATB4 = 1; } while(0)
#define DIN_ALRMPOS1_SetLow()             do { LATBbits.LATB4 = 0; } while(0)
#define DIN_ALRMPOS1_Toggle()             do { LATBbits.LATB4 = ~LATBbits.LATB4; } while(0)
#define DIN_ALRMPOS1_GetValue()           PORTBbits.RB4
#define DIN_ALRMPOS1_SetDigitalInput()    do { TRISBbits.TRISB4 = 1; } while(0)
#define DIN_ALRMPOS1_SetDigitalOutput()   do { TRISBbits.TRISB4 = 0; } while(0)
#define DIN_ALRMPOS1_SetPullup()          do { WPUBbits.WPUB4 = 1; } while(0)
#define DIN_ALRMPOS1_ResetPullup()        do { WPUBbits.WPUB4 = 0; } while(0)
#define DIN_ALRMPOS1_SetAnalogMode()      do { ANSELBbits.ANSB4 = 1; } while(0)
#define DIN_ALRMPOS1_SetDigitalMode()     do { ANSELBbits.ANSB4 = 0; } while(0)

// get/set DIN_ALRMPOS2 aliases
#define DIN_ALRMPOS2_TRIS                 TRISBbits.TRISB5
#define DIN_ALRMPOS2_LAT                  LATBbits.LATB5
#define DIN_ALRMPOS2_PORT                 PORTBbits.RB5
#define DIN_ALRMPOS2_WPU                  WPUBbits.WPUB5
#define DIN_ALRMPOS2_ANS                  ANSELBbits.ANSB5
#define DIN_ALRMPOS2_SetHigh()            do { LATBbits.LATB5 = 1; } while(0)
#define DIN_ALRMPOS2_SetLow()             do { LATBbits.LATB5 = 0; } while(0)
#define DIN_ALRMPOS2_Toggle()             do { LATBbits.LATB5 = ~LATBbits.LATB5; } while(0)
#define DIN_ALRMPOS2_GetValue()           PORTBbits.RB5
#define DIN_ALRMPOS2_SetDigitalInput()    do { TRISBbits.TRISB5 = 1; } while(0)
#define DIN_ALRMPOS2_SetDigitalOutput()   do { TRISBbits.TRISB5 = 0; } while(0)
#define DIN_ALRMPOS2_SetPullup()          do { WPUBbits.WPUB5 = 1; } while(0)
#define DIN_ALRMPOS2_ResetPullup()        do { WPUBbits.WPUB5 = 0; } while(0)
#define DIN_ALRMPOS2_SetAnalogMode()      do { ANSELBbits.ANSB5 = 1; } while(0)
#define DIN_ALRMPOS2_SetDigitalMode()     do { ANSELBbits.ANSB5 = 0; } while(0)

// get/set DIN_ALRMNEG1 aliases
#define DIN_ALRMNEG1_TRIS                 TRISBbits.TRISB6
#define DIN_ALRMNEG1_LAT                  LATBbits.LATB6
#define DIN_ALRMNEG1_PORT                 PORTBbits.RB6
#define DIN_ALRMNEG1_WPU                  WPUBbits.WPUB6
#define DIN_ALRMNEG1_SetHigh()            do { LATBbits.LATB6 = 1; } while(0)
#define DIN_ALRMNEG1_SetLow()             do { LATBbits.LATB6 = 0; } while(0)
#define DIN_ALRMNEG1_Toggle()             do { LATBbits.LATB6 = ~LATBbits.LATB6; } while(0)
#define DIN_ALRMNEG1_GetValue()           PORTBbits.RB6
#define DIN_ALRMNEG1_SetDigitalInput()    do { TRISBbits.TRISB6 = 1; } while(0)
#define DIN_ALRMNEG1_SetDigitalOutput()   do { TRISBbits.TRISB6 = 0; } while(0)
#define DIN_ALRMNEG1_SetPullup()          do { WPUBbits.WPUB6 = 1; } while(0)
#define DIN_ALRMNEG1_ResetPullup()        do { WPUBbits.WPUB6 = 0; } while(0)

// get/set DIN_ALRMNEG2 aliases
#define DIN_ALRMNEG2_TRIS                 TRISBbits.TRISB7
#define DIN_ALRMNEG2_LAT                  LATBbits.LATB7
#define DIN_ALRMNEG2_PORT                 PORTBbits.RB7
#define DIN_ALRMNEG2_WPU                  WPUBbits.WPUB7
#define DIN_ALRMNEG2_SetHigh()            do { LATBbits.LATB7 = 1; } while(0)
#define DIN_ALRMNEG2_SetLow()             do { LATBbits.LATB7 = 0; } while(0)
#define DIN_ALRMNEG2_Toggle()             do { LATBbits.LATB7 = ~LATBbits.LATB7; } while(0)
#define DIN_ALRMNEG2_GetValue()           PORTBbits.RB7
#define DIN_ALRMNEG2_SetDigitalInput()    do { TRISBbits.TRISB7 = 1; } while(0)
#define DIN_ALRMNEG2_SetDigitalOutput()   do { TRISBbits.TRISB7 = 0; } while(0)
#define DIN_ALRMNEG2_SetPullup()          do { WPUBbits.WPUB7 = 1; } while(0)
#define DIN_ALRMNEG2_ResetPullup()        do { WPUBbits.WPUB7 = 0; } while(0)

// get/set DIN_PWB_PG aliases
#define DIN_PWB_PG_TRIS                 TRISCbits.TRISC0
#define DIN_PWB_PG_LAT                  LATCbits.LATC0
#define DIN_PWB_PG_PORT                 PORTCbits.RC0
#define DIN_PWB_PG_SetHigh()            do { LATCbits.LATC0 = 1; } while(0)
#define DIN_PWB_PG_SetLow()             do { LATCbits.LATC0 = 0; } while(0)
#define DIN_PWB_PG_Toggle()             do { LATCbits.LATC0 = ~LATCbits.LATC0; } while(0)
#define DIN_PWB_PG_GetValue()           PORTCbits.RC0
#define DIN_PWB_PG_SetDigitalInput()    do { TRISCbits.TRISC0 = 1; } while(0)
#define DIN_PWB_PG_SetDigitalOutput()   do { TRISCbits.TRISC0 = 0; } while(0)

// get/set DIN_LBL_PWR_FLT aliases
#define DIN_LBL_PWR_FLT_TRIS                 TRISCbits.TRISC1
#define DIN_LBL_PWR_FLT_LAT                  LATCbits.LATC1
#define DIN_LBL_PWR_FLT_PORT                 PORTCbits.RC1
#define DIN_LBL_PWR_FLT_SetHigh()            do { LATCbits.LATC1 = 1; } while(0)
#define DIN_LBL_PWR_FLT_SetLow()             do { LATCbits.LATC1 = 0; } while(0)
#define DIN_LBL_PWR_FLT_Toggle()             do { LATCbits.LATC1 = ~LATCbits.LATC1; } while(0)
#define DIN_LBL_PWR_FLT_GetValue()           PORTCbits.RC1
#define DIN_LBL_PWR_FLT_SetDigitalInput()    do { TRISCbits.TRISC1 = 1; } while(0)
#define DIN_LBL_PWR_FLT_SetDigitalOutput()   do { TRISCbits.TRISC1 = 0; } while(0)

// get/set DIN_GLR_A_FLT aliases
#define DIN_GLR_A_FLT_TRIS                 TRISCbits.TRISC2
#define DIN_GLR_A_FLT_LAT                  LATCbits.LATC2
#define DIN_GLR_A_FLT_PORT                 PORTCbits.RC2
#define DIN_GLR_A_FLT_ANS                  ANSELCbits.ANSC2
#define DIN_GLR_A_FLT_SetHigh()            do { LATCbits.LATC2 = 1; } while(0)
#define DIN_GLR_A_FLT_SetLow()             do { LATCbits.LATC2 = 0; } while(0)
#define DIN_GLR_A_FLT_Toggle()             do { LATCbits.LATC2 = ~LATCbits.LATC2; } while(0)
#define DIN_GLR_A_FLT_GetValue()           PORTCbits.RC2
#define DIN_GLR_A_FLT_SetDigitalInput()    do { TRISCbits.TRISC2 = 1; } while(0)
#define DIN_GLR_A_FLT_SetDigitalOutput()   do { TRISCbits.TRISC2 = 0; } while(0)
#define DIN_GLR_A_FLT_SetAnalogMode()      do { ANSELCbits.ANSC2 = 1; } while(0)
#define DIN_GLR_A_FLT_SetDigitalMode()     do { ANSELCbits.ANSC2 = 0; } while(0)

// get/set DIN_GLR_B_FLT aliases
#define DIN_GLR_B_FLT_TRIS                 TRISCbits.TRISC3
#define DIN_GLR_B_FLT_LAT                  LATCbits.LATC3
#define DIN_GLR_B_FLT_PORT                 PORTCbits.RC3
#define DIN_GLR_B_FLT_ANS                  ANSELCbits.ANSC3
#define DIN_GLR_B_FLT_SetHigh()            do { LATCbits.LATC3 = 1; } while(0)
#define DIN_GLR_B_FLT_SetLow()             do { LATCbits.LATC3 = 0; } while(0)
#define DIN_GLR_B_FLT_Toggle()             do { LATCbits.LATC3 = ~LATCbits.LATC3; } while(0)
#define DIN_GLR_B_FLT_GetValue()           PORTCbits.RC3
#define DIN_GLR_B_FLT_SetDigitalInput()    do { TRISCbits.TRISC3 = 1; } while(0)
#define DIN_GLR_B_FLT_SetDigitalOutput()   do { TRISCbits.TRISC3 = 0; } while(0)
#define DIN_GLR_B_FLT_SetAnalogMode()      do { ANSELCbits.ANSC3 = 1; } while(0)
#define DIN_GLR_B_FLT_SetDigitalMode()     do { ANSELCbits.ANSC3 = 0; } while(0)
// get/set DIN_PWB_FLT aliases
#define DIN_PWB_FLT_TRIS                 TRISCbits.TRISC4
#define DIN_PWB_FLT_LAT                  LATCbits.LATC4
#define DIN_PWB_FLT_PORT                 PORTCbits.RC4
#define DIN_PWB_FLT_ANS                  ANSELCbits.ANSC4
#define DIN_PWB_FLT_SetHigh()            do { LATCbits.LATC4 = 1; } while(0)
#define DIN_PWB_FLT_SetLow()             do { LATCbits.LATC4 = 0; } while(0)
#define DIN_PWB_FLT_Toggle()             do { LATCbits.LATC4 = ~LATCbits.LATC4; } while(0)
#define DIN_PWB_FLT_GetValue()           PORTCbits.RC4
#define DIN_PWB_FLT_SetDigitalInput()    do { TRISCbits.TRISC4 = 1; } while(0)
#define DIN_PWB_FLT_SetDigitalOutput()   do { TRISCbits.TRISC4 = 0; } while(0)
#define DIN_PWB_FLT_SetAnalogMode()      do { ANSELCbits.ANSC4 = 1; } while(0)
#define DIN_PWB_FLT_SetDigitalMode()     do { ANSELCbits.ANSC4 = 0; } while(0)

// get/set DIN_GLR_A_PG aliases
#define DIN_GLR_A_PG_TRIS                 TRISCbits.TRISC5
#define DIN_GLR_A_PG_LAT                  LATCbits.LATC5
#define DIN_GLR_A_PG_PORT                 PORTCbits.RC5
#define DIN_GLR_A_PG_ANS                  ANSELCbits.ANSC5
#define DIN_GLR_A_PG_SetHigh()            do { LATCbits.LATC5 = 1; } while(0)
#define DIN_GLR_A_PG_SetLow()             do { LATCbits.LATC5 = 0; } while(0)
#define DIN_GLR_A_PG_Toggle()             do { LATCbits.LATC5 = ~LATCbits.LATC5; } while(0)
#define DIN_GLR_A_PG_GetValue()           PORTCbits.RC5
#define DIN_GLR_A_PG_SetDigitalInput()    do { TRISCbits.TRISC5 = 1; } while(0)
#define DIN_GLR_A_PG_SetDigitalOutput()   do { TRISCbits.TRISC5 = 0; } while(0)
#define DIN_GLR_A_PG_SetAnalogMode()      do { ANSELCbits.ANSC5 = 1; } while(0)
#define DIN_GLR_A_PG_SetDigitalMode()     do { ANSELCbits.ANSC5 = 0; } while(0)

// get/set RC6 procedures
#define RC6_SetHigh()            do { LATCbits.LATC6 = 1; } while(0)
#define RC6_SetLow()             do { LATCbits.LATC6 = 0; } while(0)
#define RC6_Toggle()             do { LATCbits.LATC6 = ~LATCbits.LATC6; } while(0)
#define RC6_GetValue()              PORTCbits.RC6
#define RC6_SetDigitalInput()    do { TRISCbits.TRISC6 = 1; } while(0)
#define RC6_SetDigitalOutput()   do { TRISCbits.TRISC6 = 0; } while(0)
#define RC6_SetAnalogMode()         do { ANSELCbits.ANSC6 = 1; } while(0)
#define RC6_SetDigitalMode()        do { ANSELCbits.ANSC6 = 0; } while(0)

// get/set RC7 procedures
#define RC7_SetHigh()            do { LATCbits.LATC7 = 1; } while(0)
#define RC7_SetLow()             do { LATCbits.LATC7 = 0; } while(0)
#define RC7_Toggle()             do { LATCbits.LATC7 = ~LATCbits.LATC7; } while(0)
#define RC7_GetValue()              PORTCbits.RC7
#define RC7_SetDigitalInput()    do { TRISCbits.TRISC7 = 1; } while(0)
#define RC7_SetDigitalOutput()   do { TRISCbits.TRISC7 = 0; } while(0)
#define RC7_SetAnalogMode()         do { ANSELCbits.ANSC7 = 1; } while(0)
#define RC7_SetDigitalMode()        do { ANSELCbits.ANSC7 = 0; } while(0)

// get/set DOUT_375V_RTN_SWITCH_ON_OFF aliases
#define DOUT_375V_RTN_SWITCH_ON_OFF_TRIS                 TRISDbits.TRISD0
#define DOUT_375V_RTN_SWITCH_ON_OFF_LAT                  LATDbits.LATD0
#define DOUT_375V_RTN_SWITCH_ON_OFF_PORT                 PORTDbits.RD0
#define DOUT_375V_RTN_SWITCH_ON_OFF_ANS                  ANSELDbits.ANSD0
#define DOUT_375V_RTN_SWITCH_ON_OFF_SetHigh()            do { LATDbits.LATD0 = 1; } while(0)
#define DOUT_375V_RTN_SWITCH_ON_OFF_SetLow()             do { LATDbits.LATD0 = 0; } while(0)
#define DOUT_375V_RTN_SWITCH_ON_OFF_Toggle()             do { LATDbits.LATD0 = ~LATDbits.LATD0; } while(0)
#define DOUT_375V_RTN_SWITCH_ON_OFF_GetValue()           PORTDbits.RD0
#define DOUT_375V_RTN_SWITCH_ON_OFF_SetDigitalInput()    do { TRISDbits.TRISD0 = 1; } while(0)
#define DOUT_375V_RTN_SWITCH_ON_OFF_SetDigitalOutput()   do { TRISDbits.TRISD0 = 0; } while(0)
#define DOUT_375V_RTN_SWITCH_ON_OFF_SetAnalogMode()      do { ANSELDbits.ANSD0 = 1; } while(0)
#define DOUT_375V_RTN_SWITCH_ON_OFF_SetDigitalMode()     do { ANSELDbits.ANSD0 = 0; } while(0)

// get/set DOUT_375V_FWR_SWTCH_ON_OFF aliases
#define DOUT_375V_FWR_SWTCH_ON_OFF_TRIS                 TRISDbits.TRISD1
#define DOUT_375V_FWR_SWTCH_ON_OFF_LAT                  LATDbits.LATD1
#define DOUT_375V_FWR_SWTCH_ON_OFF_PORT                 PORTDbits.RD1
#define DOUT_375V_FWR_SWTCH_ON_OFF_ANS                  ANSELDbits.ANSD1
#define DOUT_375V_FWR_SWTCH_ON_OFF_SetHigh()            do { LATDbits.LATD1 = 1; } while(0)
#define DOUT_375V_FWR_SWTCH_ON_OFF_SetLow()             do { LATDbits.LATD1 = 0; } while(0)
#define DOUT_375V_FWR_SWTCH_ON_OFF_Toggle()             do { LATDbits.LATD1 = ~LATDbits.LATD1; } while(0)
#define DOUT_375V_FWR_SWTCH_ON_OFF_GetValue()           PORTDbits.RD1
#define DOUT_375V_FWR_SWTCH_ON_OFF_SetDigitalInput()    do { TRISDbits.TRISD1 = 1; } while(0)
#define DOUT_375V_FWR_SWTCH_ON_OFF_SetDigitalOutput()   do { TRISDbits.TRISD1 = 0; } while(0)
#define DOUT_375V_FWR_SWTCH_ON_OFF_SetAnalogMode()      do { ANSELDbits.ANSD1 = 1; } while(0)
#define DOUT_375V_FWR_SWTCH_ON_OFF_SetDigitalMode()     do { ANSELDbits.ANSD1 = 0; } while(0)

// get/set DOUT_ISO_12V_SWITCH_ON_OFF aliases
#define DOUT_ISO_12V_SWITCH_ON_OFF_TRIS                 TRISDbits.TRISD2
#define DOUT_ISO_12V_SWITCH_ON_OFF_LAT                  LATDbits.LATD2
#define DOUT_ISO_12V_SWITCH_ON_OFF_PORT                 PORTDbits.RD2
#define DOUT_ISO_12V_SWITCH_ON_OFF_ANS                  ANSELDbits.ANSD2
#define DOUT_ISO_12V_SWITCH_ON_OFF_SetHigh()            do { LATDbits.LATD2 = 1; } while(0)
#define DOUT_ISO_12V_SWITCH_ON_OFF_SetLow()             do { LATDbits.LATD2 = 0; } while(0)
#define DOUT_ISO_12V_SWITCH_ON_OFF_Toggle()             do { LATDbits.LATD2 = ~LATDbits.LATD2; } while(0)
#define DOUT_ISO_12V_SWITCH_ON_OFF_GetValue()           PORTDbits.RD2
#define DOUT_ISO_12V_SWITCH_ON_OFF_SetDigitalInput()    do { TRISDbits.TRISD2 = 1; } while(0)
#define DOUT_ISO_12V_SWITCH_ON_OFF_SetDigitalOutput()   do { TRISDbits.TRISD2 = 0; } while(0)
#define DOUT_ISO_12V_SWITCH_ON_OFF_SetAnalogMode()      do { ANSELDbits.ANSD2 = 1; } while(0)
#define DOUT_ISO_12V_SWITCH_ON_OFF_SetDigitalMode()     do { ANSELDbits.ANSD2 = 0; } while(0)

// get/set DOUT_LBL_SWITCH_ON_OFF aliases
#define DOUT_LBL_SWITCH_ON_OFF_TRIS                 TRISDbits.TRISD3
#define DOUT_LBL_SWITCH_ON_OFF_LAT                  LATDbits.LATD3
#define DOUT_LBL_SWITCH_ON_OFF_PORT                 PORTDbits.RD3
#define DOUT_LBL_SWITCH_ON_OFF_ANS                  ANSELDbits.ANSD3
#define DOUT_LBL_SWITCH_ON_OFF_SetHigh()            do { LATDbits.LATD3 = 1; } while(0)
#define DOUT_LBL_SWITCH_ON_OFF_SetLow()             do { LATDbits.LATD3 = 0; } while(0)
#define DOUT_LBL_SWITCH_ON_OFF_Toggle()             do { LATDbits.LATD3 = ~LATDbits.LATD3; } while(0)
#define DOUT_LBL_SWITCH_ON_OFF_GetValue()           PORTDbits.RD3
#define DOUT_LBL_SWITCH_ON_OFF_SetDigitalInput()    do { TRISDbits.TRISD3 = 1; } while(0)
#define DOUT_LBL_SWITCH_ON_OFF_SetDigitalOutput()   do { TRISDbits.TRISD3 = 0; } while(0)
#define DOUT_LBL_SWITCH_ON_OFF_SetAnalogMode()      do { ANSELDbits.ANSD3 = 1; } while(0)
#define DOUT_LBL_SWITCH_ON_OFF_SetDigitalMode()     do { ANSELDbits.ANSD3 = 0; } while(0)

// get/set DOUT_HYDRO_SWITCH_ON_OFF aliases
#define DOUT_HYDRO_SWITCH_ON_OFF_TRIS                 TRISDbits.TRISD4
#define DOUT_HYDRO_SWITCH_ON_OFF_LAT                  LATDbits.LATD4
#define DOUT_HYDRO_SWITCH_ON_OFF_PORT                 PORTDbits.RD4
#define DOUT_HYDRO_SWITCH_ON_OFF_ANS                  ANSELDbits.ANSD4
#define DOUT_HYDRO_SWITCH_ON_OFF_SetHigh()            do { LATDbits.LATD4 = 1; } while(0)
#define DOUT_HYDRO_SWITCH_ON_OFF_SetLow()             do { LATDbits.LATD4 = 0; } while(0)
#define DOUT_HYDRO_SWITCH_ON_OFF_Toggle()             do { LATDbits.LATD4 = ~LATDbits.LATD4; } while(0)
#define DOUT_HYDRO_SWITCH_ON_OFF_GetValue()           PORTDbits.RD4
#define DOUT_HYDRO_SWITCH_ON_OFF_SetDigitalInput()    do { TRISDbits.TRISD4 = 1; } while(0)
#define DOUT_HYDRO_SWITCH_ON_OFF_SetDigitalOutput()   do { TRISDbits.TRISD4 = 0; } while(0)
#define DOUT_HYDRO_SWITCH_ON_OFF_SetAnalogMode()      do { ANSELDbits.ANSD4 = 1; } while(0)
#define DOUT_HYDRO_SWITCH_ON_OFF_SetDigitalMode()     do { ANSELDbits.ANSD4 = 0; } while(0)

// get/set DOUT_GLR_A_SWITCH_ON_OFF aliases
#define DOUT_GLR_A_SWITCH_ON_OFF_TRIS                 TRISDbits.TRISD5
#define DOUT_GLR_A_SWITCH_ON_OFF_LAT                  LATDbits.LATD5
#define DOUT_GLR_A_SWITCH_ON_OFF_PORT                 PORTDbits.RD5
#define DOUT_GLR_A_SWITCH_ON_OFF_ANS                  ANSELDbits.ANSD5
#define DOUT_GLR_A_SWITCH_ON_OFF_SetHigh()            do { LATDbits.LATD5 = 1; } while(0)
#define DOUT_GLR_A_SWITCH_ON_OFF_SetLow()             do { LATDbits.LATD5 = 0; } while(0)
#define DOUT_GLR_A_SWITCH_ON_OFF_Toggle()             do { LATDbits.LATD5 = ~LATDbits.LATD5; } while(0)
#define DOUT_GLR_A_SWITCH_ON_OFF_GetValue()           PORTDbits.RD5
#define DOUT_GLR_A_SWITCH_ON_OFF_SetDigitalInput()    do { TRISDbits.TRISD5 = 1; } while(0)
#define DOUT_GLR_A_SWITCH_ON_OFF_SetDigitalOutput()   do { TRISDbits.TRISD5 = 0; } while(0)
#define DOUT_GLR_A_SWITCH_ON_OFF_SetAnalogMode()      do { ANSELDbits.ANSD5 = 1; } while(0)
#define DOUT_GLR_A_SWITCH_ON_OFF_SetDigitalMode()     do { ANSELDbits.ANSD5 = 0; } while(0)

// get/set DOUT_GLR_B_SWITCH_ON_OFF aliases
#define DOUT_GLR_B_SWITCH_ON_OFF_TRIS                 TRISDbits.TRISD6
#define DOUT_GLR_B_SWITCH_ON_OFF_LAT                  LATDbits.LATD6
#define DOUT_GLR_B_SWITCH_ON_OFF_PORT                 PORTDbits.RD6
#define DOUT_GLR_B_SWITCH_ON_OFF_ANS                  ANSELDbits.ANSD6
#define DOUT_GLR_B_SWITCH_ON_OFF_SetHigh()            do { LATDbits.LATD6 = 1; } while(0)
#define DOUT_GLR_B_SWITCH_ON_OFF_SetLow()             do { LATDbits.LATD6 = 0; } while(0)
#define DOUT_GLR_B_SWITCH_ON_OFF_Toggle()             do { LATDbits.LATD6 = ~LATDbits.LATD6; } while(0)
#define DOUT_GLR_B_SWITCH_ON_OFF_GetValue()           PORTDbits.RD6
#define DOUT_GLR_B_SWITCH_ON_OFF_SetDigitalInput()    do { TRISDbits.TRISD6 = 1; } while(0)
#define DOUT_GLR_B_SWITCH_ON_OFF_SetDigitalOutput()   do { TRISDbits.TRISD6 = 0; } while(0)
#define DOUT_GLR_B_SWITCH_ON_OFF_SetAnalogMode()      do { ANSELDbits.ANSD6 = 1; } while(0)
#define DOUT_GLR_B_SWITCH_ON_OFF_SetDigitalMode()     do { ANSELDbits.ANSD6 = 0; } while(0)

// get/set DOUT_PWB_SWITCH_ON_OFF aliases
#define DOUT_PWB_SWITCH_ON_OFF_TRIS                 TRISDbits.TRISD7
#define DOUT_PWB_SWITCH_ON_OFF_LAT                  LATDbits.LATD7
#define DOUT_PWB_SWITCH_ON_OFF_PORT                 PORTDbits.RD7
#define DOUT_PWB_SWITCH_ON_OFF_ANS                  ANSELDbits.ANSD7
#define DOUT_PWB_SWITCH_ON_OFF_SetHigh()            do { LATDbits.LATD7 = 1; } while(0)
#define DOUT_PWB_SWITCH_ON_OFF_SetLow()             do { LATDbits.LATD7 = 0; } while(0)
#define DOUT_PWB_SWITCH_ON_OFF_Toggle()             do { LATDbits.LATD7 = ~LATDbits.LATD7; } while(0)
#define DOUT_PWB_SWITCH_ON_OFF_GetValue()           PORTDbits.RD7
#define DOUT_PWB_SWITCH_ON_OFF_SetDigitalInput()    do { TRISDbits.TRISD7 = 1; } while(0)
#define DOUT_PWB_SWITCH_ON_OFF_SetDigitalOutput()   do { TRISDbits.TRISD7 = 0; } while(0)
#define DOUT_PWB_SWITCH_ON_OFF_SetAnalogMode()      do { ANSELDbits.ANSD7 = 1; } while(0)
#define DOUT_PWB_SWITCH_ON_OFF_SetDigitalMode()     do { ANSELDbits.ANSD7 = 0; } while(0)

// get/set AIN_HYDRO_I_MON aliases
#define AIN_HYDRO_I_MON_TRIS                 TRISEbits.TRISE0
#define AIN_HYDRO_I_MON_LAT                  LATEbits.LATE0
#define AIN_HYDRO_I_MON_PORT                 PORTEbits.RE0
#define AIN_HYDRO_I_MON_ANS                  ANSELEbits.ANSE0
#define AIN_HYDRO_I_MON_SetHigh()            do { LATEbits.LATE0 = 1; } while(0)
#define AIN_HYDRO_I_MON_SetLow()             do { LATEbits.LATE0 = 0; } while(0)
#define AIN_HYDRO_I_MON_Toggle()             do { LATEbits.LATE0 = ~LATEbits.LATE0; } while(0)
#define AIN_HYDRO_I_MON_GetValue()           PORTEbits.RE0
#define AIN_HYDRO_I_MON_SetDigitalInput()    do { TRISEbits.TRISE0 = 1; } while(0)
#define AIN_HYDRO_I_MON_SetDigitalOutput()   do { TRISEbits.TRISE0 = 0; } while(0)
#define AIN_HYDRO_I_MON_SetAnalogMode()      do { ANSELEbits.ANSE0 = 1; } while(0)
#define AIN_HYDRO_I_MON_SetDigitalMode()     do { ANSELEbits.ANSE0 = 0; } while(0)

// get/set AIN_INPUT_V_MON aliases
#define AIN_INPUT_V_MON_TRIS                 TRISEbits.TRISE1
#define AIN_INPUT_V_MON_LAT                  LATEbits.LATE1
#define AIN_INPUT_V_MON_PORT                 PORTEbits.RE1
#define AIN_INPUT_V_MON_ANS                  ANSELEbits.ANSE1
#define AIN_INPUT_V_MON_SetHigh()            do { LATEbits.LATE1 = 1; } while(0)
#define AIN_INPUT_V_MON_SetLow()             do { LATEbits.LATE1 = 0; } while(0)
#define AIN_INPUT_V_MON_Toggle()             do { LATEbits.LATE1 = ~LATEbits.LATE1; } while(0)
#define AIN_INPUT_V_MON_GetValue()           PORTEbits.RE1
#define AIN_INPUT_V_MON_SetDigitalInput()    do { TRISEbits.TRISE1 = 1; } while(0)
#define AIN_INPUT_V_MON_SetDigitalOutput()   do { TRISEbits.TRISE1 = 0; } while(0)
#define AIN_INPUT_V_MON_SetAnalogMode()      do { ANSELEbits.ANSE1 = 1; } while(0)
#define AIN_INPUT_V_MON_SetDigitalMode()     do { ANSELEbits.ANSE1 = 0; } while(0)

// get/set AIN_LBL_I_MON aliases
#define AIN_LBL_I_MON_TRIS                 TRISEbits.TRISE2
#define AIN_LBL_I_MON_LAT                  LATEbits.LATE2
#define AIN_LBL_I_MON_PORT                 PORTEbits.RE2
#define AIN_LBL_I_MON_ANS                  ANSELEbits.ANSE2
#define AIN_LBL_I_MON_SetHigh()            do { LATEbits.LATE2 = 1; } while(0)
#define AIN_LBL_I_MON_SetLow()             do { LATEbits.LATE2 = 0; } while(0)
#define AIN_LBL_I_MON_Toggle()             do { LATEbits.LATE2 = ~LATEbits.LATE2; } while(0)
#define AIN_LBL_I_MON_GetValue()           PORTEbits.RE2
#define AIN_LBL_I_MON_SetDigitalInput()    do { TRISEbits.TRISE2 = 1; } while(0)
#define AIN_LBL_I_MON_SetDigitalOutput()   do { TRISEbits.TRISE2 = 0; } while(0)
#define AIN_LBL_I_MON_SetAnalogMode()      do { ANSELEbits.ANSE2 = 1; } while(0)
#define AIN_LBL_I_MON_SetDigitalMode()     do { ANSELEbits.ANSE2 = 0; } while(0)

/**
   @Param
    none
   @Returns
    none
   @Description
    GPIO and peripheral I/O initialization
   @Example
    PIN_MANAGER_Initialize();
 */
void PIN_MANAGER_Initialize (void);

/**
 * @Param
    none
 * @Returns
    none
 * @Description
    Interrupt on Change Handling routine
 * @Example
    PIN_MANAGER_IOC();
 */
void PIN_MANAGER_IOC(void);



#endif // PIN_MANAGER_H
/**
 End of File
*/