|
- /*
- * 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 <plib.h>
- #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 */
|