config_define.h 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381
  1. /*****************************************************************************
  2. * Module : Configs
  3. * File : config_define.h
  4. * Function : 定义用户参数常量
  5. *****************************************************************************/
  6. #ifndef CONFIG_DEFINE_H
  7. #define CONFIG_DEFINE_H
  8. /*****************************************************************************
  9. * Module : 显示相关配置选择列表
  10. *****************************************************************************/
  11. //显示驱动屏选择
  12. #define DISPLAY_NO 0 //无显示模块
  13. #define DISPLAY_LCDSEG 0x200 //选用断码屏做为显示驱动
  14. #define DISPLAY_LEDSEG 0x400 //选用数码管做为显示驱动
  15. #define GUI_NO DISPLAY_NO //无主题,无显示
  16. #define GUI_LCDSEG (DISPLAY_LCDSEG | 0x00) //断码屏默认主题
  17. #define GUI_LEDSEG_5C7S (DISPLAY_LEDSEG | 0x00) //5C7S 数码管
  18. #define GUI_LEDSEG_7P7S (DISPLAY_LEDSEG | 0x01) //7PIN 数码管 按COM方式扫描
  19. #define GUI_LEDSEG_3P7S (DISPLAY_LEDSEG | 0x02) //3PIN 7段数码管
  20. #define GUI_LEDSEG_6C6S (DISPLAY_LEDSEG | 0x04) //6C6S 6段数码管
  21. /*****************************************************************************
  22. * Module : FLASH大小定义
  23. *****************************************************************************/
  24. #define FSIZE_1M 0x100000
  25. #define FSIZE_2M 0x200000
  26. #define FSIZE_4M 0x400000
  27. #define FSIZE_512K 0x80000
  28. /*****************************************************************************
  29. * Module : FOTA升级方式选择列表
  30. *****************************************************************************/
  31. #define AB_FOT_TYPE_ADAPT 0 //支持压缩升级与非压缩升级,通过解析升级文件来自动识别
  32. #define AB_FOT_TYPE_PACK 1 //FOTA压缩升级(代码做压缩处理,升级完成需做解压才可正常运行)
  33. #define AB_FOT_TYPE_NORMAL 2 //FOTA非压缩升级(代码完全双备份,不做压缩处理,升级完成可直接运行)
  34. /*****************************************************************************
  35. * Module : 提示音语言配置选择列表
  36. *****************************************************************************/
  37. #define LANG_EN 0 //英文提示音
  38. #define LANG_ZH 1 //中文提示音
  39. #define LANG_EN_ZH 2 //英文、中文双语提示音
  40. /*****************************************************************************
  41. * Module : 提示音资源类型选择列表
  42. *****************************************************************************/
  43. #define RES_TYPE_INVALID 0 //非法提示音
  44. #define RES_TYPE_TONE 1 //PIANO音调,可叠加到music
  45. #define RES_TYPE_PIANO 2 //PIANO提示音,可叠加到music
  46. #define RES_TYPE_MP3 3 //MP3提示音,不能叠加
  47. #define RES_TYPE_WAV 4 //WAV提示音,可叠加到music
  48. #define RES_TYPE_ESBC 5 //ESBC提示音(暂不支持)
  49. #define RES_TYPE_WSBC 6 //WSBC提示音,可叠加到music
  50. /*****************************************************************************
  51. * Module : ADC通路选择列表
  52. *****************************************************************************/
  53. #define ADCCH_PA5 0 //SARADC channel 0
  54. #define ADCCH_PA6 1 //SARADC channel 1
  55. #define ADCCH_PA7 2 //SARADC channel 2
  56. #define ADCCH_PB1 3 //SARADC channel 3 WK2
  57. #define ADCCH_PB2 4 //SARADC channel 4 WK3
  58. #define ADCCH_PB3 5 //SARADC channel 5
  59. #define ADCCH_PB4 6 //SARADC channel 6
  60. #define ADCCH_PE5 7 //SARADC channel 7
  61. #define ADCCH_PE6 8 //SARADC channel 8
  62. #define ADCCH_PE7 9 //SARADC channel 9 ADS7844 ADC0
  63. #define ADCCH_PF0 10 //SARADC channel 10
  64. #define ADCCH_PB0 11 //SARADC channel 11
  65. #define ADCCH_WKO 12 //SARADC channel 12 WKO/PB5
  66. #define ADCCH_PF1 13 //SARADC channel 13
  67. #define ADCCH_VBAT 14 //SARADC channel 14
  68. #define ADCCH_VRTC 15 //SARADC channel 15
  69. #define ADCCH_TSENSOR 15 //SARADC channel 15
  70. #define ADCCH_BGOP 15 //SARADC channel 15
  71. #define ADCCH_VUSB 15 //SARADC channel 15
  72. /*****************************************************************************
  73. * Module : Timer3 Capture Mapping选择列表
  74. *****************************************************************************/
  75. #define TMR3MAP_PA7 (1 << 4) //G1 capture mapping: PA7
  76. #define TMR3MAP_PA8 (2 << 4) //G2 capture mapping: PA8
  77. #define TMR3MAP_PA10 (3 << 4) //G3 capture mapping: PA10
  78. #define TMR3MAP_PB2 (4 << 4) //G4 capture mapping: PB2
  79. #define TMR3MAP_PB6 (5 << 4) //G5 capture mapping: PB6
  80. #define TMR3MAP_PB7 (6 << 4) //G6 capture mapping: PB7
  81. #define TMR3MAP_PB13 (7 << 4) //G7 capture mapping: PB13
  82. #define TMR3MAP_PE4 (8 << 4) //G8 capture mapping: PE4
  83. #define TMR3MAP_PE10 (9 << 4) //G9 capture mapping: PE10
  84. #define TMR3MAP_PE13 (10 << 4) //G10 capture mapping: PE13
  85. /*****************************************************************************
  86. * Module : IRRX Mapping选择列表
  87. *****************************************************************************/
  88. #define IRMAP_PA7 (1 << 20) //G1 capture mapping: PA7
  89. #define IRMAP_PA8 (2 << 20) //G2 capture mapping: PA8
  90. #define IRMAP_PA10 (3 << 20) //G3 capture mapping: PA10
  91. #define IRMAP_PB2 (4 << 20) //G4 capture mapping: PB2
  92. #define IRMAP_PB6 (5 << 20) //G5 capture mapping: PB6
  93. #define IRMAP_PB7 (6 << 20) //G6 capture mapping: PB7
  94. #define IRMAP_PB13 (7 << 20) //G7 capture mapping: PB13
  95. #define IRMAP_PE4 (8 << 20) //G8 capture mapping: PE4
  96. #define IRMAP_PE10 (9 << 20) //G9 capture mapping: PE10
  97. #define IRMAP_PE13 (10 << 20) //G10 capture mapping: PE13
  98. /*****************************************************************************
  99. * Module : Clock output Mapping选择列表
  100. *****************************************************************************/
  101. #define CLKOMAP_PA5 (1 << 0) //G1 Clock output mapping: PA12
  102. #define CLKOMAP_PA6 (2 << 0) //G2 Clock output mapping: PA14
  103. #define CLKOMAP_PB0 (3 << 0) //G3 Clock output mapping: PB1
  104. #define CLKOMAP_PB1 (4 << 0) //G4 Clock output mapping: PB12
  105. #define CLKOMAP_PE5 (5 << 0) //G5 Clock output mapping: PB14
  106. #define CLKOMAP_PE6 (6 << 0) //G6 Clock output mapping: PE5
  107. #define CLKOMAP_PB4 (7 << 0) //G6 Clock output mapping: PE10
  108. /*****************************************************************************
  109. * Module : sd0 Mapping选择列表
  110. *****************************************************************************/
  111. #define SD0MAP_G1 (1 << 0) //G1 SDCMD(PA5), SDCLK(PA6), SDDAT0(PA7)
  112. #define SD0MAP_G2 (2 << 0) //G2 SDCMD(PB0), SDCLK(PB1), SDDAT0(PB2)
  113. #define SD0MAP_G3 (3 << 0) //G3 SDCMD(PE5), SDCLK(PE6), SDDAT0(PE7)
  114. #define SD0MAP_G4 (4 << 0) //G4 SDCMD(PA5), SDCLK(PA6), SDDAT0(PB4)
  115. #define SD0MAP_G5 (5 << 0) //G5 SDCMD(PA5), SDCLK(PA6), SDDAT0(PB3)
  116. #define SD0MAP_G6 (6 << 0) //G6 SDCMD(PB3), SDCLK(PA6), SDDAT0(PB4)
  117. #define SD0MAP_G7 (7 << 0) //G7 no use
  118. /*****************************************************************************
  119. * Module : spi1 Mapping选择列表 (FUNCMCON1)
  120. *****************************************************************************/
  121. #define SPI1MAP_G1 (1 << 12) //G1 SPI1CLK(PA3), SPI1DI(PA2), SPI1DO(PA4)
  122. #define SPI1MAP_G2 (2 << 12) //G2 SPI1CLK(PA6), SPI1DI(PA5), SPI1DO(PA7)
  123. #define SPI1MAP_G3 (3 << 12) //G3 SPI1CLK(PB1), SPI1DI(PB0), SPI1DO(PB2)
  124. #define SPI1MAP_G4 (4 << 12) //G4 SPI1CLK(PE6), SPI1DI(PE5), SPI1DO(PE7)
  125. #define SPI1MAP_G5 (5 << 12) //G5 SPI1CLK(PF1), SPI1DI(PF0), SPI1DO(PF2)
  126. #define SPI1MAP_G6 (6 << 12) //G6 SPI1CLK(PE3), SPI1DI(PE4), SPI1DO(PE2)
  127. /*****************************************************************************
  128. * Module : uart0 Mapping选择列表
  129. *****************************************************************************/
  130. #define UTX0MAP_PA7 (1 << 8) //G1 uart0 tx: PA7
  131. #define UTX0MAP_PB2 (2 << 8) //G2 uart0 tx: PB2
  132. #define UTX0MAP_PB3 (3 << 8) //G3 uart0 tx: PB3 //USBDP
  133. #define UTX0MAP_PE7 (4 << 8) //G4 uart0 tx: PE7
  134. #define UTX0MAP_PE0 (5 << 8) //G5 uart0 tx: PE0
  135. #define UTX0MAP_VUSB (6 << 8) //G6 uart0 tx: VUSB
  136. #define URX0MAP_PA6 (1 << 12) //G1 uart0 rx: PA6
  137. #define URX0MAP_PB1 (2 << 12) //G2 uart0 rx: PB1
  138. #define URX0MAP_PB4 (3 << 12) //G3 uart0 rx: PB4
  139. #define URX0MAP_PE6 (4 << 12) //G4 uart0 rx: PE6
  140. #define URX0MAP_TX (0xe << 12) //G7 uart0 map to TX pin by UT0TXMAP select(1线模式)
  141. /*****************************************************************************
  142. * Module : 录音文件类型列表
  143. *****************************************************************************/
  144. #define REC_NO 0
  145. #define REC_WAV 1 //PCM WAV
  146. #define REC_ADPCM 2 //ADPCM WAV
  147. #define REC_MP3 3
  148. #define REC_SBC 4
  149. /*****************************************************************************
  150. * Module : I2S0设备列表
  151. *****************************************************************************/
  152. #define I2S_DEV_NO 0
  153. #define I2S_DEV_TAS5711 1
  154. #define I2S_DEV_WM8978 2
  155. // G1 G2 G3 G4
  156. //DI : PB7 PE9 PB3 PB0
  157. //DO : PB2 PE13 PB2 PE13
  158. //BCLK: PB1 PE12 PB1 PE12
  159. //LRCLK: PB0 PE11 PB0 PE11
  160. //MCLK: PB6 PE10 PB4 PE2
  161. #define I2S_IO_G1 0
  162. #define I2S_IO_G2 1
  163. #define I2S_IO_G3 2
  164. #define I2S_IO_G4 3
  165. /*****************************************************************************
  166. * Module : SPDIF Channel列表
  167. *****************************************************************************/
  168. #define SPF_RX_PB6_CH0 0
  169. #define SPF_RX_PB7_CH1 1
  170. #define SPF_RX_PE3_CH2 2
  171. #define SPF_RX_PE4_CH3 3
  172. #define SPF_RX_PE7_CH4 4
  173. #define SPF_RX_PE8_CH4 5
  174. #define SPF_TX_PA10_CH0 0
  175. #define SPF_TX_PA11_CH1 1
  176. #define SPF_TX_PA12_CH2 2
  177. #define SPF_TX_PB12_CH3 3
  178. #define SPF_TX_PB13_CH4 4
  179. #define SPF_TX_PE0_CH4 5
  180. /*****************************************************************************
  181. * Module : DAC SELECT
  182. *****************************************************************************/
  183. #define DAC_MONO 0 //DAC单声道输出
  184. #define DAC_DUAL 1 //DAC双声道输出
  185. #define DAC_VCMBUF_MONO 2 //DAC VCMBUF单声道输出
  186. #define DAC_VCMBUF_DUAL 3 //DAC VCMBUF双声道输出
  187. #define DAC_DIFF_MONO 4 //DAC DIFF单声道
  188. #define DAC_DIFF_DUAL 5 //DAC DIFF双声道
  189. /*****************************************************************************
  190. * Module : DAC OUT Sample Rate
  191. *****************************************************************************/
  192. #define DAC_OUT_44K1 0 //dac out sample rate 44.1K
  193. #define DAC_OUT_48K 1 //dac out sample rate 48K
  194. #define DAC_OUT_88K2 2 //dac out sample rate 88.2k
  195. #define DAC_OUT_96K 3 //dac out sample rate 96k
  196. /*****************************************************************************
  197. * Module : DAC LDOH Select
  198. *****************************************************************************/
  199. #define AU_LDOH_2V4 0 //VDDAUD LDO voltage 2.4V
  200. #define AU_LDOH_2V5 1 //VDDAUD LDO voltage 2.5V
  201. #define AU_LDOH_2V7 2 //VDDAUD LDO voltage 2.7V
  202. #define AU_LDOH_2V9 3 //VDDAUD LDO voltage 2.9V
  203. #define AU_LDOH_3V1 4 //VDDAUD LDO voltage 3.1V
  204. #define AU_LDOH_3V2 5 //VDDAUD LDO voltage 3.2V
  205. /*****************************************************************************
  206. * Module : 外接收音时钟选择
  207. *****************************************************************************/
  208. #define FM_USE_CRYSTAL_32K 0 //32.768k独立晶振
  209. #define FM_USE_CRYSTAL_12M 1 //12M独立晶振
  210. #define FM_USE_IO_12MHZ_CLK 2 //IO输出12M时钟
  211. #define FM_SHARE_CRYSTAL_32KHz 3 //共用主按32K晶振,主控需要挂32K晶振
  212. /*****************************************************************************
  213. * Module : AUX or MIC Left&Right channel list
  214. * AUX: 可以任意左与右搭配,或只选择左,或只选择右
  215. *****************************************************************************/
  216. #define MIC0 0x01 //MIC0
  217. #define MIC1 0x02 //MIC1
  218. #define MIC2 0x03 //MIC2
  219. #define MIC3 0x04 //MIC3
  220. #define MIC4 0x05 //MIC4
  221. #define AUXL0 0x06 //PE6
  222. #define AUXR0 0x07 //PE7
  223. #define AUXL1 0x08 //PA6
  224. #define AUXR1 0x09 //PA7
  225. #define ADC0 0x01 //ADC0
  226. #define ADC1 0x02 //ADC1
  227. #define ADC2 0x03 //ADC2
  228. #define ADC3 0x04 //ADC3
  229. #define ADC4 0x05 //ADC4
  230. //ADC0 channel config
  231. #define CH_MIC0 (ADC0 << 4 | MIC0) //MIC0 -> ADC0
  232. //ADC1 channel config
  233. #define CH_MIC1 (ADC1 << 4 | MIC1) //MIC1 -> ADC1
  234. //ADC2 channel config
  235. #define CH_MIC2 (ADC2 << 4 | MIC2) //MIC2 -> ADC2
  236. //ADC3 channel config
  237. #define CH_MIC3 (ADC3 << 4 | MIC3) //MIC3 -> ADC3
  238. //ADC4 channel config
  239. #define CH_MIC4 (ADC4 << 4 | MIC4) //MIC4 -> ADC4
  240. //AUX - ADC SEL
  241. #define CH_AUXL0 (ADC4 << 4 | AUXL0) //PE6
  242. #define CH_AUXR0 (ADC3 << 4 | AUXR0) //PE7
  243. #define CH_AUXL1 (ADC4 << 4 | AUXL1) //PA6
  244. #define CH_AUXR1 (ADC3 << 4 | AUXR1) //PA7
  245. /*****************************************************************************
  246. * Module : AUX Analog gain level list, 与配置选项对应
  247. *****************************************************************************/
  248. #define AUX_P12DB 0 //AUX Analog +12DB
  249. #define AUX_P9DB 1 //AUX Analog +9DB
  250. #define AUX_P6DB 2 //AUX Analog +6DB
  251. #define AUX_P0DB 3 //AUX Analog 0DB
  252. #define AUX_N3DB 4 //AUX Analog -3DB
  253. #define AUX_N6DB 5 //AUX Analog -6DB
  254. #define AUX_N9DB 6 //AUX Analog -9DB
  255. #define AUX_N12DB 7 //AUX Analog -12DB
  256. /*****************************************************************************
  257. * Module : 电池低电电压列表
  258. *****************************************************************************/
  259. #define VBAT_2V8 0 //2.8v
  260. #define VBAT_2V9 1 //2.9v
  261. #define VBAT_3V0 2 //3.0v
  262. #define VBAT_3V1 3 //3.1v
  263. #define VBAT_3V2 4 //3.2v
  264. #define VBAT_3V3 5 //3.3v
  265. #define VBAT_3V4 6 //3.4v
  266. #define VBAT_3V5 7 //3.5v
  267. #define VBAT_3V6 8 //3.6v
  268. #define VBAT_3V7 9 //3.7v
  269. #define VBAT_3V8 10 //3.8v
  270. /*****************************************************************************
  271. * Module : uart0 printf IO列表
  272. *****************************************************************************/
  273. #define PRINTF_NONE 0 //关闭UART0打印信息
  274. #define PRINTF_PA7 1 //与SD0MAP_G1同一IO
  275. #define PRINTF_PB2 2 //与SD0MAP_G2同一IO
  276. #define PRINTF_PB3 3 //与USBDP, SD0MAP_G5, SD0MAP_G6同一IO
  277. #define PRINTF_PE7 4
  278. #define PRINTF_PE0 5
  279. #define PRINTF_VUSB 6
  280. /*****************************************************************************
  281. * Module : GPIO list
  282. *****************************************************************************/
  283. #define IO_NONE 0
  284. #define IO_PA4 5
  285. #define IO_PA5 6
  286. #define IO_PA6 7
  287. #define IO_PA7 8
  288. #define IO_PB0 9
  289. #define IO_PB1 10
  290. #define IO_PB2 11
  291. #define IO_PB3 12
  292. #define IO_PB4 13
  293. #define IO_PB5 14
  294. #define IO_PE0 17
  295. #define IO_PE4 21
  296. #define IO_PE5 22
  297. #define IO_PE6 23
  298. #define IO_PE7 24
  299. #define IO_PF0 25
  300. #define IO_PF1 26
  301. #define IO_MAX_NUM 27
  302. #define IO_MUX_SDCLK 56
  303. #define IO_MUX_SDCMD 57
  304. #define IO_MUX_PWRKEY 58
  305. #define IO_MUX_MICL 59
  306. /*****************************************************************************
  307. * Module : 串口通信类型选择
  308. *****************************************************************************/
  309. #define INTF_NONE 0
  310. #define INTF_UART1 1 //普通串口1
  311. #define INTF_HUART 2 //高速串口(DMA模式)
  312. #define INTF_UART2 3 //普通串口2
  313. /*****************************************************************************
  314. * Module : 充电仓类型选择
  315. *****************************************************************************/
  316. #define CBOX_NONE 0
  317. #define CBOX_NOR 1 //普通充电仓
  318. #define CBOX_SSW 2 //昇生微智能充电仓
  319. /*****************************************************************************
  320. * Module : I2C Mapping选择列表 FUNCMCON2[27:24]
  321. *****************************************************************************/
  322. #define I2CMAP_PA7PA6 (1 << 24) //G1 i2c clk: PA6 dat: PA7
  323. #define I2CMAP_PA5PA6 (2 << 24) //G2 i2c clk: PA6 dat: PA5
  324. #define I2CMAP_PB2PB1 (3 << 24) //G3 i2c clk: PB1 dat: PB2
  325. #define I2CMAP_PB0PB1 (4 << 24) //G4 i2c clk: PB1 dat: PB0
  326. #define I2CMAP_PE7PE6 (5 << 24) //G5 i2c clk: PE6 dat: PE7
  327. #define I2CMAP_PE5PE6 (6 << 24) //G6 i2c clk: PE6 dat: PE5
  328. #define I2CMAP_PB4PB3 (7 << 24) //G7 i2c clk: PB3 dat: PB4
  329. #define I2CMAP_PF1PF0 (8 << 24) //G8 i2c clk: PF0 dat: PF1
  330. #endif //CONFIG_DEFINE_H