diff options
author | = <=> | 2024-08-30 07:30:49 +1000 |
---|---|---|
committer | Ben V. Brown <[email protected]> | 2024-09-22 18:38:24 +1000 |
commit | 59630d5abdd0a1ca0786a9e4ffa87984d113ccc1 (patch) | |
tree | 0e06b03fd877f3f73342bc1f6547ba3761e611c3 | |
parent | 2e687a6400792ac6f804f5dcd2c239858123eab3 (diff) | |
download | IronOS-59630d5abdd0a1ca0786a9e4ffa87984d113ccc1.tar.gz IronOS-59630d5abdd0a1ca0786a9e4ffa87984d113ccc1.zip |
Draft tip selection menu
39 files changed, 365 insertions, 43 deletions
diff --git a/Translations/translation_BE.json b/Translations/translation_BE.json index eb98c804..b424b0da 100644 --- a/Translations/translation_BE.json +++ b/Translations/translation_BE.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Мова:\n BY Беларуская", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_BG.json b/Translations/translation_BG.json index 3599d232..af53c574 100644 --- a/Translations/translation_BG.json +++ b/Translations/translation_BG.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Език:\n BG Български", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_CS.json b/Translations/translation_CS.json index 31a1a004..35f8a245 100644 --- a/Translations/translation_CS.json +++ b/Translations/translation_CS.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Jazyk:\n CS Český", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_DA.json b/Translations/translation_DA.json index 024ff5a0..8fc78ca8 100644 --- a/Translations/translation_DA.json +++ b/Translations/translation_DA.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Sprog:\n DA Dansk", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_DE.json b/Translations/translation_DE.json index 5f1092cc..8cf534a9 100644 --- a/Translations/translation_DE.json +++ b/Translations/translation_DE.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Sprache:\n DE Deutsch", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_EL.json b/Translations/translation_EL.json index 31601626..e47bc204 100644 --- a/Translations/translation_EL.json +++ b/Translations/translation_EL.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Γλώσσα:\n EL Ελληνικά", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_EN.json b/Translations/translation_EN.json index bbf0c0a3..16a968b3 100644 --- a/Translations/translation_EN.json +++ b/Translations/translation_EN.json @@ -114,6 +114,24 @@ }, "USBPDModeSafe": { "displayText": "Safe\nMode" + }, + "TipTypeAuto": { + "displayText": "Auto" + }, + "TipTypeT12Long": { + "displayText": "TS100\nLong" + }, + "TipTypeT12Short": { + "displayText": "TS100\nShort" + }, + "TipTypeT12PTS": { + "displayText": "TS100\nPTS" + }, + "TipTypeTS80": { + "displayText": "TS80\n" + }, + "TipTypeJBC": { + "displayText": "JBC\n" } }, "menuOptions": { @@ -320,6 +338,10 @@ "LanguageSwitch": { "displayText": "Language:\n EN English", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_ES.json b/Translations/translation_ES.json index 9ada4245..c2a20a71 100644 --- a/Translations/translation_ES.json +++ b/Translations/translation_ES.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Idioma:\n ES Castellano", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_ET.json b/Translations/translation_ET.json index ef395ac0..c8227d36 100644 --- a/Translations/translation_ET.json +++ b/Translations/translation_ET.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Keel:\n ET Eesti", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_FI.json b/Translations/translation_FI.json index f73cdc95..d99bff41 100644 --- a/Translations/translation_FI.json +++ b/Translations/translation_FI.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Kieli:\n FI Suomi", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_FR.json b/Translations/translation_FR.json index 9877807c..e28c6e3a 100644 --- a/Translations/translation_FR.json +++ b/Translations/translation_FR.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Langue:\n FR Français", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_HR.json b/Translations/translation_HR.json index ab0a7882..a2edb416 100644 --- a/Translations/translation_HR.json +++ b/Translations/translation_HR.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Jezik:\n HR Hrvatski", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_HU.json b/Translations/translation_HU.json index ccf6230e..ef5cdea9 100644 --- a/Translations/translation_HU.json +++ b/Translations/translation_HU.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Nyelv:\n HU Magyar", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_IT.json b/Translations/translation_IT.json index 8f17a506..dd84e34c 100644 --- a/Translations/translation_IT.json +++ b/Translations/translation_IT.json @@ -320,6 +320,10 @@ "LanguageSwitch": { "displayText": "Lingua:\n IT Italiano", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_JA_JP.json b/Translations/translation_JA_JP.json index 836b152a..f8c096d8 100644 --- a/Translations/translation_JA_JP.json +++ b/Translations/translation_JA_JP.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "言語: 日本語", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_LT.json b/Translations/translation_LT.json index eecb2d41..137ff836 100644 --- a/Translations/translation_LT.json +++ b/Translations/translation_LT.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Kalba:\n LT Lietuvių", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_NB.json b/Translations/translation_NB.json index 18578803..ae6f2a9a 100644 --- a/Translations/translation_NB.json +++ b/Translations/translation_NB.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Språk:\n NB Norsk bm", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_NL.json b/Translations/translation_NL.json index f35ad386..6da33e1d 100644 --- a/Translations/translation_NL.json +++ b/Translations/translation_NL.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Taal:\n NL Nederlands", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_NL_BE.json b/Translations/translation_NL_BE.json index 573fd2bb..0f15484a 100644 --- a/Translations/translation_NL_BE.json +++ b/Translations/translation_NL_BE.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Spraak:\n NL_BE Vlaams", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_PL.json b/Translations/translation_PL.json index cdc3fb20..8bf81a95 100644 --- a/Translations/translation_PL.json +++ b/Translations/translation_PL.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Język:\n PL Polski", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_PT.json b/Translations/translation_PT.json index 92d96af2..08f486f5 100644 --- a/Translations/translation_PT.json +++ b/Translations/translation_PT.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Idioma:\n PT Português", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_RO.json b/Translations/translation_RO.json index 10e7c3e3..f0543bad 100644 --- a/Translations/translation_RO.json +++ b/Translations/translation_RO.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Limbă:\n RO Română", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_RU.json b/Translations/translation_RU.json index 84ac4be2..64f985fd 100644 --- a/Translations/translation_RU.json +++ b/Translations/translation_RU.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Язык:\n RU Русский", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_SK.json b/Translations/translation_SK.json index 0f77f9c1..c6d0ff40 100644 --- a/Translations/translation_SK.json +++ b/Translations/translation_SK.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Jazyk:\n SK Slovenčina", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_SL.json b/Translations/translation_SL.json index ede853a9..3f942172 100644 --- a/Translations/translation_SL.json +++ b/Translations/translation_SL.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Jezik:\n SL Slovenščina", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_SR_CYRL.json b/Translations/translation_SR_CYRL.json index e42e223b..a5467209 100644 --- a/Translations/translation_SR_CYRL.json +++ b/Translations/translation_SR_CYRL.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Jезик:\n SR Српски", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_SR_LATN.json b/Translations/translation_SR_LATN.json index b9e673e6..4abc2d11 100644 --- a/Translations/translation_SR_LATN.json +++ b/Translations/translation_SR_LATN.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Jezik:\n SR Srpski", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_SV.json b/Translations/translation_SV.json index d64ee4a7..fd9b0796 100644 --- a/Translations/translation_SV.json +++ b/Translations/translation_SV.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Språk:\n SV Svenska", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_TR.json b/Translations/translation_TR.json index ebfbe4d3..e8d82384 100644 --- a/Translations/translation_TR.json +++ b/Translations/translation_TR.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Dil:\n TR Türkçe", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_UK.json b/Translations/translation_UK.json index 3f447e50..8ecd6c0c 100644 --- a/Translations/translation_UK.json +++ b/Translations/translation_UK.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Мова:\n UK Українська", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_VI.json b/Translations/translation_VI.json index 7c9ff9fa..bc1d6efd 100644 --- a/Translations/translation_VI.json +++ b/Translations/translation_VI.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "Ngôn ngu:\n VI Tieng Viet", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_YUE_HK.json b/Translations/translation_YUE_HK.json index b6254360..91cde298 100644 --- a/Translations/translation_YUE_HK.json +++ b/Translations/translation_YUE_HK.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "語言: 廣東話", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_ZH_CN.json b/Translations/translation_ZH_CN.json index f4c5e241..fb402881 100644 --- a/Translations/translation_ZH_CN.json +++ b/Translations/translation_ZH_CN.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "语言:简体中文", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translation_ZH_TW.json b/Translations/translation_ZH_TW.json index 3535d5d3..d74052ca 100644 --- a/Translations/translation_ZH_TW.json +++ b/Translations/translation_ZH_TW.json @@ -318,6 +318,10 @@ "LanguageSwitch": { "displayText": "語言:正體中文", "description": "" + }, + "SolderingTipType": { + "displayText": "Soldering\nTip Type", + "description": "Select the tip type fitted" } } } diff --git a/Translations/translations_definitions.json b/Translations/translations_definitions.json index 5cfe4302..96ad0c50 100644 --- a/Translations/translations_definitions.json +++ b/Translations/translations_definitions.json @@ -18,7 +18,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." }, { @@ -56,44 +58,58 @@ { "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": "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." }, { @@ -104,7 +120,9 @@ { "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." } ], @@ -172,7 +190,10 @@ "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." }, { @@ -212,6 +233,30 @@ { "id": "USBPDModeSafe", "description": "When in this mode we enable all PD features, but we don't pad resistance slightly to account for cable and PCB trace loss" + }, + { + "id": "TipTypeAuto", + "description": "This is for automatic best-effort tip selection based on resistance" + }, + { + "id": "TipTypeT12Long", + "description": "Hakko T12 or older (long) TS100 tips" + }, + { + "id": "TipTypeT12Short", + "description": "Pine 6.2 ohm short TS100 style tips" + }, + { + "id": "TipTypeT12PTS", + "description": "PTS200 4 ohm short TS100 style tips" + }, + { + "id": "TipTypeTS80", + "description": "Miniware TS80(P) tips" + }, + { + "id": "TipTypeJBC", + "description": "JBC (or clone) tips" } ], "menuOptions": [ @@ -219,35 +264,45 @@ "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": "USBPDMode", "maxLen": 7, "maxLen2": 15, - "include": ["POW_PD"], + "include": [ + "POW_PD" + ], "description": "No Dynamic disables EPR & PPS, Safe mode does not use padding resistance" }, { @@ -284,98 +339,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." }, { @@ -388,14 +471,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." }, { @@ -408,14 +495,18 @@ "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." }, { "id": "HallEffSleepTimeout", "maxLen": 10, "maxLen2": 10, - "include": ["HALL_SENSOR"], + "include": [ + "HALL_SENSOR" + ], "description": "If the unit has a hall effect sensor (Pinecil), this adjusts how long the device takes before it drops down to the sleep temperature when hall sensor is over threshold." }, { @@ -428,7 +519,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." }, { @@ -495,7 +588,9 @@ "id": "BluetoothLE", "maxLen": 7, "maxLen2": 15, - "include": ["BLE_ENABLED"], + "include": [ + "BLE_ENABLED" + ], "description": "Should BLE be enabled at boot time." }, { @@ -545,6 +640,12 @@ "maxLen": 7, "maxLen2": 15, "description": "Changes the device language on multi-lingual builds." + }, + { + "id": "SolderingTipType", + "maxLen": 7, + "maxLen2": 15, + "description": "For manually selecting the type of tip fitted" } ] -} +}
\ No newline at end of file diff --git a/source/Core/Inc/Settings.h b/source/Core/Inc/Settings.h index 44d9a1ff..522b1919 100644 --- a/source/Core/Inc/Settings.h +++ b/source/Core/Inc/Settings.h @@ -7,8 +7,8 @@ * Houses the system settings and allows saving / restoring from flash */ -#ifndef SETTINGS_H_ -#define SETTINGS_H_ +#ifndef CORE_SETTINGS_H_ +#define CORE_SETTINGS_H_ #include <stdbool.h> #include <stdint.h> @@ -74,8 +74,9 @@ enum SettingsOptions { ProfilePhase5Duration = 51, // Target duration for phase 5 ProfileCooldownSpeed = 52, // Maximum allowed cooldown speed in degrees per second HallEffectSleepTime = 53, // Seconds (/5) timeout to sleep when hall effect over threshold + SolderingTipType = 54, // Selecting the type of soldering tip fitted // - SettingsOptionsLength = 54, // + SettingsOptionsLength = 55, // End marker }; typedef enum { @@ -117,6 +118,31 @@ typedef enum { FULL = 2, // Locking buttons for Boost mode AND for Soldering mode } lockingMode_t; +/* Selection of the soldering tip + * Some devices allow multiple types of tips to be fitted, this allows selecting them or overriding the logic + * The first type will be the default (gets value of 0) +*/ +typedef enum { + #ifdef AUTO_TIP_SELECTION + AUTO, // If the hardware supports automatic detection +#endif + + #ifdef TIPTYPE_T12 + T12_8_OHM, // TS100 style tips or Hakko T12 tips with adaptors + T12_6_2_OHM, // Short Tips manufactured by Pine64 + T12_4_OHM, // Longer tip but low resistance for PTS200 + #endif + #ifdef TIPTYE_TS80 + TS80_4_5_OHM, // TS80(P) default tips + // We do not know of other tuning tips (?yet?) + #endif + #ifdef TIPTYPE_JBC + JBC_2_5_OHM, // Small JBC tips as used in the S60 + #endif + TIP_TYPE_MAX, // Max value marker +} tipType_t; + + // Settings wide operations void saveSettings(); bool loadSettings(); @@ -129,11 +155,11 @@ uint16_t getSettingValue(const enum SettingsOptions option); void nextSettingValue(const enum SettingsOptions option); void prevSettingValue(const enum SettingsOptions option); bool isLastSettingValue(const enum SettingsOptions option); - +// For setting values to settings void setSettingValue(const enum SettingsOptions option, const uint16_t newValue); -// Special access +// Special access helpers, to reduce logic duplication uint8_t lookupVoltageLevel(); uint16_t lookupHallEffectThreshold(); - +const char* lookupTipName(); // Get the name string for the current soldering tip #endif /* SETTINGS_H_ */ diff --git a/source/Core/Inc/Translation.h b/source/Core/Inc/Translation.h index 92185f67..843a2776 100644 --- a/source/Core/Inc/Translation.h +++ b/source/Core/Inc/Translation.h @@ -106,6 +106,7 @@ enum class SettingsItemIndex : uint8_t { PowerPulseDuration,
SettingsReset,
LanguageSwitch,
+ SolderingTipType,
NUM_ITEMS,
};
@@ -149,6 +150,12 @@ struct TranslationIndexTable { uint16_t USBPDModeDefault;
uint16_t USBPDModeNoDynamic;
uint16_t USBPDModeSafe;
+ uint16_t TipTypeAuto;
+ uint16_t TipTypeT12Long;
+ uint16_t TipTypeT12Short;
+ uint16_t TipTypeT12PTS;
+ uint16_t TipTypeTS80;
+ uint16_t TipTypeJBC;
uint16_t SettingsDescriptions[static_cast<uint32_t>(SettingsItemIndex::NUM_ITEMS)];
uint16_t SettingsShortNames[static_cast<uint32_t>(SettingsItemIndex::NUM_ITEMS)];
diff --git a/source/Core/Src/Settings.cpp b/source/Core/Src/Settings.cpp index 1a4e3729..e4b56ed9 100644 --- a/source/Core/Src/Settings.cpp +++ b/source/Core/Src/Settings.cpp @@ -16,6 +16,10 @@ #include <string.h> // for memset bool sanitiseSettings(); +/* + * Used to constrain the QC 3.0 Voltage selection to suit hardware. + * We allow a little overvoltage for users who want to push it + */ #ifdef POW_QC_20V #define QC_VOLTAGE_MAX 220 #else @@ -105,6 +109,7 @@ static const SettingConstants settingsConstants[(int)SettingsOptions::SettingsOp { 10, 180, 5, 30}, // ProfilePhase5Duration { 1, 10, 1, 2}, // ProfileCooldownSpeed { 0, 12, 1, 0}, // HallEffectSleepTime + { 0, tipType_t::TIP_TYPE_MAX, 1, 0}, // SolderingTipType }; static_assert((sizeof(settingsConstants) / sizeof(SettingConstants)) == ((int)SettingsOptions::SettingsOptionsLength)); @@ -292,3 +297,19 @@ uint8_t lookupVoltageLevel() { return (minVoltageOnCell * minVoltageCellCount) + (minVoltageCellCount * 2); } } + +const char *lookupTipName() { + // Get the name string for the current soldering tip + tipType_t value = (tipType_t)getSettingValue(SettingsOptions::SolderingTipType); + + switch (value) { +#ifdef AUTO_TIP_SELECTION + case tipType_t::AUTO: + return translatedString(Tr->USBPDModeDefault); + break; +#endif + default: + return nullptr; + break; + } +}
\ No newline at end of file diff --git a/source/Core/Src/settingsGUI.cpp b/source/Core/Src/settingsGUI.cpp index c21071a5..e77e5f77 100644 --- a/source/Core/Src/settingsGUI.cpp +++ b/source/Core/Src/settingsGUI.cpp @@ -115,6 +115,10 @@ static void displayHallEffectSleepTime(void); static bool showHallEffect(void); #endif /* HALL_SENSOR */ +// Tip type selection +static void displaySolderingTipType(void); +static bool showSolderingTipType(void); + // Menu functions #if defined(POW_DC) || defined(POW_QC) || defined(POW_PD) @@ -137,6 +141,7 @@ static void displayAdvancedMenu(void); * USBPDMode * * Soldering + * Tip Type selection * Boost Mode Temp * Auto Start * Temp Change Short Step @@ -262,6 +267,7 @@ const menuitem powerMenu[] = { const menuitem solderingMenu[] = { /* + * Tip Type * Boost Mode Temp * Auto Start * Temp Change Short Step @@ -282,6 +288,8 @@ const menuitem solderingMenu[] = { * Profile Phase 5 Duration (s) * Profile Cooldown Max Temperature Change Per Second */ + /* Tip Type */ + {SETTINGS_DESC(SettingsItemIndex::SolderingTipType), nullptr, displaySolderingTipType, showSolderingTipType, SettingsOptions::SolderingTipType, SettingsItemIndex::SolderingTipType, 5}, /* Boost Temp */ {SETTINGS_DESC(SettingsItemIndex::BoostTemperature), setBoostTemp, displayBoostTemp, nullptr, SettingsOptions::BoostTemp, SettingsItemIndex::BoostTemperature, 5}, /* Auto start */ @@ -755,7 +763,12 @@ static void displayHallEffectSleepTime(void) { } } #endif /* HALL_SENSOR */ - +static void displaySolderingTipType(void) { + // TODO wrapping X value + OLED::print(lookupTipName(), FontStyle::SMALL); +} +// If there is no detection, and no options, max is 0 +static bool showSolderingTipType(void) { return tipType_t::TIP_TYPE_MAX != 0; } static void setTempF(const enum SettingsOptions option) { uint16_t Temp = getSettingValue(option); if (getSettingValue(SettingsOptions::TemperatureInF)) { |