41 lines
783 B
C++
41 lines
783 B
C++
#include "BSP.h"
|
|
#include "BSP_Power.h"
|
|
#include "Pins.h"
|
|
#include "QC3.h"
|
|
#include "Settings.h"
|
|
#include "USBPD.h"
|
|
#include "configuration.h"
|
|
|
|
void power_check() {
|
|
#if POW_PD
|
|
// Cant start QC until either PD works or fails
|
|
if (!USBPowerDelivery::negotiationComplete()) {
|
|
return;
|
|
}
|
|
if (USBPowerDelivery::negotiationHasWorked()) {
|
|
return; // We are using PD
|
|
}
|
|
#endif
|
|
#ifdef POW_QC
|
|
QC_resync();
|
|
#endif
|
|
}
|
|
|
|
bool getIsPoweredByDCIN() {
|
|
#if POW_PD
|
|
if (!USBPowerDelivery::negotiationComplete()) {
|
|
return false; // We are assuming not dc while negotiating
|
|
}
|
|
if (USBPowerDelivery::negotiationHasWorked()) {
|
|
return false; // We are using PD
|
|
}
|
|
#endif
|
|
|
|
#ifdef POW_QC
|
|
if (hasQCNegotiated()) {
|
|
return false; // We are using QC
|
|
}
|
|
#endif
|
|
return true;
|
|
}
|