Merge pull request #535 from Ralim/feat/Settings-Reset-Should-Warn
Show warning message when settings are reset from a firmware update.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
#coding=utf-8
|
||||
# coding=utf-8
|
||||
from __future__ import print_function
|
||||
import json
|
||||
import os
|
||||
@@ -81,60 +81,64 @@ def escapeC(s):
|
||||
|
||||
def getConstants():
|
||||
# Extra constants that are used in the firmware that are shared across all languages
|
||||
consants =[]
|
||||
consants.append(('SymbolPlus','+'))
|
||||
consants.append(('SymbolMinus','-'))
|
||||
consants.append(('SymbolSpace',' '))
|
||||
consants.append(('SymbolDot','.'))
|
||||
consants.append(('SymbolDegC','C'))
|
||||
consants.append(('SymbolDegF','F'))
|
||||
consants.append(('SymbolMinutes','M'))
|
||||
consants.append(('SymbolSeconds','S'))
|
||||
consants.append(('SymbolWatts','W'))
|
||||
consants.append(('SymbolVolts','V'))
|
||||
consants.append(('SymbolDC','DC'))
|
||||
consants.append(('SymbolCellCount','S'))
|
||||
consants.append(('SymbolVersionNumber','V2.06'))
|
||||
consants = []
|
||||
consants.append(('SymbolPlus', '+'))
|
||||
consants.append(('SymbolMinus', '-'))
|
||||
consants.append(('SymbolSpace', ' '))
|
||||
consants.append(('SymbolDot', '.'))
|
||||
consants.append(('SymbolDegC', 'C'))
|
||||
consants.append(('SymbolDegF', 'F'))
|
||||
consants.append(('SymbolMinutes', 'M'))
|
||||
consants.append(('SymbolSeconds', 'S'))
|
||||
consants.append(('SymbolWatts', 'W'))
|
||||
consants.append(('SymbolVolts', 'V'))
|
||||
consants.append(('SymbolDC', 'DC'))
|
||||
consants.append(('SymbolCellCount', 'S'))
|
||||
consants.append(('SymbolVersionNumber', 'V2.06'))
|
||||
return consants
|
||||
def getTipModelEnumTS80():
|
||||
|
||||
|
||||
def getTipModelEnumTS80():
|
||||
constants = []
|
||||
constants.append("B02")
|
||||
constants.append("D25")
|
||||
constants.append("TS80") # end of miniware
|
||||
constants.append("User") # User
|
||||
constants.append("TS80") # end of miniware
|
||||
constants.append("User") # User
|
||||
return constants
|
||||
|
||||
def getTipModelEnumTS100():
|
||||
|
||||
def getTipModelEnumTS100():
|
||||
constants = []
|
||||
constants.append("B02")
|
||||
constants.append("D24")
|
||||
constants.append("BC2")
|
||||
constants.append(" C1")
|
||||
constants.append("TS100")# end of miniware
|
||||
constants.append("TS100") # end of miniware
|
||||
constants.append("BC2")
|
||||
constants.append("Hakko")# end of hakko
|
||||
constants.append("Hakko") # end of hakko
|
||||
constants.append("User")
|
||||
return constants
|
||||
|
||||
def getDebugMenu():
|
||||
|
||||
def getDebugMenu():
|
||||
constants = []
|
||||
constants.append(datetime.today().strftime('%d-%m-%y'))
|
||||
constants.append("HW G ")
|
||||
constants.append("HW M ")
|
||||
constants.append("HW P ")
|
||||
constants.append("HW P ")
|
||||
constants.append("Time ")
|
||||
constants.append("Move ")
|
||||
constants.append("RTip ")
|
||||
constants.append("CTip ")
|
||||
constants.append("CHan ")
|
||||
constants.append("Vin ")
|
||||
constants.append("PCB ") # PCB Version AKA IMU version
|
||||
constants.append("PCB ") # PCB Version AKA IMU version
|
||||
return constants
|
||||
|
||||
|
||||
def getLetterCounts(defs, lang):
|
||||
textList = []
|
||||
#iterate over all strings
|
||||
# iterate over all strings
|
||||
obj = lang['menuOptions']
|
||||
for mod in defs['menuOptions']:
|
||||
eid = mod['id']
|
||||
@@ -173,13 +177,13 @@ def getLetterCounts(defs, lang):
|
||||
for mod in defs['menuGroups']:
|
||||
eid = mod['id']
|
||||
textList.append(obj[eid]['desc'])
|
||||
constants = getConstants()
|
||||
constants = getConstants()
|
||||
for x in constants:
|
||||
textList.append(x[1])
|
||||
textList.extend(getTipModelEnumTS100())
|
||||
textList.extend(getTipModelEnumTS80())
|
||||
textList.extend(getTipModelEnumTS80())
|
||||
textList.extend(getDebugMenu())
|
||||
|
||||
|
||||
# collapse all strings down into the composite letters and store totals for these
|
||||
|
||||
symbolCounts = {}
|
||||
@@ -187,26 +191,25 @@ def getLetterCounts(defs, lang):
|
||||
line = line.replace('\n', '').replace('\r', '')
|
||||
line = line.replace('\\n', '').replace('\\r', '')
|
||||
if len(line):
|
||||
#print(line)
|
||||
# print(line)
|
||||
for letter in line:
|
||||
symbolCounts[letter] = symbolCounts.get(letter, 0) + 1
|
||||
symbolCounts = sorted(
|
||||
symbolCounts.items(),
|
||||
key=lambda kv: (kv[1],kv[0])) # swap to Big -> little sort order
|
||||
key=lambda kv: (kv[1], kv[0])) # swap to Big -> little sort order
|
||||
symbolCounts = list(map(lambda x: x[0], symbolCounts))
|
||||
symbolCounts.reverse()
|
||||
return symbolCounts
|
||||
|
||||
|
||||
|
||||
def getFontMapAndTable(textList):
|
||||
# the text list is sorted
|
||||
# allocate out these in their order as number codes
|
||||
symbolMap = {}
|
||||
symbolMap['\n'] = '\\x01'
|
||||
symbolMap['\n'] = '\\x01' # Force insert the newline char
|
||||
index = 2 # start at 2, as 0= null terminator,1 = new line
|
||||
forcedFirstSymbols = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
|
||||
#enforce numbers are first
|
||||
# enforce numbers are first
|
||||
for sym in forcedFirstSymbols:
|
||||
symbolMap[sym] = "\\x%0.2X" % index
|
||||
index = index + 1
|
||||
@@ -229,12 +232,14 @@ def getFontMapAndTable(textList):
|
||||
print('Missing Large font element for {}'.format(sym))
|
||||
exit(1)
|
||||
fontLine = fontTable[sym]
|
||||
fontTableStrings.append(fontLine + "//{} -> {}".format(symbolMap[sym],sym))
|
||||
fontTableStrings.append(
|
||||
fontLine + "//{} -> {}".format(symbolMap[sym], sym))
|
||||
if sym not in fontSmallTable:
|
||||
print('Missing Small font element for {}'.format(sym))
|
||||
exit(1)
|
||||
fontLine = fontSmallTable[sym]
|
||||
fontSmallTableStrings.append(fontLine + "//{} -> {}".format(symbolMap[sym],sym))
|
||||
fontSmallTableStrings.append(
|
||||
fontLine + "//{} -> {}".format(symbolMap[sym], sym))
|
||||
|
||||
for sym in textList:
|
||||
if sym not in fontTable:
|
||||
@@ -242,12 +247,14 @@ def getFontMapAndTable(textList):
|
||||
exit(1)
|
||||
if sym not in forcedFirstSymbols:
|
||||
fontLine = fontTable[sym]
|
||||
fontTableStrings.append(fontLine + "//{} -> {}".format(symbolMap[sym],sym))
|
||||
fontTableStrings.append(
|
||||
fontLine + "//{} -> {}".format(symbolMap[sym], sym))
|
||||
if sym not in fontSmallTable:
|
||||
print('Missing Small font element for {}'.format(sym))
|
||||
exit(1)
|
||||
fontLine = fontSmallTable[sym]
|
||||
fontSmallTableStrings.append(fontLine + "//{} -> {}".format(symbolMap[sym],sym))
|
||||
fontSmallTableStrings.append(
|
||||
fontLine + "//{} -> {}".format(symbolMap[sym], sym))
|
||||
outputTable = "const uint8_t USER_FONT_12[] = {" + to_unicode("\n")
|
||||
for line in fontTableStrings:
|
||||
# join font table int one large string
|
||||
@@ -265,7 +272,7 @@ def getFontMapAndTable(textList):
|
||||
def convStr(symbolConversionTable, text):
|
||||
# convert all of the symbols from the string into escapes for their content
|
||||
outputString = ""
|
||||
for c in text.replace('\\r', '').replace('\\n','\n'):
|
||||
for c in text.replace('\\r', '').replace('\\n', '\n'):
|
||||
if c not in symbolConversionTable:
|
||||
print('Missing font definition for {}'.format(c))
|
||||
else:
|
||||
@@ -276,7 +283,7 @@ def convStr(symbolConversionTable, text):
|
||||
def writeLanguage(languageCode, defs, f):
|
||||
print("Generating block for " + languageCode)
|
||||
lang = langDict[languageCode]
|
||||
#Iterate over all of the text to build up the symbols & counts
|
||||
# Iterate over all of the text to build up the symbols & counts
|
||||
textList = getLetterCounts(defs, lang)
|
||||
# From the letter counts, need to make a symbol translator & write out the font
|
||||
(fontTableText, symbolConversionTable) = getFontMapAndTable(textList)
|
||||
@@ -290,7 +297,6 @@ def writeLanguage(languageCode, defs, f):
|
||||
|
||||
f.write(to_unicode("// ---- " + langName + " ----\n\n"))
|
||||
|
||||
|
||||
# ----- Writing SettingsDescriptions
|
||||
obj = lang['menuOptions']
|
||||
f.write(to_unicode("const char* SettingsDescriptions[] = {\n"))
|
||||
@@ -316,14 +322,15 @@ def writeLanguage(languageCode, defs, f):
|
||||
|
||||
for mod in defs['messages']:
|
||||
eid = mod['id']
|
||||
if eid not in obj:
|
||||
f.write(
|
||||
sourceText = ""
|
||||
if 'default' in mod:
|
||||
sourceText = (mod['default'])
|
||||
if eid in obj:
|
||||
sourceText = (obj[eid])
|
||||
translatedText = convStr(symbolConversionTable, sourceText)
|
||||
f.write(
|
||||
to_unicode("const char* " + eid + " = \"" +
|
||||
convStr(symbolConversionTable, (mod['default'])) + "\";"+ "//{} \n".format(mod['default'])))
|
||||
else:
|
||||
f.write(
|
||||
to_unicode("const char* " + eid + " = \"" +
|
||||
convStr(symbolConversionTable, (obj[eid])) + "\";"+ "//{} \n".format(obj[eid])))
|
||||
translatedText + "\";" + "//{} \n".format(sourceText.replace('\n', '_'))))
|
||||
|
||||
f.write(to_unicode("\n"))
|
||||
|
||||
@@ -335,7 +342,7 @@ def writeLanguage(languageCode, defs, f):
|
||||
eid = mod['id']
|
||||
f.write(
|
||||
to_unicode("const char* " + eid + " = \"" +
|
||||
convStr(symbolConversionTable, obj[eid]) + "\";"+ "//{} \n".format(obj[eid])))
|
||||
convStr(symbolConversionTable, obj[eid]) + "\";" + "//{} \n".format(obj[eid])))
|
||||
|
||||
f.write(to_unicode("\n"))
|
||||
|
||||
@@ -344,7 +351,7 @@ def writeLanguage(languageCode, defs, f):
|
||||
for x in constants:
|
||||
f.write(
|
||||
to_unicode("const char* " + x[0] + " = \"" +
|
||||
convStr(symbolConversionTable, x[1]) + "\";"+ "//{} \n".format(x[1])))
|
||||
convStr(symbolConversionTable, x[1]) + "\";" + "//{} \n".format(x[1])))
|
||||
|
||||
f.write(to_unicode("\n"))
|
||||
# Write out tip model strings
|
||||
@@ -352,19 +359,22 @@ def writeLanguage(languageCode, defs, f):
|
||||
f.write(to_unicode("const char* TipModelStrings[] = {\n"))
|
||||
f.write(to_unicode("#ifdef MODEL_TS100\n"))
|
||||
for c in getTipModelEnumTS100():
|
||||
f.write(to_unicode("\t \"" + convStr(symbolConversionTable, c) + "\","+ "//{} \n".format(c)))
|
||||
f.write(to_unicode("\t \"" + convStr(symbolConversionTable,
|
||||
c) + "\"," + "//{} \n".format(c)))
|
||||
f.write(to_unicode("#else\n"))
|
||||
for c in getTipModelEnumTS80():
|
||||
f.write(to_unicode("\t \"" + convStr(symbolConversionTable, c) + "\","+ "//{} \n".format(c)))
|
||||
f.write(to_unicode("\t \"" + convStr(symbolConversionTable,
|
||||
c) + "\"," + "//{} \n".format(c)))
|
||||
f.write(to_unicode("#endif\n"))
|
||||
|
||||
f.write(to_unicode("};\n\n"))
|
||||
|
||||
|
||||
# Debug Menu
|
||||
f.write(to_unicode("const char* DebugMenu[] = {\n"))
|
||||
|
||||
|
||||
for c in getDebugMenu():
|
||||
f.write(to_unicode("\t \"" + convStr(symbolConversionTable, c) + "\","+ "//{} \n".format(c)))
|
||||
f.write(to_unicode("\t \"" + convStr(symbolConversionTable,
|
||||
c) + "\"," + "//{} \n".format(c)))
|
||||
f.write(to_unicode("};\n\n"))
|
||||
|
||||
# ----- Menu Options
|
||||
@@ -392,12 +402,12 @@ def writeLanguage(languageCode, defs, f):
|
||||
convStr(symbolConversionTable, (obj[eid]['text2'][0])) +
|
||||
"\", \"" +
|
||||
convStr(symbolConversionTable, (obj[eid]['text2'][1])) +
|
||||
"\" },"+ "//{} \n".format(obj[eid]['text2'])))
|
||||
"\" }," + "//{} \n".format(obj[eid]['text2'])))
|
||||
else:
|
||||
f.write(
|
||||
to_unicode("{ \"" +
|
||||
convStr(symbolConversionTable, (obj[eid]['text'])) +
|
||||
"\" },"+ "//{} \n".format(obj[eid]['text'])))
|
||||
"\" }," + "//{} \n".format(obj[eid]['text'])))
|
||||
if 'feature' in mod:
|
||||
f.write(to_unicode("#endif\n"))
|
||||
|
||||
@@ -416,7 +426,7 @@ def writeLanguage(languageCode, defs, f):
|
||||
f.write(
|
||||
to_unicode("\"" +
|
||||
convStr(symbolConversionTable, (obj[eid]['text2'][0]) +
|
||||
"\\n" + obj[eid]['text2'][1]) + "\","+ "//{} \n".format(obj[eid]['text2'])))
|
||||
"\\n" + obj[eid]['text2'][1]) + "\"," + "//{} \n".format(obj[eid]['text2'])))
|
||||
|
||||
f.write(to_unicode("};\n\n"))
|
||||
|
||||
@@ -433,7 +443,7 @@ def writeLanguage(languageCode, defs, f):
|
||||
f.write(
|
||||
to_unicode("\"" +
|
||||
convStr(symbolConversionTable, (obj[eid]['desc'])) +
|
||||
"\","+ "//{} \n".format(obj[eid]['desc'])))
|
||||
"\"," + "//{} \n".format(obj[eid]['desc'])))
|
||||
|
||||
f.write(to_unicode("};\n\n"))
|
||||
|
||||
|
||||
@@ -1,235 +1,236 @@
|
||||
{
|
||||
"languageCode": "EN",
|
||||
"languageLocalName": "English",
|
||||
"cyrillicGlyphs": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationDone": "Calibration done!",
|
||||
"SettingsCalibrationWarning": "Please ensure the tip is at room temperature before continuing!",
|
||||
"SettingsResetWarning": "Are you sure you want to reset settings to default values?",
|
||||
"UVLOWarningString": "DC LOW",
|
||||
"UndervoltageString": "Undervoltage",
|
||||
"InputVoltageString": "Input V: ",
|
||||
"WarningTipTempString": "Tip Temp: ",
|
||||
"BadTipString": "BAD TIP",
|
||||
"SleepingSimpleString": "Zzzz",
|
||||
"SleepingAdvancedString": "Sleeping...",
|
||||
"WarningSimpleString": "HOT!",
|
||||
"WarningAdvancedString": "!!! TIP HOT !!!",
|
||||
"SleepingTipAdvancedString": "Tip:",
|
||||
"IdleTipString": "Tip:",
|
||||
"IdleSetString": " Set:",
|
||||
"TipDisconnectedString": "TIP DISCONNECTED",
|
||||
"SolderingAdvancedPowerPrompt": "Power: ",
|
||||
"OffString": "Off",
|
||||
"ResetOKMessage":"Reset OK",
|
||||
"YourGainMessage":"Your Gain:"
|
||||
},
|
||||
"characters": {
|
||||
"SettingRightChar": "R",
|
||||
"SettingLeftChar": "L",
|
||||
"SettingAutoChar": "A",
|
||||
"SettingFastChar": "F",
|
||||
"SettingSlowChar": "S"
|
||||
},
|
||||
"menuDouble": true,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
"Soldering",
|
||||
"Settings"
|
||||
],
|
||||
"desc": "Soldering settings"
|
||||
},
|
||||
"PowerSavingMenu": {
|
||||
"text2": [
|
||||
"Sleep",
|
||||
"Modes"
|
||||
],
|
||||
"desc": "Power saving settings"
|
||||
},
|
||||
"UIMenu": {
|
||||
"text2": [
|
||||
"User",
|
||||
"Interface"
|
||||
],
|
||||
"desc": "User interface settings"
|
||||
},
|
||||
"AdvancedMenu": {
|
||||
"text2": [
|
||||
"Advanced",
|
||||
"Options"
|
||||
],
|
||||
"desc": "Advanced options"
|
||||
}
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "PWRSC",
|
||||
"text2": [
|
||||
"Power",
|
||||
"source"
|
||||
],
|
||||
"desc": "Power source. Sets cutoff voltage. <DC 10V> <S 3.3V per cell>"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "STMP",
|
||||
"text2": [
|
||||
"Sleep",
|
||||
"temp"
|
||||
],
|
||||
"desc": "Sleep Temperature <C>"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "STME",
|
||||
"text2": [
|
||||
"Sleep",
|
||||
"timeout"
|
||||
],
|
||||
"desc": "Sleep Timeout <Minutes/Seconds>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "SHTME",
|
||||
"text2": [
|
||||
"Shutdown",
|
||||
"timeout"
|
||||
],
|
||||
"desc": "Shutdown Timeout <Minutes>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "MSENSE",
|
||||
"text2": [
|
||||
"Motion",
|
||||
"sensitivity"
|
||||
],
|
||||
"desc": "Motion Sensitivity <0.Off 1.least sensitive 9.most sensitive>"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "TMPUNT",
|
||||
"text2": [
|
||||
"Temperature",
|
||||
"units"
|
||||
],
|
||||
"desc": "Temperature Unit <C=Celsius F=Fahrenheit>"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "ADVIDL",
|
||||
"text2": [
|
||||
"Detailed",
|
||||
"idle screen"
|
||||
],
|
||||
"desc": "Display detailed information in a smaller font on the idle screen."
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "DSPROT",
|
||||
"text2": [
|
||||
"Display",
|
||||
"orientation"
|
||||
],
|
||||
"desc": "Display Orientation <A. Automatic L. Left Handed R. Right Handed>"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "BOOST",
|
||||
"text2": [
|
||||
"Boost mode",
|
||||
"enabled"
|
||||
],
|
||||
"desc": "Enable front key enters boost mode 450C mode when soldering"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "BTMP",
|
||||
"text2": [
|
||||
"Boost",
|
||||
"temp"
|
||||
],
|
||||
"desc": "Temperature when in \"boost\" mode"
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "ASTART",
|
||||
"text2": [
|
||||
"Auto",
|
||||
"start"
|
||||
],
|
||||
"desc": "Automatically starts the iron into soldering on power up. T=Soldering, S= Sleep mode,F=Off"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "CLBLNK",
|
||||
"text2": [
|
||||
"Cooldown",
|
||||
"blink"
|
||||
],
|
||||
"desc": "Blink the temperature on the cooling screen while the tip is still hot."
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "TMP CAL?",
|
||||
"text2": [
|
||||
"Calibrate",
|
||||
"temperature?"
|
||||
],
|
||||
"desc": "Calibrate tip offset."
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "RESET?",
|
||||
"text2": [
|
||||
"Factory",
|
||||
"Reset?"
|
||||
],
|
||||
"desc": "Reset all settings"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "CAL VIN?",
|
||||
"text2": [
|
||||
"Calibrate",
|
||||
"input voltage?"
|
||||
],
|
||||
"desc": "VIN Calibration. Buttons adjust, long press to exit"
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "ADVSLD",
|
||||
"text2": [
|
||||
"Detailed",
|
||||
"solder screen"
|
||||
],
|
||||
"desc": "Display detailed information while soldering"
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "DESCSP",
|
||||
"text2": [
|
||||
"Scrolling",
|
||||
"Speed"
|
||||
],
|
||||
"desc": "Speed this text scrolls past at"
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "TIPMO",
|
||||
"text2": [
|
||||
"Tip",
|
||||
"Model"
|
||||
],
|
||||
"desc": "Tip Model selection"
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "SMPCAL",
|
||||
"text2": [
|
||||
"Simple",
|
||||
"Calibration"
|
||||
],
|
||||
"desc": "Simple Calibration using Hot water"
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "ADVCAL",
|
||||
"text2": [
|
||||
"Advanced",
|
||||
"Calibration"
|
||||
],
|
||||
"desc": "Advanced calibration using thermocouple on the tip"
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "PWRW",
|
||||
"text2": [
|
||||
"Power",
|
||||
"Wattage"
|
||||
],
|
||||
"desc": "Power Wattage of the power adapter used"
|
||||
}
|
||||
}
|
||||
{
|
||||
"languageCode": "EN",
|
||||
"languageLocalName": "English",
|
||||
"cyrillicGlyphs": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationDone": "Calibration done!",
|
||||
"SettingsCalibrationWarning": "Please ensure the tip is at room temperature before continuing!",
|
||||
"SettingsResetWarning": "Are you sure you want to reset settings to default values?",
|
||||
"UVLOWarningString": "DC LOW",
|
||||
"UndervoltageString": "Undervoltage",
|
||||
"InputVoltageString": "Input V: ",
|
||||
"WarningTipTempString": "Tip Temp: ",
|
||||
"BadTipString": "BAD TIP",
|
||||
"SleepingSimpleString": "Zzzz",
|
||||
"SleepingAdvancedString": "Sleeping...",
|
||||
"WarningSimpleString": "HOT!",
|
||||
"WarningAdvancedString": "!!! TIP HOT !!!",
|
||||
"SleepingTipAdvancedString": "Tip:",
|
||||
"IdleTipString": "Tip:",
|
||||
"IdleSetString": " Set:",
|
||||
"TipDisconnectedString": "TIP DISCONNECTED",
|
||||
"SolderingAdvancedPowerPrompt": "Power: ",
|
||||
"OffString": "Off",
|
||||
"ResetOKMessage": "Reset OK",
|
||||
"YourGainMessage": "Your Gain:",
|
||||
"SettingsResetMessage": "Settings were\nreset!"
|
||||
},
|
||||
"characters": {
|
||||
"SettingRightChar": "R",
|
||||
"SettingLeftChar": "L",
|
||||
"SettingAutoChar": "A",
|
||||
"SettingFastChar": "F",
|
||||
"SettingSlowChar": "S"
|
||||
},
|
||||
"menuDouble": true,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
"Soldering",
|
||||
"Settings"
|
||||
],
|
||||
"desc": "Soldering settings"
|
||||
},
|
||||
"PowerSavingMenu": {
|
||||
"text2": [
|
||||
"Sleep",
|
||||
"Modes"
|
||||
],
|
||||
"desc": "Power saving settings"
|
||||
},
|
||||
"UIMenu": {
|
||||
"text2": [
|
||||
"User",
|
||||
"Interface"
|
||||
],
|
||||
"desc": "User interface settings"
|
||||
},
|
||||
"AdvancedMenu": {
|
||||
"text2": [
|
||||
"Advanced",
|
||||
"Options"
|
||||
],
|
||||
"desc": "Advanced options"
|
||||
}
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "PWRSC",
|
||||
"text2": [
|
||||
"Power",
|
||||
"source"
|
||||
],
|
||||
"desc": "Power source. Sets cutoff voltage. <DC 10V> <S 3.3V per cell>"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "STMP",
|
||||
"text2": [
|
||||
"Sleep",
|
||||
"temp"
|
||||
],
|
||||
"desc": "Sleep Temperature <C>"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "STME",
|
||||
"text2": [
|
||||
"Sleep",
|
||||
"timeout"
|
||||
],
|
||||
"desc": "Sleep Timeout <Minutes/Seconds>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "SHTME",
|
||||
"text2": [
|
||||
"Shutdown",
|
||||
"timeout"
|
||||
],
|
||||
"desc": "Shutdown Timeout <Minutes>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "MSENSE",
|
||||
"text2": [
|
||||
"Motion",
|
||||
"sensitivity"
|
||||
],
|
||||
"desc": "Motion Sensitivity <0.Off 1.least sensitive 9.most sensitive>"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "TMPUNT",
|
||||
"text2": [
|
||||
"Temperature",
|
||||
"units"
|
||||
],
|
||||
"desc": "Temperature Unit <C=Celsius F=Fahrenheit>"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "ADVIDL",
|
||||
"text2": [
|
||||
"Detailed",
|
||||
"idle screen"
|
||||
],
|
||||
"desc": "Display detailed information in a smaller font on the idle screen."
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "DSPROT",
|
||||
"text2": [
|
||||
"Display",
|
||||
"orientation"
|
||||
],
|
||||
"desc": "Display Orientation <A. Automatic L. Left Handed R. Right Handed>"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "BOOST",
|
||||
"text2": [
|
||||
"Boost mode",
|
||||
"enabled"
|
||||
],
|
||||
"desc": "Enable front key enters boost mode 450C mode when soldering"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "BTMP",
|
||||
"text2": [
|
||||
"Boost",
|
||||
"temp"
|
||||
],
|
||||
"desc": "Temperature when in \"boost\" mode"
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "ASTART",
|
||||
"text2": [
|
||||
"Auto",
|
||||
"start"
|
||||
],
|
||||
"desc": "Automatically starts the iron into soldering on power up. T=Soldering, S= Sleep mode,F=Off"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "CLBLNK",
|
||||
"text2": [
|
||||
"Cooldown",
|
||||
"blink"
|
||||
],
|
||||
"desc": "Blink the temperature on the cooling screen while the tip is still hot."
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "TMP CAL?",
|
||||
"text2": [
|
||||
"Calibrate",
|
||||
"temperature?"
|
||||
],
|
||||
"desc": "Calibrate tip offset."
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "RESET?",
|
||||
"text2": [
|
||||
"Factory",
|
||||
"Reset?"
|
||||
],
|
||||
"desc": "Reset all settings"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "CAL VIN?",
|
||||
"text2": [
|
||||
"Calibrate",
|
||||
"input voltage?"
|
||||
],
|
||||
"desc": "VIN Calibration. Buttons adjust, long press to exit"
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "ADVSLD",
|
||||
"text2": [
|
||||
"Detailed",
|
||||
"solder screen"
|
||||
],
|
||||
"desc": "Display detailed information while soldering"
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "DESCSP",
|
||||
"text2": [
|
||||
"Scrolling",
|
||||
"Speed"
|
||||
],
|
||||
"desc": "Speed this text scrolls past at"
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "TIPMO",
|
||||
"text2": [
|
||||
"Tip",
|
||||
"Model"
|
||||
],
|
||||
"desc": "Tip Model selection"
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "SMPCAL",
|
||||
"text2": [
|
||||
"Simple",
|
||||
"Calibration"
|
||||
],
|
||||
"desc": "Simple Calibration using Hot water"
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "ADVCAL",
|
||||
"text2": [
|
||||
"Advanced",
|
||||
"Calibration"
|
||||
],
|
||||
"desc": "Advanced calibration using thermocouple on the tip"
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "PWRW",
|
||||
"text2": [
|
||||
"Power",
|
||||
"Wattage"
|
||||
],
|
||||
"desc": "Power Wattage of the power adapter used"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,241 +1,246 @@
|
||||
var def =
|
||||
{
|
||||
"messages": [
|
||||
{
|
||||
"id": "SettingsCalibrationDone"
|
||||
},
|
||||
{
|
||||
"id": "SettingsCalibrationWarning"
|
||||
},
|
||||
{
|
||||
"id": "SettingsResetWarning"
|
||||
},
|
||||
{
|
||||
"id": "UVLOWarningString",
|
||||
"maxLen": 8
|
||||
},
|
||||
{
|
||||
"id": "UndervoltageString",
|
||||
"maxLen": 16
|
||||
},
|
||||
{
|
||||
"id": "InputVoltageString",
|
||||
"maxLen": 11,
|
||||
"note": "Preferably end with a space"
|
||||
},
|
||||
{
|
||||
"id": "WarningTipTempString",
|
||||
"maxLen": 12,
|
||||
"note": "Preferably end with a space"
|
||||
},
|
||||
{
|
||||
"id": "BadTipString",
|
||||
"maxLen": 8
|
||||
},
|
||||
{
|
||||
"id": "SleepingSimpleString",
|
||||
"maxLen": 4
|
||||
},
|
||||
{
|
||||
"id": "SleepingAdvancedString",
|
||||
"maxLen": 16
|
||||
},
|
||||
{
|
||||
"id": "WarningSimpleString",
|
||||
"maxLen": 4
|
||||
},
|
||||
{
|
||||
"id": "WarningAdvancedString",
|
||||
"maxLen": 16
|
||||
},
|
||||
{
|
||||
"id": "SleepingTipAdvancedString",
|
||||
"maxLen": 6
|
||||
},
|
||||
{
|
||||
"id": "IdleTipString",
|
||||
"lenSum":
|
||||
{
|
||||
"fields": ["IdleTipString", "IdleSetString"],
|
||||
"maxLen": 10
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "IdleSetString",
|
||||
"lenSum":
|
||||
{
|
||||
"fields": ["IdleTipString", "IdleSetString"],
|
||||
"maxLen": 10
|
||||
},
|
||||
"note": "Preferably start with a space"
|
||||
},
|
||||
{
|
||||
"id": "TipDisconnectedString",
|
||||
"maxLen": 16
|
||||
},
|
||||
{
|
||||
"id": "SolderingAdvancedPowerPrompt",
|
||||
"maxLen": null
|
||||
},
|
||||
{
|
||||
"id": "OffString",
|
||||
"maxLen": 3
|
||||
},
|
||||
{
|
||||
"id": "ResetOKMessage",
|
||||
"maxLen": 8
|
||||
},
|
||||
{
|
||||
"id": "YourGainMessage",
|
||||
"maxLen": 8,
|
||||
"default":"Your Gain"
|
||||
}
|
||||
],
|
||||
"characters": [
|
||||
{
|
||||
"id": "SettingRightChar",
|
||||
"len": 1
|
||||
},
|
||||
{
|
||||
"id": "SettingLeftChar",
|
||||
"len": 1
|
||||
},
|
||||
{
|
||||
"id": "SettingAutoChar",
|
||||
"len": 1
|
||||
},
|
||||
{
|
||||
"id": "SettingFastChar",
|
||||
"len": 1
|
||||
},
|
||||
{
|
||||
"id": "SettingSlowChar",
|
||||
"len": 1
|
||||
}
|
||||
],
|
||||
"menuGroups": [
|
||||
{
|
||||
"id": "SolderingMenu",
|
||||
"maxLen": 11
|
||||
},
|
||||
{
|
||||
"id": "PowerSavingMenu",
|
||||
"maxLen": 11
|
||||
},
|
||||
{
|
||||
"id": "UIMenu",
|
||||
"maxLen": 11
|
||||
},
|
||||
{
|
||||
"id": "AdvancedMenu",
|
||||
"maxLen": 11
|
||||
}
|
||||
],
|
||||
"menuOptions": [
|
||||
{
|
||||
"id": "PowerSource",
|
||||
"maxLen": 5,
|
||||
"maxLen2": 11
|
||||
},
|
||||
{
|
||||
"id": "SleepTemperature",
|
||||
"maxLen": 4,
|
||||
"maxLen2": 9
|
||||
},
|
||||
{
|
||||
"id": "SleepTimeout",
|
||||
"maxLen": 4,
|
||||
"maxLen2": 9
|
||||
},
|
||||
{
|
||||
"id": "ShutdownTimeout",
|
||||
"maxLen": 5,
|
||||
"maxLen2": 11
|
||||
},
|
||||
{
|
||||
"id": "MotionSensitivity",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
},
|
||||
{
|
||||
"id": "TemperatureUnit",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
},
|
||||
{
|
||||
"id": "AdvancedIdle",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
},
|
||||
{
|
||||
"id": "DisplayRotation",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
},
|
||||
{
|
||||
"id": "BoostEnabled",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
},
|
||||
{
|
||||
"id": "BoostTemperature",
|
||||
"maxLen": 4,
|
||||
"maxLen2": 9
|
||||
},
|
||||
{
|
||||
"id": "AutoStart",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
},
|
||||
{
|
||||
"id": "CooldownBlink",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
},
|
||||
{
|
||||
"id": "TemperatureCalibration",
|
||||
"maxLen": 8,
|
||||
"maxLen2": 16
|
||||
},
|
||||
{
|
||||
"id": "SettingsReset",
|
||||
"maxLen": 8,
|
||||
"maxLen2": 16
|
||||
},
|
||||
{
|
||||
"id": "VoltageCalibration",
|
||||
"maxLen": 8,
|
||||
"maxLen2": 16
|
||||
},
|
||||
{
|
||||
"id": "AdvancedSoldering",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
},
|
||||
{
|
||||
"id": "ScrollingSpeed",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 11
|
||||
},
|
||||
{
|
||||
"id": "TipModel",
|
||||
"maxLen": 8,
|
||||
"maxLen2": 16
|
||||
},
|
||||
{
|
||||
"id": "SimpleCalibrationMode",
|
||||
"maxLen": 8,
|
||||
"maxLen2": 16
|
||||
},
|
||||
{
|
||||
"id": "AdvancedCalibrationMode",
|
||||
"maxLen": 8,
|
||||
"maxLen2": 16
|
||||
},
|
||||
{
|
||||
"id": "PowerInput",
|
||||
"maxLen": 8,
|
||||
"maxLen2": 16
|
||||
}
|
||||
]
|
||||
}
|
||||
var def =
|
||||
{
|
||||
"messages": [
|
||||
{
|
||||
"id": "SettingsCalibrationDone"
|
||||
},
|
||||
{
|
||||
"id": "SettingsCalibrationWarning"
|
||||
},
|
||||
{
|
||||
"id": "SettingsResetWarning"
|
||||
},
|
||||
{
|
||||
"id": "UVLOWarningString",
|
||||
"maxLen": 8
|
||||
},
|
||||
{
|
||||
"id": "UndervoltageString",
|
||||
"maxLen": 16
|
||||
},
|
||||
{
|
||||
"id": "InputVoltageString",
|
||||
"maxLen": 11,
|
||||
"note": "Preferably end with a space"
|
||||
},
|
||||
{
|
||||
"id": "WarningTipTempString",
|
||||
"maxLen": 12,
|
||||
"note": "Preferably end with a space"
|
||||
},
|
||||
{
|
||||
"id": "BadTipString",
|
||||
"maxLen": 8
|
||||
},
|
||||
{
|
||||
"id": "SleepingSimpleString",
|
||||
"maxLen": 4
|
||||
},
|
||||
{
|
||||
"id": "SleepingAdvancedString",
|
||||
"maxLen": 16
|
||||
},
|
||||
{
|
||||
"id": "WarningSimpleString",
|
||||
"maxLen": 4
|
||||
},
|
||||
{
|
||||
"id": "WarningAdvancedString",
|
||||
"maxLen": 16
|
||||
},
|
||||
{
|
||||
"id": "SleepingTipAdvancedString",
|
||||
"maxLen": 6
|
||||
},
|
||||
{
|
||||
"id": "IdleTipString",
|
||||
"lenSum":
|
||||
{
|
||||
"fields": ["IdleTipString", "IdleSetString"],
|
||||
"maxLen": 10
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "IdleSetString",
|
||||
"lenSum":
|
||||
{
|
||||
"fields": ["IdleTipString", "IdleSetString"],
|
||||
"maxLen": 10
|
||||
},
|
||||
"note": "Preferably start with a space"
|
||||
},
|
||||
{
|
||||
"id": "TipDisconnectedString",
|
||||
"maxLen": 16
|
||||
},
|
||||
{
|
||||
"id": "SolderingAdvancedPowerPrompt",
|
||||
"maxLen": null
|
||||
},
|
||||
{
|
||||
"id": "OffString",
|
||||
"maxLen": 3
|
||||
},
|
||||
{
|
||||
"id": "ResetOKMessage",
|
||||
"maxLen": 8
|
||||
},
|
||||
{
|
||||
"id": "YourGainMessage",
|
||||
"maxLen": 8,
|
||||
"default": "Your Gain"
|
||||
},
|
||||
{
|
||||
"id": "SettingsResetMessage",
|
||||
"maxLen": 16,
|
||||
"default": "Settings were\nreset!"
|
||||
}
|
||||
],
|
||||
"characters": [
|
||||
{
|
||||
"id": "SettingRightChar",
|
||||
"len": 1
|
||||
},
|
||||
{
|
||||
"id": "SettingLeftChar",
|
||||
"len": 1
|
||||
},
|
||||
{
|
||||
"id": "SettingAutoChar",
|
||||
"len": 1
|
||||
},
|
||||
{
|
||||
"id": "SettingFastChar",
|
||||
"len": 1
|
||||
},
|
||||
{
|
||||
"id": "SettingSlowChar",
|
||||
"len": 1
|
||||
}
|
||||
],
|
||||
"menuGroups": [
|
||||
{
|
||||
"id": "SolderingMenu",
|
||||
"maxLen": 11
|
||||
},
|
||||
{
|
||||
"id": "PowerSavingMenu",
|
||||
"maxLen": 11
|
||||
},
|
||||
{
|
||||
"id": "UIMenu",
|
||||
"maxLen": 11
|
||||
},
|
||||
{
|
||||
"id": "AdvancedMenu",
|
||||
"maxLen": 11
|
||||
}
|
||||
],
|
||||
"menuOptions": [
|
||||
{
|
||||
"id": "PowerSource",
|
||||
"maxLen": 5,
|
||||
"maxLen2": 11
|
||||
},
|
||||
{
|
||||
"id": "SleepTemperature",
|
||||
"maxLen": 4,
|
||||
"maxLen2": 9
|
||||
},
|
||||
{
|
||||
"id": "SleepTimeout",
|
||||
"maxLen": 4,
|
||||
"maxLen2": 9
|
||||
},
|
||||
{
|
||||
"id": "ShutdownTimeout",
|
||||
"maxLen": 5,
|
||||
"maxLen2": 11
|
||||
},
|
||||
{
|
||||
"id": "MotionSensitivity",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
},
|
||||
{
|
||||
"id": "TemperatureUnit",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
},
|
||||
{
|
||||
"id": "AdvancedIdle",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
},
|
||||
{
|
||||
"id": "DisplayRotation",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
},
|
||||
{
|
||||
"id": "BoostEnabled",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
},
|
||||
{
|
||||
"id": "BoostTemperature",
|
||||
"maxLen": 4,
|
||||
"maxLen2": 9
|
||||
},
|
||||
{
|
||||
"id": "AutoStart",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
},
|
||||
{
|
||||
"id": "CooldownBlink",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
},
|
||||
{
|
||||
"id": "TemperatureCalibration",
|
||||
"maxLen": 8,
|
||||
"maxLen2": 16
|
||||
},
|
||||
{
|
||||
"id": "SettingsReset",
|
||||
"maxLen": 8,
|
||||
"maxLen2": 16
|
||||
},
|
||||
{
|
||||
"id": "VoltageCalibration",
|
||||
"maxLen": 8,
|
||||
"maxLen2": 16
|
||||
},
|
||||
{
|
||||
"id": "AdvancedSoldering",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
},
|
||||
{
|
||||
"id": "ScrollingSpeed",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 11
|
||||
},
|
||||
{
|
||||
"id": "TipModel",
|
||||
"maxLen": 8,
|
||||
"maxLen2": 16
|
||||
},
|
||||
{
|
||||
"id": "SimpleCalibrationMode",
|
||||
"maxLen": 8,
|
||||
"maxLen2": 16
|
||||
},
|
||||
{
|
||||
"id": "AdvancedCalibrationMode",
|
||||
"maxLen": 8,
|
||||
"maxLen2": 16
|
||||
},
|
||||
{
|
||||
"id": "PowerInput",
|
||||
"maxLen": 8,
|
||||
"maxLen2": 16
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#define SETTINGS_H_
|
||||
#include <stdint.h>
|
||||
#include "stm32f1xx_hal.h"
|
||||
#define SETTINGSVERSION ( 0x1A )
|
||||
#define SETTINGSVERSION ( 0x1B )
|
||||
/*Change this if you change the struct below to prevent people getting \
|
||||
out of sync*/
|
||||
|
||||
@@ -53,7 +53,7 @@ typedef struct {
|
||||
extern volatile systemSettingsType systemSettings;
|
||||
|
||||
void saveSettings();
|
||||
void restoreSettings();
|
||||
bool restoreSettings();
|
||||
uint8_t lookupVoltageLevel(uint8_t level);
|
||||
void resetSettings();
|
||||
bool showBootLogoIfavailable();
|
||||
|
||||
@@ -1,72 +1,73 @@
|
||||
/*
|
||||
* Translation.h
|
||||
*
|
||||
* Created on: 31Aug.,2017
|
||||
* Author: Ben V. Brown
|
||||
*/
|
||||
|
||||
#ifndef TRANSLATION_H_
|
||||
#define TRANSLATION_H_
|
||||
#include "stm32f1xx_hal.h"
|
||||
enum ShortNameType {
|
||||
SHORT_NAME_SINGLE_LINE = 1, SHORT_NAME_DOUBLE_LINE = 2,
|
||||
};
|
||||
extern const uint8_t USER_FONT_12[];
|
||||
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 enum ShortNameType SettingsShortNameType;
|
||||
extern const char* SettingsShortNames[21][2];
|
||||
extern const char* SettingsDescriptions[21];
|
||||
extern const char* SettingsMenuEntries[4];
|
||||
|
||||
extern const char* SettingsCalibrationDone;
|
||||
extern const char* SettingsCalibrationWarning;
|
||||
extern const char* SettingsResetWarning;
|
||||
extern const char* UVLOWarningString;
|
||||
extern const char* UndervoltageString;
|
||||
extern const char* InputVoltageString;
|
||||
extern const char* WarningTipTempString;
|
||||
extern const char* BadTipString;
|
||||
|
||||
extern const char* SleepingSimpleString;
|
||||
extern const char* SleepingAdvancedString;
|
||||
extern const char* WarningSimpleString;
|
||||
extern const char* WarningAdvancedString;
|
||||
extern const char* SleepingTipAdvancedString;
|
||||
extern const char* IdleTipString;
|
||||
extern const char* IdleSetString;
|
||||
extern const char* TipDisconnectedString;
|
||||
extern const char* SolderingAdvancedPowerPrompt;
|
||||
extern const char* OffString;
|
||||
extern const char* ResetOKMessage;
|
||||
extern const char* YourGainMessage;
|
||||
|
||||
extern const char* SettingTrueChar;
|
||||
extern const char* SettingFalseChar;
|
||||
extern const char* SettingRightChar;
|
||||
extern const char* SettingLeftChar;
|
||||
extern const char* SettingAutoChar;
|
||||
|
||||
extern const char* SettingFastChar;
|
||||
extern const char* SettingSlowChar;
|
||||
extern const char* TipModelStrings[];
|
||||
extern const char* DebugMenu[];
|
||||
extern const char* SymbolPlus;
|
||||
extern const char* SymbolMinus;
|
||||
extern const char* SymbolSpace;
|
||||
extern const char* SymbolDot;
|
||||
extern const char* SymbolDegC;
|
||||
extern const char* SymbolDegF;
|
||||
extern const char* SymbolMinutes;
|
||||
extern const char* SymbolSeconds;
|
||||
extern const char* SymbolWatts;
|
||||
extern const char* SymbolVolts;
|
||||
extern const char* SymbolDC;
|
||||
extern const char* SymbolCellCount;
|
||||
extern const char* SymbolVersionNumber;
|
||||
|
||||
extern const char* DebugMenu[];
|
||||
#endif /* TRANSLATION_H_ */
|
||||
/*
|
||||
* Translation.h
|
||||
*
|
||||
* Created on: 31Aug.,2017
|
||||
* Author: Ben V. Brown
|
||||
*/
|
||||
|
||||
#ifndef TRANSLATION_H_
|
||||
#define TRANSLATION_H_
|
||||
#include "stm32f1xx_hal.h"
|
||||
enum ShortNameType {
|
||||
SHORT_NAME_SINGLE_LINE = 1, SHORT_NAME_DOUBLE_LINE = 2,
|
||||
};
|
||||
extern const uint8_t USER_FONT_12[];
|
||||
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 enum ShortNameType SettingsShortNameType;
|
||||
extern const char* SettingsShortNames[21][2];
|
||||
extern const char* SettingsDescriptions[21];
|
||||
extern const char* SettingsMenuEntries[4];
|
||||
|
||||
extern const char* SettingsCalibrationDone;
|
||||
extern const char* SettingsCalibrationWarning;
|
||||
extern const char* SettingsResetWarning;
|
||||
extern const char* UVLOWarningString;
|
||||
extern const char* UndervoltageString;
|
||||
extern const char* InputVoltageString;
|
||||
extern const char* WarningTipTempString;
|
||||
extern const char* BadTipString;
|
||||
|
||||
extern const char* SleepingSimpleString;
|
||||
extern const char* SleepingAdvancedString;
|
||||
extern const char* WarningSimpleString;
|
||||
extern const char* WarningAdvancedString;
|
||||
extern const char* SleepingTipAdvancedString;
|
||||
extern const char* IdleTipString;
|
||||
extern const char* IdleSetString;
|
||||
extern const char* TipDisconnectedString;
|
||||
extern const char* SolderingAdvancedPowerPrompt;
|
||||
extern const char* OffString;
|
||||
extern const char* ResetOKMessage;
|
||||
extern const char* YourGainMessage;
|
||||
extern const char* SettingsResetMessage;
|
||||
|
||||
extern const char* SettingTrueChar;
|
||||
extern const char* SettingFalseChar;
|
||||
extern const char* SettingRightChar;
|
||||
extern const char* SettingLeftChar;
|
||||
extern const char* SettingAutoChar;
|
||||
|
||||
extern const char* SettingFastChar;
|
||||
extern const char* SettingSlowChar;
|
||||
extern const char* TipModelStrings[];
|
||||
extern const char* DebugMenu[];
|
||||
extern const char* SymbolPlus;
|
||||
extern const char* SymbolMinus;
|
||||
extern const char* SymbolSpace;
|
||||
extern const char* SymbolDot;
|
||||
extern const char* SymbolDegC;
|
||||
extern const char* SymbolDegF;
|
||||
extern const char* SymbolMinutes;
|
||||
extern const char* SymbolSeconds;
|
||||
extern const char* SymbolWatts;
|
||||
extern const char* SymbolVolts;
|
||||
extern const char* SymbolDC;
|
||||
extern const char* SymbolCellCount;
|
||||
extern const char* SymbolVersionNumber;
|
||||
|
||||
extern const char* DebugMenu[];
|
||||
#endif /* TRANSLATION_H_ */
|
||||
|
||||
@@ -6,19 +6,20 @@
|
||||
#include "Setup.h"
|
||||
extern uint8_t PCBVersion;
|
||||
extern uint32_t currentTempTargetDegC;
|
||||
extern bool settingsWereReset;
|
||||
enum ButtonState {
|
||||
BUTTON_NONE = 0, /* No buttons pressed / < filter time*/
|
||||
BUTTON_F_SHORT = 1, /* User has pressed the front button*/
|
||||
BUTTON_B_SHORT = 2, /* User has pressed the back button*/
|
||||
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_NONE = 0, /* No buttons pressed / < filter time*/
|
||||
BUTTON_F_SHORT = 1, /* User has pressed the front button*/
|
||||
BUTTON_B_SHORT = 2, /* User has pressed the back button*/
|
||||
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*/
|
||||
|
||||
/*
|
||||
* Note:
|
||||
* Pressed means press + release, we trigger on a full \__/ pulse
|
||||
* holding means it has gone low, and been low for longer than filter time
|
||||
*/
|
||||
/*
|
||||
* Note:
|
||||
* Pressed means press + release, we trigger on a full \__/ pulse
|
||||
* holding means it has gone low, and been low for longer than filter time
|
||||
*/
|
||||
};
|
||||
|
||||
ButtonState getButtonState();
|
||||
@@ -37,7 +38,7 @@ void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c);
|
||||
void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c);
|
||||
void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c);
|
||||
void vApplicationStackOverflowHook(xTaskHandle *pxTask,
|
||||
signed portCHAR *pcTaskName);
|
||||
signed portCHAR *pcTaskName);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -504,7 +504,7 @@ static void gui_solderingMode(uint8_t jumpToSleep) {
|
||||
OLED::print(SolderingAdvancedPowerPrompt); // Power:
|
||||
OLED::printNumber(x10WattHistory.average() / 10, 2);
|
||||
OLED::print(SymbolDot);
|
||||
OLED::printNumber(x10WattHistory.average()% 10, 1);
|
||||
OLED::printNumber(x10WattHistory.average() % 10, 1);
|
||||
OLED::print(SymbolWatts);
|
||||
|
||||
if (systemSettings.sensitivity && systemSettings.SleepTime) {
|
||||
@@ -702,6 +702,17 @@ void startGUITask(void const *argument __unused) {
|
||||
ticks = xTaskGetTickCount(); // make timeout now so we will exit
|
||||
GUIDelay();
|
||||
}
|
||||
|
||||
if (settingsWereReset) {
|
||||
//Display alert settings were reset
|
||||
OLED::setFont(1);
|
||||
OLED::setCursor(0, 0);
|
||||
OLED::print(SettingsResetMessage);
|
||||
OLED::refresh();
|
||||
waitForButtonPressOrTimeout(1000);
|
||||
|
||||
}
|
||||
|
||||
if (systemSettings.autoStartMode) {
|
||||
// jump directly to the autostart mode
|
||||
if (systemSettings.autoStartMode == 1)
|
||||
|
||||
@@ -17,47 +17,49 @@
|
||||
volatile systemSettingsType systemSettings;
|
||||
|
||||
void saveSettings() {
|
||||
// First we erase the flash
|
||||
FLASH_EraseInitTypeDef pEraseInit;
|
||||
pEraseInit.TypeErase = FLASH_TYPEERASE_PAGES;
|
||||
pEraseInit.Banks = FLASH_BANK_1;
|
||||
pEraseInit.NbPages = 1;
|
||||
pEraseInit.PageAddress = FLASH_ADDR;
|
||||
uint32_t failingAddress = 0;
|
||||
HAL_IWDG_Refresh(&hiwdg);
|
||||
__HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP | FLASH_FLAG_WRPERR | FLASH_FLAG_PGERR |
|
||||
FLASH_FLAG_BSY);
|
||||
HAL_FLASH_Unlock();
|
||||
HAL_Delay(10);
|
||||
HAL_IWDG_Refresh(&hiwdg);
|
||||
HAL_FLASHEx_Erase(&pEraseInit, &failingAddress);
|
||||
//^ Erase the page of flash (1024 bytes on this stm32)
|
||||
// erased the chunk
|
||||
// now we program it
|
||||
uint16_t *data = (uint16_t *)&systemSettings;
|
||||
HAL_FLASH_Unlock();
|
||||
// First we erase the flash
|
||||
FLASH_EraseInitTypeDef pEraseInit;
|
||||
pEraseInit.TypeErase = FLASH_TYPEERASE_PAGES;
|
||||
pEraseInit.Banks = FLASH_BANK_1;
|
||||
pEraseInit.NbPages = 1;
|
||||
pEraseInit.PageAddress = FLASH_ADDR;
|
||||
uint32_t failingAddress = 0;
|
||||
HAL_IWDG_Refresh(&hiwdg);
|
||||
__HAL_FLASH_CLEAR_FLAG(
|
||||
FLASH_FLAG_EOP | FLASH_FLAG_WRPERR | FLASH_FLAG_PGERR | FLASH_FLAG_BSY);
|
||||
HAL_FLASH_Unlock();
|
||||
HAL_Delay(10);
|
||||
HAL_IWDG_Refresh(&hiwdg);
|
||||
HAL_FLASHEx_Erase(&pEraseInit, &failingAddress);
|
||||
//^ Erase the page of flash (1024 bytes on this stm32)
|
||||
// erased the chunk
|
||||
// now we program it
|
||||
uint16_t *data = (uint16_t*) &systemSettings;
|
||||
HAL_FLASH_Unlock();
|
||||
|
||||
for (uint8_t i = 0; i < (sizeof(systemSettingsType) / 2); i++) {
|
||||
HAL_IWDG_Refresh(&hiwdg);
|
||||
HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, FLASH_ADDR + (i * 2),
|
||||
data[i]);
|
||||
}
|
||||
HAL_FLASH_Lock();
|
||||
for (uint8_t i = 0; i < (sizeof(systemSettingsType) / 2); i++) {
|
||||
HAL_IWDG_Refresh(&hiwdg);
|
||||
HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, FLASH_ADDR + (i * 2),
|
||||
data[i]);
|
||||
}
|
||||
HAL_FLASH_Lock();
|
||||
}
|
||||
|
||||
void restoreSettings() {
|
||||
// We read the flash
|
||||
uint16_t *data = (uint16_t *)&systemSettings;
|
||||
for (uint8_t i = 0; i < (sizeof(systemSettingsType) / 2); i++) {
|
||||
data[i] = *((uint16_t *)(FLASH_ADDR + (i * 2)));
|
||||
}
|
||||
bool restoreSettings() {
|
||||
// We read the flash
|
||||
uint16_t *data = (uint16_t*) &systemSettings;
|
||||
for (uint8_t i = 0; i < (sizeof(systemSettingsType) / 2); i++) {
|
||||
data[i] = *((uint16_t*) (FLASH_ADDR + (i * 2)));
|
||||
}
|
||||
|
||||
// if the version is correct were done
|
||||
// if not we reset and save
|
||||
if (systemSettings.version != SETTINGSVERSION) {
|
||||
// probably not setup
|
||||
resetSettings();
|
||||
}
|
||||
// if the version is correct were done
|
||||
// if not we reset and save
|
||||
if (systemSettings.version != SETTINGSVERSION) {
|
||||
// probably not setup
|
||||
resetSettings();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
// Lookup function for cutoff setting -> X10 voltage
|
||||
/*
|
||||
@@ -68,52 +70,47 @@ void restoreSettings() {
|
||||
* 4=6S
|
||||
*/
|
||||
uint8_t lookupVoltageLevel(uint8_t level) {
|
||||
if (level == 0)
|
||||
return 90; // 9V since iron does not function effectively below this
|
||||
else
|
||||
return (level * 33) + (33 * 2);
|
||||
if (level == 0)
|
||||
return 90; // 9V since iron does not function effectively below this
|
||||
else
|
||||
return (level * 33) + (33 * 2);
|
||||
}
|
||||
void resetSettings() {
|
||||
memset((void *)&systemSettings, 0, sizeof(systemSettingsType));
|
||||
systemSettings.SleepTemp =
|
||||
150; // Temperature the iron sleeps at - default 150.0 C
|
||||
systemSettings.SleepTime = 6; // How many seconds/minutes we wait until going
|
||||
// to sleep - default 1 min
|
||||
systemSettings.SolderingTemp = 320; // Default soldering temp is 320.0 C
|
||||
systemSettings.cutoutSetting = 0; // default to no cut-off voltage (or 18W for TS80)
|
||||
systemSettings.version =
|
||||
SETTINGSVERSION; // Store the version number to allow for easier upgrades
|
||||
systemSettings.detailedSoldering = 0; // Detailed soldering screen
|
||||
systemSettings.detailedIDLE =
|
||||
0; // Detailed idle screen (off for first time users)
|
||||
systemSettings.OrientationMode = 2; // Default to automatic
|
||||
systemSettings.sensitivity = 7; // Default high sensitivity
|
||||
memset((void*) &systemSettings, 0, sizeof(systemSettingsType));
|
||||
systemSettings.SleepTemp = 150; // Temperature the iron sleeps at - default 150.0 C
|
||||
systemSettings.SleepTime = 6; // How many seconds/minutes we wait until going
|
||||
// to sleep - default 1 min
|
||||
systemSettings.SolderingTemp = 320; // Default soldering temp is 320.0 C
|
||||
systemSettings.cutoutSetting = 0; // default to no cut-off voltage (or 18W for TS80)
|
||||
systemSettings.version =
|
||||
SETTINGSVERSION; // Store the version number to allow for easier upgrades
|
||||
systemSettings.detailedSoldering = 0; // Detailed soldering screen
|
||||
systemSettings.detailedIDLE = 0; // Detailed idle screen (off for first time users)
|
||||
systemSettings.OrientationMode = 2; // Default to automatic
|
||||
systemSettings.sensitivity = 7; // Default high sensitivity
|
||||
#ifdef MODEL_TS80
|
||||
systemSettings.voltageDiv = 780; // Default divider from schematic
|
||||
systemSettings.voltageDiv = 780; // Default divider from schematic
|
||||
|
||||
#else
|
||||
systemSettings.voltageDiv = 467; // Default divider from schematic
|
||||
#endif
|
||||
systemSettings.ShutdownTime =
|
||||
10; // How many minutes until the unit turns itself off
|
||||
systemSettings.boostModeEnabled =
|
||||
1; // Default to having boost mode on as most people prefer it
|
||||
systemSettings.BoostTemp = 420; // default to 400C
|
||||
systemSettings.autoStartMode = 0; // Auto start off for safety
|
||||
systemSettings.coolingTempBlink =
|
||||
0; // Blink the temperature on the cooling screen when its > 50C
|
||||
systemSettings.temperatureInF = 0; // default to 0
|
||||
systemSettings.descriptionScrollSpeed = 0; // default to slow
|
||||
systemSettings.ShutdownTime = 10; // How many minutes until the unit turns itself off
|
||||
systemSettings.boostModeEnabled = 1; // Default to having boost mode on as most people prefer it
|
||||
systemSettings.BoostTemp = 420; // default to 400C
|
||||
systemSettings.autoStartMode = 0; // Auto start off for safety
|
||||
systemSettings.coolingTempBlink = 0; // Blink the temperature on the cooling screen when its > 50C
|
||||
systemSettings.temperatureInF = 0; // default to 0
|
||||
systemSettings.descriptionScrollSpeed = 0; // default to slow
|
||||
|
||||
#ifdef MODEL_TS100
|
||||
systemSettings.CalibrationOffset = 850; // the adc offset in uV
|
||||
systemSettings.CalibrationOffset = 900; // the adc offset in uV
|
||||
systemSettings.pidPowerLimit=70; // Sets the max pwm power limit
|
||||
|
||||
#endif
|
||||
#ifdef MODEL_TS80
|
||||
systemSettings.pidPowerLimit=24; // Sets the max pwm power limit
|
||||
systemSettings.pidPowerLimit = 24; // Sets the max pwm power limit
|
||||
|
||||
systemSettings.CalibrationOffset = 300; // the adc offset in uV
|
||||
systemSettings.CalibrationOffset = 900; // the adc offset in uV
|
||||
#endif
|
||||
saveSettings(); // Save defaults
|
||||
saveSettings(); // Save defaults
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -17,6 +17,7 @@ uint8_t PCBVersion = 0;
|
||||
uint32_t currentTempTargetDegC = 0; // Current temperature target in C
|
||||
uint32_t lastMovementTime = 0;
|
||||
int16_t idealQCVoltage = 0;
|
||||
bool settingsWereReset = false;
|
||||
// FreeRTOS variables
|
||||
|
||||
osThreadId GUITaskHandle;
|
||||
@@ -70,7 +71,7 @@ int main(void) {
|
||||
systemSettings.sensitivity = 0;
|
||||
}
|
||||
HAL_IWDG_Refresh(&hiwdg);
|
||||
restoreSettings(); // load the settings from flash
|
||||
settingsWereReset = restoreSettings(); // load the settings from flash
|
||||
|
||||
HAL_IWDG_Refresh(&hiwdg);
|
||||
|
||||
@@ -293,7 +294,7 @@ bool showBootLogoIfavailable() {
|
||||
uint16_t temp[98];
|
||||
|
||||
for (uint8_t i = 0; i < (98); i++) {
|
||||
temp[i] = *(uint16_t *) (FLASH_LOGOADDR + (i * 2));
|
||||
temp[i] = *(uint16_t*) (FLASH_LOGOADDR + (i * 2));
|
||||
}
|
||||
uint8_t temp8[98 * 2];
|
||||
for (uint8_t i = 0; i < 98; i++) {
|
||||
@@ -310,7 +311,7 @@ bool showBootLogoIfavailable() {
|
||||
if (temp8[3] != 0x0D)
|
||||
return false;
|
||||
|
||||
OLED::drawArea(0, 0, 96, 16, (uint8_t *) (temp8 + 4));
|
||||
OLED::drawArea(0, 0, 96, 16, (uint8_t*) (temp8 + 4));
|
||||
OLED::refresh();
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user