usb_cables: connectors have a variant instead of host property
This commit is contained in:
parent
3cb4b3689e
commit
fca92ed6c6
|
@ -210,7 +210,11 @@ static void command_find(void* argument)
|
|||
printf("connectors:\n");
|
||||
for (uint8_t i = 0; i < LENGTH(connected); i++) {
|
||||
if (connected[i]) {
|
||||
printf("- %s (%s)\n", usb_connectors[i]->name, usb_connectors[i]->host ? "host" : "device");
|
||||
printf("- %s", usb_connectors[i]->name);
|
||||
if (usb_connectors[i]->variant) {
|
||||
printf(" (%s)", usb_connectors[i]->variant);
|
||||
}
|
||||
putc('\n');
|
||||
connected_nb++;
|
||||
}
|
||||
}
|
||||
|
@ -369,7 +373,11 @@ static void command_pin(void* argument)
|
|||
for (uint8_t connector = 0; connector < LENGTH(usb_connectors); connector++) { // test every connector
|
||||
bool connector_print = (!pin_str || (pin_str && pin_nb >= pin_i && pin_nb < pin_i + usb_connectors[connector]->pins_nb)); // if a pin information will be printed for this connector
|
||||
if (connector_print) {
|
||||
printf("%s (%s):\n", usb_connectors[connector]->name, usb_connectors[connector]->host ? "host" : "device"); // print connector name
|
||||
printf("%s", usb_connectors[connector]->name);
|
||||
if (usb_connectors[connector]->variant) {
|
||||
printf(" (%s)", usb_connectors[connector]->variant);
|
||||
}
|
||||
printf(":\n");
|
||||
}
|
||||
for (uint8_t pin = 0; pin < usb_connectors[connector]->pins_nb; pin++) { // test every pin
|
||||
const struct usb_pin_t* usb_pin = &usb_pins[usb_connectors[connector]->pins[pin]]; // get pin
|
||||
|
@ -441,7 +449,11 @@ static void command_test(void* argument)
|
|||
gpio_set_mode(usb_pin->port, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, usb_pin->pin); // put back to floating
|
||||
if (high && low) { // pull up and down worked
|
||||
} else { // pull up or down did not work
|
||||
printf("%s (%s) %s is not floating\n", usb_connectors[connector]->name, usb_connectors[connector]->host ? "host" : "device", usb_pin->name); // print erroneous pin
|
||||
printf("%s ", usb_connectors[connector]->name);
|
||||
if (usb_connectors[connector]->variant) {
|
||||
printf("(%s) ", usb_connectors[connector]->variant);
|
||||
}
|
||||
printf("%s is not floating\n", usb_pin->name); // print erroneous pin
|
||||
float_errors = true; // remember there is an error
|
||||
}
|
||||
} // pin
|
||||
|
@ -471,7 +483,11 @@ static void command_test(void* argument)
|
|||
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++) {
|
||||
printf("- %s (%s)\n", test_cables[cable].connectors[connector]->name, test_cables[cable].connectors[connector]->host ? "host" : "device");
|
||||
printf("- %s", usb_connectors[connector]->name);
|
||||
if (usb_connectors[connector]->variant) {
|
||||
printf(" (%s)", usb_connectors[connector]->variant);
|
||||
}
|
||||
putc('\n');
|
||||
}
|
||||
bool cable_ok = false; // if the cable is connected
|
||||
while (!cable_ok) { // wait until all pin pairs of cable are connected
|
||||
|
|
44
usb_cables.c
44
usb_cables.c
|
@ -679,7 +679,7 @@ static const uint8_t usb_a_host_pins[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
|
|||
/** USB type A connector (host side) */
|
||||
static const struct usb_connector_t usb_a_host_connector = {
|
||||
.name = "A",
|
||||
.host = true,
|
||||
.variant = "host",
|
||||
.pins_nb = LENGTH(usb_a_host_pins),
|
||||
.pins = usb_a_host_pins,
|
||||
};
|
||||
|
@ -691,7 +691,7 @@ static const uint8_t usb_c_host_sideb_pins[] = {10, 23, 24, 25, 26, 27, 28, 29,
|
|||
/** USB-C connector ("host" side) */
|
||||
static const struct usb_connector_t usb_c_host_connector = {
|
||||
.name = "C",
|
||||
.host = true,
|
||||
.variant = "host",
|
||||
.pins_nb = LENGTH(usb_c_host_sidea_pins),
|
||||
.pins = usb_c_host_sidea_pins,
|
||||
};
|
||||
|
@ -703,7 +703,7 @@ static const uint8_t usb_a_device_pins[] = {35, 36, 37, 38, 39, 40, 41, 42, 43,
|
|||
*/
|
||||
static const struct usb_connector_t usb_a_device_connector = {
|
||||
.name = "A",
|
||||
.host = false,
|
||||
.variant = "device",
|
||||
.pins_nb = LENGTH(usb_a_device_pins),
|
||||
.pins = usb_a_device_pins,
|
||||
};
|
||||
|
@ -713,7 +713,7 @@ static const uint8_t usb_b_device_pins[] = {45, 46, 47, 48, 49, 50, 51, 52, 53,
|
|||
/** USB type B connector (device side) */
|
||||
static const struct usb_connector_t usb_b_device_connector = {
|
||||
.name = "B",
|
||||
.host = false,
|
||||
.variant = NULL,
|
||||
.pins_nb = LENGTH(usb_b_device_pins),
|
||||
.pins = usb_b_device_pins,
|
||||
};
|
||||
|
@ -725,7 +725,7 @@ static const uint8_t usb_minib_device_pins[] = {55, 56, 57, 58, 59, 60};
|
|||
*/
|
||||
static const struct usb_connector_t usb_minib_device_connector = {
|
||||
.name = "mini-B",
|
||||
.host = false,
|
||||
.variant = NULL,
|
||||
.pins_nb = LENGTH(usb_minib_device_pins),
|
||||
.pins = usb_minib_device_pins,
|
||||
};
|
||||
|
@ -735,7 +735,7 @@ static const uint8_t usb_microb_device_pins[] = {61, 62, 63, 64, 65, 66, 67, 68,
|
|||
/** USB micro-B connector (device side) */
|
||||
static const struct usb_connector_t usb_microb_device_connector = {
|
||||
.name = "micro-B",
|
||||
.host = false,
|
||||
.variant = NULL,
|
||||
.pins_nb = LENGTH(usb_microb_device_pins),
|
||||
.pins = usb_microb_device_pins,
|
||||
};
|
||||
|
@ -747,7 +747,7 @@ static const uint8_t usb_c_device_sideb_pins[] = {72, 85, 86, 87, 88, 89, 90, 91
|
|||
/** USB-C connector ("device" side) */
|
||||
static const struct usb_connector_t usb_c_device_connector = {
|
||||
.name = "C",
|
||||
.host = false,
|
||||
.variant = "device",
|
||||
.pins_nb = LENGTH(usb_c_device_sidea_pins),
|
||||
.pins = usb_c_device_sidea_pins,
|
||||
};
|
||||
|
@ -759,7 +759,7 @@ static const uint8_t lighnting_device_pins[] = {97, 98, 99, 100, 101, 102, 103,
|
|||
*/
|
||||
static const struct usb_connector_t lightning_device_connector = {
|
||||
.name = "lightning",
|
||||
.host = false,
|
||||
.variant = NULL,
|
||||
.pins_nb = LENGTH(lighnting_device_pins),
|
||||
.pins = lighnting_device_pins,
|
||||
};
|
||||
|
@ -4644,7 +4644,11 @@ void usb_cables_check_intra(const struct usb_connector_t* connector, bool* conne
|
|||
connected[pin_from] = true;
|
||||
connected[pin_to] = true;
|
||||
} else {
|
||||
printf("%s (%s) %s connected to %s (%02x)\n", connector->name, connector->host ? "host" : "device", usb_pin_from->name, usb_pin_to->name, connection);
|
||||
printf("%s ", connector->name);
|
||||
if (connector->variant) {
|
||||
printf(" (%s)", connector->variant);
|
||||
}
|
||||
printf("%s connected to %s (%02x)\n", usb_pin_from->name, usb_pin_to->name, connection);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4694,7 +4698,16 @@ void usb_cables_check_inter(const struct usb_connector_t** connectors, uint8_t c
|
|||
connected[connector_from] = true;
|
||||
connected[connector_to] = true;
|
||||
} else {
|
||||
printf("%s (%s) %s connected to %s (%s) %s\n", connectors[connector_from]->name, connectors[connector_from]->host ? "host" : "device", usb_pin_from->name, connectors[connector_to]->name, connectors[connector_to]->host ? "host" : "device", usb_pin_to->name);
|
||||
printf("%s ", connectors[connector_from]->name);
|
||||
if (connectors[connector_from]->variant) {
|
||||
printf("(%s) ", connectors[connector_from]->variant);
|
||||
}
|
||||
printf("%s connected to ", usb_pin_from->name);
|
||||
printf("%s ", connectors[connector_to]->name);
|
||||
if (connectors[connector_to]->variant) {
|
||||
printf("(%s) ", connectors[connector_to]->variant);
|
||||
}
|
||||
printf("%s\n", usb_pin_to->name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4753,7 +4766,16 @@ void usb_cables_check_ground(const struct usb_connector_t** connectors, uint8_t
|
|||
connected[connector_from] = true;
|
||||
connected[connector_to] = true;
|
||||
} else {
|
||||
printf("%s (%s) %s connected to %s (%s) %s\n", connectors[connector_from]->name, connectors[connector_from]->host ? "host" : "device", usb_pin_from->name, connectors[connector_to]->name, connectors[connector_to]->host ? "host" : "device", usb_pin_to->name);
|
||||
printf("%s ", connectors[connector_from]->name);
|
||||
if (connectors[connector_from]->variant) {
|
||||
printf("(%s) ", connectors[connector_from]->variant);
|
||||
}
|
||||
printf(usb_pin_from->name);
|
||||
printf("%s connected to %s ", usb_pin_from->name, connectors[connector_to]->name);
|
||||
if (connectors[connector_to]->variant) {
|
||||
printf("(%s) ", connectors[connector_to]->variant);
|
||||
}
|
||||
printf("%s\n", usb_pin_to->name);
|
||||
}
|
||||
ground_found = true; // remember we found a ground connection
|
||||
}
|
||||
|
|
|
@ -50,7 +50,7 @@ struct usb_pin_t {
|
|||
/** USB connector definition */
|
||||
struct usb_connector_t {
|
||||
const char* name; /*< connector name (A, B, mini-B, micro-B, C, ...) */
|
||||
bool host; /*< if on host or device side */
|
||||
const char* variant; /*< variant if there are more than one of the same connector */
|
||||
uint8_t pins_nb; /*< number of pins */
|
||||
const uint8_t* pins; /*< all connector pins indexes */
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue