Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 
 

121 рядки
3.7 KiB

  1. /*
  2. * File: DigitalIO_Chaletduino.h
  3. * Author: JF
  4. *
  5. * Created on November 24, 2018, 3:20 PM
  6. */
  7. #ifndef DIGITALIO_CHALETDUINO_H
  8. #define DIGITALIO_CHALETDUINO_H
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. /* ************************************************************************** */
  13. /* Includes */
  14. #include "define.h"
  15. /* ************************************************************************** */
  16. /* Defines */
  17. //#include <plib.h>
  18. #define SYS_FREQ (80000000L) //Clock period = 12.5 ns
  19. #define PERIPHERAL_FREQ (80000000L)
  20. //Output pins hardware definitions
  21. //
  22. #define HEARTBEAT_LED_2_PIN_DIR TRISEbits.TRISE6
  23. #define HEARTBEAT_LED_2_PIN LATEbits.LATE6
  24. #define HEARTBEAT_LED_2_TOGGLE_REG LATEINV
  25. #define HEARTBEAT_LED_2_SET_REG LATESET
  26. #define HEARTBEAT_LED_2_CLEAR_REG LATECLR
  27. #define HEARTBEAT_LED_2_TOGGLE_MASK _LATG_LATE6_MASK
  28. #define HEARTBEAT_LED_1_PIN_DIR TRISEbits.TRISE5
  29. #define HEARTBEAT_LED_1_PIN LATEbits.LATE5
  30. #define HEARTBEAT_LED_1_TOGGLE_REG LATEINV
  31. #define HEARTBEAT_LED_1_SET_REG LATESET
  32. #define HEARTBEAT_LED_1_CLEAR_REG LATECLR
  33. #define HEARTBEAT_LED_1_TOGGLE_MASK _LATE_LATE5_MASK
  34. #define LORA_ACTIVITY_LED_PIN_DIR TRISFbits.TRISF1
  35. #define LORA_ACTIVITY_LED_PIN LATFbits.LATF1
  36. #define LORA_ACTIVITY_LED_TOGGLE_REG LATFINV
  37. #define LORA_ACTIVITY_LED_SET_REG LATFSET
  38. #define LORA_ACTIVITY_LED_CLEAR_REG LATFCLR
  39. #define LORA_ACTIVITY_LED_TOGGLE_MASK _LATE_LATF1_MASK
  40. // #define GP_DEBUG_1_PIN_DIR TRISEbits.TRISE5
  41. // #define GP_DEBUG_1_PIN LATEbits.LATE5
  42. // #define GP_DEBUG_2_PIN_DIR TRISEbits.TRISE6
  43. // #define GP_DEBUG_2_PIN LATEbits.LATE6
  44. // #define SD_CARD_DETECT_PIN_DIR TRISDbits.TRISD8
  45. // #define SD_CARD_DETECT_PIN LATDbits.LATD8
  46. //SPI port defs
  47. #define SPI_SDO_PIN_DIR TRISGbits.TRISG8
  48. #define SPI_SDI_PIN_DIR TRISGbits.TRISG7
  49. #define SPI_SCK_PIN_DIR TRISGbits.TRISG6
  50. //SD Card
  51. #define SD_SPI_SS_PIN_DIR TRISBbits.TRISB13
  52. #define SD_SPI_SS_PIN LATBbits.LATB13
  53. //SPI Flash
  54. #define FLASH_SS_PIN_DIR TRISEbits.TRISE3
  55. #define FLASH_SS_PIN LATEbits.LATE3
  56. //Wifi (WINC3400 module)
  57. #define WIFI_SPI_SS_PIN_DIR TRISEbits.TRISE0
  58. #define WIFI_SPI_SS_PIN LATEbits.LATE0
  59. #define WIFI_IRQ_PIN_DIR TRISDbits.TRISD0
  60. #define WIFI_IRQ_PIN PORTDbits.RD0
  61. // #define WIFI_SPI_CFG_PIN_DIR TRISEbits.TRISE1
  62. // #define WIFI_SPI_CFG_PIN LATEbits.LATE1
  63. #define WIFI_CHP_EN_PIN_DIR TRISEbits.TRISE2
  64. #define WIFI_CHP_EN_PIN LATEbits.LATE2
  65. #define WIFI_CHP_RST_PIN_DIR TRISEbits.TRISE4
  66. #define WIFI_CHP_RST_PIN LATEbits.LATE4
  67. //Chalet power relay
  68. #define POWER_RELAY_ON_PIN_DIR TRISEbits.TRISE7
  69. #define POWER_RELAY_ON_PIN LATEbits.LATE7 //X2-3
  70. #define POWER_RELAY_OFF_PIN_DIR TRISGbits.TRISG9
  71. #define POWER_RELAY_OFF_PIN LATGbits.LATG9 //X3-5
  72. //Harakiri relay
  73. #define HARAKIRI_RELAY_ON_PIN_DIR TRISBbits.TRISB0
  74. #define HARAKIRI_RELAY_ON_PIN LATBbits.LATB0 //X2-3
  75. //12V presence detection input
  76. #define CHALET_12V_PRESENCE_PIN_DIR TRISBbits.TRISB15
  77. #define CHALET_12V_PRESENCE_PIN PORTBbits.RB15 //X2-3
  78. //Battery voltage measurement (analog input)
  79. #define BATTERY_VOLTAGE_ANALOG_PIN_DIR TRISBbits.TRISB1
  80. //Current sensor. Those pins tristate is controlled by the I2C module
  81. #define CURRENT_MODULE_I2C_SCL_PIN_DIR TRISDbits.TRISD3
  82. #define CURRENT_MODULE_I2C_SDA_PIN_DIR TRISDbits.TRISD2
  83. /* ************************************************************************** */
  84. /* Prototypes */
  85. void InitDigitalIO(void);
  86. #ifdef __cplusplus
  87. }
  88. #endif
  89. #endif /* DIGITALIO_PINGUINO_H */