Merge branch 'dev' into dev

This commit is contained in:
discip
2024-07-11 15:36:02 +02:00
committed by GitHub
9 changed files with 57 additions and 50 deletions

View File

@@ -107,13 +107,13 @@
}, },
"menuValues": { "menuValues": {
"USBPDModeDefault": { "USBPDModeDefault": {
"displayText": "Default\nMode" "displayText": "\nРэжым"
}, },
"USBPDModeNoDynamic": { "USBPDModeNoDynamic": {
"displayText": "No\nDynamic" "displayText": "Няма\nдынамікі"
}, },
"USBPDModeSafe": { "USBPDModeSafe": {
"displayText": "Safe\nMode" "displayText": "Бяспечны\nрэжым"
} }
}, },
"menuOptions": { "menuOptions": {
@@ -134,7 +134,7 @@
"description": "Час чакання ўзгаднення PD з крокам 100 мс для сумяшчальнасці з некаторымі зараднымі зараднымі прыладамі QC (0: адключана)" "description": "Час чакання ўзгаднення PD з крокам 100 мс для сумяшчальнасці з некаторымі зараднымі зараднымі прыладамі QC (0: адключана)"
}, },
"USBPDMode": { "USBPDMode": {
"displayText": "PD\nMode", "displayText": "PD\nРэжым",
"description": "Уключае рэжымы PPS & EPR." "description": "Уключае рэжымы PPS & EPR."
}, },
"BoostTemperature": { "BoostTemperature": {
@@ -158,59 +158,59 @@
"description": "Пры рабоце падоўжаны націск дзьвух кнопак блакуе іх (Т=Толькі турба | П=Поўная блакіроўка)" "description": "Пры рабоце падоўжаны націск дзьвух кнопак блакуе іх (Т=Толькі турба | П=Поўная блакіроўка)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profile\nPhases", "displayText": "Фазы\nпрофілю",
"description": "Колькасць фаз у рэжыме профілю" "description": "Колькасць фаз у рэжыме профілю"
}, },
"ProfilePreheatTemp": { "ProfilePreheatTemp": {
"displayText": "Preheat\nTemp", "displayText": "Тэмпература\nразагравання",
"description": "Разагрэйце да гэтай тэмпературы ў пачатку профільнага рэжыму" "description": "Разагрэйце да гэтай тэмпературы ў пачатку профільнага рэжыму"
}, },
"ProfilePreheatSpeed": { "ProfilePreheatSpeed": {
"displayText": "Preheat\nSpeed", "displayText": "Хуткасть\nразагравання",
"description": "Разагрэйце з гэтай хуткасцю (градусы ў секунду)" "description": "Разагрэйце з гэтай хуткасцю (градусы ў секунду)"
}, },
"ProfilePhase1Temp": { "ProfilePhase1Temp": {
"displayText": "Phase 1\nTemp", "displayText": "Фаза 1\nтэмпература",
"description": "Мэтавая тэмпература ў канцы гэтай фазы" "description": "Мэтавая тэмпература ў канцы гэтай фазы"
}, },
"ProfilePhase1Duration": { "ProfilePhase1Duration": {
"displayText": "Phase 1\nDuration", "displayText": "Фаза 1\nпрацягласць",
"description": "Мэтавая працягласць гэтай фазы (секунды)" "description": "Мэтавая працягласць гэтай фазы (секунды)"
}, },
"ProfilePhase2Temp": { "ProfilePhase2Temp": {
"displayText": "Phase 2\nTemp", "displayText": "Фаза 2\nтэмпература",
"description": "" "description": "Мэтавая тэмпература ў канцы гэтай фазы"
}, },
"ProfilePhase2Duration": { "ProfilePhase2Duration": {
"displayText": "Phase 2\nDuration", "displayText": "Фаза 2\nпрацягласць",
"description": "" "description": "Мэтавая працягласць гэтай фазы (секунды)"
}, },
"ProfilePhase3Temp": { "ProfilePhase3Temp": {
"displayText": "Phase 3\nTemp", "displayText": "Фаза 3\nтэмпература",
"description": "" "description": "Мэтавая тэмпература ў канцы гэтай фазы"
}, },
"ProfilePhase3Duration": { "ProfilePhase3Duration": {
"displayText": "Phase 3\nDuration", "displayText": "Фаза 3\nпрацягласць",
"description": "" "description": "Мэтавая працягласць гэтай фазы (секунды)"
}, },
"ProfilePhase4Temp": { "ProfilePhase4Temp": {
"displayText": "Phase 4\nTemp", "displayText": "Фаза 4\nтэмпература",
"description": "" "description": "Мэтавая тэмпература ў канцы гэтай фазы"
}, },
"ProfilePhase4Duration": { "ProfilePhase4Duration": {
"displayText": "Phase 4\nDuration", "displayText": "Фаза 4\nпрацягласць",
"description": "" "description": "Мэтавая працягласць гэтай фазы (секунды)"
}, },
"ProfilePhase5Temp": { "ProfilePhase5Temp": {
"displayText": "Phase 5\nTemp", "displayText": "Фаза 5\nтэмпература",
"description": "" "description": "Мэтавая тэмпература ў канцы гэтай фазы"
}, },
"ProfilePhase5Duration": { "ProfilePhase5Duration": {
"displayText": "Phase 5\nDuration", "displayText": "Фаза 5\nпрацягласць",
"description": "" "description": "Мэтавая працягласць гэтай фазы (секунды)"
}, },
"ProfileCooldownSpeed": { "ProfileCooldownSpeed": {
"displayText": "Cooldown\nSpeed", "displayText": "Хуткасць\nастывання",
"description": "Астуджаць з гэтай хуткасцю ў канцы профільнага рэжыму (градусы ў секунду)" "description": "Астуджаць з гэтай хуткасцю ў канцы профільнага рэжыму (градусы ў секунду)"
}, },
"MotionSensitivity": { "MotionSensitivity": {

View File

@@ -107,13 +107,13 @@
}, },
"menuValues": { "menuValues": {
"USBPDModeDefault": { "USBPDModeDefault": {
"displayText": "Default\nMode" "displayText": "Вкл.\nPPSиERP"
}, },
"USBPDModeNoDynamic": { "USBPDModeNoDynamic": {
"displayText": "No\nDynamic" "displayText": "Изкл.\n"
}, },
"USBPDModeSafe": { "USBPDModeSafe": {
"displayText": "Safe\nMode" "displayText": "Вкл.без\nискане"
} }
}, },
"menuOptions": { "menuOptions": {
@@ -134,8 +134,8 @@
"description": "PD интервал за договаряне на захранването на стъпки от 100 мс за съвместимост с някои QC захранвания (0=Изкл.)" "description": "PD интервал за договаряне на захранването на стъпки от 100 мс за съвместимост с някои QC захранвания (0=Изкл.)"
}, },
"USBPDMode": { "USBPDMode": {
"displayText": "PD\nMode", "displayText": "PD\nрежим",
"description": "Включи PPS & EPR" "description": "Вкл.без искане: включи PPS и EPR без да искате повече мощност"
}, },
"BoostTemperature": { "BoostTemperature": {
"displayText": "Турбо\nтемп.", "displayText": "Турбо\nтемп.",

View File

@@ -107,13 +107,13 @@
}, },
"menuValues": { "menuValues": {
"USBPDModeDefault": { "USBPDModeDefault": {
"displayText": "Default\nMode" "displayText": "Modo\npredefinito"
}, },
"USBPDModeNoDynamic": { "USBPDModeNoDynamic": {
"displayText": "No\nDynamic" "displayText": "Modo\nstatico"
}, },
"USBPDModeSafe": { "USBPDModeSafe": {
"displayText": "Safe\nMode" "displayText": "Modo\nsicuro"
} }
}, },
"menuOptions": { "menuOptions": {

View File

@@ -107,13 +107,13 @@
}, },
"menuValues": { "menuValues": {
"USBPDModeDefault": { "USBPDModeDefault": {
"displayText": "Default\nMode" "displayText": "Вкл.\nPPSиEPR"
}, },
"USBPDModeNoDynamic": { "USBPDModeNoDynamic": {
"displayText": "No\nDynamic" "displayText": "Откл.\n"
}, },
"USBPDModeSafe": { "USBPDModeSafe": {
"displayText": "Safe\nMode" "displayText": "Вкл.без\nзапроса"
} }
}, },
"menuOptions": { "menuOptions": {
@@ -130,12 +130,12 @@
"description": "Максимальное напряжение для согласования с источником питания по QC" "description": "Максимальное напряжение для согласования с источником питания по QC"
}, },
"PDNegTimeout": { "PDNegTimeout": {
"displayText": "PD\nинтервал", "displayText": "Интервал\nPD",
"description": "Интервал согласования питания по Power Delivery с шагом 100 мс для совместимости с некоторыми источниками питания по QC (0=Откл.)" "description": "Интервал согласования питания по Power Delivery с шагом 100 мс для совместимости с некоторыми источниками питания по QC (0=Откл.)"
}, },
"USBPDMode": { "USBPDMode": {
"displayText": "PD\nMode", "displayText": "Режим\nPD",
"description": "Включить режимы PPS & EPR" "description": "Вкл.без запроса: включить PPS и EPR без запроса большей мощности"
}, },
"BoostTemperature": { "BoostTemperature": {
"displayText": "t° турбо\nрежима", "displayText": "t° турбо\nрежима",

View File

@@ -188,7 +188,7 @@ void FS2711::negotiate() {
// FS2711 uses mV instead of V // FS2711 uses mV instead of V
const uint16_t vmax = USB_PD_VMAX * 1000; const uint16_t vmax = USB_PD_VMAX * 1000;
uint8_t tip_resistance = getTipResistanceX10(); uint8_t tip_resistance = getTipResistanceX10();
if (getSettingValue(SettingsOptions::USBPDMode) == 1) { if (getSettingValue(SettingsOptions::USBPDMode) == usbpdMode_t::DEFAULT) {
tip_resistance += 5; tip_resistance += 5;
} }
#ifdef MODEL_HAS_DCDC #ifdef MODEL_HAS_DCDC

View File

@@ -136,7 +136,7 @@ bool parseCapabilitiesArray(const uint8_t numCaps, uint8_t *bestIndex, uint16_t
// Fudge of 0.5 ohms to round up a little to account for us always having off periods in PWM // Fudge of 0.5 ohms to round up a little to account for us always having off periods in PWM
uint8_t tipResistance = getTipResistanceX10(); uint8_t tipResistance = getTipResistanceX10();
if (getSettingValue(SettingsOptions::USBPDMode) == 1) { if (getSettingValue(SettingsOptions::USBPDMode) == usbpdMode_t::DEFAULT) {
tipResistance += 5; tipResistance += 5;
} }
#ifdef MODEL_HAS_DCDC #ifdef MODEL_HAS_DCDC

View File

@@ -23,7 +23,7 @@ int32_t Utils::LinearInterpolate(int32_t x1, int32_t y1, int32_t x2, int32_t y2,
uint16_t Utils::RequiredCurrentForTipAtVoltage(uint16_t voltageX10) { uint16_t Utils::RequiredCurrentForTipAtVoltage(uint16_t voltageX10) {
uint8_t tipResistancex10 = getTipResistanceX10(); uint8_t tipResistancex10 = getTipResistanceX10();
if (getSettingValue(SettingsOptions::USBPDMode) == 1) { if (getSettingValue(SettingsOptions::USBPDMode) == usbpdMode_t::DEFAULT) {
tipResistancex10 += 5; tipResistancex10 += 5;
} }
#ifdef MODEL_HAS_DCDC #ifdef MODEL_HAS_DCDC
@@ -34,4 +34,4 @@ uint16_t Utils::RequiredCurrentForTipAtVoltage(uint16_t voltageX10) {
// V/R = I // V/R = I
uint16_t currentX10 = (voltageX10 * 10) / tipResistancex10; uint16_t currentX10 = (voltageX10 * 10) / tipResistancex10;
return currentX10; return currentX10;
} }

View File

@@ -104,6 +104,12 @@ typedef enum {
INFINITY = 6, // Show boot logo on repeat (if animated) until a button toggled INFINITY = 6, // Show boot logo on repeat (if animated) until a button toggled
} logoMode_t; } logoMode_t;
typedef enum {
DEFAULT = 1, // PPS + EPR + more power request through increasing resistance by 0.5 Ohm to compensate power loss over cable/PCB/etc.
SAFE = 2, // PPS + EPR, without requesting more power
NO_DYNAMIC = 0, // PPS + EPR disabled, fixed PDO only
} usbpdMode_t;
// Settings wide operations // Settings wide operations
void saveSettings(); void saveSettings();
bool loadSettings(); bool loadSettings();

View File

@@ -531,19 +531,20 @@ static void displayPDNegTimeout(void) {
static void displayUSBPDMode(void) { static void displayUSBPDMode(void) {
/* /*
* PD Mode * Supported PD modes:
* 0 = Safe mode, no PPS, no EPR * DEFAULT, 1 = PPS + EPR + more power request through increasing resistance by 0.5 Ohm to compensate power loss over cable/PCB/etc.
* 1 = Default mode, tolerant + PPS + EPR * SAFE, 2 = PPS + EPR, without requesting more power
* 2 = Strict mode + PPS + EPR * NO_DYNAMIC, 0 = PPS + EPR disabled, fixed PDO only
*/ */
switch (getSettingValue(SettingsOptions::USBPDMode)) { switch (getSettingValue(SettingsOptions::USBPDMode)) {
case 1: case usbpdMode_t::DEFAULT:
OLED::print(translatedString(Tr->USBPDModeDefault), FontStyle::SMALL, 255, OLED::getCursorX()); OLED::print(translatedString(Tr->USBPDModeDefault), FontStyle::SMALL, 255, OLED::getCursorX());
break; break;
case 2: case usbpdMode_t::SAFE:
OLED::print(translatedString(Tr->USBPDModeSafe), FontStyle::SMALL, 255, OLED::getCursorX()); OLED::print(translatedString(Tr->USBPDModeSafe), FontStyle::SMALL, 255, OLED::getCursorX());
break; break;
case usbpdMode_t::NO_DYNAMIC:
default: default:
OLED::print(translatedString(Tr->USBPDModeNoDynamic), FontStyle::SMALL, 255, OLED::getCursorX()); OLED::print(translatedString(Tr->USBPDModeNoDynamic), FontStyle::SMALL, 255, OLED::getCursorX());
break; break;