//
//
//   GPIO numbers
//   
//   Assign symbolic names to GPIO numbers to improve portability
//

#ifdef ESP32_WROVER

#define TESTPIN  GPIO_NUM_0
#define LEDPIN   GPIO_NUM_0

// common
#define SD_CLK
#define SD_CMD
#define SD_DAT0
#define SD_DAT1  GPIO_NUM_4
#define SD_DAT2  GPIO_NUM_12
#define SD_DAT3  GPIO_NUM_13
#define DAC_MOSI GPIO_NUM_23
#define DAC_CLK  GPIO_NUM_18
#define DAC_CS   GPIO_NUM_5
#define RX_SDA   GPIO_NUM_21
#define TX_SCL   GPIO_NUM_22

#endif


#ifdef ESP32_S3

#define TESTPIN     GPIO_NUM_0
#define SELFTEST    GPIO_NUM_2
#define LEDPIN      GPIO_NUM_38
#define DIP_DSA     GPIO_NUM_43
#define DIP_DSB     GPIO_NUM_44
#define DIP_DSC     GPIO_NUM_1

// common
#define SD_CLK      GPIO_NUM_41
#define SD_CMD      GPIO_NUM_42
#define SD_DAT0     GPIO_NUM_11
#define SD_DAT1     GPIO_NUM_12
#define SD_DAT2     GPIO_NUM_13
#define SD_DAT3     GPIO_NUM_14
#define DAC_MOSI    GPIO_NUM_21
#define DAC_CLK     GPIO_NUM_47
#define DAC_CS      GPIO_NUM_48
#define RX_SDA      GPIO_NUM_40
#define TX_SCL      GPIO_NUM_39

// Zaccaria Gen 2
#define HS0         GPIO_NUM_5
#define HS1         GPIO_NUM_6
#define HS2         GPIO_NUM_7
#define HS3         GPIO_NUM_15
#define HS4         GPIO_NUM_16
#define HS5         GPIO_NUM_17
#define HS6         GPIO_NUM_18
#define HS7         GPIO_NUM_8
#define ACTSND      GPIO_NUM_9
#define ACTSPK      GPIO_NUM_10
#define RUN         GPIO_NUM_43
#define RESET       GPIO_NUM_4

// Williams System 11
#define BW11_PB7    GPIO_NUM_8
#define BW11_PB6    GPIO_NUM_18
#define BW11_PB5    GPIO_NUM_17
#define BW11_PB4    GPIO_NUM_16
#define BW11_PB3    GPIO_NUM_15
#define BW11_PB2    GPIO_NUM_7
#define BW11_PB1    GPIO_NUM_6
#define BW11_PB0    GPIO_NUM_5
#define BW11_CB1    GPIO_NUM_9
#define BW11_CB2    GPIO_NUM_10
#define BW11_RES    GPIO_NUM_4
#define BW11_PB0_T  GPIO_NUM_43
#define BW11_PB1_T  GPIO_NUM_44
#define BW11_PB2_T  GPIO_NUM_1
#define BW11_VOL    GPIO_NUM_40

#endif

