Browse Source

[BSP][K210]add io config print

ZYH 6 years ago
parent
commit
12ec9db198
1 changed files with 38 additions and 20 deletions
  1. 38 20
      bsp/k210/driver/drv_io_config.c

+ 38 - 20
bsp/k210/driver/drv_io_config.c

@@ -15,53 +15,71 @@
 
 #define HS_GPIO(n) (FUNC_GPIOHS0 + n)
 
+#define IOCONFIG(pin,func)  {pin, func, #func}
+
 static struct io_config
 {
     int io_num;
     fpioa_function_t func;
+    const char * func_name;
 } io_config[] = 
 {
 #ifdef BSP_USING_LCD
-    {BSP_LCD_CS_PIN, FUNC_SPI0_SS0},                 /* LCD CS PIN */
-    {BSP_LCD_WR_PIN, FUNC_SPI0_SCLK},                /* LCD WR PIN */
-    {BSP_LCD_DC_PIN, HS_GPIO(LCD_DC_PIN)},     /* LCD DC PIN */
+    IOCONFIG(BSP_LCD_CS_PIN, FUNC_SPI0_SS0),                 /* LCD CS PIN */
+    IOCONFIG(BSP_LCD_WR_PIN, FUNC_SPI0_SCLK),                /* LCD WR PIN */
+    IOCONFIG(BSP_LCD_DC_PIN, HS_GPIO(LCD_DC_PIN)),     /* LCD DC PIN */
 #endif
 
 #ifdef BSP_USING_CAMERA
-    {BSP_CAMERA_SCCB_SDA_PIN, FUNC_SCCB_SDA},
-    {BSP_CAMERA_SCCB_SCLK_PIN, FUNC_SCCB_SCLK},
-    {BSP_CAMERA_CMOS_RST_PIN, FUNC_CMOS_RST},
-    {BSP_CAMERA_CMOS_VSYNC_PIN, FUNC_CMOS_VSYNC},
-    {BSP_CAMERA_CMOS_PWDN_PIN, FUNC_CMOS_PWDN},
-    {BSP_CAMERA_CMOS_XCLK_PIN, FUNC_CMOS_XCLK},
-    {BSP_CAMERA_CMOS_PCLK_PIN, FUNC_CMOS_PCLK},
-    {BSP_CAMERA_CMOS_HREF_PIN, FUNC_CMOS_HREF},
+    IOCONFIG(BSP_CAMERA_SCCB_SDA_PIN, FUNC_SCCB_SDA),
+    IOCONFIG(BSP_CAMERA_SCCB_SCLK_PIN, FUNC_SCCB_SCLK),
+    IOCONFIG(BSP_CAMERA_CMOS_RST_PIN, FUNC_CMOS_RST),
+    IOCONFIG(BSP_CAMERA_CMOS_VSYNC_PIN, FUNC_CMOS_VSYNC),
+    IOCONFIG(BSP_CAMERA_CMOS_PWDN_PIN, FUNC_CMOS_PWDN),
+    IOCONFIG(BSP_CAMERA_CMOS_XCLK_PIN, FUNC_CMOS_XCLK),
+    IOCONFIG(BSP_CAMERA_CMOS_PCLK_PIN, FUNC_CMOS_PCLK),
+    IOCONFIG(BSP_CAMERA_CMOS_HREF_PIN, FUNC_CMOS_HREF),
 #endif
 
 #ifdef BSP_USING_SPI1
-    {BSP_SPI1_CLK_PIN, FUNC_SPI1_SCLK},
-    {BSP_SPI1_D0_PIN, FUNC_SPI1_D0},
-    {BSP_SPI1_D1_PIN, FUNC_SPI1_D1},
+    IOCONFIG(BSP_SPI1_CLK_PIN, FUNC_SPI1_SCLK),
+    IOCONFIG(BSP_SPI1_D0_PIN, FUNC_SPI1_D0),
+    IOCONFIG(BSP_SPI1_D1_PIN, FUNC_SPI1_D1),
 #ifdef BSP_USING_SPI1_AS_QSPI
-    {BSP_SPI1_D2_PIN, FUNC_SPI1_D2},
-    {BSP_SPI1_D3_PIN, FUNC_SPI1_D3},
+    IOCONFIG(BSP_SPI1_D2_PIN, FUNC_SPI1_D2),
+    IOCONFIG(BSP_SPI1_D3_PIN, FUNC_SPI1_D3),
 #endif
 #ifdef BSP_SPI1_USING_SS0
-    {BSP_SPI1_SS0_PIN, HS_GPIO(SPI1_CS0_PIN)},
+    IOCONFIG(BSP_SPI1_SS0_PIN, HS_GPIO(SPI1_CS0_PIN)),
 #endif
 #ifdef BSP_SPI1_USING_SS1
-    {BSP_SPI1_SS1_PIN, HS_GPIO(SPI1_CS1_PIN)},
+    IOCONFIG(BSP_SPI1_SS1_PIN, HS_GPIO(SPI1_CS1_PIN)),
 #endif
 #ifdef BSP_SPI1_USING_SS2
-    {BSP_SPI1_SS2_PIN, HS_GPIO(SPI1_CS2_PIN)},
+    IOCONFIG(BSP_SPI1_SS2_PIN, HS_GPIO(SPI1_CS2_PIN)),
 #endif
 #ifdef BSP_SPI1_USING_SS3
-    {BSP_SPI1_SS3_PIN, HS_GPIO(SPI1_CS3_PIN)},
+    IOCONFIG(BSP_SPI1_SS3_PIN, HS_GPIO(SPI1_CS3_PIN)),
 #endif
 #endif
 
 };
 
+static int print_io_config()
+{
+    int i;
+    rt_kprintf("IO Configuration Table\n");
+    rt_kprintf("┌───────┬────────────────────────┐\n");
+    rt_kprintf("│Pin    │Function                │\n");
+    rt_kprintf("├───────┼────────────────────────┤\n");
+    for(i = 0; i < sizeof io_config / sizeof io_config[0]; i++)
+    {
+        rt_kprintf("│%-2d     │%-24.24s│\n", io_config[i].io_num, io_config[i].func_name);
+    }
+    rt_kprintf("└───────┴────────────────────────┘\n");
+    return 0;
+}
+MSH_CMD_EXPORT_ALIAS(print_io_config, io, print io config);
 
 int io_config_init(void)
 {