1
0
forked from me/IronOS

Show power source type on detailed screen in soldering mode (#1708) (#1709)

* Show power source type on detailed screen in soldering mode (#1708)

* Update according to code review
This commit is contained in:
Ivan Zorin
2023-06-18 14:38:26 +03:00
committed by GitHub
parent 4d7e4f41e3
commit a1b9e40f67
7 changed files with 55 additions and 43 deletions

View File

@@ -120,4 +120,37 @@ bool checkExitSoldering(void) {
}
return false;
}
}
int8_t getPowerSourceNumber(void) {
int8_t sourceNumber = 0;
if (getIsPoweredByDCIN()) {
sourceNumber = 0;
} else {
// We are not powered via DC, so want to display the appropriate state for PD or QC
bool poweredbyPD = false;
bool pdHasVBUSConnected = false;
#ifdef POW_PD
if (USBPowerDelivery::fusbPresent()) {
// We are PD capable
if (USBPowerDelivery::negotiationComplete()) {
// We are powered via PD
poweredbyPD = true;
#ifdef VBUS_MOD_TEST
pdHasVBUSConnected = USBPowerDelivery::isVBUSConnected();
#endif
}
}
#endif
if (poweredbyPD) {
if (pdHasVBUSConnected) {
sourceNumber = 2;
} else {
sourceNumber = 3;
}
} else {
sourceNumber = 1;
}
}
return sourceNumber;
}