Merge branch 'master' into pinecil

This commit is contained in:
Ben V. Brown
2020-11-01 14:16:00 +11:00
34 changed files with 1935 additions and 1297 deletions

View File

@@ -23,7 +23,10 @@
"OffString": "Изкл.",
"ResetOKMessage": "Нулиране завършено",
"YourGainMessage": "Усилване:",
"SettingsResetMessage": "Настройките бяха\nнулирани!"
"SettingsResetMessage": "Настройките бяха\nнулирани!",
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "R",
@@ -38,7 +41,10 @@
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh":"H"
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
},
"menuGroups": {
"SolderingMenu": {
@@ -259,6 +265,13 @@
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
}
}
}

17
Translation Editor/translation_cs.json Executable file → Normal file
View File

@@ -23,7 +23,10 @@
"OffString": "Vyp",
"ResetOKMessage": "Reset OK",
"YourGainMessage": "Zisk:",
"SettingsResetMessage": "Tov. nas. obnov."
"SettingsResetMessage": "Tov. nas. obnov.",
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "P",
@@ -38,7 +41,10 @@
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh":"H"
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
},
"menuGroups": {
"SolderingMenu": {
@@ -259,6 +265,13 @@
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
}
}
}

View File

@@ -21,7 +21,12 @@
"TipDisconnectedString": "TIP DISCONNECTED",
"SolderingAdvancedPowerPrompt": "Power: ",
"OffString": "Off",
"ResetOKMessage": "Reset OK"
"ResetOKMessage": "Reset OK",
"YourGainMessage": "Your gain:",
"SettingsResetMessage": "Settings were\nreset!",
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "H",
@@ -36,7 +41,10 @@
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh":"H"
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
},
"menuGroups": {
"SolderingMenu": {
@@ -257,6 +265,13 @@
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
}
}
}

View File

@@ -24,7 +24,10 @@
"OffString": "Aus",
"ResetOKMessage": "Reset OK",
"YourGainMessage": "Your Gain:",
"SettingsResetMessage": "Einstellungen\nzurück gesetzt!"
"SettingsResetMessage": "Einstellungen\nzurück gesetzt!",
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "R",
@@ -39,7 +42,10 @@
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh":"H"
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
},
"menuGroups": {
"SolderingMenu": {
@@ -232,8 +238,7 @@
"Taste kurz?"
],
"desc": "Temperaturwechselschritte bei kurzem Tastendruck!"
}
,
},
"TempChangeLongStep": {
"text2": [
"T. Schritt",
@@ -261,6 +266,13 @@
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
}
}
}

View File

@@ -24,7 +24,10 @@
"OffString": "Off",
"ResetOKMessage": "Reset OK",
"YourGainMessage": "Your gain:",
"SettingsResetMessage": "Settings were\nreset!"
"SettingsResetMessage": "Settings were\nreset!",
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "R",
@@ -39,7 +42,10 @@
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh":"H"
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
},
"menuGroups": {
"SolderingMenu": {
@@ -260,6 +266,13 @@
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
}
}
}

View File

@@ -23,7 +23,10 @@
"OffString": " No",
"ResetOKMessage": "Hecho. ",
"YourGainMessage": "Gananc.:",
"SettingsResetMessage": "Ajustes borrados"
"SettingsResetMessage": "Ajustes borrados",
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "D",
@@ -38,7 +41,10 @@
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh":"H"
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
},
"menuGroups": {
"SolderingMenu": {
@@ -259,6 +265,13 @@
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
}
}
}

View File

@@ -21,7 +21,12 @@
"TipDisconnectedString": "KÄRKI ON IRTI",
"SolderingAdvancedPowerPrompt": "Teho: ",
"OffString": "OFF",
"ResetOKMessage": "Reset OK"
"ResetOKMessage": "Reset OK",
"YourGainMessage": "Your gain:",
"SettingsResetMessage": "Settings were\nreset!",
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "O",
@@ -36,7 +41,10 @@
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh":"H"
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
},
"menuGroups": {
"SolderingMenu": {
@@ -257,6 +265,13 @@
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
}
}
}

View File

@@ -16,12 +16,17 @@
"WarningSimpleString": "CHAUD!",
"WarningAdvancedString": "ATTENTION! CHAUD!",
"SleepingTipAdvancedString": "Panne:",
"IdleTipString": "Tip:",
"IdleSetString": " Set:",
"IdleTipString": "Act:",
"IdleSetString": " Reg:",
"TipDisconnectedString": "PANNE DÉBRANCHÉE",
"SolderingAdvancedPowerPrompt": "Puissance: ",
"OffString": "Off",
"ResetOKMessage": "Reset OK"
"ResetOKMessage": "Reset OK",
"YourGainMessage": "Gain:",
"SettingsResetMessage": "Réglage réinit.!",
"LockingKeysString": "VERROUIL",
"UnlockingKeysString": "DEVERROU",
"WarningKeysLockedString": "! VERR.!"
},
"characters": {
"SettingRightChar": "D",
@@ -36,7 +41,10 @@
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh":"H"
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "V"
},
"menuGroups": {
"SolderingMenu": {
@@ -183,8 +191,8 @@
},
"TipModel": {
"text2": [
"Panne",
"Modèle"
"Modèle de",
"la panne"
],
"desc": "Sélection du modèle de la panne"
},
@@ -212,44 +220,51 @@
"PowerLimit": {
"text2": [
"Puissance",
"Limite"
"limite"
],
"desc": "Puissance maximale utilisable <Watts>"
},
"ReverseButtonTempChange": {
"text2": [
"Key +-",
"Inverser?"
"Inverser les",
"touches + - ?"
],
"desc": "Inversez l'assignation +/- du bouton de changement de température de la pointe."
},
"TempChangeShortStep": {
"text2": [
"Temp change",
"Court?"
"Incrément",
"appui court"
],
"desc": "Incrément de changement de température sur appui court."
},
"TempChangeLongStep": {
"text2": [
"Temp change",
"Long?"
"Incrément",
"appui long"
],
"desc": "Incrément de changement de température sur appui long."
},
"PowerPulsePower": {
"text2": [
"Power",
"Pulse W"
"Puissance des",
"impulsion W"
],
"desc": "Keep awake pulse power intensity"
"desc": "Puissance des impulsions pour éviter la mise en veille des batteries"
},
"TipGain": {
"text2": [
"Modify",
"tip gain"
"Modifier",
"gain panne"
],
"desc": "Tip gain"
"desc": "Modifier le gain de la panne"
},
"LockingMode": {
"text2": [
"Autoriser le",
"verrouillage"
],
"desc": "Permet de verrouiller les touches pendant la soudure sur un appuis long des 2 bouttons <D=Désactiver, B=Boost seulement, V=Verr. total>"
},
"HallEffSensitivity": {
"text2": [

View File

@@ -21,7 +21,12 @@
"TipDisconnectedString": "VRH NIJE SPOJEN!",
"SolderingAdvancedPowerPrompt": "Snaga: ",
"OffString": "Off",
"ResetOKMessage": "Reset OK"
"ResetOKMessage": "Reset OK",
"YourGainMessage": "Your gain:",
"SettingsResetMessage": "Settings were\nreset!",
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "D",
@@ -36,7 +41,10 @@
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh":"H"
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
},
"menuGroups": {
"SolderingMenu": {
@@ -257,6 +265,13 @@
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
}
}
}

View File

@@ -21,7 +21,12 @@
"TipDisconnectedString": "HEGY LEVÉVE",
"SolderingAdvancedPowerPrompt": "Telj: ",
"OffString": "Ki",
"ResetOKMessage": "Reset OK"
"ResetOKMessage": "Reset OK",
"YourGainMessage": "Your gain:",
"SettingsResetMessage": "Settings were\nreset!",
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "J",
@@ -36,7 +41,10 @@
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh":"H"
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
},
"menuGroups": {
"SolderingMenu": {
@@ -257,6 +265,13 @@
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
}
}
}

View File

