aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
author= <=>2024-08-30 07:30:49 +1000
committerBen V. Brown <[email protected]>2024-09-22 18:38:24 +1000
commit59630d5abdd0a1ca0786a9e4ffa87984d113ccc1 (patch)
tree0e06b03fd877f3f73342bc1f6547ba3761e611c3
parent2e687a6400792ac6f804f5dcd2c239858123eab3 (diff)
downloadIronOS-59630d5abdd0a1ca0786a9e4ffa87984d113ccc1.tar.gz
IronOS-59630d5abdd0a1ca0786a9e4ffa87984d113ccc1.zip
Draft tip selection menu
-rw-r--r--Translations/translation_BE.json4
-rw-r--r--Translations/translation_BG.json4
-rw-r--r--Translations/translation_CS.json4
-rw-r--r--Translations/translation_DA.json4
-rw-r--r--Translations/translation_DE.json4
-rw-r--r--Translations/translation_EL.json4
-rw-r--r--Translations/translation_EN.json22
-rw-r--r--Translations/translation_ES.json4
-rw-r--r--Translations/translation_ET.json4
-rw-r--r--Translations/translation_FI.json4
-rw-r--r--Translations/translation_FR.json4
-rw-r--r--Translations/translation_HR.json4
-rw-r--r--Translations/translation_HU.json4
-rw-r--r--Translations/translation_IT.json4
-rw-r--r--Translations/translation_JA_JP.json4
-rw-r--r--Translations/translation_LT.json4
-rw-r--r--Translations/translation_NB.json4
-rw-r--r--Translations/translation_NL.json4
-rw-r--r--Translations/translation_NL_BE.json4
-rw-r--r--Translations/translation_PL.json4
-rw-r--r--Translations/translation_PT.json4
-rw-r--r--Translations/translation_RO.json4
-rw-r--r--Translations/translation_RU.json4
-rw-r--r--Translations/translation_SK.json4
-rw-r--r--Translations/translation_SL.json4
-rw-r--r--Translations/translation_SR_CYRL.json4
-rw-r--r--Translations/translation_SR_LATN.json4
-rw-r--r--Translations/translation_SV.json4
-rw-r--r--Translations/translation_TR.json4
-rw-r--r--Translations/translation_UK.json4
-rw-r--r--Translations/translation_VI.json4
-rw-r--r--Translations/translation_YUE_HK.json4
-rw-r--r--Translations/translation_ZH_CN.json4
-rw-r--r--Translations/translation_ZH_TW.json4
-rw-r--r--Translations/translations_definitions.json173
-rw-r--r--source/Core/Inc/Settings.h38
-rw-r--r--source/Core/Inc/Translation.h7
-rw-r--r--source/Core/Src/Settings.cpp21
-rw-r--r--source/Core/Src/settingsGUI.cpp15
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)) {