You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

162 lines
5.4 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 GP_DEBUG_1_PIN_DIR TRISEbits.TRISE5
  35. // #define GP_DEBUG_1_PIN LATEbits.LATE5
  36. // #define GP_DEBUG_2_PIN_DIR TRISEbits.TRISE6
  37. // #define GP_DEBUG_2_PIN LATEbits.LATE6
  38. // #define SD_CARD_DETECT_PIN_DIR TRISDbits.TRISD8
  39. // #define SD_CARD_DETECT_PIN LATDbits.LATD8
  40. //SPI port defs
  41. #define SPI_SDO_PIN_DIR TRISGbits.TRISG8
  42. #define SPI_SDI_PIN_DIR TRISGbits.TRISG7
  43. #define SPI_SCK_PIN_DIR TRISGbits.TRISG6
  44. //SD Card
  45. #define SD_SPI_SS_PIN_DIR TRISBbits.TRISB13
  46. #define SD_SPI_SS_PIN LATBbits.LATB13
  47. //SPI Flash
  48. #define FLASH_SS_PIN_DIR TRISEbits.TRISE3
  49. #define FLASH_SS_PIN LATEbits.LATE3
  50. //Wifi (WINC3400 module)
  51. #define WIFI_SPI_SS_PIN_DIR TRISEbits.TRISE0
  52. #define WIFI_SPI_SS_PIN LATEbits.LATE0
  53. #define WIFI_IRQ_PIN_DIR TRISDbits.TRISD0
  54. #define WIFI_IRQ_PIN PORTDbits.RD0
  55. // #define WIFI_SPI_CFG_PIN_DIR TRISEbits.TRISE1
  56. // #define WIFI_SPI_CFG_PIN LATEbits.LATE1
  57. #define WIFI_CHP_EN_PIN_DIR TRISEbits.TRISE2
  58. #define WIFI_CHP_EN_PIN LATEbits.LATE2
  59. #define WIFI_CHP_RST_PIN_DIR TRISEbits.TRISE4
  60. #define WIFI_CHP_RST_PIN LATEbits.LATE4
  61. #define ONBOARD_LED1_PIN_DIR TRISGbits.TRISG9
  62. #define ONBOARD_LED1_PIN LATGbits.LATG9
  63. #define ONBOARD_LED2_PIN_DIR TRISDbits.TRISD3
  64. #define ONBOARD_LED2_PIN LATDbits.LATD3
  65. #define ONBOARD_LED3_PIN_DIR TRISFbits.TRISF0
  66. #define ONBOARD_LED3_PIN LATFbits.LATF0
  67. #define ONBOARD_LED7_PIN_DIR TRISBbits.TRISB14
  68. #define ONBOARD_LED7_PIN LATBbits.LATB14
  69. #define PUSH_BUTTON_LED1_PIN_DIR TRISBbits.TRISB8
  70. #define PUSH_BUTTON_LED1_PIN LATBbits.LATB8
  71. #define PUSH_BUTTON_LED2_PIN_DIR TRISBbits.TRISB9
  72. #define PUSH_BUTTON_LED2_PIN LATBbits.LATB9
  73. #define PUSH_BUTTON_LED3_PIN_DIR TRISBbits.TRISB10
  74. #define PUSH_BUTTON_LED3_PIN LATBbits.LATB10
  75. #define PUSH_BUTTON_LED4_PIN_DIR TRISBbits.TRISB11
  76. #define PUSH_BUTTON_LED4_PIN LATBbits.LATB11
  77. #define PUSH_BUTTON_LED5_PIN_DIR TRISBbits.TRISB12
  78. #define PUSH_BUTTON_LED5_PIN LATBbits.LATB12
  79. #define PUSH_BUTTON_LED6_PIN_DIR TRISBbits.TRISB13
  80. #define PUSH_BUTTON_LED6_PIN LATBbits.LATB13
  81. #define PUSH_BUTTON_LED7_PIN_DIR TRISBbits.TRISB1
  82. #define PUSH_BUTTON_LED7_PIN LATBbits.LATB1
  83. #define PUSH_BUTTON_INPUT1_PIN_DIR TRISDbits.TRISD4
  84. #define PUSH_BUTTON_INPUT1_PIN PORTDbits.RD4
  85. #define PUSH_BUTTON_INPUT2_PIN_DIR TRISDbits.TRISD5
  86. #define PUSH_BUTTON_INPUT2_PIN PORTDbits.RD5
  87. #define PUSH_BUTTON_INPUT3_PIN_DIR TRISDbits.TRISD6
  88. #define PUSH_BUTTON_INPUT3_PIN PORTDbits.RD6
  89. #define PUSH_BUTTON_INPUT4_PIN_DIR TRISDbits.TRISD7
  90. #define PUSH_BUTTON_INPUT4_PIN PORTDbits.RD7
  91. #define PUSH_BUTTON_INPUT5_PIN_DIR TRISCbits.TRISC13
  92. #define PUSH_BUTTON_INPUT5_PIN PORTCbits.RC13
  93. #define PUSH_BUTTON_INPUT6_PIN_DIR TRISCbits.TRISC14
  94. #define PUSH_BUTTON_INPUT6_PIN PORTCbits.RC14
  95. #define PUSH_BUTTON_INPUT7_PIN_DIR TRISBbits.TRISB15
  96. #define PUSH_BUTTON_INPUT7_PIN PORTBbits.RB15
  97. #define VU1_DAC_SYNC_PIN_DIR TRISFbits.TRISF1
  98. #define VU1_DAC_SYNC_PIN LATFbits.LATF1
  99. #define VU1_BACKLIGHT_PIN_DIR TRISDbits.TRISD2
  100. #define VU1_BACKLIGHT_PIN LATDbits.LATD2
  101. #define VU1_ANALOG_FEEDBACK_PIN_DIR TRISBbits.TRISB0
  102. #define VU2_DAC_SYNC_PIN_DIR TRISEbits.TRISE7
  103. #define VU2_DAC_SYNC_PIN LATEbits.LATE7
  104. #define VU2_BACKLIGHT_PIN_DIR TRISDbits.TRISD1
  105. #define VU2_BACKLIGHT_PIN LATDbits.LATD1
  106. #define VU2_ANALOG_FEEDBACK_PIN_DIR TRISBbits.TRISB2
  107. #define BUREAU_VOL_POT_CW_PIN_DIR TRISDbits.TRISD9
  108. #define BUREAU_VOL_POT_CW_PIN PORTDbits.RD9 //INT2
  109. #define BUREAU_VOL_POT_CCW_PIN_DIR TRISDbits.TRISD8
  110. #define BUREAU_VOL_POT_CCW_PIN PORTDbits.RD8 //INT1
  111. #define CUISINE_VOL_POT_CW_PIN_DIR TRISDbits.TRISD11
  112. #define CUISINE_VOL_POT_CW_PIN PORTDbits.RD11 //INT4
  113. #define CUISINE_VOL_POT_CCW_PIN_DIR TRISDbits.TRISD10
  114. #define CUISINE_VOL_POT_CCW_PIN PORTDbits.RD10 //INT3
  115. /* ************************************************************************** */
  116. /* Prototypes */
  117. void InitDigitalIO(void);
  118. #ifdef __cplusplus
  119. }
  120. #endif
  121. #endif /* DIGITALIO_PINGUINO_H */