We have a device which is self powered USB peripheral, using the ST provided USB stack, I'm seeing the device fail to detect the loss of VBUS (notified via the SEDET interrupt). It works approximately 70% of the time. The voltage on VBUS is going to 0 so it's not a pull up issue.
Is there a way to read the state of VBUS? I'm wondering if it's a software bug and the interrupt bit is being incorrectly cleared without being handled, but I couldn't find anywhere where I could read the current state of the VBUS detection? I guess the other option is to poll this line as a GPIO, but this seems like a hack.