diff --git a/application.c b/application.c index 4ac8431..08d49aa 100644 --- a/application.c +++ b/application.c @@ -1078,8 +1078,8 @@ static void command_test(void* argument) USB_CABLE_AB3_DEVICE, USB_CABLE_AAB2_HOST, USB_CABLE_AUB3_HOST, - USB_CABLE_CSHUNT_HOST, - USB_CABLE_CSHUNT_DEVICE, + USB_CABLE_CPINSHUNT_HOST, + USB_CABLE_CPINSHUNT_DEVICE, }; for (uint8_t cable_id = 0; cable_id < LENGTH(test_cables); cable_id++) { diff --git a/usb_cables.c b/usb_cables.c index fdb8672..d9e1fa6 100644 --- a/usb_cables.c +++ b/usb_cables.c @@ -1150,8 +1150,8 @@ static const struct usb_connector_t* usb_c_host_connectors[] = { &usb_c_host_connector, }; -/** this is not a cable, but a shunt shorting opposite signal the type C connector so to test it */ -static const uint8_t usb__c_host__c_host__cshunt_pins[][2] = { +/** this is not a cable, but a shunt shorting opposite pins the type C connector so to test it */ +static const uint8_t usb__c_host__c_host__cpinshunt_pins[][2] = { {usb_c_host_sidea_pins[1], usb_c_host_sideb_pins[12]}, // A1 GND, B12 GND {usb_c_host_sidea_pins[2], usb_c_host_sideb_pins[11]}, // A2 TX+1, B11 RX+1 {usb_c_host_sidea_pins[3], usb_c_host_sideb_pins[10]}, // A3 TX-1, B10 RX-1 @@ -1166,12 +1166,28 @@ static const uint8_t usb__c_host__c_host__cshunt_pins[][2] = { {usb_c_host_sidea_pins[12], usb_c_host_sideb_pins[1]}, // A12 GND, B1 GND }; +/** this is not a cable, but a shunt shorting opposite signal the type C connector so to test it */ +static const uint8_t usb__c_host__c_host__csignalshunt_pins[][2] = { + {usb_c_host_sidea_pins[1], usb_c_host_sideb_pins[1]}, // A1 GND, B1 GND + {usb_c_host_sidea_pins[2], usb_c_host_sideb_pins[2]}, // A2 TX+1, B2 TX+2 + {usb_c_host_sidea_pins[3], usb_c_host_sideb_pins[3]}, // A3 TX-1, B3 TX-2 + {usb_c_host_sidea_pins[4], usb_c_host_sideb_pins[4]}, // A4 VBUS, B4 VBUS + {usb_c_host_sidea_pins[5], usb_c_host_sideb_pins[5]}, // A5 CC1, B5 CC2 + {usb_c_host_sidea_pins[6], usb_c_host_sideb_pins[6]}, // A6 D+1, B6 D+2 + {usb_c_host_sidea_pins[7], usb_c_host_sideb_pins[7]}, // A7 D-1, B7 D-2 + {usb_c_host_sidea_pins[8], usb_c_host_sideb_pins[8]}, // A8 SBU1, B8 SBU2 + {usb_c_host_sidea_pins[9], usb_c_host_sideb_pins[9]}, // A9 VBUS, B9 VBUS + {usb_c_host_sidea_pins[10], usb_c_host_sideb_pins[10]}, // A10 RX-2, B10 RX-1 + {usb_c_host_sidea_pins[11], usb_c_host_sideb_pins[11]}, // A11 RX+2, B11 RX+1 + {usb_c_host_sidea_pins[12], usb_c_host_sideb_pins[12]}, // A12 GND, B12 GND +}; + /** list of connectors for C shunts (using C device connector) */ static const struct usb_connector_t* usb_c_device_connectors[] = { &usb_c_device_connector, }; -static const uint8_t usb__c_device__c_device__cshunt_pins[][2] = { +static const uint8_t usb__c_device__c_device__cpinshunt_pins[][2] = { {usb_c_device_sidea_pins[1], usb_c_device_sideb_pins[12]}, // A1 GND, B12 GND {usb_c_device_sidea_pins[2], usb_c_device_sideb_pins[11]}, // A2 TX+1, B11 RX+1 {usb_c_device_sidea_pins[3], usb_c_device_sideb_pins[10]}, // A3 TX-1, B10 RX-1 @@ -1186,6 +1202,21 @@ static const uint8_t usb__c_device__c_device__cshunt_pins[][2] = { {usb_c_device_sidea_pins[12], usb_c_device_sideb_pins[1]}, // A12 GND, B1 GND }; +static const uint8_t usb__c_device__c_device__csignalshunt_pins[][2] = { + {usb_c_device_sidea_pins[1], usb_c_device_sideb_pins[1]}, // A1 GND, B1 GND + {usb_c_device_sidea_pins[2], usb_c_device_sideb_pins[2]}, // A2 TX+1, B2 TX+2 + {usb_c_device_sidea_pins[3], usb_c_device_sideb_pins[3]}, // A3 TX-1, B3 TX-2 + {usb_c_device_sidea_pins[4], usb_c_device_sideb_pins[4]}, // A4 VBUS, B4 VBUS + {usb_c_device_sidea_pins[5], usb_c_device_sideb_pins[5]}, // A5 CC1, B5 CC2 + {usb_c_device_sidea_pins[6], usb_c_device_sideb_pins[6]}, // A6 D+1, B6 D+2 + {usb_c_device_sidea_pins[7], usb_c_device_sideb_pins[7]}, // A7 D-1, B7 D-2 + {usb_c_device_sidea_pins[8], usb_c_device_sideb_pins[8]}, // A8 SBU1, B8 SBU2 + {usb_c_device_sidea_pins[9], usb_c_device_sideb_pins[9]}, // A9 VBUS, B9 VBUS + {usb_c_device_sidea_pins[10], usb_c_device_sideb_pins[10]}, // A10 RX-2, B10 RX-1 + {usb_c_device_sidea_pins[11], usb_c_device_sideb_pins[11]}, // A11 RX+2, B11 RX+1 + {usb_c_device_sidea_pins[12], usb_c_device_sideb_pins[12]}, // A12 GND, B12 GND +}; + /** list of connectors for A-C cables (using A host connector and C host connector) */ static const struct usb_connector_t* usb_a_host_c_host_connectors[] = { &usb_a_host_connector, @@ -4466,25 +4497,47 @@ const struct usb_cable_t usb_cables[] = { .optional_pairs = NULL, }, // C - [USB_CABLE_CSHUNT_HOST] = { - .name = "C shunt", + [USB_CABLE_CPINSHUNT_HOST] = { + .name = "C pins shunt", .shortname = NULL, .variant = "C host receptacle", .connectors_nb = LENGTH(usb_c_host_connectors), .connectors = usb_c_host_connectors, - .mandatory_pairs_nb = LENGTH(usb__c_host__c_host__cshunt_pins), - .mandatory_pairs = usb__c_host__c_host__cshunt_pins, + .mandatory_pairs_nb = LENGTH(usb__c_host__c_host__cpinshunt_pins), + .mandatory_pairs = usb__c_host__c_host__cpinshunt_pins, .optional_pairs_nb = 0, .optional_pairs = NULL, }, - [USB_CABLE_CSHUNT_DEVICE] = { - .name = "C shunt", + [USB_CABLE_CPINSHUNT_DEVICE] = { + .name = "C pins shunt", .shortname = NULL, .variant = "C device receptacle", .connectors_nb = LENGTH(usb_c_device_connectors), .connectors = usb_c_device_connectors, - .mandatory_pairs_nb = LENGTH(usb__c_device__c_device__cshunt_pins), - .mandatory_pairs = usb__c_device__c_device__cshunt_pins, + .mandatory_pairs_nb = LENGTH(usb__c_device__c_device__cpinshunt_pins), + .mandatory_pairs = usb__c_device__c_device__cpinshunt_pins, + .optional_pairs_nb = 0, + .optional_pairs = NULL, + }, + [USB_CABLE_CSIGNALSHUNT_HOST] = { + .name = "C signal shunt", + .shortname = NULL, + .variant = "C host receptacle", + .connectors_nb = LENGTH(usb_c_host_connectors), + .connectors = usb_c_host_connectors, + .mandatory_pairs_nb = LENGTH(usb__c_host__c_host__csignalshunt_pins), + .mandatory_pairs = usb__c_host__c_host__csignalshunt_pins, + .optional_pairs_nb = 0, + .optional_pairs = NULL, + }, + [USB_CABLE_CSIGNALSHUNT_DEVICE] = { + .name = "C signal shunt", + .shortname = NULL, + .variant = "C device receptacle", + .connectors_nb = LENGTH(usb_c_device_connectors), + .connectors = usb_c_device_connectors, + .mandatory_pairs_nb = LENGTH(usb__c_device__c_device__csignalshunt_pins), + .mandatory_pairs = usb__c_device__c_device__csignalshunt_pins, .optional_pairs_nb = 0, .optional_pairs = NULL, }, diff --git a/usb_cables.h b/usb_cables.h index 516c85a..3d33cb6 100644 --- a/usb_cables.h +++ b/usb_cables.h @@ -141,8 +141,10 @@ enum usb_cable_e { USB_CABLE_AUBBC_DEVICE, USB_CABLE_AUB2_DEVICE, USB_CABLE_AUB3_DEVICE, - USB_CABLE_CSHUNT_HOST, - USB_CABLE_CSHUNT_DEVICE, + USB_CABLE_CPINSHUNT_HOST, + USB_CABLE_CPINSHUNT_DEVICE, + USB_CABLE_CSIGNALSHUNT_HOST, + USB_CABLE_CSIGNALSHUNT_DEVICE, USB_CABLE_AC0_A_HOST_CA_HOST, USB_CABLE_AC0_A_HOST_CB_HOST, USB_CABLE_AC0_A_HOST_CA_DEVICE,