@@ -17,7 +17,9 @@ enum TestTypes : uint8_t
17
17
TEST_PORTENTA_H7_SDCARD,
18
18
TEST_PORTENTA_H7_USB,
19
19
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
21
23
};
22
24
23
25
// !!! TEST CONFIGURATION !!! -->
@@ -45,11 +47,11 @@ void setup() {
45
47
int fileDescriptor = 0 ;
46
48
int retVal = -1 ;
47
49
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) )
49
51
{
50
52
deviceName = DEV_USB;
51
53
}
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) )
53
55
{
54
56
deviceName = DEV_SDCARD;
55
57
}
@@ -59,18 +61,23 @@ void setup() {
59
61
}
60
62
61
63
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 test 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
+ }
63
70
64
71
Serial.println (" Testing started, please wait..." );
65
72
Serial.println ();
66
73
67
- if (TEST_PORTENTA_MACHINE_CONTROL_SDCARD == selectedTest)
74
+ if (( TEST_PORTENTA_MACHINE_CONTROL_SDCARD == selectedTest) || (TEST_OPTA_SDCARD == selectedTest) )
68
75
{
69
- // Machine Control no SD Card supported test -->
76
+ // Machine Control and Opta no SD Card supported test -->
70
77
retVal = mount (DEV_SDCARD, FS_FAT, MNT_DEFAULT);
71
78
if ((-1 != retVal) || (ENOTBLK != errno))
72
79
{
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" );
74
81
}
75
82
else
76
83
{
@@ -80,7 +87,7 @@ void setup() {
80
87
(void ) umount (DEV_SDCARD);
81
88
for ( ; ; ) ; // Stop testing here
82
89
}
83
- // <-- Machine Control no SD Card supported test
90
+ // <-- Machine Control and Opta no SD Card supported test
84
91
}
85
92
86
93
// Register hotplug callback for SD Card test -->
@@ -110,7 +117,7 @@ void setup() {
110
117
// <-- Register nullptr callback test
111
118
}
112
119
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) )
114
121
{
115
122
// Register unsupported callback test -->
116
123
retVal = register_hotplug_callback (DEV_USB, usbCallback);
@@ -135,7 +142,7 @@ void setup() {
135
142
delay (500 );
136
143
}
137
144
}
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) )
139
146
{
140
147
// These boards don't support hotplug callbacks, so loop on mount() tries
141
148
while (0 != mount (DEV_USB, FS_FAT, MNT_DEFAULT)) {
@@ -457,6 +464,25 @@ void setup() {
457
464
Serial.println (" FAILURE: Finished with errors (see list above for details)" );
458
465
}
459
466
// <-- 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
+ // <--
460
486
}
461
487
462
488
void loop () {
0 commit comments