@@ -23,7 +23,10 @@
"OffString": "OFF",
"ResetOKMessage": "Reset OK",
"YourGainMessage": "Guad.: ",
"SettingsResetMessage": "Reset effettuato"
"SettingsResetMessage": "Reset effettuato",
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "D",
@@ -38,7 +41,10 @@
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh":"H"
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
},
"menuGroups": {
"SolderingMenu": {
@@ -259,6 +265,13 @@
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
}
}
}

View File

@@ -21,7 +21,12 @@
"TipDisconnectedString": "ANTGAL ATJUNGTAS",
"SolderingAdvancedPowerPrompt": "Maitinimas: ",
"OffString": "Išj",
"ResetOKMessage": "Reset OK"
"ResetOKMessage": "Reset OK",
"YourGainMessage": "Your gain:",
"SettingsResetMessage": "Settings were\nreset!",
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "D",
@@ -36,7 +41,10 @@
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh":"H"
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
},
"menuGroups": {
"SolderingMenu": {
@@ -257,6 +265,13 @@
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
}
}
}

View File

@@ -3,25 +3,30 @@
"languageLocalName": "Nederlands",
"cyrillicGlyphs": false,
"messages": {
"SettingsCalibrationDone": "Calibration done!",
"SettingsCalibrationWarning": "Zorg ervoor dat de soldeerpunt op kamertemperatuur is voor je verdergaat!",
"SettingsResetWarning": "Ben je zeker dat je alle instellingen naar de standaardwaardes wilt terugzetten?",
"UVLOWarningString": "DC LAAG",
"SettingsCalibrationDone": "Calibratie klaar!",
"SettingsCalibrationWarning": "Zorg ervoor dat te punt op kamertemperatuur is voor je verder gaat!",
"SettingsResetWarning": "Weet je zeker dat je de fabrieksinstellingen terug wil zetten?",
"UVLOWarningString": "DC Laag",
"UndervoltageString": "Onderspanning",
"InputVoltageString": "Input V: ",
"WarningTipTempString": "Tip Temp: ",
"BadTipString": "DEFECT",
"SleepingSimpleString": "Zzz ",
"WarningTipTempString": "Punt temp: ",
"BadTipString": "DEFECTE PUNT",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Slaapstand...",
"WarningSimpleString": "HEET",
"WarningAdvancedString": "!!! TIP HEET !!!",
"SleepingTipAdvancedString": "Tip:",
"IdleTipString": "Tip:",
"IdleSetString": " Set:",
"TipDisconnectedString": "TIP LOSGEKOPPELD",
"SolderingAdvancedPowerPrompt": "vermogen: ",
"OffString": "Off",
"ResetOKMessage": "Reset OK"
"WarningSimpleString": "HEET!",
"WarningAdvancedString": "!!! PUNT HOT !!!",
"SleepingTipAdvancedString": "Punt:",
"IdleTipString": "Punt:",
"IdleSetString": " Zet:",
"TipDisconnectedString": "PUNT LOSGEKOPPELT",
"SolderingAdvancedPowerPrompt": "Vermogen: ",
"OffString": "Uit",
"ResetOKMessage": "Reset OK",
"YourGainMessage": "Niveau:",
"SettingsResetMessage": "Instellingen zijn\ngereset!",
"LockingKeysString": " GEBLOKKEERD",
"UnlockingKeysString": "GEDEBLOKKEERD",
"WarningKeysLockedString": "!GEBLOKKEERD!"
},
"characters": {
"SettingRightChar": "R",
@@ -33,6 +38,9 @@
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F",
"SettingLockDisableChar": "U",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "V",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
@@ -51,21 +59,21 @@
"Slaap",
"Modes"
],
"desc": "Batterijbesparingsinstellingen"
"desc": "Stroom besparings instellingen"
},
"UIMenu": {
"text2": [
"Gebruikers-",
"Interface"
"interface"
],
"desc": "Gebruikersinterface Instellingen"
"desc": "Gebruikers-interface instellingen"
},
"AdvancedMenu": {
"text2": [
"geavanceerde",
"Geavanceerde",
"Instellingen"
],
"desc": "geavanceerde Instellingen"
"desc": "Geavanceerde Instellingen"
}
},
"menuOptions": {
@@ -81,14 +89,14 @@
"Slaap",
"temp"
],
"desc": "Temperatuur in slaapstand <C>"
"desc": "Temperatuur in slaapstand"
},
"SleepTimeout": {
"text2": [
"Slaap",
"time-out"
],
"desc": "Slaapstand time-out <Minuten/Seconden>"
"desc": "Slaap time-out <Minuten/Seconden>"
},
"ShutdownTimeout": {
"text2": [
@@ -102,7 +110,7 @@
"Bewegings-",
"gevoeligheid"
],
"desc": "Bewegingsgevoeligheid <0.uit 1.minst gevoelig 9.meest gevoelig>"
"desc": "Bewegingsgevoeligheid <0=uit 1=minst gevoelig 9=meest gevoelig>"
},
"TemperatureUnit": {
"text2": [
@@ -114,30 +122,30 @@
"AdvancedIdle": {
"text2": [
"Gedetailleerd",
"slaapscherm"
"startscherm"
],
"desc": "Gedetailleerde informatie weergeven in een kleiner lettertype op het slaapscherm."
"desc": "Gedetailleerde informatie weergeven in een kleiner lettertype op het startscherm."
},
"DisplayRotation": {
"text2": [
"Scherm-",
"oriëntatie"
],
"desc": "Schermoriëntatie <A. Automatisch L. Linkshandig R. Rechtshandig>"
"desc": "Schermoriëntatie <A=Automatisch L=Linkshandig R=Rechtshandig>"
},
"BoostTemperature": {
"text2": [
"Boost",
"temp"
],
"desc": "Temperatuur in boostmodes"
"desc": "Temperatuur in boostmode"
},
"AutoStart": {
"text2": [
"Auto",
"start"
],
"desc": "Breng de soldeerbout direct op temperatuur bij het opstarten. T=Soldeertemperatuur, S=Slaapstand-temperatuur, F=Uit"
"desc": "Breng de soldeerbout direct op temperatuur bij het opstarten. <T=Soldeertemperatuur, S=Slaapstand-temperatuur, F=Uit>"
},
"CooldownBlink": {
"text2": [
@@ -165,7 +173,7 @@
"Calibreer",
"input-voltage?"
],
"desc": "VIN Calibreren. Knoppen lang ingedrukt houden om te bevestigen."
"desc": "VIN Calibreren. <druk lang om te sluiten>."
},
"AdvancedSoldering": {
"text2": [
@@ -183,73 +191,73 @@
},
"TipModel": {
"text2": [
"Tip",
"Punt",
"Model"
],
"desc": "Tip Model selection"
"desc": "Punt Model selecteren"
},
"SimpleCalibrationMode": {
"text2": [
"Simple",
"Calibration"
"Simpele",
"Calibratie"
],
"desc": "Simple Calibration using Hot water"
"desc": "Simpele Calibratie met warm water"
},
"AdvancedCalibrationMode": {
"text2": [
"Advanced",
"Calibration"
"Geavanceerde",
"Calibratie"
],
"desc": "Advanced calibration using thermocouple on the tip"
"desc": "Geavanceerde calibratie met een thermokoppel op de punt"
},
"PowerInput": {
"text2": [
"Power",
"Wattage"
],
"desc": "Power Wattage of the power adapter used"
"desc": "Wattage van de gebruikte voeding"
},
"PowerLimit": {
"text2": [
"Power",
"Limit"
"Vermogen",
"limiet"
],
"desc": "Maximum power the iron can use <Watts>"
"desc": "Maximaal vermogen <Watts>"
},
"ReverseButtonTempChange": {
"text2": [
"Key +-",
"reverse?"
"Draai",
"+ - knoppen om"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
"desc": "Keer de +- knoppen om de termperatuur van de punt te regelen om."
},
"TempChangeShortStep": {
"text2": [
"Temp change",
"short?"
"Temp veranderen",
"kort"
],
"desc": "Temperature change steps on short button press!"
"desc": "Temperatuur verandering bij kort drukken"
},
"TempChangeLongStep": {
"text2": [
"Temp change",
"long?"
"Temp veranderen",
"lang"
],
"desc": "Temperature change steps on long button press!"
"desc": "Temperatuur verandering bij lang drukken"
},
"PowerPulsePower": {
"text2": [
"Power",
"Pulse W"
"Vermogen",
"Puls W"
],
"desc": "Keep awake pulse power intensity"
"desc": "Vermogen van puls om soldeerbout aan te houden"
},
"TipGain": {
"text2": [
"Modify",
"tip gain"
"Verander",
"punt gain"
],
"desc": "Tip gain"
"desc": "Punt gain"
},
"HallEffSensitivity": {
"text2": [
@@ -257,6 +265,13 @@
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Blokkeer",
"knoppen"
],
"desc": "Tijdens solderen lang op beide knoppen drukken, blokkeert ze. <U=Uit, B=Alleen boost, V=Volledig blokkeren>"
}
}
}

View File

@@ -21,7 +21,12 @@
"TipDisconnectedString": "Punt ONTKOPPELD",
"SolderingAdvancedPowerPrompt": "Vermogen: ",
"OffString": "Uit",
"ResetOKMessage": "Reset OK"
"ResetOKMessage": "Reset OK",
"YourGainMessage": "Your gain:",
"SettingsResetMessage": "Settings were\nreset!",
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "R",
@@ -36,7 +41,10 @@
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh":"H"
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
},
"menuGroups": {
"SolderingMenu": {
@@ -257,6 +265,13 @@
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
}
}
}

