Expand USB-PD mode option (#1917)
Some checks failed
Docs / deploy-docs (push) Has been cancelled
CI / build (MHP30) (push) Has been cancelled
CI / build (Pinecil) (push) Has been cancelled
CI / build (Pinecilv2) (push) Has been cancelled
CI / build (S60) (push) Has been cancelled
CI / build (S60P) (push) Has been cancelled
CI / build (TS100) (push) Has been cancelled
CI / build (TS101) (push) Has been cancelled
CI / build (TS80) (push) Has been cancelled
CI / build (TS80P) (push) Has been cancelled
CI / build_multi-lang (Pinecil) (push) Has been cancelled
CI / build_multi-lang (Pinecilv2) (push) Has been cancelled
CI / upload_metadata (push) Has been cancelled
CI / tests (push) Has been cancelled
CI / check_c-cpp (push) Has been cancelled
CI / check_python (push) Has been cancelled
CI / check_shell (push) Has been cancelled
CI / check_readme (push) Has been cancelled

* Use PDMode to decide if we do resistance pad

* Rename PDVpdo to USBPDMode

* Add options for PD Mode

* OLED: Allow soft line-wrap x position

* Add new translation option for menu settings values

* Use new setting value for PD Mode

* Update translations for new menu setting

* Fixup! S60

* black python
This commit is contained in:
Ben V. Brown
2024-06-01 16:36:34 +10:00
committed by GitHub
parent c135732ebb
commit 442dbd982e
47 changed files with 11370 additions and 10967 deletions

View File

@@ -89,7 +89,7 @@ static const SettingConstants settingsConstants[(int)SettingsOptions::SettingsOp
{ 0, 6, 1, 1}, // LOGOTime
{ 0, 1, 1, 0}, // CalibrateCJC
{ 0, 1, 1, 0}, // BluetoothLE
{ 0, 1, 1, 1}, // PDVpdo
{ 0, 2, 1, 1}, // USBPDMode
{ 1, 5, 1, 4}, // ProfilePhases
{ MIN_TEMP_C, MAX_TEMP_F, 5, 90}, // ProfilePreheatTemp
{ 1, 10, 1, 1}, // ProfilePreheatSpeed

View File

@@ -26,7 +26,7 @@ static void displayQCInputV(void);
#ifdef POW_PD
static void displayPDNegTimeout(void);
static void displayPDVpdo(void);
static void displayUSBPDMode(void);
#endif /* POW_PD */
static void displaySensitivity(void);
@@ -131,7 +131,7 @@ static void displayAdvancedMenu(void);
* -Minimum Voltage
* QC Voltage
* PD Timeout
* PDVpdo
* USBPDMode
*
* Soldering
* Boost Mode Temp
@@ -232,7 +232,7 @@ const menuitem powerMenu[] = {
* -Minimum Voltage
* QC Voltage
* PD Timeout
* PDVpdo
* USBPDMode
*/
#ifdef POW_DC
/* Voltage input */
@@ -248,7 +248,7 @@ const menuitem powerMenu[] = {
/* PD timeout setup */
{SETTINGS_DESC(SettingsItemIndex::PDNegTimeout), nullptr, displayPDNegTimeout, nullptr, SettingsOptions::PDNegTimeout, SettingsItemIndex::PDNegTimeout, 6},
/* Toggle PPS & EPR */
{SETTINGS_DESC(SettingsItemIndex::PDVpdo), nullptr, displayPDVpdo, nullptr, SettingsOptions::PDVpdo, SettingsItemIndex::PDVpdo, 7},
{SETTINGS_DESC(SettingsItemIndex::USBPDMode), nullptr, displayUSBPDMode, nullptr, SettingsOptions::USBPDMode, SettingsItemIndex::USBPDMode, 4},
#endif
/* vvvv end of menu marker. DO NOT REMOVE vvvv */
{0, nullptr, nullptr, nullptr, SettingsOptions::SettingsOptionsLength, SettingsItemIndex::NUM_ITEMS, 0}
@@ -529,7 +529,26 @@ static void displayPDNegTimeout(void) {
}
}
static void displayPDVpdo(void) { OLED::drawCheckbox(getSettingValue(SettingsOptions::PDVpdo)); }
static void displayUSBPDMode(void) {
/*
* PD Mode
* 0 = Safe mode, no PPS, no EPR
* 1 = Default mode, tolerant + PPS + EPR
* 2 = Strict mode + PPS + EPR
*/
switch (getSettingValue(SettingsOptions::USBPDMode)) {
case 1:
OLED::print(translatedString(Tr->USBPDModeDefault), FontStyle::SMALL, 255, OLED::getCursorX());
break;
case 2:
OLED::print(translatedString(Tr->USBPDModeSafe), FontStyle::SMALL, 255, OLED::getCursorX());
break;
default:
OLED::print(translatedString(Tr->USBPDModeNoDynamic), FontStyle::SMALL, 255, OLED::getCursorX());
break;
}
}
#endif /* POW_PD */