Skip to content

Commit 37cf8b1

Browse files
authored
Merge pull request arduino#67 from arduino/bootloader-info-ux
Provide better info about the bootloader data
2 parents 8564c3a + 091f7ce commit 37cf8b1

File tree

1 file changed

+35
-10
lines changed

1 file changed

+35
-10
lines changed

libraries/Portenta_System/examples/PortentaH7_getBootloaderInfo/PortentaH7_getBootloaderInfo.ino

+35-10
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,41 @@ void setup() {
44
Serial.begin(115200);
55
while (!Serial) {}
66

7-
Serial.println("Validation: " + String(bootloader_data[0], HEX));
8-
Serial.println("BL version: " + String(bootloader_data[1]));
9-
Serial.println("Clock source: " + String(bootloader_data[2]));
10-
Serial.println("USB Speed: " + String(bootloader_data[3]));
11-
Serial.println("Ethernet: " + String(bootloader_data[4]));
12-
Serial.println("Wifi: " + String(bootloader_data[5]));
13-
Serial.println("RAM size: " + String(bootloader_data[6]));
14-
Serial.println("QSPI size: " + String(bootloader_data[7]));
15-
Serial.println("Video: " + String(bootloader_data[8]));
16-
Serial.println("Crypto: " + String(bootloader_data[9]));
7+
Serial.println("Magic Number (validation): " + String(bootloader_data[0], HEX));
8+
Serial.println("Bootloader version: " + String(bootloader_data[1]));
9+
Serial.println("Clock source: " + getClockSource(bootloader_data[2]));
10+
Serial.println("USB Speed: " + getUSBSpeed(bootloader_data[3]));
11+
Serial.println("Has Ethernet: " + String(bootloader_data[4] == 1 ? "Yes" : "No"));
12+
Serial.println("Has WiFi module: " + String(bootloader_data[5] == 1 ? "Yes" : "No"));
13+
Serial.println("RAM size: " + String(bootloader_data[6]) + " MB");
14+
Serial.println("QSPI size: " + String(bootloader_data[7]) + " MB");
15+
Serial.println("Has Video output: " + String(bootloader_data[8] == 1 ? "Yes" : "No"));
16+
Serial.println("Has Crypto chip: " + String(bootloader_data[9] == 1 ? "Yes" : "No"));
17+
}
18+
19+
String getUSBSpeed(uint8_t flag) {
20+
switch (flag){
21+
case 1:
22+
return "USB 2.0/Hi-Speed (480 Mbps)";
23+
case 2:
24+
return "USB 1.1/Full-Speed (12 Mbps)";
25+
default:
26+
return "N/A";
27+
}
28+
}
29+
30+
String getClockSource(uint8_t flag) {
31+
switch (flag){
32+
case 0x8:
33+
return "External clock (ST Link MCO)";
34+
case 0x4:
35+
return "External xtal (X3 on board - not provided by default)";
36+
case 0x2:
37+
return "HSI internal clock";
38+
default:
39+
return "N/A";
40+
}
41+
1742
}
1843

1944
void loop() {

0 commit comments

Comments
 (0)