@@ -17,7 +17,9 @@ enum TestTypes : uint8_t
1717 TEST_PORTENTA_H7_SDCARD,
1818 TEST_PORTENTA_H7_USB,
1919 TEST_PORTENTA_MACHINE_CONTROL_SDCARD,
20- TEST_PORTENTA_MACHINE_CONTROL_USB
20+ TEST_PORTENTA_MACHINE_CONTROL_USB,
21+ TEST_OPTA_SDCARD,
22+ TEST_OPTA_USB
2123};
2224
2325// !!! TEST CONFIGURATION !!! -->
@@ -45,11 +47,11 @@ void setup() {
4547 int fileDescriptor = 0 ;
4648 int retVal = -1 ;
4749
48- if ((TEST_PORTENTA_C33_USB == selectedTest) || (TEST_PORTENTA_H7_USB == selectedTest) || (TEST_PORTENTA_MACHINE_CONTROL_USB == selectedTest))
50+ if ((TEST_PORTENTA_C33_USB == selectedTest) || (TEST_PORTENTA_H7_USB == selectedTest) || (TEST_PORTENTA_MACHINE_CONTROL_USB == selectedTest) || (TEST_OPTA_USB == selectedTest) )
4951 {
5052 deviceName = DEV_USB;
5153 }
52- else if ((TEST_PORTENTA_C33_SDCARD == selectedTest) || (TEST_PORTENTA_H7_SDCARD == selectedTest) || (TEST_PORTENTA_MACHINE_CONTROL_SDCARD == selectedTest))
54+ else if ((TEST_PORTENTA_C33_SDCARD == selectedTest) || (TEST_PORTENTA_H7_SDCARD == selectedTest) || (TEST_PORTENTA_MACHINE_CONTROL_SDCARD == selectedTest) || (TEST_OPTA_SDCARD == selectedTest) )
5355 {
5456 deviceName = DEV_SDCARD;
5557 }
@@ -59,18 +61,23 @@ void setup() {
5961 }
6062
6163 Serial.begin (9600 );
62- while (!Serial) ; // Wait for the serial port to be ready
64+ // We can't have the Serial Monitor connected when we thest USB on the Opta, and this will cause
65+ // the test to freeze unless we skip it
66+ if (TEST_OPTA_USB != selectedTest)
67+ {
68+ while (!Serial) ; // Wait for the serial port to be ready
69+ }
6370
6471 Serial.println (" Testing started, please wait..." );
6572 Serial.println ();
6673
67- if (TEST_PORTENTA_MACHINE_CONTROL_SDCARD == selectedTest)
74+ if (( TEST_PORTENTA_MACHINE_CONTROL_SDCARD == selectedTest) || (TEST_OPTA_SDCARD == selectedTest) )
6875 {
69- // Machine Control no SD Card supported test -->
76+ // Machine Control and Opta no SD Card supported test -->
7077 retVal = mount (DEV_SDCARD, FS_FAT, MNT_DEFAULT);
7178 if ((-1 != retVal) || (ENOTBLK != errno))
7279 {
73- Serial.println (" [FAIL] Machine Control no SD Card supported test failed" );
80+ Serial.println (" [FAIL] Machine Control and Opta no SD Card supported test failed" );
7481 }
7582 else
7683 {
@@ -80,7 +87,7 @@ void setup() {
8087 (void ) umount (DEV_SDCARD);
8188 for ( ; ; ) ; // Stop testing here
8289 }
83- // <-- Machine Control no SD Card supported test
90+ // <-- Machine Control and Opta no SD Card supported test
8491 }
8592
8693 // Register hotplug callback for SD Card test -->
@@ -110,7 +117,7 @@ void setup() {
110117 // <-- Register nullptr callback test
111118 }
112119
113- if ((TEST_PORTENTA_H7_USB == selectedTest) || (TEST_PORTENTA_MACHINE_CONTROL_USB == selectedTest))
120+ if ((TEST_PORTENTA_H7_USB == selectedTest) || (TEST_PORTENTA_MACHINE_CONTROL_USB == selectedTest) || (TEST_OPTA_USB == selectedTest) )
114121 {
115122 // Register unsupported callback test -->
116123 retVal = register_hotplug_callback (DEV_USB, usbCallback);
@@ -135,7 +142,7 @@ void setup() {
135142 delay (500 );
136143 }
137144 }
138- else if ((TEST_PORTENTA_H7_USB == selectedTest) || (TEST_PORTENTA_MACHINE_CONTROL_USB == selectedTest))
145+ else if ((TEST_PORTENTA_H7_USB == selectedTest) || (TEST_PORTENTA_MACHINE_CONTROL_USB == selectedTest) || (TEST_OPTA_USB == selectedTest) )
139146 {
140147 // These boards don't support hotplug callbacks, so loop on mount() tries
141148 while (0 != mount (DEV_USB, FS_FAT, MNT_DEFAULT)) {
@@ -457,6 +464,25 @@ void setup() {
457464 Serial.println (" FAILURE: Finished with errors (see list above for details)" );
458465 }
459466 // <-- Final report
467+
468+ // Opta final report -->
469+ if (TEST_OPTA_USB == selectedTest)
470+ {
471+ (void ) mount (deviceName, FS_FAT, MNT_DEFAULT);
472+ FILE *logFile = fopen (" /usb/testlog.txt" , " w" );
473+ if (true == allTestsOk)
474+ {
475+ fprintf (logFile, " SUCCESS: Finished without errors" );
476+ fclose (logFile);
477+ }
478+ else
479+ {
480+ fprintf (logFile, " FAILURE: Finished with errors" );
481+ fclose (logFile);
482+ }
483+ (void ) umount (deviceName);
484+ }
485+ // <--
460486}
461487
462488void loop () {
0 commit comments