application: fix test action

This commit is contained in:
King Kévin 2020-01-05 17:33:14 +01:00
parent 9795aad753
commit 23b8e7cd15
1 changed files with 13 additions and 12 deletions

View File

@ -950,18 +950,19 @@ static void command_test(void* argument)
printf("all pins are floating\n\n");
// cables to test
const struct usb_cable_t test_cables[] = {
usb_cables[2], // A (host) - B 3.0 shielded cable
usb_cables[5], // A (device) - B 3.0 shielded cable
usb_cables[12], // A (host) - miniB 2.0 shielded cable
usb_cables[19], // A (host) - microB 3.0 shielded cable
usb_cables[23], // C (host) shunt
usb_cables[24], // C (device) shunt
const enum usb_cable_e test_cables[] = {
USB_CABLE_AB3_HOST,
USB_CABLE_AB3_DEVICE,
USB_CABLE_AAB2_HOST,
USB_CABLE_AUB3_HOST,
USB_CABLE_CSHUNT_HOST,
USB_CABLE_CSHUNT_DEVICE,
};
for (uint8_t cable = 0; cable < LENGTH(test_cables); cable++) {
printf("connect %s cable to connectors:\n", test_cables[cable].name);
for (uint8_t connector = 0; connector < test_cables[cable].connectors_nb; connector++) {
for (uint8_t cable_id = 0; cable_id < LENGTH(test_cables); cable_id++) {
const struct usb_cable_t* usb_cable = &usb_cables[cable_id];
printf("connect %s cable to connectors:\n", usb_cable->name);
for (uint8_t connector = 0; connector < usb_cable->connectors_nb; connector++) {
printf("- %s", usb_connectors[connector]->name);
if (usb_connectors[connector]->variant) {
printf(" (%s)", usb_connectors[connector]->variant);
@ -971,9 +972,9 @@ static void command_test(void* argument)
bool cable_ok = false; // if the cable is connected
while (!cable_ok) { // wait until all pin pairs of cable are connected
uint8_t defined, optional, undefined; // pair counting variables
cable_ok = usb_cables_test_cable(&test_cables[cable], &defined, &optional, &undefined, true); // test cable
cable_ok = usb_cables_test_cable(usb_cable, &defined, &optional, &undefined, true); // test cable
if (!cable_ok && defined > 0) { // not all pairs are connected
printf("connection issues: defined=%u/%u, optional=%u/%u, undefined=%u\n", defined, test_cables[cable].mandatory_pairs_nb, optional, test_cables[cable].optional_pairs_nb, undefined); // show issue summary
printf("connection issues: defined=%u/%u, optional=%u/%u, undefined=%u\n", defined, usb_cable->mandatory_pairs_nb, optional, usb_cable->optional_pairs_nb, undefined); // show issue summary
}
if (!cable_ok) {
if (user_input_available) { // user interruption