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)
|
||||
{
|
||||
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
|
||||
*/
|
||||
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
|
||||
* @param[in] pin1 first pin
|
||||
* @param[in] pin2 second pin
|
||||
|
|
Loading…
Reference in New Issue