usb_cables: add function to get connector from pin
This commit is contained in:
parent
43046dee48
commit
fc6a7a6d3d
20
usb_cables.c
20
usb_cables.c
|
@ -4541,6 +4541,26 @@ void usb_cables_connectors_float(const struct usb_connector_t** connectors, uint
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const struct usb_connector_t* usb_cables_get_connector(uint8_t pin)
|
||||||
|
{
|
||||||
|
if (pin >= LENGTH(usb_pins)) { // verify input parameter
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
for (uint8_t connector_i = 0; connector_i < LENGTH(usb_connectors); connector_i++) { // go though every connector
|
||||||
|
const struct usb_connector_t* connector = usb_connectors[connector_i]; // get connector
|
||||||
|
if (NULL == connector) { // verify connector
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
for (uint8_t pin_i = 0; pin_i < connector->pins_nb; pin_i++) { // check every pin of connector
|
||||||
|
if (connector->pins[pin_i] == pin) { // the connector pin against provided pin
|
||||||
|
return connector;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
uint8_t usb_cables_check_pins(const struct usb_pin_t* pin1, const struct usb_pin_t* pin2)
|
uint8_t usb_cables_check_pins(const struct usb_pin_t* pin1, const struct usb_pin_t* pin2)
|
||||||
{
|
{
|
||||||
cm3_assert(pin1 && pin2);
|
cm3_assert(pin1 && pin2);
|
||||||
|
|
|
@ -82,6 +82,11 @@ void usb_cables_connector_float(const struct usb_connector_t* connector);
|
||||||
* @param[in] connectors_nb numbers of connectors
|
* @param[in] connectors_nb numbers of connectors
|
||||||
*/
|
*/
|
||||||
void usb_cables_connectors_float(const struct usb_connector_t** connectors, uint8_t connectors_nb);
|
void usb_cables_connectors_float(const struct usb_connector_t** connectors, uint8_t connectors_nb);
|
||||||
|
/** get connector from pin
|
||||||
|
* @param[in] pin pin index in usb_pins
|
||||||
|
* @return corresponding connector (NULL if none found)
|
||||||
|
*/
|
||||||
|
const struct usb_connector_t* usb_cables_get_connector(uint8_t pin);
|
||||||
/** test if two pins are connected
|
/** test if two pins are connected
|
||||||
* @param[in] pin1 first pin
|
* @param[in] pin1 first pin
|
||||||
* @param[in] pin2 second pin
|
* @param[in] pin2 second pin
|
||||||
|
|
Loading…
Reference in New Issue