2023-11-05 01:17 AM
Hello,
During testing with the STUSB1602, I encountered strange behavior when using the DRP-mode. Connecting a USB power bank in this mode does not result in a successful connection. Only after pressing the engage-button on a Powerbank, the connection is made and the PD-negotiations are started about the best sink to draw power from the Powerbank.
After carefully debugging, I saw that the CAD-state always goes to source when connecting in DRP-mode. This is CAD-state enumeration 9. This enumeration is state USBPD_CAD_STATE_SWITCH_TO_SRC in the STUSB1602 firmware.
However, this enum 9 is USBPD_CAD_STATE_SWITCH_TO_SNK in the STM32G firmware. This firmware works correct.
If I change the enums to fit the enums of the STM32G firmware (9 = USBPD_CAD_STATE_SWITCH_TO_SNK; 10 = USBPD_CAD_STATE_SWITCH_TO_SRC) all works 100%.
Could this be an firmware error ?