Pārlūkot izejas kodu

GETINFO_FIRMWARE: Return MCU information

Keir Fraser 2 gadi atpakaļ
vecāks
revīzija
fd07efedcf

+ 3 - 0
inc/cdc_acm_protocol.h

@@ -160,6 +160,9 @@ struct packed gw_info {
     uint32_t sample_freq;
     uint8_t hw_model, hw_submodel;
     uint8_t usb_speed;
+    uint8_t mcu_id;
+    uint16_t mcu_mhz;
+    uint16_t mcu_sram_kb;
 };
 extern struct gw_info gw_info;
 

+ 4 - 1
src/mcu/at32f4/board.c

@@ -131,9 +131,12 @@ void identify_board_config(void)
     if (id >= ARRAY_SIZE(_board_config))
         early_fatal(2);
 
-    /* Single static config. */
     gw_info.hw_submodel = id;
     board_config = &_board_config[id];
+
+    gw_info.mcu_id = at32f4_series;
+    gw_info.mcu_mhz = SYSCLK_MHZ;
+    gw_info.mcu_sram_kb = sram_kb;
 }
 
 static void mcu_board_init(void)

+ 3 - 0
src/mcu/stm32f1/board.c

@@ -109,6 +109,9 @@ static void identify_board_config(void)
 
     gw_info.hw_submodel = id;
     board_config = &_board_config[id];
+
+    gw_info.mcu_mhz = SYSCLK_MHZ;
+    gw_info.mcu_sram_kb = sram_kb;
 }
 
 static void mcu_board_init(void)

+ 3 - 0
src/mcu/stm32f7/board.c

@@ -160,6 +160,9 @@ void identify_board_config(void)
 
     gw_info.hw_submodel = id;
     board_config = &_board_config[id];
+
+    gw_info.mcu_mhz = SYSCLK_MHZ;
+    gw_info.mcu_sram_kb = 256;
 }
 
 static void mcu_board_init(void)