diff options
author | discip <[email protected]> | 2023-08-04 13:31:07 +0200 |
---|---|---|
committer | GitHub <[email protected]> | 2023-08-04 13:31:07 +0200 |
commit | 4533c2f49742269c78e89f94adcee3c0fb51eab9 (patch) | |
tree | 17aa2be456fa3aa630aa1dfac4f1888fb28d75eb | |
parent | 2d7abc274ae6d25bc72dab505a1f94abddc2b4f9 (diff) | |
parent | c120af398addb847e10932c54112a3b0d43c1788 (diff) | |
download | IronOS-4533c2f49742269c78e89f94adcee3c0fb51eab9.tar.gz IronOS-4533c2f49742269c78e89f94adcee3c0fb51eab9.zip |
Merge pull request #1729 from alextrical/Short-Detection
Pinecil v2 short detection at boot
45 files changed, 266 insertions, 68 deletions
diff --git a/Translations/translation_BE.json b/Translations/translation_BE.json index 327f760d..30039009 100644 --- a/Translations/translation_BE.json +++ b/Translations/translation_BE.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Некантралюемае\nразаграванне" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Пераканайцеся, што пры наступнай загрузцы наканечнік і ручка маюць пакаёвую тэмпературу!" }, @@ -313,4 +316,4 @@ "description": "" } } -} +}
\ No newline at end of file diff --git a/Translations/translation_BG.json b/Translations/translation_BG.json index afc756ba..cbe2ca5f 100644 --- a/Translations/translation_BG.json +++ b/Translations/translation_BG.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Thermal\nRunaway" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Before rebooting, make sure tip & handle are at room temperature!" }, @@ -313,4 +316,4 @@ "description": "" } } -} +}
\ No newline at end of file diff --git a/Translations/translation_CS.json b/Translations/translation_CS.json index 05279d46..8ff55753 100644 --- a/Translations/translation_CS.json +++ b/Translations/translation_CS.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Teplotní\nOchrana" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Před restartem se ujistěte, že hrot a držák mají pokojovou teplotu!" }, @@ -313,4 +316,4 @@ "description": "" } } -} +}
\ No newline at end of file diff --git a/Translations/translation_DA.json b/Translations/translation_DA.json index 5b42beb5..2e0971c0 100644 --- a/Translations/translation_DA.json +++ b/Translations/translation_DA.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Thermal\nRunaway" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Before rebooting, make sure tip & handle are at room temperature!" }, diff --git a/Translations/translation_DE.json b/Translations/translation_DE.json index c93cc0e4..2efa2bc1 100644 --- a/Translations/translation_DE.json +++ b/Translations/translation_DE.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Thermal\nRunaway" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Vor dem Neustart bitte sicherstellen, dass Lötspitze & Gerät Raumtemperatur haben!" }, diff --git a/Translations/translation_EL.json b/Translations/translation_EL.json index 83600bbc..75ca856f 100644 --- a/Translations/translation_EL.json +++ b/Translations/translation_EL.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Θερμική\nΦυγή" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Πριν την επανεκκίνηση, βεβαιωθείτε ότι η μύτη και η συσκ. είναι σε θερμ. δωματίου!" }, diff --git a/Translations/translation_EN.json b/Translations/translation_EN.json index e33e8b6a..2ed38eaa 100644 --- a/Translations/translation_EN.json +++ b/Translations/translation_EN.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Thermal\nRunaway" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Before rebooting, make sure tip & handle are at room temperature!" }, diff --git a/Translations/translation_ES.json b/Translations/translation_ES.json index 803db9f1..34c4125d 100644 --- a/Translations/translation_ES.json +++ b/Translations/translation_ES.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Térmico\nFuera de control" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "¡Antes de reiniciar, asegúrese de que la punta y el mango estén a temperatura ambiente!" }, diff --git a/Translations/translation_FI.json b/Translations/translation_FI.json index bc2ccc17..9c89a855 100644 --- a/Translations/translation_FI.json +++ b/Translations/translation_FI.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Thermal\nRunaway" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Before rebooting, make sure tip & handle are at room temperature!" }, diff --git a/Translations/translation_FR.json b/Translations/translation_FR.json index 04b15e64..56bae302 100644 --- a/Translations/translation_FR.json +++ b/Translations/translation_FR.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Emballement\nthermique" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Avant de redémarrer, assurez-vous que la panne et la poignée sont à température ambiante !" }, diff --git a/Translations/translation_HR.json b/Translations/translation_HR.json index cf0aa447..a25f0e2e 100644 --- a/Translations/translation_HR.json +++ b/Translations/translation_HR.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Neispravan\ngrijač" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Prije restarta provjerite da su vrh i ručka na sobnoj temperaturi!" }, diff --git a/Translations/translation_HU.json b/Translations/translation_HU.json index cc55dd72..b218dd04 100644 --- a/Translations/translation_HU.json +++ b/Translations/translation_HU.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Kontrollálatlan\nhőmérséklet!" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Újraindítás előtt a hegy és az eszköz legyen szobahőmérsékletű!" }, diff --git a/Translations/translation_IT.json b/Translations/translation_IT.json index 52a631c0..265ae445 100644 --- a/Translations/translation_IT.json +++ b/Translations/translation_IT.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Temperatura\nfuori controllo" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Prima di riavviare assicurati che la punta e l'impugnatura siano a temperatura ambiente!" }, diff --git a/Translations/translation_JA_JP.json b/Translations/translation_JA_JP.json index df58ce79..5d669bb4 100644 --- a/Translations/translation_JA_JP.json +++ b/Translations/translation_JA_JP.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "過熱" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Before rebooting, make sure tip & handle are at room temperature!" }, diff --git a/Translations/translation_LT.json b/Translations/translation_LT.json index b4c2b53f..cbdb8f27 100644 --- a/Translations/translation_LT.json +++ b/Translations/translation_LT.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Perkaitimo\npavojus" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Before rebooting, make sure tip & handle are at room temperature!" }, diff --git a/Translations/translation_NB.json b/Translations/translation_NB.json index f8b4b9a7..b18fc0a1 100644 --- a/Translations/translation_NB.json +++ b/Translations/translation_NB.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Termisk\nrømling" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Before rebooting, make sure tip & handle are at room temperature!" }, diff --git a/Translations/translation_NL.json b/Translations/translation_NL.json index e775541e..06e9075f 100644 --- a/Translations/translation_NL.json +++ b/Translations/translation_NL.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Verwarming\nOncontroleerbaar" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Before rebooting, make sure tip & handle are at room temperature!" }, diff --git a/Translations/translation_NL_BE.json b/Translations/translation_NL_BE.json index 8cfd64ef..6a684fce 100644 --- a/Translations/translation_NL_BE.json +++ b/Translations/translation_NL_BE.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Thermal\nRunaway" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Before rebooting, make sure tip & handle are at room temperature!" }, diff --git a/Translations/translation_PL.json b/Translations/translation_PL.json index 0ca28f20..c4237c10 100644 --- a/Translations/translation_PL.json +++ b/Translations/translation_PL.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Ucieczka\ntermiczna" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Upewnij się, że końcówka i uchwyt mają temperaturę pokojową podczas następnego rozruchu!" }, diff --git a/Translations/translation_PT.json b/Translations/translation_PT.json index feac8a17..65a85a47 100644 --- a/Translations/translation_PT.json +++ b/Translations/translation_PT.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Thermal\nRunaway" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Antes de reiniciar certifique-se que o ferro está à temperatura ambiente!" }, diff --git a/Translations/translation_RO.json b/Translations/translation_RO.json index 857e9420..0d03d0bc 100644 --- a/Translations/translation_RO.json +++ b/Translations/translation_RO.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Încălzire\nEşuată" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Înainte de repornire, asiguraţi-vă că vârful şi mânerul sunt la temperatura camerei!" }, diff --git a/Translations/translation_RU.json b/Translations/translation_RU.json index 225afa6f..fec46722 100644 --- a/Translations/translation_RU.json +++ b/Translations/translation_RU.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Неуправляемый\nРазогрев" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Пожалуйста, убедитесь, что жало и корпус имеют комнатную температуру при следующей загрузке!" }, diff --git a/Translations/translation_SK.json b/Translations/translation_SK.json index b8c50c94..db16ff63 100644 --- a/Translations/translation_SK.json +++ b/Translations/translation_SK.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Únik\nTepla" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Before rebooting, make sure tip & handle are at room temperature!" }, diff --git a/Translations/translation_SL.json b/Translations/translation_SL.json index 6063abec..2537823b 100644 --- a/Translations/translation_SL.json +++ b/Translations/translation_SL.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Thermal\nRunaway" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Before rebooting, make sure tip & handle are at room temperature!" }, diff --git a/Translations/translation_SR_CYRL.json b/Translations/translation_SR_CYRL.json index 473fb3d2..e4fc5c83 100644 --- a/Translations/translation_SR_CYRL.json +++ b/Translations/translation_SR_CYRL.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Thermal\nRunaway" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Before rebooting, make sure tip & handle are at room temperature!" }, diff --git a/Translations/translation_SR_LATN.json b/Translations/translation_SR_LATN.json index 50f1b46b..f17a35f4 100644 --- a/Translations/translation_SR_LATN.json +++ b/Translations/translation_SR_LATN.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Thermal\nRunaway" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Before rebooting, make sure tip & handle are at room temperature!" }, diff --git a/Translations/translation_SV.json b/Translations/translation_SV.json index 4d70fe90..b60c542f 100644 --- a/Translations/translation_SV.json +++ b/Translations/translation_SV.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Thermal\nRunaway" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Before rebooting, make sure tip & handle are at room temperature!" }, diff --git a/Translations/translation_TR.json b/Translations/translation_TR.json index e63b49bd..34278c14 100644 --- a/Translations/translation_TR.json +++ b/Translations/translation_TR.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Thermal\nRunaway" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Before rebooting, make sure tip & handle are at room temperature!" }, diff --git a/Translations/translation_UK.json b/Translations/translation_UK.json index a2b591e2..4da1441f 100644 --- a/Translations/translation_UK.json +++ b/Translations/translation_UK.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Некерований\nрозігрів" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Під час наступного завантаження переконайтеся, що жало і ручка мають кімнатну температуру!" }, diff --git a/Translations/translation_VI.json b/Translations/translation_VI.json index 9b5c8fa5..514c391a 100644 --- a/Translations/translation_VI.json +++ b/Translations/translation_VI.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "Nhiet\nTat gia nhiet" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Before rebooting, make sure tip & handle are at room temperature!" }, diff --git a/Translations/translation_YUE_HK.json b/Translations/translation_YUE_HK.json index b02c9177..3e84fad4 100644 --- a/Translations/translation_YUE_HK.json +++ b/Translations/translation_YUE_HK.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "加熱失控" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Before rebooting, make sure tip & handle are at room temperature!" }, diff --git a/Translations/translation_ZH_CN.json b/Translations/translation_ZH_CN.json index b5180add..b8213732 100644 --- a/Translations/translation_ZH_CN.json +++ b/Translations/translation_ZH_CN.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "加热失控" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Before rebooting, make sure tip & handle are at room temperature!" }, @@ -313,4 +316,4 @@ "description": "" } } -} +}
\ No newline at end of file diff --git a/Translations/translation_ZH_TW.json b/Translations/translation_ZH_TW.json index 9151fea8..0fbca683 100644 --- a/Translations/translation_ZH_TW.json +++ b/Translations/translation_ZH_TW.json @@ -30,6 +30,9 @@ "WarningThermalRunaway": { "message": "加熱失控" }, + "WarningTipShorted": { + "message": "!Tip Shorted!" + }, "SettingsCalibrationWarning": { "message": "Before rebooting, make sure tip & handle are at room temperature!" }, @@ -313,4 +316,4 @@ "description": "" } } -} +}
\ No newline at end of file diff --git a/Translations/translations_definitions.json b/Translations/translations_definitions.json index 2a9a567e..6fa8cb9e 100644 --- a/Translations/translations_definitions.json +++ b/Translations/translations_definitions.json @@ -17,7 +17,9 @@ }, { "id": "NoPowerDeliveryMessage", - "include": ["POW_PD"], + "include": [ + "POW_PD" + ], "description": "The IC required for USB-PD could not be communicated with. This is an error warning that USB-PD WILL NOT FUNCTION. Generally indicative of either a hardware or software issues." }, { @@ -35,7 +37,12 @@ { "id": "WarningThermalRunaway", "description": "Warning text shown when the software has disabled the heater as a safety precaution as the temperature reading didn't react as expected." - }, { + }, + { + "id": "WarningTipShorted", + "description": "Warning text shown when the software has detected that the users tip is likely shorted." + }, + { "id": "SettingsCalibrationWarning", "description": "Confirmation message shown before performing an offset calibration. Should warn the user to make sure tip and handle are at the same temperature." }, @@ -50,50 +57,66 @@ { "id": "UVLOWarningString", "maxLen": 8, - "include": ["POW_DC"], + "include": [ + "POW_DC" + ], "description": "Warning text shown when the unit turns off due to undervoltage in simple mode." }, { "id": "UndervoltageString", "maxLen": 15, - "include": ["POW_DC"], + "include": [ + "POW_DC" + ], "description": "Warning text shown when the unit turns off due to undervoltage in advanced mode." }, { "id": "InputVoltageString", "maxLen": 11, "note": "Preferably end with a space", - "include": ["POW_DC"], + "include": [ + "POW_DC" + ], "description": "Prefix text for 'Input Voltage' shown before showing the input voltage reading." }, { "id": "ProfilePreheatString", "maxLen": 9, - "include": ["PROFILE_SUPPORT"], + "include": [ + "PROFILE_SUPPORT" + ], "description": "Shown in profile mode while preheating" }, { "id": "ProfileCooldownString", "maxLen": 9, - "include": ["PROFILE_SUPPORT"], + "include": [ + "PROFILE_SUPPORT" + ], "description": "Shown in profile mode while cooling down" }, { "id": "SleepingSimpleString", "maxLen": 4, - "exclude": ["NO_SLEEP_MODE"], + "exclude": [ + "NO_SLEEP_MODE" + ], "description": "The text shown to indicate the unit is in sleep mode when the advanced view is NOT on." }, { "id": "SleepingAdvancedString", "maxLen": 15, - "exclude": ["NO_SLEEP_MODE"], + "exclude": [ + "NO_SLEEP_MODE" + ], "description": "The text shown to indicate the unit is in sleep mode when the advanced view is turned on." }, { "id": "SleepingTipAdvancedString", "maxLen": 6, - "exclude": ["NO_SLEEP_MODE"], + "exclude": [ + "NO_SLEEP_MODE" + ], "description": "The prefix text shown before tip temperature when the unit is sleeping with advanced view on." }, { @@ -109,11 +132,14 @@ { "id": "TooHotToStartProfileWarning", "default": "Too hot to\nstart profile", - "include": ["PROFILE_SUPPORT"], + "include": [ + "PROFILE_SUPPORT" + ], "description": "Shown when profile mode is started while the device is too hot." } ], - "characters": [{ + "characters": [ + { "id": "SettingRightChar", "len": 1, "description": "Shown for fixed Right-handed display rotation." @@ -187,11 +213,15 @@ "description": "Shown when the locking mode is set to lock all buttons." } ], - "menuGroups": [{ + "menuGroups": [ + { "id": "PowerMenu", "maxLen": 5, "maxLen2": 11, - "include": ["POW_DC", "POW_QC"], + "include": [ + "POW_DC", + "POW_QC" + ], "description": "Menu for settings related to power. Main settings to do with the input voltage." }, { @@ -219,39 +249,50 @@ "description": "Advanced settings. Misc catchall for settings that don't fit anywhere else or settings that require some thought before use." } ], - "menuOptions": [{ + "menuOptions": [ + { "id": "DCInCutoff", "maxLen": 5, "maxLen2": 11, - "include": ["POW_DC"], + "include": [ + "POW_DC" + ], "description": "When the device is powered by a battery, this adjusts the low voltage threshold for when the unit should turn off the heater to protect the battery." }, { "id": "MinVolCell", "maxLen": 4, "maxLen2": 9, - "include": ["POW_DC"], + "include": [ + "POW_DC" + ], "description": "When powered by a battery, this adjusts the minimum voltage per cell before shutdown. (This is multiplied by the cell count.)" }, { "id": "QCMaxVoltage", "maxLen": 8, "maxLen2": 15, - "include": ["POW_QC"], + "include": [ + "POW_QC" + ], "description": "This adjusts the maximum voltage the QC negotiation will adjust to. Does NOT affect USB-PD. Should be set safely based on the current rating of your power supply." }, { "id": "PDNegTimeout", "maxLen": 8, "maxLen2": 15, - "include": ["POW_PD"], + "include": [ + "POW_PD" + ], "description": "How long until firmware stops trying to negotiate for USB-PD and tries QC instead. Longer times may help dodgy / old PD adapters, faster times move onto PD quickly. Units of 100ms. Recommended to keep small values." }, { "id": "PDVpdo", "maxLen": 7, "maxLen2": 15, - "include": ["POW_PD"], + "include": [ + "POW_PD" + ], "description": "Enabled PPS & EPR modes." }, { @@ -288,98 +329,126 @@ "id": "ProfilePhases", "maxLen": 6, "maxLen2": 13, - "include": ["PROFILE_SUPPORT"], + "include": [ + "PROFILE_SUPPORT" + ], "description": "set the number of phases for profile mode." }, { "id": "ProfilePreheatTemp", "maxLen": 4, "maxLen2": 9, - "include": ["PROFILE_SUPPORT"], + "include": [ + "PROFILE_SUPPORT" + ], "description": "Preheat to this temperature at the start of profile mode." }, { "id": "ProfilePreheatSpeed", "maxLen": 5, "maxLen2": 11, - "include": ["PROFILE_SUPPORT"], + "include": [ + "PROFILE_SUPPORT" + ], "description": "How fast the temperature is allowed to rise during the preheat phase at the start of profile mode." }, { "id": "ProfilePhase1Temp", "maxLen": 4, "maxLen2": 9, - "include": ["PROFILE_SUPPORT"], + "include": [ + "PROFILE_SUPPORT" + ], "description": "Target temperature for the end of phase 1 of profile mode." }, { "id": "ProfilePhase1Duration", "maxLen": 4, "maxLen2": 9, - "include": ["PROFILE_SUPPORT"], + "include": [ + "PROFILE_SUPPORT" + ], "description": "Duration of phase 1 of profile mode. The phase might actually take longer if it takes longer to reach the target temperature." }, { "id": "ProfilePhase2Temp", "maxLen": 4, "maxLen2": 9, - "include": ["PROFILE_SUPPORT"], + "include": [ + "PROFILE_SUPPORT" + ], "description": "Target temperature for the end of phase 2 of profile mode." }, { "id": "ProfilePhase2Duration", "maxLen": 4, "maxLen2": 9, - "include": ["PROFILE_SUPPORT"], + "include": [ + "PROFILE_SUPPORT" + ], "description": "Duration of phase 2 of profile mode. The phase might actually take longer if it takes longer to reach the target temperature." }, { "id": "ProfilePhase3Temp", "maxLen": 4, "maxLen2": 9, - "include": ["PROFILE_SUPPORT"], + "include": [ + "PROFILE_SUPPORT" + ], "description": "Target temperature for the end of phase 3 of profile mode." }, { "id": "ProfilePhase3Duration", "maxLen": 4, "maxLen2": 9, - "include": ["PROFILE_SUPPORT"], + "include": [ + "PROFILE_SUPPORT" + ], "description": "Duration of phase 3 of profile mode. The phase might actually take longer if it takes longer to reach the target temperature." }, { "id": "ProfilePhase4Temp", "maxLen": 4, "maxLen2": 9, - "include": ["PROFILE_SUPPORT"], + "include": [ + "PROFILE_SUPPORT" + ], "description": "Target temperature for the end of phase 5 of profile mode." }, { "id": "ProfilePhase4Duration", "maxLen": 4, "maxLen2": 9, - "include": ["PROFILE_SUPPORT"], + "include": [ + "PROFILE_SUPPORT" + ], "description": "Duration of phase 5 of profile mode. The phase might actually take longer if it takes longer to reach the target temperature." }, { "id": "ProfilePhase5Temp", "maxLen": 4, "maxLen2": 9, - "include": ["PROFILE_SUPPORT"], + "include": [ + "PROFILE_SUPPORT" + ], "description": "Target temperature for the end of phase 5 of profile mode." }, { "id": "ProfilePhase5Duration", "maxLen": 4, "maxLen2": 9, - "include": ["PROFILE_SUPPORT"], + "include": [ + "PROFILE_SUPPORT" + ], "description": "Duration of phase 5 of profile mode. The phase might actually take longer if it takes longer to reach the target temperature." }, { "id": "ProfileCooldownSpeed", "maxLen": 5, "maxLen2": 11, - "include": ["PROFILE_SUPPORT"], + "include": [ + "PROFILE_SUPPORT" + ], "description": "How fast the temperature is allowed to drop during the cooldown phase at the end of profile mode." }, { @@ -392,14 +461,18 @@ "id": "SleepTemperature", "maxLen": 4, "maxLen2": 9, - "exclude": ["NO_SLEEP_MODE"], + "exclude": [ + "NO_SLEEP_MODE" + ], "description": "Temperature the device will drop down to while asleep. Typically around halfway between off and soldering temperature." }, { "id": "SleepTimeout", "maxLen": 4, "maxLen2": 9, - "exclude": ["NO_SLEEP_MODE"], + "exclude": [ + "NO_SLEEP_MODE" + ], "description": "How long of a period without movement / button-pressing is required before the device drops down to the sleep temperature." }, { @@ -412,7 +485,9 @@ "id": "HallEffSensitivity", "maxLen": 6, "maxLen2": 13, - "include": ["HALL_SENSOR"], + "include": [ + "HALL_SENSOR" + ], "description": "If the unit has a hall effect sensor (Pinecil), this adjusts how sensitive it is at detecting a magnet to put the device into sleep mode." }, { @@ -425,7 +500,9 @@ "id": "DisplayRotation", "maxLen": 6, "maxLen2": 13, - "exclude": ["NO_DISPLAY_ROTATE"], + "exclude": [ + "NO_DISPLAY_ROTATE" + ], "description": "If the display should rotate automatically or if it should be fixed for left- or right-handed mode." }, { @@ -492,7 +569,9 @@ "id": "BluetoothLE", "maxLen": 7, "maxLen2": 15, - "include": ["BLE_ENABLED"], + "include": [ + "BLE_ENABLED" + ], "description": "Should BLE be enabled at boot time." }, { @@ -544,4 +623,4 @@ "description": "Changes the device language on multi-lingual builds." } ] -} +}
\ No newline at end of file diff --git a/source/Core/BSP/BSP.h b/source/Core/BSP/BSP.h index 3874ec53..626989fe 100644 --- a/source/Core/BSP/BSP.h +++ b/source/Core/BSP/BSP.h @@ -102,6 +102,8 @@ void setBuzzer(bool on); uint8_t preStartChecks();
uint8_t preStartChecksDone();
+// Check if the tip or output mosfet is shorted (if possible)
+bool isTipShorted();
// Show the boot logo
void showBootLogo(void);
#ifdef __cplusplus
diff --git a/source/Core/BSP/MHP30/Power.cpp b/source/Core/BSP/MHP30/Power.cpp index 827fac6c..83c95c62 100644 --- a/source/Core/BSP/MHP30/Power.cpp +++ b/source/Core/BSP/MHP30/Power.cpp @@ -18,4 +18,5 @@ void power_check() { bool getIsPoweredByDCIN() { return false; } -uint8_t getTipResistanceX10() { return TIP_RESISTANCE; }
\ No newline at end of file +uint8_t getTipResistanceX10() { return TIP_RESISTANCE; } +bool isTipShorted() { return false; }
\ No newline at end of file diff --git a/source/Core/BSP/Miniware/BSP.cpp b/source/Core/BSP/Miniware/BSP.cpp index ef2e67c7..f7e2053b 100644 --- a/source/Core/BSP/Miniware/BSP.cpp +++ b/source/Core/BSP/Miniware/BSP.cpp @@ -285,6 +285,7 @@ void performTipResistanceSampleReading() { tipResistanceReadingSlot++;
}
+bool tipShorted = false;
void FinishMeasureTipResistance() {
// Otherwise we now have the 4 samples;
@@ -304,6 +305,8 @@ void FinishMeasureTipResistance() { // return; // Change nothing as probably disconnected tip
tipResistanceReadingSlot = lastTipResistance = 0;
return;
+ } else if (reading < 200) {
+ tipShorted = true;
} else if (reading < 800) {
newRes = 62;
} else {
@@ -373,7 +376,7 @@ uint64_t getDeviceID() { uint8_t preStartChecksDone() {
#ifdef TIP_RESISTANCE_SENSE_Pin
- return (lastTipResistance == 0 || tipResistanceReadingSlot < numTipResistanceReadings || tipMeasurementOccuring) ? 0 : 1;
+ return (lastTipResistance == 0 || tipResistanceReadingSlot < numTipResistanceReadings || tipMeasurementOccuring || tipShorted) ? 0 : 1;
#else
return 1;
#endif
@@ -388,7 +391,11 @@ uint8_t getTipResistanceX10() { return TIP_RESISTANCE;
#endif
}
-
+#ifdef TIP_RESISTANCE_SENSE_Pin
+bool isTipShorted() { return tipShorted; }
+#else
+bool isTipShorted() { return false; }
+#endif
uint8_t getTipThermalMass() {
#ifdef TIP_RESISTANCE_SENSE_Pin
if (lastTipResistance >= 80) {
diff --git a/source/Core/BSP/Pinecil/BSP.cpp b/source/Core/BSP/Pinecil/BSP.cpp index dd8c7787..1c7a3888 100644 --- a/source/Core/BSP/Pinecil/BSP.cpp +++ b/source/Core/BSP/Pinecil/BSP.cpp @@ -94,7 +94,7 @@ uint8_t preStartChecks() { return 1; } uint64_t getDeviceID() { return dbg_id_get(); }
uint8_t getTipResistanceX10() { return TIP_RESISTANCE; }
-
+bool isTipShorted() { return false; }
uint8_t preStartChecksDone() { return 1; }
uint8_t getTipThermalMass() { return TIP_THERMAL_MASS; }
diff --git a/source/Core/BSP/Pinecilv2/BSP.cpp b/source/Core/BSP/Pinecilv2/BSP.cpp index 75255ac8..35809866 100644 --- a/source/Core/BSP/Pinecilv2/BSP.cpp +++ b/source/Core/BSP/Pinecilv2/BSP.cpp @@ -189,7 +189,7 @@ void performTipResistanceSampleReading() { gpio_write(TIP_RESISTANCE_SENSE, tipResistanceReadingSlot == 0);
tipResistanceReadingSlot++;
}
-
+bool tipShorted = false;
void FinishMeasureTipResistance() {
// Otherwise we now have the 4 samples;
@@ -208,6 +208,8 @@ void FinishMeasureTipResistance() { uint8_t newRes = 0;
if (reading > 8000) {
// return; // Change nothing as probably disconnected tip
+ } else if (reading < 500) {
+ tipShorted = true;
} else if (reading < 4000) {
newRes = 62;
} else {
@@ -217,8 +219,8 @@ void FinishMeasureTipResistance() { }
volatile bool tipMeasurementOccuring = true;
volatile TickType_t nextTipMeasurement = 100;
-
-void performTipMeasurementStep() {
+bool isTipShorted() { return tipShorted; }
+void performTipMeasurementStep() {
// Wait 100ms for settle time
if (xTaskGetTickCount() < (nextTipMeasurement)) {
@@ -240,7 +242,8 @@ uint8_t preStartChecks() { performTipMeasurementStep();
return preStartChecksDone();
}
-uint8_t preStartChecksDone() { return (lastTipResistance == 0 || tipResistanceReadingSlot < numTipResistanceReadings || tipMeasurementOccuring) ? 0 : 1; }
+// If we are still measuring the tip; or tip is shorted; prevent heating
+uint8_t preStartChecksDone() { return (lastTipResistance == 0 || tipResistanceReadingSlot < numTipResistanceReadings || tipMeasurementOccuring || tipShorted) ? 0 : 1; }
// Return hardware unique ID if possible
uint64_t getDeviceID() {
diff --git a/source/Core/BSP/Sequre_S60/BSP.cpp b/source/Core/BSP/Sequre_S60/BSP.cpp index f0991fcc..25ad176e 100644 --- a/source/Core/BSP/Sequre_S60/BSP.cpp +++ b/source/Core/BSP/Sequre_S60/BSP.cpp @@ -231,7 +231,7 @@ uint64_t getDeviceID() { }
uint8_t getTipResistanceX10() { return TIP_RESISTANCE; }
-
+bool isTipShorted() { return false; }
uint8_t preStartChecksDone() { return 1; }
uint8_t getTipThermalMass() { return TIP_THERMAL_MASS; }
diff --git a/source/Core/Inc/Translation.h b/source/Core/Inc/Translation.h index 45632eda..f2b84ffa 100644 --- a/source/Core/Inc/Translation.h +++ b/source/Core/Inc/Translation.h @@ -116,6 +116,7 @@ struct TranslationIndexTable { uint16_t UnlockingKeysString;
uint16_t WarningKeysLockedString;
uint16_t WarningThermalRunaway;
+ uint16_t WarningTipShorted;
uint16_t SettingsCalibrationWarning;
uint16_t CJCCalibrating;
diff --git a/source/Core/Inc/settingsGUI.hpp b/source/Core/Inc/settingsGUI.hpp index f0c25297..f1d90852 100644 --- a/source/Core/Inc/settingsGUI.hpp +++ b/source/Core/Inc/settingsGUI.hpp @@ -8,9 +8,11 @@ #ifndef GUI_HPP_
#define GUI_HPP_
#include "BSP.h"
+#include "FreeRTOS.h"
#include "Settings.h"
#include "Translation.h"
+
#define PRESS_ACCEL_STEP (TICKS_100MS / 3)
#define PRESS_ACCEL_INTERVAL_MIN TICKS_100MS
#define PRESS_ACCEL_INTERVAL_MAX (TICKS_100MS * 3)
@@ -35,7 +37,7 @@ typedef struct { } menuitem;
void enterSettingsMenu();
-void warnUser(const char *warning, const int timeout);
+void warnUser(const char *warning, const TickType_t timeout);
extern const menuitem rootSettingsMenu[];
#endif /* GUI_HPP_ */
diff --git a/source/Core/Threads/OperatingModes/ShowStartupWarnings.cpp b/source/Core/Threads/OperatingModes/ShowStartupWarnings.cpp index 8c8b6dd1..62ed5d0e 100644 --- a/source/Core/Threads/OperatingModes/ShowStartupWarnings.cpp +++ b/source/Core/Threads/OperatingModes/ShowStartupWarnings.cpp @@ -48,5 +48,9 @@ void showWarnings(void) { } } #endif /*POW_PD_EXT==1*/ + // If tip looks to be shorted, yell at user and dont auto dismiss + if (isTipShorted()) { + warnUser(translatedString(Tr->WarningTipShorted), portMAX_DELAY); + } #endif /*NO_WARN_MISSING*/ } diff --git a/source/Core/Threads/OperatingModes/utils/OperatingModeUtilities.h b/source/Core/Threads/OperatingModes/utils/OperatingModeUtilities.h index 4484ee0c..ab3f36f9 100644 --- a/source/Core/Threads/OperatingModes/utils/OperatingModeUtilities.h +++ b/source/Core/Threads/OperatingModes/utils/OperatingModeUtilities.h @@ -3,16 +3,16 @@ #include "OLED.hpp" #include <stdbool.h> -void GUIDelay(); // -bool checkForUnderVoltage(void); // -uint32_t getSleepTimeout(void); // -bool shouldBeSleeping(bool inAutoStart); // -bool shouldShutdown(void); // -void gui_drawTipTemp(bool symbol, const FontStyle font); // -void printVoltage(void); // -void warnUser(const char *warning, const int timeout); // -void gui_drawBatteryIcon(void); // -bool checkForUnderVoltage(void); // -uint16_t min(uint16_t a, uint16_t b); // -void printCountdownUntilSleep(int sleepThres); // +void GUIDelay(); // +bool checkForUnderVoltage(void); // +uint32_t getSleepTimeout(void); // +bool shouldBeSleeping(bool inAutoStart); // +bool shouldShutdown(void); // +void gui_drawTipTemp(bool symbol, const FontStyle font); // +void printVoltage(void); // +void warnUser(const char *warning, const TickType_t timeout); // +void gui_drawBatteryIcon(void); // +bool checkForUnderVoltage(void); // +uint16_t min(uint16_t a, uint16_t b); // +void printCountdownUntilSleep(int sleepThres); // #endif
\ No newline at end of file diff --git a/source/Core/Threads/OperatingModes/utils/ShowWarning.cpp b/source/Core/Threads/OperatingModes/utils/ShowWarning.cpp index 58370cb7..fcd2972e 100644 --- a/source/Core/Threads/OperatingModes/utils/ShowWarning.cpp +++ b/source/Core/Threads/OperatingModes/utils/ShowWarning.cpp @@ -1,6 +1,6 @@ #include "Buttons.hpp" #include "OperatingModeUtilities.h" -void warnUser(const char *warning, const int timeout) { +void warnUser(const char *warning, const TickType_t timeout) { OLED::clearScreen(); OLED::printWholeScreen(warning); OLED::refresh(); |