/* * File: DigitalIO_Chaletduino.h * Author: JF * * Created on November 24, 2018, 3:20 PM */ #ifndef DIGITALIO_CHALETDUINO_H #define DIGITALIO_CHALETDUINO_H #ifdef __cplusplus extern "C" { #endif /* ************************************************************************** */ /* Includes */ #include "define.h" /* ************************************************************************** */ /* Defines */ //#include #define SYS_FREQ (80000000L) //Clock period = 12.5 ns #define PERIPHERAL_FREQ (80000000L) //Output pins hardware definitions // #define HEARTBEAT_LED_2_PIN_DIR TRISEbits.TRISE6 #define HEARTBEAT_LED_2_PIN LATEbits.LATE6 #define HEARTBEAT_LED_2_TOGGLE_REG LATEINV #define HEARTBEAT_LED_2_SET_REG LATESET #define HEARTBEAT_LED_2_CLEAR_REG LATECLR #define HEARTBEAT_LED_2_TOGGLE_MASK _LATG_LATE6_MASK #define HEARTBEAT_LED_1_PIN_DIR TRISEbits.TRISE5 #define HEARTBEAT_LED_1_PIN LATEbits.LATE5 #define HEARTBEAT_LED_1_TOGGLE_REG LATEINV #define HEARTBEAT_LED_1_SET_REG LATESET #define HEARTBEAT_LED_1_CLEAR_REG LATECLR #define HEARTBEAT_LED_1_TOGGLE_MASK _LATE_LATE5_MASK #define LORA_ACTIVITY_LED_PIN_DIR TRISFbits.TRISF1 #define LORA_ACTIVITY_LED_PIN LATFbits.LATF1 #define LORA_ACTIVITY_LED_TOGGLE_REG LATFINV #define LORA_ACTIVITY_LED_SET_REG LATFSET #define LORA_ACTIVITY_LED_CLEAR_REG LATFCLR #define LORA_ACTIVITY_LED_TOGGLE_MASK _LATE_LATF1_MASK // #define GP_DEBUG_1_PIN_DIR TRISEbits.TRISE5 // #define GP_DEBUG_1_PIN LATEbits.LATE5 // #define GP_DEBUG_2_PIN_DIR TRISEbits.TRISE6 // #define GP_DEBUG_2_PIN LATEbits.LATE6 // #define SD_CARD_DETECT_PIN_DIR TRISDbits.TRISD8 // #define SD_CARD_DETECT_PIN LATDbits.LATD8 //SPI port defs #define SPI_SDO_PIN_DIR TRISGbits.TRISG8 #define SPI_SDI_PIN_DIR TRISGbits.TRISG7 #define SPI_SCK_PIN_DIR TRISGbits.TRISG6 //SD Card #define SD_SPI_SS_PIN_DIR TRISBbits.TRISB13 #define SD_SPI_SS_PIN LATBbits.LATB13 //SPI Flash #define FLASH_SS_PIN_DIR TRISEbits.TRISE3 #define FLASH_SS_PIN LATEbits.LATE3 //Wifi (WINC3400 module) #define WIFI_SPI_SS_PIN_DIR TRISEbits.TRISE0 #define WIFI_SPI_SS_PIN LATEbits.LATE0 #define WIFI_IRQ_PIN_DIR TRISDbits.TRISD0 #define WIFI_IRQ_PIN PORTDbits.RD0 // #define WIFI_SPI_CFG_PIN_DIR TRISEbits.TRISE1 // #define WIFI_SPI_CFG_PIN LATEbits.LATE1 #define WIFI_CHP_EN_PIN_DIR TRISEbits.TRISE2 #define WIFI_CHP_EN_PIN LATEbits.LATE2 #define WIFI_CHP_RST_PIN_DIR TRISEbits.TRISE4 #define WIFI_CHP_RST_PIN LATEbits.LATE4 //Chalet power relay #define POWER_RELAY_ON_PIN_DIR TRISEbits.TRISE7 #define POWER_RELAY_ON_PIN LATEbits.LATE7 //X2-3 #define POWER_RELAY_OFF_PIN_DIR TRISGbits.TRISG9 #define POWER_RELAY_OFF_PIN LATGbits.LATG9 //X3-5 //Harakiri relay #define HARAKIRI_RELAY_ON_PIN_DIR TRISBbits.TRISB0 #define HARAKIRI_RELAY_ON_PIN LATBbits.LATB0 //X2-3 //12V presence detection input #define CHALET_12V_PRESENCE_PIN_DIR TRISBbits.TRISB15 #define CHALET_12V_PRESENCE_PIN PORTBbits.RB15 //X2-3 //Battery voltage measurement (analog input) #define BATTERY_VOLTAGE_ANALOG_PIN_DIR TRISBbits.TRISB1 //Current sensor. Those pins tristate is controlled by the I2C module #define CURRENT_MODULE_I2C_SCL_PIN_DIR TRISDbits.TRISD3 #define CURRENT_MODULE_I2C_SDA_PIN_DIR TRISDbits.TRISD2 /* ************************************************************************** */ /* Prototypes */ void InitDigitalIO(void); #ifdef __cplusplus } #endif #endif /* DIGITALIO_PINGUINO_H */