@@ -56,6 +56,9 @@ uint8_t extLBTestCard(void)
56
56
case OPTOFST_SML_INVERTING_CARD:
57
57
return (testOptoFastSmallInverting ());
58
58
break ;
59
+ case OPTOFSTBI_CARD:
60
+ return (testOptoFastBi ());
61
+ break ;
59
62
case NEW_CARD:
60
63
Serial.println (F (" Not supported at present" ));
61
64
break ;
@@ -143,6 +146,43 @@ uint8_t testOptoFastSmallNonInverting(void)
143
146
return testResults;
144
147
}
145
148
149
+
150
+ // ////////////////////////////////////////////////////////////////////////////////////
151
+ // uint8_t testOptoFastBi(void)
152
+ // ////////////////////////////////////////////////////////////////////////////////////
153
+
154
+ uint8_t testOptoFastBi
155
+ (void )
156
+ {
157
+ uint8_t port;
158
+ uint8_t testResults = TEST_PASSED;
159
+ BluePillI2CMux.setI2CChannel (TEST_STN_INT_MUX_CH);
160
+ for (port = 0 ; port < 4 ; port++) // Set ports 0-3 to outputs
161
+ Dio32.pinMode (port, OUTPUT);
162
+ for (port = 8 ; port < 12 ; port++) // Set all inputs to Pullup
163
+ Dio32.pinMode (port, INPUT_PULLUP);
164
+ for (port = 0 ; port < 4 ; port++) // Set all inputs to Pullup
165
+ {
166
+ Dio32.digitalWrite (port, LOW);
167
+ if (Dio32.digitalRead (port + 8 ) != HIGH)
168
+ {
169
+ Serial.print (F (" Error on port " ));
170
+ Serial.print (port);
171
+ Serial.println (F (" Expected High" ));
172
+ testResults = TEST_FAILED;
173
+ }
174
+ Dio32.digitalWrite (port, HIGH);
175
+ if (Dio32.digitalRead (port + 8 ) != LOW)
176
+ {
177
+ Serial.print (F (" Error on port " ));
178
+ Serial.print (port);
179
+ Serial.println (F (" Expected Low" ));
180
+ testResults = TEST_FAILED;
181
+ }
182
+ }
183
+ return testResults;
184
+ }
185
+
146
186
// ////////////////////////////////////////////////////////////////////////////////////
147
187
// uint8_t testSwLedX8(void)
148
188
// ////////////////////////////////////////////////////////////////////////////////////
0 commit comments