#ifndef _BOARD_CONFIG_H_
#define _BOARD_CONFIG_H_

// Movecall Moji configuration

#include <driver/gpio.h>

#define AUDIO_INPUT_SAMPLE_RATE  24000
#define AUDIO_OUTPUT_SAMPLE_RATE 24000

#define AUDIO_I2S_GPIO_MCLK GPIO_NUM_6
#define AUDIO_I2S_GPIO_WS GPIO_NUM_12
#define AUDIO_I2S_GPIO_BCLK GPIO_NUM_14
#define AUDIO_I2S_GPIO_DIN  GPIO_NUM_13
#define AUDIO_I2S_GPIO_DOUT GPIO_NUM_11

#define AUDIO_CODEC_PA_PIN       GPIO_NUM_9
#define AUDIO_CODEC_I2C_SDA_PIN  GPIO_NUM_5
#define AUDIO_CODEC_I2C_SCL_PIN  GPIO_NUM_4
#define AUDIO_CODEC_ES8311_ADDR  ES8311_CODEC_DEFAULT_ADDR

// QMI8658A姿态传感器配置 - 使用共享I2C引脚
#define IMU_SENSOR_I2C_SDA_PIN   AUDIO_CODEC_I2C_SDA_PIN
#define IMU_SENSOR_I2C_SCL_PIN   AUDIO_CODEC_I2C_SCL_PIN
#define QMI8658A_I2C_ADDR        0x6A

// LED控制引脚 - 使用qiyuan-tech的配置
#define BUILTIN_LED_GPIO        GPIO_NUM_33  // LED_CTRL
#define LED_CTRL_PIN           GPIO_NUM_33

// 按键配置
#define BOOT_BUTTON_GPIO        GPIO_NUM_0   // BOOT按键

// 四路动作按键 - 从qiyuan-tech添加
#define KEY1_GPIO              GPIO_NUM_46   // KEY1 - 音量加
#define KEY2_GPIO              GPIO_NUM_45   // KEY2 - 音量减  
#define KEY3_GPIO              GPIO_NUM_17   // KEY3 - 打断/唤醒 (原显示器MOSI引脚)
#define KEY4_GPIO              GPIO_NUM_18   // KEY4 - 播放故事（发送文本消息） (原显示器RESET引脚)

// 音量按键定义 - 标准宏定义
#define VOLUME_UP_BUTTON_GPIO   GPIO_NUM_46   // 音量加 - 映射到 KEY1
#define VOLUME_DOWN_BUTTON_GPIO GPIO_NUM_45   // 音量减 - 映射到 KEY2

// 六路触摸按键引出 - 从qiyuan-tech添加
#define TOUCH1_GPIO            GPIO_NUM_1    // Touch1
#define TOUCH2_GPIO            GPIO_NUM_2    // Touch2
#define TOUCH3_GPIO            GPIO_NUM_3    // Touch3 (原显示器背光引脚)
#define TOUCH4_GPIO            GPIO_NUM_7    // Touch4 (原显示器DC引脚)
#define TOUCH5_GPIO            GPIO_NUM_8    // Touch5 
#define TOUCH6_GPIO            GPIO_NUM_10   // Touch6

// USB接口 - 从qiyuan-tech添加
#define USB_DP_PIN             GPIO_NUM_20   // USB_P
#define USB_DN_PIN             GPIO_NUM_19   // USB_N

// 显示器功能已删除 - 设为无效值
#define DISPLAY_WIDTH   0
#define DISPLAY_HEIGHT  0
#define DISPLAY_MIRROR_X false
#define DISPLAY_MIRROR_Y false
#define DISPLAY_SWAP_XY false
#define DISPLAY_OFFSET_X  0
#define DISPLAY_OFFSET_Y  0

// 显示相关引脚设为无效
#define DISPLAY_BACKLIGHT_PIN    GPIO_NUM_NC
#define DISPLAY_BACKLIGHT_OUTPUT_INVERT false
#define DISPLAY_SPI_SCLK_PIN     GPIO_NUM_NC
#define DISPLAY_SPI_MOSI_PIN     GPIO_NUM_NC
#define DISPLAY_SPI_CS_PIN       GPIO_NUM_NC
#define DISPLAY_SPI_DC_PIN       GPIO_NUM_NC
#define DISPLAY_SPI_RESET_PIN    GPIO_NUM_NC
#define DISPLAY_SPI_SCLK_HZ      0

#endif // _BOARD_CONFIG_H_
