#ifndef USR_CONFIG_H
#define USR_CONFIG_H
// <<< Use Configuration Wizard in Context Menu >>>\n
#define SHOES_NAME "SMART SHOE"
#define SHOES_NAME_LEN 64
#define HARDWARE_VERSION 0x0001
#define SOFTWARE_VERSION 0x0001
// 公共
// 系统设置
// WATCHDOG_ENANBLE - 开门狗使能
#ifndef WATCHDOG_ENANBLE
#define WATCHDOG_ENANBLE 1
#endif
// BLE_DFU_ENANBLE - 空中升级DFU使能
#ifndef BLE_DFU_ENANBLE
#define BLE_DFU_ENANBLE 0
#endif
// BATTERY - 电池容量选择
// <0=> 300ma/H
// <1=> 400ma/H
// <2=> 500ma/H
#ifndef BATTERY_CAPACITY
#define BATTERY_CAPACITY 2
#endif
// TX_DBM - 发射功率
// <0=> 0db
// <4=> 4db
#ifndef TX_DBM
#define TX_DBM 4
#endif
// INIT_MODE - 初始模式
// <1=> 待机模式(不穿鞋)
// <2=> 正常模式(穿鞋)
#ifndef INIT_MODE
#define INIT_MODE 1
#endif
// UART_HZ - 串口频率
#ifndef UART_HZ
#define UART_HZ 250000
#endif
// WDT_RELOAD_VALUE - 看门狗重载入值,单位ms
#ifndef WDT_RELOAD_VALUE
#define WDT_RELOAD_VALUE 10000
#endif
// LOSSPACK_ENANBLE - 丢包检测功能使能
#ifndef LOSSPACK_ENANBLE
#define LOSSPACK_ENANBLE 1
#endif
// BLUE_LED_TEST_ENANBLE - 蓝色测试灯,正式版本不可以用
#ifndef BLUE_LED_TEST_ENANBLE
#define BLUE_LED_TEST_ENANBLE 0
#endif
// BleNameHoldOn_ENANBLE - 蓝牙名字固定使能
#ifndef BleNameHoldOn_ENANBLE
#define BleNameHoldOn_ENANBLE 1
#endif
#if BleNameHoldOn_ENANBLE
// LEFT_NAME - 左鞋广播名称
#define LEFT_NAME "SH_SelfCheck"
// RIGHT_NAME - 右鞋广播前缀
#define RIGHT_NAME "L1_"LEFT_NAME
#define LAST_NAME "L0_"LEFT_NAME"_LAST"
#endif
//
// JS_RTT_DEBUG_EN - RTT波形显示
#ifndef JS_RTT_DEBUG_EN
#define JS_RTT_DEBUG_EN 0
#endif
//
// GAME_ENANBLE - 游戏模式使用
#ifndef GAME_ENANBLE
#define GAME_ENANBLE 0
#endif
#if GAME_ENANBLE && !BleNameHoldOn_ENANBLE
// LEFT_NAME - 左鞋广播名称
#define LEFT_NAME "SH_BSP_1_5"
// RIGHT_NAME - 右鞋广播前缀
#define RIGHT_NAME "L0_"LEFT_NAME
#define LAST_NAME "L0_"LEFT_NAME"_LAST"
#endif
//
// _IS_HOST - 主从选择
// <0=> 从机
// <1=> 主机
#ifndef _IS_HOST
#define _IS_HOST 1
#endif
// USEFIFO - 采用FIFO方式发送
#ifndef USEFIFO
#define USEFIFO 0
#endif
//
// DEBUG_EN - 调试信息
#ifndef DEBUG_EN
#define DEBUG_EN 1
#endif
#if DEBUG_EN
// DEBUG_LEDRUN - 运行灯
#ifndef DEBUG_LEDRUN
#define DEBUG_LEDRUN 0
#endif
// DEBUG_LEDRGB - RGB灯
#ifndef DEBUG_LEDRGB
#define DEBUG_LEDRGB 0
#endif
// DEBUG_FPS - 大循环fps
#ifndef DEBUG_FPS
#define DEBUG_FPS 0
#endif
// DEBUG_IMU - 调试信息:IMU
#ifndef DEBUG_IMU
#define DEBUG_IMU 0
#endif
// DEBUG_DFU_EN - 流程调试:DFU
#ifndef DEBUG_DFU_EN
#define DEBUG_DFU_EN 0
#endif
// DEBUG_STEP - 计步
#ifndef DEBUG_STEP
#define DEBUG_STEP 0
#endif
// DEBUG_BLE_Client - ble 从机
#ifndef DEBUG_BLE_Client
#define DEBUG_BLE_Client 0
#endif
// DEBUG_BLE_Host - ble 主机
#ifndef DEBUG_BLE_Host
#define DEBUG_BLE_Host 0
#endif
// DEBUG_UART0 - UART0
#ifndef DEBUG_UART0
#define DEBUG_UART0 0
#endif
// DEBUG_ERROR - 调试信息:DEBUG_ERROR
#ifndef DEBUG_ERROR
#define DEBUG_ERROR 0
#endif
#endif
//
// 传感器设置
// 气压计设置
// PRESS_SENSOR - 气压计选择
// <0=> MS5611
#ifndef PRESS_SENSOR
#define PRESS_SENSOR 0
#endif
// MS5611_ADDR - 气压计MS5611(H:0xEC L:0xEE)
// <0xEE=> 低电平
// <0xEC=> 高电平
#ifndef MS5611_ADDR
#define MS5611_ADDR 0xEC
#endif
//
//
// 线程管理
// sleep_cb_max - 休眠之前最多事件数
#ifndef sleep_cb_max
#define sleep_cb_max 5
#endif
// wakeup_cb_max - 唤醒最多事件数
#ifndef wakeup_cb_max
#define wakeup_cb_max 6
#endif
// process_max - 最多线程数
#ifndef process_max
#define process_max 48
#endif
// HeartTime_Interval - 心跳时间间隔,ms
#ifndef HeartTime_Interval
#define HeartTime_Interval 1
#endif
// LowPower_Interval - 低功耗时间间隔,ms
#ifndef LowPower_Interval
#define LowPower_Interval 100
#endif
// FullPower_Interval - 全功率时间间隔,ms
#ifndef FullPower_Interval
#define FullPower_Interval 10
#endif
// StandByPower_Interval - 待机功耗时间间隔,ms
#ifndef StandByPower_Interval
#define StandByPower_Interval 1000
#endif
// ProcessTime_EN - 线程时间显示
#ifndef ProcessTime_EN
#define ProcessTime_EN 0
#endif
#if ProcessTime_EN
// DisInterval - 线程时间显示间隔
#define DisInterval 0
#endif
//
//
// 优先级管理(协议使用:0,1,4,5,应用层不可使用。应用层使用:2,3,6)
// RTC2_IRQ_PRIORITY - RTC2优先级
#ifndef RTC2_IRQ_PRIORITY
#define RTC2_IRQ_PRIORITY 2
#endif
// UART0_IRQ_PRIORITY - UART优先级
#ifndef UART0_IRQ_PRIORITY
#define UART0_IRQ_PRIORITY 3
#endif
// SPI0_IRQ_PRIORITY - SPI0优先级
#ifndef SPI0_IRQ_PRIORITY
#define SPI0_IRQ_PRIORITY 6
#endif
// SPI1_IRQ_PRIORITY - SPI1优先级
#ifndef SPI1_IRQ_PRIORITY
#define SPI1_IRQ_PRIORITY 6
#endif
// SPI2_IRQ_PRIORITY - SPI2优先级
#ifndef SPI2_IRQ_PRIORITY
#define SPI2_IRQ_PRIORITY 6
#endif
// PWM0_IRQ_PRIORITY - PWM0优先级
#ifndef PWM0_IRQ_PRIORITY
#define PWM0_IRQ_PRIORITY 6
#endif
// ADC_IRQ_PRIORITY - ADC优先级
#ifndef ADC_IRQ_PRIORITY
#define ADC_IRQ_PRIORITY 6
#endif
// WDT_IRQ_PRIORITY - WDT优先级
#ifndef WDT_IRQ_PRIORITY
#define WDT_IRQ_PRIORITY 6
#endif
//
//
// PCB板选择
// PCB_VERSION - PCB板选择
// <0=> PCB_V1.9
// <1=> PCB_V2.0
// <2=> PCB_V2.1
#ifndef PCB_VERSION
#define PCB_VERSION 2
#endif
#if PCB_VERSION == 0
// PCB_R1.9
// PIN_LED_RUN - 运行灯
#ifndef PIN_LED_RUN
#define PIN_LED_RUN 17
#endif
// PIN_RESET_PIN - 硬件复位
#ifndef PIN_RESET_PIN
#define PIN_RESET_PIN 20
#endif
// PIN_MT_EN - 电机使能
#ifndef PIN_MT_EN
#define PIN_MT_EN 0
#endif
// PIN_TXD_BLE - 串口发送
#ifndef PIN_TXD_BLE
#define PIN_TXD_BLE 19
#endif
// PIN_RXD_BLE - 串口接收
#ifndef PIN_RXD_BLE
#define PIN_RXD_BLE 18
#endif
// PIN_UART0_UNUSED_PIN - 串口空闲脚,左右鞋TX脚不能同时设置,否者接收不了,用个不使用的引脚设置TX作为中转,只保留RX就能接收。
#ifndef PIN_UART0_UNUSED_PIN
#define PIN_UART0_UNUSED_PIN 10
#endif
// PIN_LED_ENABLE - LED_ENABLE引脚
#ifndef PIN_LED_ENABLE
#define PIN_LED_ENABLE 24
#endif
// PIN_LED_CONTROL - LED_CONTROL引脚
#ifndef PIN_LED_CONTROL
#define PIN_LED_CONTROL 23
#endif
// PIN_SEL - 左右鞋区分引脚
#ifndef PIN_SEL
#define PIN_SEL 16
#endif
// PIN_ADC_BAT_CHANNEL - 电池ADC输入通道
#ifndef PIN_ADC_BAT_CHANNEL
#define PIN_ADC_BAT_CHANNEL 6
#endif
// PIN_ADC_BAT_IN - 电池ADC输入引脚
#ifndef PIN_ADC_BAT_IN
#define PIN_ADC_BAT_IN 30
#endif
// PIN_FRONT_SENSE_POWER - FRONT_SENSE_POWER引脚
#ifndef PIN_FRONT_SENSE_POWER
#define PIN_FRONT_SENSE_POWER 1
#endif
// PIN_FRONT_SPI_MISO - FRONT_SPI_MISO引脚
#ifndef PIN_FRONT_SPI_MISO
#define PIN_FRONT_SPI_MISO 2
#endif
// PIN_FRONT_SPI_MOSI - FRONT_SPI_MOSI引脚
#ifndef PIN_FRONT_SPI_MOSI
#define PIN_FRONT_SPI_MOSI 3
#endif
// PIN_FRONT_SPI_SCLK - FRONT_SPI_SCLK引脚
#ifndef PIN_FRONT_SPI_SCLK
#define PIN_FRONT_SPI_SCLK 4
#endif
// PIN_FRONT_SPI_nCS - FRONT_SPI_nCS引脚
#ifndef PIN_FRONT_SPI_nCS
#define PIN_FRONT_SPI_nCS 5
#endif
// PIN_FLASH_SPI_MISO - FLASH_SPI_MISO引脚
#ifndef PIN_FLASH_SPI_MISO
#define PIN_FLASH_SPI_MISO 7
#endif
// PIN_FLASH_SPI_MOSI - FLASH_SPI_MOSI引脚
#ifndef PIN_FLASH_SPI_MOSI
#define PIN_FLASH_SPI_MOSI 6
#endif
// PIN_FLASH_SPI_SCLK - FLASH_SPI_SCLK引脚
#ifndef PIN_FLASH_SPI_SCLK
#define PIN_FLASH_SPI_SCLK 8
#endif
// PIN_FLASH_SPI_nCS - FLASH_SPI_nCS引脚
#ifndef PIN_FLASH_SPI_nCS
#define PIN_FLASH_SPI_nCS 9
#endif
// PIN_BACK_SENSE_POWER - BACK_SENSE_POWER引脚
#ifndef PIN_BACK_SENSE_POWER
#define PIN_BACK_SENSE_POWER 25
#endif
// PIN_BACK_SCL - BACK_SCL引脚
#ifndef PIN_BACK_SCL
#define PIN_BACK_SCL 26
#endif
// PIN_BACK_SDA - BACK_SDA引脚
#ifndef PIN_BACK_SDA
#define PIN_BACK_SDA 28
#endif
// PIN_CHARGMEASURE - 充电测量引脚
#ifndef PIN_ADC_CHARGMEASURE
#define PIN_ADC_CHARGMEASURE 29
#endif
// PIN_CHARGMEASURE - 充电测量引脚通道
#ifndef PIN_ADC_CHARGMEASURE_CHANNEL
#define PIN_ADC_CHARGMEASURE_CHANNEL 5
#endif
// PIN_CHARGING - 正在充电引脚
#ifndef PIN_CHARGING
#define PIN_CHARGING 31
#endif
// LED_SMALL_ENABLE - 小灯亮
#ifndef LED_SMALL_ENABLE
#define LED_SMALL_ENABLE 0
#endif
// LED_SMALL_DISABLE - 小灯灭
#ifndef LED_SMALL_DISABLE
#define LED_SMALL_DISABLE 1
#endif
//
#endif
#if PCB_VERSION == 1
// PCB_R2.0
// PIN_LED_RUN - 运行灯
#ifndef PIN_LED_RUN
#define PIN_LED_RUN 19
#endif
// PIN_RESET_PIN - 硬件复位
#ifndef PIN_RESET_PIN
#define PIN_RESET_PIN 20
#endif
// PIN_MT_EN - 电机使能
#ifndef PIN_MT_EN
#define PIN_MT_EN 10
#endif
// PIN_TXD_BLE - 串口发送
#ifndef PIN_TXD_BLE
#define PIN_TXD_BLE 26
#endif
// PIN_RXD_BLE - 串口接收
#ifndef PIN_RXD_BLE
#define PIN_RXD_BLE 26
#endif
// PIN_UART0_UNUSED_PIN - 串口空闲脚,左右鞋TX脚不能同时设置,否者接收不了,用个不使用的引脚设置TX作为中转,只保留RX就能接收。
#ifndef PIN_UART0_UNUSED_PIN
#define PIN_UART0_UNUSED_PIN 22
#endif
// PIN_LED_ENABLE - LED_ENABLE引脚
#ifndef PIN_LED_ENABLE
#define PIN_LED_ENABLE 27
#endif
// PIN_LED_CONTROL - LED_CONTROL引脚
#ifndef PIN_LED_CONTROL
#define PIN_LED_CONTROL 25
#endif
// PIN_SEL - 左右鞋区分引脚
#ifndef PIN_SEL
#define PIN_SEL 18
#endif
// PIN_ADC_BAT_CHANNEL - 电池ADC输入通道
#ifndef PIN_ADC_BAT_CHANNEL
#define PIN_ADC_BAT_CHANNEL 2
#endif
// PIN_ADC_BAT_IN - 电池ADC输入引脚
#ifndef PIN_ADC_BAT_IN
#define PIN_ADC_BAT_IN 4
#endif
// PIN_FRONT_SENSE_POWER - FRONT_SENSE_POWER引脚
#ifndef PIN_FRONT_SENSE_POWER
#define PIN_FRONT_SENSE_POWER 5
#endif
// PIN_FRONT_SPI_MISO - FRONT_SPI_MISO引脚
#ifndef PIN_FRONT_SPI_MISO
#define PIN_FRONT_SPI_MISO 6
#endif
// PIN_FRONT_SPI_MOSI - FRONT_SPI_MOSI引脚
#ifndef PIN_FRONT_SPI_MOSI
#define PIN_FRONT_SPI_MOSI 7
#endif
// PIN_FRONT_SPI_SCLK - FRONT_SPI_SCLK引脚
#ifndef PIN_FRONT_SPI_SCLK
#define PIN_FRONT_SPI_SCLK 8
#endif
// PIN_FRONT_SPI_nCS - FRONT_SPI_nCS引脚
#ifndef PIN_FRONT_SPI_nCS
#define PIN_FRONT_SPI_nCS 9
#endif
// PIN_FLASH_SPI_MISO - FLASH_SPI_MISO引脚
#ifndef PIN_FLASH_SPI_MISO
#define PIN_FLASH_SPI_MISO 11
#endif
// PIN_FLASH_SPI_MOSI - FLASH_SPI_MOSI引脚
#ifndef PIN_FLASH_SPI_MOSI
#define PIN_FLASH_SPI_MOSI 12
#endif
// PIN_FLASH_SPI_SCLK - FLASH_SPI_SCLK引脚
#ifndef PIN_FLASH_SPI_SCLK
#define PIN_FLASH_SPI_SCLK 13
#endif
// PIN_FLASH_SPI_nCS - FLASH_SPI_nCS引脚
#ifndef PIN_FLASH_SPI_nCS
#define PIN_FLASH_SPI_nCS 14
#endif
// PIN_BACK_SENSE_POWER - BACK_SENSE_POWER引脚
#ifndef PIN_BACK_SENSE_POWER
#define PIN_BACK_SENSE_POWER 0
#endif
// PIN_BACK_SCL - BACK_SCL引脚
#ifndef PIN_BACK_SCL
#define PIN_BACK_SCL 1
#endif
// PIN_BACK_SDA - BACK_SDA引脚
#ifndef PIN_BACK_SDA
#define PIN_BACK_SDA 2
#endif
// PIN_CHARGMEASURE - 充电测量引脚
#ifndef PIN_ADC_CHARGMEASURE
#define PIN_ADC_CHARGMEASURE 28
#endif
// PIN_CHARGMEASURE - 充电测量引脚通道
#ifndef PIN_ADC_CHARGMEASURE_CHANNEL
#define PIN_ADC_CHARGMEASURE_CHANNEL 4
#endif
// PIN_CHARGING - 正在充电引脚
#ifndef PIN_CHARGING
#define PIN_CHARGING 3
#endif
// LED_SMALL_ENABLE - 小灯亮
#ifndef LED_SMALL_ENABLE
#define LED_SMALL_ENABLE 1
#endif
// LED_SMALL_DISABLE - 小灯灭
#ifndef LED_SMALL_DISABLE
#define LED_SMALL_DISABLE 0
#endif
//
#endif
#if PCB_VERSION == 2
// PCB_R2.1
// PIN_LED_RUN - 运行灯
#ifndef PIN_LED_RUN
#define PIN_LED_RUN 17
#endif
// PIN_RESET_PIN - 硬件复位
#ifndef PIN_RESET_PIN
#define PIN_RESET_PIN 20
#endif
// PIN_MT_EN - 电机使能
#ifndef PIN_MT_EN
#define PIN_MT_EN 2
#endif
// PIN_TXD_BLE - 串口发送
#ifndef PIN_TXD_BLE
#define PIN_TXD_BLE 19
#endif
// PIN_RXD_BLE - 串口接收
#ifndef PIN_RXD_BLE
#define PIN_RXD_BLE 19
#endif
// PIN_UART0_UNUSED_PIN - 串口空闲脚,左右鞋TX脚不能同时设置,否者接收不了,用个不使用的引脚设置TX作为中转,只保留RX就能接收。
#ifndef PIN_UART0_UNUSED_PIN
#define PIN_UART0_UNUSED_PIN 22
#endif
// PIN_LED_ENABLE - LED_ENABLE引脚
#ifndef PIN_LED_ENABLE
#define PIN_LED_ENABLE 14
#endif
// PIN_LED_CONTROL - LED_CONTROL引脚
#ifndef PIN_LED_CONTROL
#define PIN_LED_CONTROL 18
#endif
// PIN_SEL - 左右鞋区分引脚
#ifndef PIN_SEL
#define PIN_SEL 16
#endif
// PIN_ADC_BAT_CHANNEL - 电池ADC输入通道
#ifndef PIN_ADC_BAT_CHANNEL
#define PIN_ADC_BAT_CHANNEL 7
#endif
// PIN_ADC_BAT_IN - 电池ADC输入引脚
#ifndef PIN_ADC_BAT_IN
#define PIN_ADC_BAT_IN 31
#endif
// PIN_FRONT_SENSE_POWER - FRONT_SENSE_POWER引脚
#ifndef PIN_FRONT_SENSE_POWER
#define PIN_FRONT_SENSE_POWER 5
#endif
// PIN_FRONT_SPI_MISO - FRONT_SPI_MISO引脚
#ifndef PIN_FRONT_SPI_MISO
#define PIN_FRONT_SPI_MISO 6
#endif
// PIN_FRONT_SPI_MOSI - FRONT_SPI_MOSI引脚
#ifndef PIN_FRONT_SPI_MOSI
#define PIN_FRONT_SPI_MOSI 7
#endif
// PIN_FRONT_SPI_SCLK - FRONT_SPI_SCLK引脚
#ifndef PIN_FRONT_SPI_SCLK
#define PIN_FRONT_SPI_SCLK 8
#endif
// PIN_FRONT_SPI_nCS - FRONT_SPI_nCS引脚
#ifndef PIN_FRONT_SPI_nCS
#define PIN_FRONT_SPI_nCS 9
#endif
// PIN_FLASH_SPI_MISO - FLASH_SPI_MISO引脚
#ifndef PIN_FLASH_SPI_MISO
#define PIN_FLASH_SPI_MISO 11
#endif
// PIN_FLASH_SPI_MOSI - FLASH_SPI_MOSI引脚
#ifndef PIN_FLASH_SPI_MOSI
#define PIN_FLASH_SPI_MOSI 12
#endif
// PIN_FLASH_SPI_SCLK - FLASH_SPI_SCLK引脚
#ifndef PIN_FLASH_SPI_SCLK
#define PIN_FLASH_SPI_SCLK 13
#endif
// PIN_FLASH_SPI_nCS - FLASH_SPI_nCS引脚
#ifndef PIN_FLASH_SPI_nCS
#define PIN_FLASH_SPI_nCS 14
#endif
// PIN_BACK_SENSE_POWER - BACK_SENSE_POWER引脚
#ifndef PIN_BACK_SENSE_POWER
#define PIN_BACK_SENSE_POWER 11
#endif
// PIN_BACK_SCL - BACK_SCL引脚
#ifndef PIN_BACK_SCL
#define PIN_BACK_SCL 12
#endif
// PIN_BACK_SDA - BACK_SDA引脚
#ifndef PIN_BACK_SDA
#define PIN_BACK_SDA 13
#endif
// PIN_CHARGMEASURE - 充电测量引脚
#ifndef PIN_ADC_CHARGMEASURE
#define PIN_ADC_CHARGMEASURE 28
#endif
// PIN_CHARGMEASURE - 充电测量引脚通道
#ifndef PIN_ADC_CHARGMEASURE_CHANNEL
#define PIN_ADC_CHARGMEASURE_CHANNEL 4
#endif
// PIN_CHARGING - 正在充电引脚
#ifndef PIN_CHARGING
#define PIN_CHARGING 25
#endif
// LED_SMALL_ENABLE - 小灯亮
#ifndef LED_SMALL_ENABLE
#define LED_SMALL_ENABLE 1
#endif
// LED_SMALL_DISABLE - 小灯灭
#ifndef LED_SMALL_DISABLE
#define LED_SMALL_DISABLE 0
#endif
//
#endif
//
// <<< end of configuration section >>>
#endif //SDK_CONFIG_H