View File

@@ -21,7 +21,12 @@
"TipDisconnectedString": "SPISS FRAKOBLET",
"SolderingAdvancedPowerPrompt": "Effekt: ",
"OffString": "Av",
"ResetOKMessage": "Reset OK"
"ResetOKMessage": "Reset OK",
"YourGainMessage": "Your gain:",
"SettingsResetMessage": "Settings were\nreset!",
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "H",
@@ -36,7 +41,10 @@
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh":"H"
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
},
"menuGroups": {
"SolderingMenu": {
@@ -257,6 +265,13 @@
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
}
}
}

View File

@@ -24,7 +24,10 @@
"OffString": "Wyłącz",
"ResetOKMessage": "Reset OK",
"YourGainMessage": "Twój zysk:",
"SettingsResetMessage": "Ustawienia zostały\nzresetowane!"
"SettingsResetMessage": "Ustawienia zostały\nzresetowane!",
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "P",
@@ -39,7 +42,10 @@
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh":"H"
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
},
"menuGroups": {
"SolderingMenu": {
@@ -260,6 +266,13 @@
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
}
}
}

View File

@@ -21,7 +21,12 @@
"TipDisconnectedString": "SEM PONTA",
"SolderingAdvancedPowerPrompt": "Power: ",
"OffString": "Off",
"ResetOKMessage": "Reset OK"
"ResetOKMessage": "Reset OK",
"YourGainMessage": "Your gain:",
"SettingsResetMessage": "Settings were\nreset!",
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "D",
@@ -36,7 +41,10 @@
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh":"H"
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
},
"menuGroups": {
"SolderingMenu": {
@@ -257,6 +265,13 @@
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
}
}
}

View File

@@ -23,7 +23,10 @@
"OffString": "Выкл.",
"ResetOKMessage": "Сброс OK",
"YourGainMessage": "Прирост:",
"SettingsResetMessage": "Настройки сброшены!"
"SettingsResetMessage": "Настройки сброшены!",
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "П",
@@ -38,7 +41,10 @@
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh":"H"
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
},
"menuGroups": {
"SolderingMenu": {
@@ -259,6 +265,13 @@
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
}
}
}

View File

@@ -23,7 +23,10 @@
"OffString": "Vyp",
"ResetOKMessage": "Reset OK",
"YourGainMessage": "Zisk:",
"SettingsResetMessage": "Nast. Obnovené!"
"SettingsResetMessage": "Nast. Obnovené!",
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "P",
@@ -38,7 +41,10 @@
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh":"H"
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
},
"menuGroups": {
"SolderingMenu": {
@@ -259,6 +265,13 @@
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
}
}
}

View File

@@ -22,7 +22,11 @@
"SolderingAdvancedPowerPrompt": "Moč: ",
"OffString": "Izk",
"ResetOKMessage": "Reset OK",
"YourGainMessage": "Ojačan.:"
"YourGainMessage": "Ojačan.:",
"SettingsResetMessage": "Settings were\nreset!",
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "D",
@@ -37,7 +41,10 @@
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh":"H"
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
},
"menuGroups": {
"SolderingMenu": {
@@ -258,6 +265,13 @@
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
}
}
}

View File

@@ -21,7 +21,12 @@
"TipDisconnectedString": "ВРХ НИЈЕ СПОЈЕН",
"SolderingAdvancedPowerPrompt": "Снага: ",
"OffString": "Иск",
"ResetOKMessage": "Reset OK"
"ResetOKMessage": "Reset OK",
"YourGainMessage": "Your gain:",
"SettingsResetMessage": "Settings were\nreset!",
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "Д",
@@ -36,7 +41,10 @@
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh":"H"
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
},
"menuGroups": {
"SolderingMenu": {
@@ -257,6 +265,13 @@
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
}
}
}

View File

@@ -21,7 +21,12 @@
"TipDisconnectedString": "VRH NIJE SPOJEN",
"SolderingAdvancedPowerPrompt": "Snaga: ",
"OffString": "Isk",
"ResetOKMessage": "Reset OK"
"ResetOKMessage": "Reset OK",
"YourGainMessage": "Your gain:",
"SettingsResetMessage": "Settings were\nreset!",
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "D",
@@ -36,7 +41,10 @@
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh":"H"
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
},
"menuGroups": {
"SolderingMenu": {
@@ -257,6 +265,13 @@
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
}
}
}

View File

@@ -21,7 +21,12 @@
"TipDisconnectedString": "SPETS URTAGEN",
"SolderingAdvancedPowerPrompt": "Ström: ",
"OffString": "Av",
"ResetOKMessage": "Reset OK"
"ResetOKMessage": "Reset OK",
"YourGainMessage": "Your gain:",
"SettingsResetMessage": "Settings were\nreset!",
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "H",
@@ -36,7 +41,10 @@
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh":"H"
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
},
"menuGroups": {
"SolderingMenu": {
@@ -257,6 +265,13 @@
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
}
}
}

View File

@@ -21,7 +21,12 @@
"TipDisconnectedString": "UÇ ÇIKARILDI",
"SolderingAdvancedPowerPrompt": "Güç: ",
"OffString": "Kapalı",
"ResetOKMessage": "Reset Tamam"
"ResetOKMessage": "Reset Tamam",
"YourGainMessage": "Your gain:",
"SettingsResetMessage": "Settings were\nreset!",
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "R",
@@ -36,7 +41,10 @@
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh":"H"
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
},
"menuGroups": {
"SolderingMenu": {
@@ -257,6 +265,13 @@
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
}
}
}

View File

@@ -23,7 +23,10 @@
"OffString": "Вимк",
"ResetOKMessage": "Скидання OK",
"YourGainMessage": "Приріст:",
"SettingsResetMessage": "Налаштування скинуті!"
"SettingsResetMessage": "Налаштування скинуті!",
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "П",
@@ -38,7 +41,10 @@
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh":"H"
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
},
"menuGroups": {
"SolderingMenu": {
@@ -259,6 +265,13 @@
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
}
}
}

View File

@@ -94,6 +94,21 @@ var def =
"id": "SettingsResetMessage",
"maxLen": 16,
"default": "Settings were\nreset!"
},
{
"id": "LockingKeysString",
"maxLen": 8,
"default": "LOCKING"
},
{
"id": "UnlockingKeysString",
"maxLen": 8,
"default": "UNLOCK"
},
{
"id": "WarningKeysLockedString",
"maxLen": 8,
"default": "LOCKED!"
}
],
"characters": [
@@ -148,6 +163,20 @@ var def =
{
"id": "SettingSensitivityHigh",
"len": 1
}, {
"id": "SettingLockDisableChar",
"len": 1,
"default": "D"
},
{
"id": "SettingLockBoostChar",
"len": 1,
"default": "B"
},
{
"id": "SettingLockFullChar",
"len": 1,
"default": "F"
}
],
"menuGroups": [
@@ -303,6 +332,10 @@ var def =
"id": "HallEffSensitivity",
"maxLen": 6,
"maxLen2": 8
}, {
"id": "LockingMode",
"maxLen": 6,
"maxLen2": 13
}
]
}

View File

@@ -42,7 +42,7 @@ ButtonState getButtonState() {
else if (currentState == 0x02)
return BUTTON_B_LONG;
else
return BUTTON_NONE; // Both being held case, we dont long hold this
return BUTTON_BOTH_LONG; // Both being held case
} else
return BUTTON_NONE;
} else {

View File

@@ -17,6 +17,7 @@ enum ButtonState {
BUTTON_F_LONG = 4, /* User is holding the front button*/
BUTTON_B_LONG = 8, /* User is holding the back button*/
BUTTON_BOTH = 16, /* User has pressed both buttons*/
BUTTON_BOTH_LONG = 32, /* User is holding both buttons*/
/*
* Note:

View File

@@ -11,7 +11,7 @@
#define SETTINGS_H_
#include <stdint.h>
#include "unit.h"
#define SETTINGSVERSION ( 0x21 )
#define SETTINGSVERSION (0x22)
/*Change this if you change the struct below to prevent people getting \
out of sync*/
@@ -19,7 +19,8 @@
* This struct must be a multiple of 2 bytes as it is saved / restored from
* flash in uint16_t chunks
*/
typedef struct {
typedef struct
{
uint8_t version; // Used to track if a reset is needed on firmware upgrade
uint16_t SolderingTemp; // current set point for the iron
@@ -40,6 +41,7 @@ typedef struct {
uint8_t temperatureInF : 1; // Should the temp be in F or C (true is F)
#endif
uint8_t descriptionScrollSpeed : 1; // Description scroll speed
uint8_t lockingMode : 2; // Store the locking mode
uint8_t KeepAwakePulse; // Keep Awake pulse power in 0.1 watts (10 = 1Watt)
uint16_t voltageDiv; // Voltage divisor factor
@@ -55,6 +57,7 @@ typedef struct {
uint16_t TempChangeLongStep; // Change the plus and minus button assigment
uint16_t TempChangeShortStep; // Change the plus and minus button assigment
uint8_t hallEffectSensitivity; //Operating mode of the hall effect sensor
uint32_t padding; // This is here for in case we are not an even divisor so
// that nothing gets cut off
//MUST BE LAST

View File

@@ -15,8 +15,8 @@ extern const uint8_t USER_FONT_6x8[];
* When SettingsShortNameType is SHORT_NAME_SINGLE_LINE
* use SettingsShortNames as SettingsShortNames[16][1].. second column undefined
*/
extern const char *SettingsShortNames[28][2];
extern const char *SettingsDescriptions[28];
extern const char *SettingsShortNames[29][2];
extern const char *SettingsDescriptions[29];
extern const char *SettingsMenuEntries[4];
extern const char *SettingsCalibrationDone;
@@ -41,6 +41,9 @@ extern const char *OffString;
extern const char *ResetOKMessage;
extern const char *YourGainMessage;
extern const char *SettingsResetMessage;
extern const char *LockingKeysString;
extern const char *UnlockingKeysString;
extern const char *WarningKeysLockedString;
extern const char *SettingTrueChar;
extern const char *SettingFalseChar;
@@ -55,6 +58,9 @@ extern const char *SettingSensitivityOff;
extern const char *SettingSensitivityLow;
extern const char *SettingSensitivityMedium;
extern const char *SettingSensitivityHigh;
extern const char *SettingLockDisableChar;
extern const char *SettingLockBoostChar;
extern const char *SettingLockFullChar;
extern const char *SettingFastChar;
extern const char *SettingSlowChar;

View File

@@ -65,6 +65,7 @@ void resetSettings() {
systemSettings.ShutdownTime = SHUTDOWN_TIME; // How many minutes until the unit turns itself off
systemSettings.BoostTemp = BOOST_TEMP; // default to 400C
systemSettings.autoStartMode = AUTO_START_MODE; // Auto start off for safety
systemSettings.lockingMode = LOCKING_MODE; // Disable locking for safety
systemSettings.coolingTempBlink = COOLING_TEMP_BLINK; // Blink the temperature on the cooling screen when its > 50C
#ifdef ENABLED_FAHRENHEIT_SUPPORT
systemSettings.temperatureInF = TEMPERATURE_INF; // default to 0

View File

@@ -50,6 +50,8 @@ static bool settings_setBoostTemp(void);
static void settings_displayBoostTemp(void);
static bool settings_setAutomaticStartMode(void);
static void settings_displayAutomaticStartMode(void);
static bool settings_setLockingMode(void);
static void settings_displayLockingMode(void);
static bool settings_setCoolingBlinkEnabled(void);
static void settings_displayCoolingBlinkEnabled(void);
static bool settings_setResetSettings(void);
@@ -91,6 +93,7 @@ static bool settings_enterAdvancedMenu(void);
* Auto Start
* Temp change short step
* Temp change long step
* Locking Mode
*
* Power Saving
@@ -152,6 +155,7 @@ const menuitem solderingMenu[] = {
{(const char *)SettingsDescriptions[9], settings_setAutomaticStartMode, settings_displayAutomaticStartMode}, /*Auto start*/
{(const char *)SettingsDescriptions[22], settings_setTempChangeShortStep, settings_displayTempChangeShortStep}, /*Temp change short step*/
{(const char *)SettingsDescriptions[23], settings_setTempChangeLongStep, settings_displayTempChangeLongStep}, /*Temp change long step*/
{(const char *)SettingsDescriptions[26], settings_setLockingMode, settings_displayLockingMode}, /*Locking Mode*/
{NULL, NULL, NULL} // end of menu marker. DO NOT REMOVE
};
const menuitem UIMenu[] = {
@@ -211,7 +215,8 @@ const menuitem advancedMenu[] = {
{NULL, NULL, NULL} // end of menu marker. DO NOT REMOVE
};
static void printShortDescriptionDoubleLine(uint32_t shortDescIndex) {
static void printShortDescriptionDoubleLine(uint32_t shortDescIndex)
{
OLED::setFont(1);
OLED::setCharCursor(0, 0);
OLED::print(SettingsShortNames[shortDescIndex][0]);
@@ -226,7 +231,8 @@ static void printShortDescriptionDoubleLine(uint32_t shortDescIndex) {
* @param cursorCharPosition Custom cursor char position to set after printing
* description.
*/
static void printShortDescription(uint32_t shortDescIndex, uint16_t cursorCharPosition) {
static void printShortDescription(uint32_t shortDescIndex, uint16_t cursorCharPosition)
{
// print short description (default single line, explicit double line)
printShortDescriptionDoubleLine(shortDescIndex);
@@ -237,7 +243,8 @@ static void printShortDescription(uint32_t shortDescIndex, uint16_t cursorCharPo
OLED::setCursor(OLED::getCursorX() - 2, 0);
}
static int userConfirmation(const char *message) {
static int userConfirmation(const char *message)
{
uint16_t messageWidth = FONT_12_WIDTH * (strlen(message) + 7);
uint32_t messageStart = xTaskGetTickCount();
@@ -246,11 +253,13 @@ static int userConfirmation(const char *message) {
int16_t lastOffset = -1;
bool lcdRefresh = true;
for (;;) {
for (;;)
{
int16_t messageOffset = ((xTaskGetTickCount() - messageStart) / (systemSettings.descriptionScrollSpeed == 1 ? 10 : 20));
messageOffset %= messageWidth; // Roll around at the end
if (lastOffset != messageOffset) {
if (lastOffset != messageOffset)
{
OLED::clearScreen();
//^ Rolling offset based on time
@@ -261,7 +270,8 @@ static int userConfirmation(const char *message) {
}
ButtonState buttons = getButtonState();
switch (buttons) {
switch (buttons)
{
case BUTTON_F_SHORT:
// User confirmed
return 1;
@@ -276,7 +286,8 @@ static int userConfirmation(const char *message) {
return 0;
}
if (lcdRefresh) {
if (lcdRefresh)
{
OLED::refresh();
osDelay(40);
lcdRefresh = false;
@@ -285,34 +296,42 @@ static int userConfirmation(const char *message) {
return 0;
}
#ifdef MODEL_TS100
static bool settings_setInputVRange(void) {
static bool settings_setInputVRange(void)
{
systemSettings.cutoutSetting = (systemSettings.cutoutSetting + 1) % 5;
if (systemSettings.cutoutSetting)
systemSettings.powerLimit = 0; // disable power limit if switching to a lipo power source
return systemSettings.cutoutSetting == 4;
}
static void settings_displayInputVRange(void) {
static void settings_displayInputVRange(void)
{
printShortDescription(0, 6);
if (systemSettings.cutoutSetting) {
if (systemSettings.cutoutSetting)
{
OLED::printNumber(2 + systemSettings.cutoutSetting, 1);
OLED::print(SymbolCellCount);
} else {
}
else
{
OLED::print(SymbolDC);
}
}
#else
static bool settings_setInputPRange(void) {
static bool settings_setInputPRange(void)
{
systemSettings.cutoutSetting = (systemSettings.cutoutSetting + 1) % 2;
return false;
}
static void settings_displayInputPRange(void) {
static void settings_displayInputPRange(void)
{
printShortDescription(0, 5);
//0 = 9V, 1=12V (Fixed Voltages, these imply 1.5A limits)
// These are only used in QC3.0 modes
switch (systemSettings.cutoutSetting) {
switch (systemSettings.cutoutSetting)
{
case 0:
OLED::printNumber(9, 2);
OLED::print(SymbolVolts);
@@ -324,19 +343,21 @@ static void settings_displayInputPRange(void) {
default:
break;
}
}
#endif
static bool settings_setSleepTemp(void) {
static bool settings_setSleepTemp(void)
{
// If in C, 10 deg, if in F 20 deg
#ifdef ENABLED_FAHRENHEIT_SUPPORT
if (systemSettings.temperatureInF) {
if (systemSettings.temperatureInF)
{
systemSettings.SleepTemp += 20;
if (systemSettings.SleepTemp > 580)
systemSettings.SleepTemp = 60;
return systemSettings.SleepTemp == 580;
} else
}
else
#endif
{
systemSettings.SleepTemp += 10;
@@ -346,14 +367,17 @@ static bool settings_setSleepTemp(void) {
}
}
static void settings_displaySleepTemp(void) {
static void settings_displaySleepTemp(void)
{
printShortDescription(1, 5);
OLED::printNumber(systemSettings.SleepTemp, 3);
}
static bool settings_setSleepTime(void) {
static bool settings_setSleepTime(void)
{
systemSettings.SleepTime++; // Go up 1 minute at a time
if (systemSettings.SleepTime >= 16) {
if (systemSettings.SleepTime >= 16)
{
systemSettings.SleepTime = 0; // can't set time over 10 mins
}
// Remember that ^ is the time of no movement
@@ -362,22 +386,30 @@ static bool settings_setSleepTime(void) {
return systemSettings.SleepTime == 15;
}
static void settings_displaySleepTime(void) {
static void settings_displaySleepTime(void)
{
printShortDescription(2, 5);
if (systemSettings.SleepTime == 0) {
if (systemSettings.SleepTime == 0)
{
OLED::print(OffString);
} else if (systemSettings.SleepTime < 6) {
}
else if (systemSettings.SleepTime < 6)
{
OLED::printNumber(systemSettings.SleepTime * 10, 2);
OLED::print(SymbolSeconds);
} else {
}
else
{
OLED::printNumber(systemSettings.SleepTime - 5, 2);
OLED::print(SymbolMinutes);
}
}
static bool settings_setShutdownTime(void) {
static bool settings_setShutdownTime(void)
{
systemSettings.ShutdownTime++;
if (systemSettings.ShutdownTime > 60) {
if (systemSettings.ShutdownTime > 60)
{
systemSettings.ShutdownTime = 0; // wrap to off
}
if (PCBVersion == 3)
@@ -385,31 +417,38 @@ static bool settings_setShutdownTime(void) {
return systemSettings.ShutdownTime == 60;
}
static void settings_displayShutdownTime(void) {
static void settings_displayShutdownTime(void)
{
printShortDescription(3, 5);
if (systemSettings.ShutdownTime == 0) {
if (systemSettings.ShutdownTime == 0)
{
OLED::print(OffString);
} else {
}
else
{
OLED::printNumber(systemSettings.ShutdownTime, 2);
OLED::print(SymbolMinutes);
}
}
#ifdef ENABLED_FAHRENHEIT_SUPPORT
static bool settings_setTempF(void) {
static bool settings_setTempF(void)
{
systemSettings.temperatureInF = !systemSettings.temperatureInF;
if (systemSettings.temperatureInF) {
if (systemSettings.temperatureInF)
{
// Change sleep, boost and soldering temps to the F equiv
// C to F == F= ( (C*9) +160)/5
systemSettings.BoostTemp = ((systemSettings.BoostTemp * 9) + 160) / 5;
systemSettings.SolderingTemp =
((systemSettings.SolderingTemp * 9) + 160) / 5;
systemSettings.SleepTemp = ((systemSettings.SleepTemp * 9) + 160) / 5;
} else {
}
else
{
// Change sleep, boost and soldering temps to the C equiv
// F->C == C = ((F-32)*5)/9
systemSettings.BoostTemp = ((systemSettings.BoostTemp - 32) * 5) / 9;
systemSettings.SolderingTemp = ((systemSettings.SolderingTemp - 32) * 5)
/ 9;
systemSettings.SolderingTemp = ((systemSettings.SolderingTemp - 32) * 5) / 9;
systemSettings.SleepTemp = ((systemSettings.SleepTemp - 32) * 5) / 9;
}
// Rescale both to be multiples of 10
@@ -422,64 +461,77 @@ static bool settings_setTempF(void) {
return false;
}
static void settings_displayTempF(void) {
static void settings_displayTempF(void)
{
printShortDescription(5, 7);
OLED::print((systemSettings.temperatureInF) ? SymbolDegF : SymbolDegC);
}
#endif
static bool settings_setSensitivity(void) {
static bool settings_setSensitivity(void)
{
systemSettings.sensitivity++;
systemSettings.sensitivity = systemSettings.sensitivity % 10;
return systemSettings.sensitivity == 9;
}
static void settings_displaySensitivity(void) {
static void settings_displaySensitivity(void)
{
printShortDescription(4, 7);
OLED::printNumber(systemSettings.sensitivity, 1, false);
}
static bool settings_setAdvancedSolderingScreens(void) {
static bool settings_setAdvancedSolderingScreens(void)
{
systemSettings.detailedSoldering = !systemSettings.detailedSoldering;
return false;
}
static void settings_displayAdvancedSolderingScreens(void) {
static void settings_displayAdvancedSolderingScreens(void)
{
printShortDescription(14, 7);
OLED::drawCheckbox(systemSettings.detailedSoldering);
}
static bool settings_setAdvancedIDLEScreens(void) {
static bool settings_setAdvancedIDLEScreens(void)
{
systemSettings.detailedIDLE = !systemSettings.detailedIDLE;
return false;
}
static void settings_displayAdvancedIDLEScreens(void) {
static void settings_displayAdvancedIDLEScreens(void)
{
printShortDescription(6, 7);
OLED::drawCheckbox(systemSettings.detailedIDLE);
}
static bool settings_setPowerLimit(void) {
static bool settings_setPowerLimit(void)
{
systemSettings.powerLimit += POWER_LIMIT_STEPS;
if (systemSettings.powerLimit > MAX_POWER_LIMIT)
systemSettings.powerLimit = 0;
return systemSettings.powerLimit + POWER_LIMIT_STEPS > MAX_POWER_LIMIT;
}
static void settings_displayPowerLimit(void) {
static void settings_displayPowerLimit(void)
{
printShortDescription(20, 5);
if (systemSettings.powerLimit == 0) {
if (systemSettings.powerLimit == 0)
{
OLED::print(OffString);
} else {
}
else
{
OLED::printNumber(systemSettings.powerLimit, 2);
OLED::print(SymbolWatts);
}
}
static bool settings_setScrollSpeed(void) {
static bool settings_setScrollSpeed(void)
{
if (systemSettings.descriptionScrollSpeed == 0)
systemSettings.descriptionScrollSpeed = 1;
else
@@ -487,15 +539,18 @@ static bool settings_setScrollSpeed(void) {
return false;
}
static void settings_displayScrollSpeed(void) {
static void settings_displayScrollSpeed(void)
{
printShortDescription(15, 7);
OLED::print((systemSettings.descriptionScrollSpeed) ? SettingFastChar : SettingSlowChar);
}
static bool settings_setDisplayRotation(void) {
static bool settings_setDisplayRotation(void)
{
systemSettings.OrientationMode++;
systemSettings.OrientationMode = systemSettings.OrientationMode % 3;
switch (systemSettings.OrientationMode) {
switch (systemSettings.OrientationMode)
{
case 0:
OLED::setRotation(false);
break;
@@ -511,10 +566,12 @@ static bool settings_setDisplayRotation(void) {
return systemSettings.OrientationMode == 2;
}
static void settings_displayDisplayRotation(void) {
static void settings_displayDisplayRotation(void)
{
printShortDescription(7, 7);
switch (systemSettings.OrientationMode) {
switch (systemSettings.OrientationMode)
{
case 0:
OLED::print(SettingRightChar);
break;
@@ -530,55 +587,71 @@ static void settings_displayDisplayRotation(void) {
}
}
static bool settings_setBoostTemp(void) {
static bool settings_setBoostTemp(void)
{
#ifdef ENABLED_FAHRENHEIT_SUPPORT
if (systemSettings.temperatureInF) {
if (systemSettings.BoostTemp == 0) {
if (systemSettings.temperatureInF)
{
if (systemSettings.BoostTemp == 0)
{
systemSettings.BoostTemp = 480; // loop back at 480
} else {
}
else
{
systemSettings.BoostTemp += 20; // Go up 20F at a time
}
if (systemSettings.BoostTemp > 850) {
if (systemSettings.BoostTemp > 850)
{
systemSettings.BoostTemp = 0; // jump to off
}
return systemSettings.BoostTemp == 840;
} else
}
else
#endif
{
if (systemSettings.BoostTemp == 0) {
if (systemSettings.BoostTemp == 0)
{
systemSettings.BoostTemp = 250; // loop back at 250
} else {
}
else
{
systemSettings.BoostTemp += 10; // Go up 10C at a time
}
if (systemSettings.BoostTemp > 450) {
if (systemSettings.BoostTemp > 450)
{
systemSettings.BoostTemp = 0; //Go to off state
}
return systemSettings.BoostTemp == 450;
}
}
static void settings_displayBoostTemp(void) {
static void settings_displayBoostTemp(void)
{
printShortDescription(8, 5);
if (systemSettings.BoostTemp) {
if (systemSettings.BoostTemp)
{
OLED::printNumber(systemSettings.BoostTemp, 3);
} else {
}
else
{
OLED::print(OffString);
}
}
static bool settings_setAutomaticStartMode(void) {
static bool settings_setAutomaticStartMode(void)
{
systemSettings.autoStartMode++;
systemSettings.autoStartMode %= 4;
return systemSettings.autoStartMode == 3;
}
static void settings_displayAutomaticStartMode(void) {
static void settings_displayAutomaticStartMode(void)
{
printShortDescription(9, 7);
switch (systemSettings.autoStartMode) {
switch (systemSettings.autoStartMode)
{
case 0:
OLED::print(SettingStartNoneChar);
break;
@@ -597,19 +670,51 @@ static void settings_displayAutomaticStartMode(void) {
}
}
static bool settings_setCoolingBlinkEnabled(void) {
static bool settings_setLockingMode(void)
{
systemSettings.lockingMode++;
systemSettings.lockingMode %= 3;
return systemSettings.lockingMode == 2;
}
static void settings_displayLockingMode(void)
{
printShortDescription(26, 7);
switch (systemSettings.lockingMode)
{
case 0:
OLED::print(SettingLockDisableChar);
break;
case 1:
OLED::print(SettingLockBoostChar);
break;
case 2:
OLED::print(SettingLockFullChar);
break;
default:
OLED::print(SettingLockDisableChar);
break;
}
}
static bool settings_setCoolingBlinkEnabled(void)
{
systemSettings.coolingTempBlink = !systemSettings.coolingTempBlink;
return false;
}
static void settings_displayCoolingBlinkEnabled(void) {
static void settings_displayCoolingBlinkEnabled(void)
{
printShortDescription(10, 7);
OLED::drawCheckbox(systemSettings.coolingTempBlink);
}
static bool settings_setResetSettings(void) {
if (userConfirmation(SettingsResetWarning)) {
static bool settings_setResetSettings(void)
{
if (userConfirmation(SettingsResetWarning))
{
resetSettings();
OLED::setFont(0);
@@ -622,19 +727,23 @@ static bool settings_setResetSettings(void) {
return false;
}
static void settings_displayResetSettings(void) {
static void settings_displayResetSettings(void)
{
printShortDescription(12, 7);
}
static void setTipOffset() {
static void setTipOffset()
{
systemSettings.CalibrationOffset = 0;
// If the thermo-couple at the end of the tip, and the handle are at
// equilibrium, then the output should be zero, as there is no temperature
// differential.
while (systemSettings.CalibrationOffset == 0) {
while (systemSettings.CalibrationOffset == 0)
{
uint32_t offset = 0;
for (uint8_t i = 0; i < 16; i++) {
for (uint8_t i = 0; i < 16; i++)
{
offset += getTipRawTemp(1);
// cycle through the filter a fair bit to ensure we're stable.
OLED::clearScreen();
@@ -657,9 +766,11 @@ static void setTipOffset() {
//Provide the user the option to tune their own tip if custom is selected
//If not only do single point tuning as per usual
static bool settings_setCalibrate(void) {
static bool settings_setCalibrate(void)
{
if (userConfirmation(SettingsCalibrationWarning)) {
if (userConfirmation(SettingsCalibrationWarning))
{
// User confirmed
// So we now perform the actual calculation
setTipOffset();
@@ -667,17 +778,20 @@ static bool settings_setCalibrate(void) {
return false;
}
static void settings_displayCalibrate(void) {
static void settings_displayCalibrate(void)
{
printShortDescription(11, 5);
}
static bool settings_setCalibrateVIN(void) {
static bool settings_setCalibrateVIN(void)
{
// Jump to the voltage calibration subscreen
OLED::setFont(0);
OLED::clearScreen();
OLED::setCursor(0, 0);
for (;;) {
for (;;)
{
OLED::setCursor(0, 0);
OLED::printNumber(getInputVoltageX10(systemSettings.voltageDiv, 0) / 10, 2);
OLED::print(SymbolDot);
@@ -685,7 +799,8 @@ static bool settings_setCalibrateVIN(void) {
OLED::print(SymbolVolts);
ButtonState buttons = getButtonState();
switch (buttons) {
switch (buttons)
{
case BUTTON_F_SHORT:
systemSettings.voltageDiv++;
break;
@@ -713,15 +828,21 @@ static bool settings_setCalibrateVIN(void) {
// Cap to sensible values
#if defined(MODEL_TS80) + defined(MODEL_TS80P) > 0
if (systemSettings.voltageDiv < 500) {
if (systemSettings.voltageDiv < 500)
{
systemSettings.voltageDiv = 500;
} else if (systemSettings.voltageDiv > 900) {
}
else if (systemSettings.voltageDiv > 900)
{
systemSettings.voltageDiv = 900;
}
#else
if (systemSettings.voltageDiv < 360) {
if (systemSettings.voltageDiv < 360)
{
systemSettings.voltageDiv = 360;
} else if (systemSettings.voltageDiv > 520) {
}
else if (systemSettings.voltageDiv > 520)
{
systemSettings.voltageDiv = 520;
}
#endif
@@ -729,18 +850,21 @@ static bool settings_setCalibrateVIN(void) {
return false;
}
static bool settings_setTipGain(void) {
static bool settings_setTipGain(void)
{
OLED::setFont(0);
OLED::clearScreen();
for (;;) {
for (;;)
{
OLED::setCursor(0, 0);
OLED::printNumber(systemSettings.TipGain / 10, 2);
OLED::print(SymbolDot);
OLED::printNumber(systemSettings.TipGain % 10, 1);
ButtonState buttons = getButtonState();
switch (buttons) {
switch (buttons)
{
case BUTTON_F_SHORT:
systemSettings.TipGain -= 1;
break;
@@ -763,76 +887,94 @@ static bool settings_setTipGain(void) {
osDelay(40);
// Cap to sensible values
if (systemSettings.TipGain < 150) {
if (systemSettings.TipGain < 150)
{
systemSettings.TipGain = 150;
} else if (systemSettings.TipGain > 300) {
}
else if (systemSettings.TipGain > 300)
{
systemSettings.TipGain = 300;
}
}
return false;
}
static void settings_displayTipGain(void) {
static void settings_displayTipGain(void)
{
printShortDescription(25, 5);
}
static bool settings_setReverseButtonTempChangeEnabled(void) {
static bool settings_setReverseButtonTempChangeEnabled(void)
{
systemSettings.ReverseButtonTempChangeEnabled = !systemSettings.ReverseButtonTempChangeEnabled;
return false;
}
static void settings_displayReverseButtonTempChangeEnabled(void) {
static void settings_displayReverseButtonTempChangeEnabled(void)
{
printShortDescription(21, 7);
OLED::drawCheckbox(systemSettings.ReverseButtonTempChangeEnabled);
}
static bool settings_setTempChangeShortStep(void) {
static bool settings_setTempChangeShortStep(void)
{
systemSettings.TempChangeShortStep += TEMP_CHANGE_SHORT_STEP;
if (systemSettings.TempChangeShortStep > TEMP_CHANGE_SHORT_STEP_MAX) {
if (systemSettings.TempChangeShortStep > TEMP_CHANGE_SHORT_STEP_MAX)
{
systemSettings.TempChangeShortStep = TEMP_CHANGE_SHORT_STEP; // loop back at TEMP_CHANGE_SHORT_STEP_MAX
}
return systemSettings.TempChangeShortStep == TEMP_CHANGE_SHORT_STEP_MAX;
}
static void settings_displayTempChangeShortStep(void) {
static void settings_displayTempChangeShortStep(void)
{
printShortDescription(22, 6);
OLED::printNumber(systemSettings.TempChangeShortStep, 2);
}
static bool settings_setTempChangeLongStep(void) {
static bool settings_setTempChangeLongStep(void)
{
systemSettings.TempChangeLongStep += TEMP_CHANGE_LONG_STEP;
if (systemSettings.TempChangeLongStep > TEMP_CHANGE_LONG_STEP_MAX) {
if (systemSettings.TempChangeLongStep > TEMP_CHANGE_LONG_STEP_MAX)
{
systemSettings.TempChangeLongStep = TEMP_CHANGE_LONG_STEP; // loop back at TEMP_CHANGE_LONG_STEP_MAX
}
return systemSettings.TempChangeLongStep == TEMP_CHANGE_LONG_STEP_MAX;
}
static void settings_displayTempChangeLongStep(void) {
static void settings_displayTempChangeLongStep(void)
{
printShortDescription(23, 6);
OLED::printNumber(systemSettings.TempChangeLongStep, 2);
}
static bool settings_setPowerPulse(void) {
static bool settings_setPowerPulse(void)
{
systemSettings.KeepAwakePulse += POWER_PULSE_INCREMENT;
systemSettings.KeepAwakePulse %= POWER_PULSE_MAX;
return systemSettings.KeepAwakePulse == POWER_PULSE_MAX - 1;
}
static void settings_displayPowerPulse(void) {
static void settings_displayPowerPulse(void)
{
printShortDescription(24, 5);
if (systemSettings.KeepAwakePulse) {
if (systemSettings.KeepAwakePulse)
{
OLED::printNumber(systemSettings.KeepAwakePulse / 10, 1);
OLED::print(SymbolDot);
OLED::printNumber(systemSettings.KeepAwakePulse % 10, 1);
} else {
}
else
{
OLED::print(OffString);
}
}
#ifdef HALL_SENSOR
static void settings_displayHallEffect(void) {
static void settings_displayHallEffect(void)
{
printShortDescription(26, 7);
switch (systemSettings.hallEffectSensitivity) {
switch (systemSettings.hallEffectSensitivity)
{
case 1:
OLED::print(SettingSensitivityLow);
break;
@@ -848,7 +990,8 @@ static void settings_displayHallEffect(void) {
break;
}
}
static bool settings_setHallEffect(void) {
static bool settings_setHallEffect(void)
{
//To keep life simpler for now, we have a few preset sensitivity levels
// Off, Low, Medium, High
systemSettings.hallEffectSensitivity++;
@@ -856,7 +999,8 @@ static bool settings_setHallEffect(void) {
return systemSettings.hallEffectSensitivity == 3;
}
#endif
static void displayMenu(size_t index) {
static void displayMenu(size_t index)
{
// Call into the menu
OLED::setFont(1);
OLED::setCursor(0, 0);
@@ -868,39 +1012,49 @@ static void displayMenu(size_t index) {
OLED::drawArea(96 - 16 - 2, 0, 16, 16, (&SettingsMenuIcons[(16 * 2) * index]));
}
static void settings_displayCalibrateVIN(void) {
static void settings_displayCalibrateVIN(void)
{
printShortDescription(13, 5);
}
static void settings_displaySolderingMenu(void) {
static void settings_displaySolderingMenu(void)
{
displayMenu(0);
}
static bool settings_enterSolderingMenu(void) {
static bool settings_enterSolderingMenu(void)
{
gui_Menu(solderingMenu);
return false;
}
static void settings_displayPowerMenu(void) {
static void settings_displayPowerMenu(void)
{
displayMenu(1);
}
static bool settings_enterPowerMenu(void) {
static bool settings_enterPowerMenu(void)
{
gui_Menu(PowerMenu);
return false;
}
static void settings_displayUIMenu(void) {
static void settings_displayUIMenu(void)
{
displayMenu(2);
}
static bool settings_enterUIMenu(void) {
static bool settings_enterUIMenu(void)
{
gui_Menu(UIMenu);
return false;
}
static void settings_displayAdvancedMenu(void) {
static void settings_displayAdvancedMenu(void)
{
displayMenu(3);
}
static bool settings_enterAdvancedMenu(void) {
static bool settings_enterAdvancedMenu(void)
{
gui_Menu(advancedMenu);
return false;
}
void gui_Menu(const menuitem *menu) {
void gui_Menu(const menuitem *menu)
{
// Draw the settings menu and provide iteration support etc
uint8_t currentScreen = 0;
uint32_t autoRepeatTimer = 0;
@@ -916,12 +1070,14 @@ void gui_Menu(const menuitem *menu) {
bool scrollBlink = false;
bool lastValue = false;
for (uint8_t i = 0; menu[i].draw != NULL; i++) {
for (uint8_t i = 0; menu[i].draw != NULL; i++)
{
scrollContentSize += 1;
}
// Animated menu opening.
if (menu[currentScreen].draw != NULL) {
if (menu[currentScreen].draw != NULL)
{
// This menu is drawn in a secondary framebuffer.
// Then we play a transition from the current primary
// framebuffer to the new buffer.
@@ -935,12 +1091,14 @@ void gui_Menu(const menuitem *menu) {
OLED::transitionSecondaryFramebuffer(true);
}
while ((menu[currentScreen].draw != NULL) && earlyExit == false) {
while ((menu[currentScreen].draw != NULL) && earlyExit == false)
{
OLED::setFont(0);
OLED::setCursor(0, 0);
// If the user has hesitated for >=3 seconds, show the long text
// Otherwise "draw" the option
if ((xTaskGetTickCount() - lastButtonTime < 3000) || menu[currentScreen].description == NULL) {
if ((xTaskGetTickCount() - lastButtonTime < 3000) || menu[currentScreen].description == NULL)
{
OLED::clearScreen();
menu[currentScreen].draw();
uint8_t indicatorHeight = OLED_HEIGHT / scrollContentSize;
@@ -951,7 +1109,9 @@ void gui_Menu(const menuitem *menu) {
OLED::drawScrollIndicator(position, indicatorHeight);
lastOffset = -1;
lcdRefresh = true;
} else {
}
else
{
// Draw description
if (descriptionStart == 0)
descriptionStart = xTaskGetTickCount();
@@ -960,7 +1120,8 @@ void gui_Menu(const menuitem *menu) {
FONT_12_WIDTH * (strlen(menu[currentScreen].description) + 7);
int16_t descriptionOffset = ((xTaskGetTickCount() - descriptionStart) / (systemSettings.descriptionScrollSpeed == 1 ? 10 : 20));
descriptionOffset %= descriptionWidth; // Roll around at the end
if (lastOffset != descriptionOffset) {
if (lastOffset != descriptionOffset)
{
OLED::clearScreen();
OLED::setCursor((OLED_WIDTH - descriptionOffset), 0);
OLED::print(menu[currentScreen].description);
@@ -971,24 +1132,29 @@ void gui_Menu(const menuitem *menu) {
ButtonState buttons = getButtonState();
if (buttons != lastButtonState) {
if (buttons != lastButtonState)
{
autoRepeatAcceleration = 0;
lastButtonState = buttons;
}
switch (buttons) {
switch (buttons)
{
case BUTTON_BOTH:
earlyExit = true; // will make us exit next loop
descriptionStart = 0;
break;
case BUTTON_F_SHORT:
// increment
if (descriptionStart == 0) {
if (menu[currentScreen].incrementHandler != NULL) {
if (descriptionStart == 0)
{
if (menu[currentScreen].incrementHandler != NULL)
{
enterGUIMenu = false;
lastValue = menu[currentScreen].incrementHandler();
if (enterGUIMenu) {
if (enterGUIMenu)
{
OLED::useSecondaryFramebuffer(true);
OLED::setFont(0);
OLED::setCursor(0, 0);
@@ -998,22 +1164,28 @@ void gui_Menu(const menuitem *menu) {
OLED::transitionSecondaryFramebuffer(false);
}
enterGUIMenu = true;
} else {
}
else
{
earlyExit = true;
}
} else
}
else
descriptionStart = 0;
break;
case BUTTON_B_SHORT:
if (descriptionStart == 0) {
if (descriptionStart == 0)
{
currentScreen++;
lastValue = false;
} else
}
else
descriptionStart = 0;
break;
case BUTTON_F_LONG:
if ((int)(xTaskGetTickCount() - autoRepeatTimer + autoRepeatAcceleration) >
PRESS_ACCEL_INTERVAL_MAX) {
PRESS_ACCEL_INTERVAL_MAX)
{
if ((lastValue = menu[currentScreen].incrementHandler()))
autoRepeatTimer = 1000;
else
@@ -1028,7 +1200,8 @@ void gui_Menu(const menuitem *menu) {
break;
case BUTTON_B_LONG:
if (xTaskGetTickCount() - autoRepeatTimer + autoRepeatAcceleration >
PRESS_ACCEL_INTERVAL_MAX) {
PRESS_ACCEL_INTERVAL_MAX)
{
currentScreen++;
autoRepeatTimer = xTaskGetTickCount();
descriptionStart = 0;
@@ -1042,17 +1215,20 @@ void gui_Menu(const menuitem *menu) {
}
if ((PRESS_ACCEL_INTERVAL_MAX - autoRepeatAcceleration) <
PRESS_ACCEL_INTERVAL_MIN) {
PRESS_ACCEL_INTERVAL_MIN)
{
autoRepeatAcceleration =
PRESS_ACCEL_INTERVAL_MAX - PRESS_ACCEL_INTERVAL_MIN;
}
if (lcdRefresh) {
if (lcdRefresh)
{
OLED::refresh(); // update the LCD
osDelay(40);
lcdRefresh = false;
}
if ((xTaskGetTickCount() - lastButtonTime) > (1000 * 30)) {
if ((xTaskGetTickCount() - lastButtonTime) > (1000 * 30))
{
// If user has not pressed any buttons in 30 seconds, exit back a menu layer
// This will trickle the user back to the main screen eventually
earlyExit = true;
@@ -1061,7 +1237,8 @@ void gui_Menu(const menuitem *menu) {
}
}
void enterSettingsMenu() {
void enterSettingsMenu()
{
gui_Menu(rootSettingsMenu); // Call the root menu
saveSettings();
}

View File

@@ -432,8 +432,10 @@ static void gui_solderingMode(uint8_t jumpToSleep) {
* PID control
* --> Long hold back button to exit
* --> Double button to exit
* --> Long hold double button to toggle key lock
*/
bool boostModeOn = false;
bool buttonsLocked = false;
if (jumpToSleep) {
if (gui_SolderingSleepingMode(jumpToSleep == 2)) {
@@ -443,6 +445,45 @@ static void gui_solderingMode(uint8_t jumpToSleep) {
}
for (;;) {
ButtonState buttons = getButtonState();
if (buttonsLocked && (systemSettings.lockingMode != 0)) { // If buttons locked
switch (buttons) {
case BUTTON_NONE:
// stay
boostModeOn = false;
break;
case BUTTON_BOTH_LONG:
// Unlock buttons
buttonsLocked = false;
OLED::setCursor(0, 0);
OLED::clearScreen();
OLED::setFont(0);
OLED::print(UnlockingKeysString);
OLED::refresh();
waitForButtonPressOrTimeout(1000);
break;
case BUTTON_F_LONG:
// if boost mode is enabled turn it on
if (systemSettings.BoostTemp && (systemSettings.lockingMode == 1)) {
boostModeOn = true;
break;
};
// fall through
case BUTTON_BOTH:
case BUTTON_B_LONG:
case BUTTON_F_SHORT:
case BUTTON_B_SHORT:
// Do nothing and display a lock warming
OLED::setCursor(0, 0);
OLED::clearScreen();
OLED::setFont(0);
OLED::print(WarningKeysLockedString);
OLED::refresh();
waitForButtonPressOrTimeout(500);
break;
default:
break;
}
} else { // Button not locked
switch (buttons) {
case BUTTON_NONE:
// stay
@@ -469,9 +510,22 @@ static void gui_solderingMode(uint8_t jumpToSleep) {
}
}
break;
case BUTTON_BOTH_LONG:
if (systemSettings.lockingMode != 0) {
// Lock buttons
buttonsLocked = true;
OLED::setCursor(0, 0);
OLED::clearScreen();
OLED::setFont(0);
OLED::print(LockingKeysString);
OLED::refresh();
waitForButtonPressOrTimeout(1000);
}
break;
default:
break;
}
}
// else we update the screen information
OLED::setCursor(0, 0);
OLED::clearScreen();

View File

@@ -40,6 +40,16 @@
*/
#define AUTO_START_MODE 0 // Default to none
/**
* Locking Mode
* When in soldering mode a long press on both keys toggle the lock of the buttons
* Possible values are:
* 0 - Desactivated
* 1 - Lock except boost
* 2 - Full lock
*/
#define LOCKING_MODE 0 // Default to desactivated for safety
/**
* OLED Orientation
*