diff --git a/Translation Editor/translation_bg.json b/Translation Editor/translation_bg.json index 29830d24..3fb24b8e 100644 --- a/Translation Editor/translation_bg.json +++ b/Translation Editor/translation_bg.json @@ -24,6 +24,8 @@ "ResetOKMessage": "Нулиране завършено", "YourGainMessage": "Усилване:", "SettingsResetMessage": "Настройките бяха\nнулирани!", + "NoAccelerometerMessage": "No accelerometer\ndetected!", + "NoPowerDeliveryMessage": "No USB-PD IC\ndetected!", "LockingKeysString": " LOCKED", "UnlockingKeysString": "UNLOCKED", "WarningKeysLockedString": "!LOCKED!" diff --git a/Translation Editor/translation_cs.json b/Translation Editor/translation_cs.json index 98961268..af1103c9 100644 --- a/Translation Editor/translation_cs.json +++ b/Translation Editor/translation_cs.json @@ -24,6 +24,8 @@ "ResetOKMessage": "Reset OK", "YourGainMessage": "Zisk:", "SettingsResetMessage": "Tov. nas. obnov.", + "NoAccelerometerMessage": "No accelerometer\ndetected!", + "NoPowerDeliveryMessage": "No USB-PD IC\ndetected!", "LockingKeysString": " LOCKED", "UnlockingKeysString": "UNLOCKED", "WarningKeysLockedString": "!LOCKED!" diff --git a/Translation Editor/translation_da.json b/Translation Editor/translation_da.json index 8950c923..b98220a1 100644 --- a/Translation Editor/translation_da.json +++ b/Translation Editor/translation_da.json @@ -24,6 +24,8 @@ "ResetOKMessage": "Reset OK", "YourGainMessage": "Your gain:", "SettingsResetMessage": "Settings were\nreset!", + "NoAccelerometerMessage": "No accelerometer\ndetected!", + "NoPowerDeliveryMessage": "No USB-PD IC\ndetected!", "LockingKeysString": " LOCKED", "UnlockingKeysString": "UNLOCKED", "WarningKeysLockedString": "!LOCKED!" diff --git a/Translation Editor/translation_de.json b/Translation Editor/translation_de.json index 0ba7c800..247e02d7 100644 --- a/Translation Editor/translation_de.json +++ b/Translation Editor/translation_de.json @@ -6,7 +6,7 @@ "messages": { "SettingsCalibrationDone": "Kalibrierung abgeschlossen!", "SettingsCalibrationWarning": "Vor dem Fortfahren muss die Lötspitze vollständig abgekühlt sein!", - "SettingsResetWarning": "Sind Sie sicher, dass Sie alle Werte zurücksetzen wollen?", + "SettingsResetWarning": "Sicher, dass alle Werte zurückgesetzt werden sollen?", "UVLOWarningString": "V niedr.", "UndervoltageString": "Unterspannung", "InputVoltageString": "V Eingang: ", @@ -14,7 +14,7 @@ "BadTipString": "Spitze Defekt", "SleepingSimpleString": "Zzz ", "SleepingAdvancedString": "Ruhemodus...", - "WarningSimpleString": "HEIß", + "WarningSimpleString": "HEIß!", "WarningAdvancedString": "! Achtung Heiß !", "SleepingTipAdvancedString": "Temp:", "IdleTipString": "Ist:", @@ -22,30 +22,32 @@ "TipDisconnectedString": "Spitze fehlt", "SolderingAdvancedPowerPrompt": "Leistung: ", "OffString": "Aus", - "ResetOKMessage": "Reset OK", - "YourGainMessage": "Your Gain:", - "SettingsResetMessage": "Einstellungen\nzurück gesetzt!", - "LockingKeysString": " LOCKED", - "UnlockingKeysString": "UNLOCKED", - "WarningKeysLockedString": "!LOCKED!" + "NoAccelerometerMessage": "Kein Bewegungssensor\nerkannt!", + "NoPowerDeliveryMessage": "Kein USB-PD IC\nerkannt!", + "ResetOKMessage": "Reset abgeschlossen!", + "YourGainMessage": "Dein Faktor:", + "SettingsResetMessage": "Einstellungen\nzurückgesetzt!", + "LockingKeysString": "GESPERRT", + "UnlockingKeysString": "ENTSPERRT", + "WarningKeysLockedString": "!GESPERRT!" }, "characters": { "SettingRightChar": "R", "SettingLeftChar": "L", "SettingAutoChar": "A", - "SettingFastChar": "F", - "SettingSlowChar": "S", - "SettingStartSolderingChar": "T", - "SettingStartSleepChar": "S", + "SettingFastChar": "S", + "SettingSlowChar": "L", + "SettingStartSolderingChar": "L", + "SettingStartSleepChar": "R", "SettingStartSleepOffChar": "O", - "SettingStartNoneChar": "F", - "SettingSensitivityOff": "O", - "SettingSensitivityLow": "L", + "SettingStartNoneChar": "A", + "SettingSensitivityOff": "A", + "SettingSensitivityLow": "N", "SettingSensitivityMedium": "M", "SettingSensitivityHigh": "H", "SettingLockDisableChar": "D", "SettingLockBoostChar": "B", - "SettingLockFullChar": "F" + "SettingLockFullChar": "V" }, "menuGroups": { "SolderingMenu": { @@ -57,7 +59,7 @@ }, "PowerSavingMenu": { "text2": [ - "Schlaf-", + "Ruhe-", "modus" ], "desc": "Energiespareinstellungen" @@ -87,10 +89,10 @@ }, "SleepTemperature": { "text2": [ - "Ruhetemp-", - "eratur" + "Ruhe-", + "temperatur" ], - "desc": "Ruhetemperatur" + "desc": "Ruhetemperatur der Spitze" }, "SleepTimeout": { "text2": [ @@ -111,7 +113,7 @@ "Bewegungs-", "empfindlichk." ], - "desc": "Bewegungsempfindlichkeit <0=Aus, 1=Minimal ... 9=Maximal>" + "desc": "Bewegungsempfindlichkeit <0=aus, 1=minimal ... 9=maximal>" }, "TemperatureUnit": { "text2": [ @@ -132,28 +134,28 @@ "Anzeige-", "ausrichtung" ], - "desc": "Ausrichtung der Anzeige " + "desc": "Ausrichtung der Anzeige " }, "BoostTemperature": { "text2": [ - "Boosttemp-", - "eratur" + "Boost-", + "temperatur" ], - "desc": "Temperatur im Boostmodus (In der eingestellten Einheit)" + "desc": "Temperatur im Boostmodus" }, "AutoStart": { "text2": [ "Start im", - "Lötmodus?" + "Lötmodus" ], - "desc": "Automatischer Start-Modus beim Einschalten der Spannungsversorgung. " + "desc": "Bestimmt das Heizverhalten beim Einschalten der Spannungsversorgung. " }, "CooldownBlink": { "text2": [ "Abkühl-", - "blinken?" + "blinken" ], - "desc": "Blinkende Temperaturanzeige beim Abkühlen, solange heiß ist." + "desc": "Temperaturanzeige blinkt beim Abkühlen, solange Spitze heiß ist." }, "TemperatureCalibration": { "text2": [ @@ -167,7 +169,7 @@ "Einstellungen", "zurücksetzen?" ], - "desc": "Einstellungen auf werkseinstellungen zurück setzen" + "desc": "Werte werden auf Werkseinstellungen zurückgesetzt" }, "VoltageCalibration": { "text2": [ @@ -188,7 +190,7 @@ "Scroll-", "geschw." ], - "desc": "Scrollgeschwindigkeit der Texte " + "desc": "Scrollgeschwindigkeit der Erläuterungen " }, "TipModel": { "text2": [ @@ -202,7 +204,7 @@ "Einfache", "Kalibrierung" ], - "desc": "Einfache Kalibrierung mittels heißem Wasser" + "desc": "Einfache Kalibrierung mittels heißen Wassers" }, "AdvancedCalibrationMode": { "text2": [ @@ -221,58 +223,58 @@ "PowerLimit": { "text2": [ "Leistungs-", - "Limit" + "limit" ], - "desc": "Maximale aufnahme der Lötspitze " + "desc": "Maximale Leistungsaufnahme des Lötkolbens " }, "ReverseButtonTempChange": { "text2": [ - "Taste +-", - "Umkehren?" + "+- Tasten", + "umkehren?" ], - "desc": "Temperatur-Änderungs-Tasten-Belegung Plus-Minus umkehren?" + "desc": "Tastenbelegung zur Temperaturänderung umkehren" }, "TempChangeShortStep": { "text2": [ - "T. Schritt", - "Taste kurz?" + "Temp-Schritt", + "kurzer Druck" ], - "desc": "Temperaturwechselschritte bei kurzem Tastendruck!" + "desc": "Schrittweite für Temperaturwechsel bei kurzem Tastendruck" }, "TempChangeLongStep": { "text2": [ - "T. Schritt", - "Taste Lang?" + "Temp-Schritt", + "langer Druck" ], - "desc": "Temperaturwechselschritte bei langem Tastendruck!" + "desc": "Schrittweite für Temperaturwechsel bei langem Tastendruck" }, "PowerPulsePower": { "text2": [ - "Power", - "Pulse W" + "Leistungs-", + "impuls" ], - "desc": "Keep awake pulse power intensity" + "desc": "Powerbank wird mittels eines Impulses wach gehalten " }, "TipGain": { "text2": [ - "Modify", - "tip gain" + "Ändere", + "Spitzen Faktor" ], - "desc": "Tip gain" + "desc": "Spitzen Faktor" }, "HallEffSensitivity": { "text2": [ - "Hall Eff", - "Sensitivity" + "Hall Sensor", + "Empfindlichkeit" ], - "desc": "Sensitivity of the Hall effect sensor in detecting sleep " + "desc": "Empfindlichkeit des Hall Effekt Sensors beim Erkennen des Ruhemodus " }, "LockingMode": { "text2": [ - "Allow buttons", - "locking" + "Knopf-", + "sperre" ], - "desc": "When soldering, long press on both buttons lock them " + "desc": "Langes drücken beider Knöpfe im Lötmodus, sperrt diese " } } -} \ No newline at end of file +} diff --git a/Translation Editor/translation_en.json b/Translation Editor/translation_en.json index 22873c8a..4e3c65e5 100644 --- a/Translation Editor/translation_en.json +++ b/Translation Editor/translation_en.json @@ -25,6 +25,8 @@ "ResetOKMessage": "Reset done!", "YourGainMessage": "Your gain:", "SettingsResetMessage": "Settings were\nreset!", + "NoAccelerometerMessage": "No accelerometer\ndetected!", + "NoPowerDeliveryMessage": "No USB-PD IC\ndetected!", "LockingKeysString": "LOCKED", "UnlockingKeysString": "UNLOCKED", "WarningKeysLockedString": "!LOCKED!" @@ -35,10 +37,10 @@ "SettingAutoChar": "A", "SettingFastChar": "F", "SettingSlowChar": "S", - "SettingStartSolderingChar": "T", - "SettingStartSleepChar": "S", - "SettingStartSleepOffChar": "O", - "SettingStartNoneChar": "F", + "SettingStartSolderingChar": "S", + "SettingStartSleepChar": "Z", + "SettingStartSleepOffChar": "R", + "SettingStartNoneChar": "O", "SettingSensitivityOff": "O", "SettingSensitivityLow": "L", "SettingSensitivityMedium": "M", @@ -146,7 +148,7 @@ "Auto", "start" ], - "desc": "Automatically starts the iron into soldering mode on power up " + "desc": "Starts the iron into soldering mode on power up " }, "CooldownBlink": { "text2": [ @@ -160,21 +162,21 @@ "Calibrate", "temperature?" ], - "desc": "Start tip offset calibrating procedure" + "desc": "Start tip temperature offset calibration" }, "SettingsReset": { "text2": [ "Factory", "reset?" ], - "desc": "Reset settings to default!" + "desc": "Reset settings to default" }, "VoltageCalibration": { "text2": [ "Calibrate", "input voltage?" ], - "desc": "VIN Calibration " + "desc": "Start VIN calibration " }, "AdvancedSoldering": { "text2": [ @@ -237,21 +239,21 @@ "Temp change", "short" ], - "desc": "Temperature change steps on short button press" + "desc": "Temperature change increment on short button press" }, "TempChangeLongStep": { "text2": [ "Temp change", "long" ], - "desc": "Temperature change steps on long button press" + "desc": "Temperature change increment on long button press" }, "PowerPulsePower": { "text2": [ "Power", "pulse" ], - "desc": "Intensity of power of keep-awake-pulse " + "desc": "Intensity of power of keep-awake-pulse " }, "TipGain": { "text2": [ @@ -265,7 +267,7 @@ "Hall sensor", "sensitivity" ], - "desc": "Sensitivity of the Hall effect sensor in detecting sleep " + "desc": "Sensitivity of the Hall effect sensor to detect sleep " }, "LockingMode": { "text2": [ diff --git a/Translation Editor/translation_es.json b/Translation Editor/translation_es.json index b5986ff9..8adca0d9 100644 --- a/Translation Editor/translation_es.json +++ b/Translation Editor/translation_es.json @@ -24,6 +24,8 @@ "ResetOKMessage": "Hecho. ", "YourGainMessage": "Gananc.:", "SettingsResetMessage": "Ajustes borrados", + "NoAccelerometerMessage": "No accelerometer\ndetected!", + "NoPowerDeliveryMessage": "No USB-PD IC\ndetected!", "LockingKeysString": " LOCKED", "UnlockingKeysString": "UNLOCKED", "WarningKeysLockedString": "!LOCKED!" diff --git a/Translation Editor/translation_fi.json b/Translation Editor/translation_fi.json index 3da677f0..d2319978 100644 --- a/Translation Editor/translation_fi.json +++ b/Translation Editor/translation_fi.json @@ -24,6 +24,8 @@ "ResetOKMessage": "Reset OK", "YourGainMessage": "Your gain:", "SettingsResetMessage": "Settings were\nreset!", + "NoAccelerometerMessage": "No accelerometer\ndetected!", + "NoPowerDeliveryMessage": "No USB-PD IC\ndetected!", "LockingKeysString": " LOCKED", "UnlockingKeysString": "UNLOCKED", "WarningKeysLockedString": "!LOCKED!" diff --git a/Translation Editor/translation_fr.json b/Translation Editor/translation_fr.json index 2bb56164..ce77f890 100644 --- a/Translation Editor/translation_fr.json +++ b/Translation Editor/translation_fr.json @@ -24,6 +24,8 @@ "ResetOKMessage": "Reset OK", "YourGainMessage": "Gain :", "SettingsResetMessage": "Réglage réinit. !", + "NoAccelerometerMessage": "No accelerometer\ndetected!", + "NoPowerDeliveryMessage": "No USB-PD IC\ndetected!", "LockingKeysString": "VERROUIL", "UnlockingKeysString": "DEVERROU", "WarningKeysLockedString": "! VERR. !" @@ -274,4 +276,4 @@ "desc": "Sensibilité du capteur à effet Hall lors de la détection de mise en veille " } } -} +} \ No newline at end of file diff --git a/Translation Editor/translation_hr.json b/Translation Editor/translation_hr.json index f19e0d8f..11f6c884 100644 --- a/Translation Editor/translation_hr.json +++ b/Translation Editor/translation_hr.json @@ -24,6 +24,8 @@ "ResetOKMessage": "Reset OK", "YourGainMessage": "Your gain:", "SettingsResetMessage": "Settings were\nreset!", + "NoAccelerometerMessage": "No accelerometer\ndetected!", + "NoPowerDeliveryMessage": "No USB-PD IC\ndetected!", "LockingKeysString": " LOCKED", "UnlockingKeysString": "UNLOCKED", "WarningKeysLockedString": "!LOCKED!" diff --git a/Translation Editor/translation_hu.json b/Translation Editor/translation_hu.json index 54c7a649..5941d22f 100644 --- a/Translation Editor/translation_hu.json +++ b/Translation Editor/translation_hu.json @@ -24,6 +24,8 @@ "ResetOKMessage": "Reset OK", "YourGainMessage": "Your gain:", "SettingsResetMessage": "Settings were\nreset!", + "NoAccelerometerMessage": "No accelerometer\ndetected!", + "NoPowerDeliveryMessage": "No USB-PD IC\ndetected!", "LockingKeysString": " LOCKED", "UnlockingKeysString": "UNLOCKED", "WarningKeysLockedString": "!LOCKED!" diff --git a/Translation Editor/translation_it.json b/Translation Editor/translation_it.json index 6e1de23d..51845e80 100644 --- a/Translation Editor/translation_it.json +++ b/Translation Editor/translation_it.json @@ -24,6 +24,8 @@ "ResetOKMessage": "Reset OK", "YourGainMessage": "Guad.: ", "SettingsResetMessage": "Reset effettuato", + "NoAccelerometerMessage": "No accelerometer\ndetected!", + "NoPowerDeliveryMessage": "No USB-PD IC\ndetected!", "LockingKeysString": "Blocc.", "UnlockingKeysString": "Sblocc.", "WarningKeysLockedString": "BLOCCATO" @@ -274,4 +276,4 @@ "desc": "Blocca i tasti durante la modalità Saldatura; tieni premuto entrambi per bloccare/sbloccare " } } -} +} \ No newline at end of file diff --git a/Translation Editor/translation_lt.json b/Translation Editor/translation_lt.json index 63dcffc2..7b4817a0 100644 --- a/Translation Editor/translation_lt.json +++ b/Translation Editor/translation_lt.json @@ -24,6 +24,8 @@ "ResetOKMessage": "Reset OK", "YourGainMessage": "Gain:", "SettingsResetMessage": "Nust. atstatyti!", + "NoAccelerometerMessage": "No accelerometer\ndetected!", + "NoPowerDeliveryMessage": "No USB-PD IC\ndetected!", "LockingKeysString": " UŽRAKIN", "UnlockingKeysString": "ATRAKIN", "WarningKeysLockedString": "!UŽRAK!" @@ -274,4 +276,4 @@ "desc": "Lituodami, ilgai paspauskite abu mygtukus, kad juos užrakintumėte " } } -} +} \ No newline at end of file diff --git a/Translation Editor/translation_nl.json b/Translation Editor/translation_nl.json index adf99708..d4abf365 100644 --- a/Translation Editor/translation_nl.json +++ b/Translation Editor/translation_nl.json @@ -24,6 +24,8 @@ "ResetOKMessage": "Reset OK", "YourGainMessage": "Niveau:", "SettingsResetMessage": "Instellingen zijn\ngereset!", + "NoAccelerometerMessage": "No accelerometer\ndetected!", + "NoPowerDeliveryMessage": "No USB-PD IC\ndetected!", "LockingKeysString": " GEBLOKKEERD", "UnlockingKeysString": "GEDEBLOKKEERD", "WarningKeysLockedString": "!GEBLOKKEERD!" diff --git a/Translation Editor/translation_nl_be.json b/Translation Editor/translation_nl_be.json index 9a168cb8..2713d418 100644 --- a/Translation Editor/translation_nl_be.json +++ b/Translation Editor/translation_nl_be.json @@ -24,6 +24,8 @@ "ResetOKMessage": "Reset OK", "YourGainMessage": "Your gain:", "SettingsResetMessage": "Settings were\nreset!", + "NoAccelerometerMessage": "No accelerometer\ndetected!", + "NoPowerDeliveryMessage": "No USB-PD IC\ndetected!", "LockingKeysString": " LOCKED", "UnlockingKeysString": "UNLOCKED", "WarningKeysLockedString": "!LOCKED!" diff --git a/Translation Editor/translation_no.json b/Translation Editor/translation_no.json index 8df24c27..fa90ecf4 100644 --- a/Translation Editor/translation_no.json +++ b/Translation Editor/translation_no.json @@ -24,6 +24,8 @@ "ResetOKMessage": "Reset OK", "YourGainMessage": "Your gain:", "SettingsResetMessage": "Settings were\nreset!", + "NoAccelerometerMessage": "No accelerometer\ndetected!", + "NoPowerDeliveryMessage": "No USB-PD IC\ndetected!", "LockingKeysString": " LOCKED", "UnlockingKeysString": "UNLOCKED", "WarningKeysLockedString": "!LOCKED!" diff --git a/Translation Editor/translation_pl.json b/Translation Editor/translation_pl.json index d4fc563f..320574d4 100644 --- a/Translation Editor/translation_pl.json +++ b/Translation Editor/translation_pl.json @@ -25,6 +25,8 @@ "ResetOKMessage": "Reset OK", "YourGainMessage": "Us.zysk:", "SettingsResetMessage": "Ust. zresetowane", + "NoAccelerometerMessage": "No accelerometer\ndetected!", + "NoPowerDeliveryMessage": "No USB-PD IC\ndetected!", "LockingKeysString": " ZABLOK.", "UnlockingKeysString": "ODBLOK.", "WarningKeysLockedString": "!ZABLOK!" @@ -275,4 +277,4 @@ "desc": "W trybie lutowania, wciśnij oba przyciski aby je zablokować " } } -} +} \ No newline at end of file diff --git a/Translation Editor/translation_pt.json b/Translation Editor/translation_pt.json index e8d62a23..4bf003d1 100644 --- a/Translation Editor/translation_pt.json +++ b/Translation Editor/translation_pt.json @@ -24,6 +24,8 @@ "ResetOKMessage": "Reset OK", "YourGainMessage": "Your gain:", "SettingsResetMessage": "Settings were\nreset!", + "NoAccelerometerMessage": "No accelerometer\ndetected!", + "NoPowerDeliveryMessage": "No USB-PD IC\ndetected!", "LockingKeysString": " LOCKED", "UnlockingKeysString": "UNLOCKED", "WarningKeysLockedString": "!LOCKED!" diff --git a/Translation Editor/translation_ru.json b/Translation Editor/translation_ru.json index 35357108..ae2e4db5 100644 --- a/Translation Editor/translation_ru.json +++ b/Translation Editor/translation_ru.json @@ -24,6 +24,8 @@ "ResetOKMessage": "Сброс OK", "YourGainMessage": "Прирост:", "SettingsResetMessage": "Настройки сброшены!", + "NoAccelerometerMessage": "No accelerometer\ndetected!", + "NoPowerDeliveryMessage": "No USB-PD IC\ndetected!", "LockingKeysString": " LOCKED", "UnlockingKeysString": "UNLOCKED", "WarningKeysLockedString": "!LOCKED!" @@ -274,4 +276,4 @@ "desc": "При работе длинное нажатие обеих кнопок блокирует их " } } -} +} \ No newline at end of file diff --git a/Translation Editor/translation_sk.json b/Translation Editor/translation_sk.json index 4c47b721..05848f63 100644 --- a/Translation Editor/translation_sk.json +++ b/Translation Editor/translation_sk.json @@ -24,6 +24,8 @@ "ResetOKMessage": "Reset OK", "YourGainMessage": "Zisk:", "SettingsResetMessage": "Nast. Obnovené!", + "NoAccelerometerMessage": "No accelerometer\ndetected!", + "NoPowerDeliveryMessage": "No USB-PD IC\ndetected!", "LockingKeysString": " LOCKED", "UnlockingKeysString": "UNLOCKED", "WarningKeysLockedString": "!LOCKED!" diff --git a/Translation Editor/translation_sl.json b/Translation Editor/translation_sl.json index f6d99f15..9658a6f4 100644 --- a/Translation Editor/translation_sl.json +++ b/Translation Editor/translation_sl.json @@ -24,6 +24,8 @@ "ResetOKMessage": "Reset OK", "YourGainMessage": "Ojačan.:", "SettingsResetMessage": "Settings were\nreset!", + "NoAccelerometerMessage": "No accelerometer\ndetected!", + "NoPowerDeliveryMessage": "No USB-PD IC\ndetected!", "LockingKeysString": " LOCKED", "UnlockingKeysString": "UNLOCKED", "WarningKeysLockedString": "!LOCKED!" diff --git a/Translation Editor/translation_sr_cyrl.json b/Translation Editor/translation_sr_cyrl.json index 570df775..9fa61a14 100644 --- a/Translation Editor/translation_sr_cyrl.json +++ b/Translation Editor/translation_sr_cyrl.json @@ -24,6 +24,8 @@ "ResetOKMessage": "Reset OK", "YourGainMessage": "Your gain:", "SettingsResetMessage": "Settings were\nreset!", + "NoAccelerometerMessage": "No accelerometer\ndetected!", + "NoPowerDeliveryMessage": "No USB-PD IC\ndetected!", "LockingKeysString": " LOCKED", "UnlockingKeysString": "UNLOCKED", "WarningKeysLockedString": "!LOCKED!" diff --git a/Translation Editor/translation_sr_latn.json b/Translation Editor/translation_sr_latn.json index a14cad93..43e64b7d 100644 --- a/Translation Editor/translation_sr_latn.json +++ b/Translation Editor/translation_sr_latn.json @@ -24,6 +24,8 @@ "ResetOKMessage": "Reset OK", "YourGainMessage": "Your gain:", "SettingsResetMessage": "Settings were\nreset!", + "NoAccelerometerMessage": "No accelerometer\ndetected!", + "NoPowerDeliveryMessage": "No USB-PD IC\ndetected!", "LockingKeysString": " LOCKED", "UnlockingKeysString": "UNLOCKED", "WarningKeysLockedString": "!LOCKED!" diff --git a/Translation Editor/translation_sv.json b/Translation Editor/translation_sv.json index 1b6e039f..a3411b75 100644 --- a/Translation Editor/translation_sv.json +++ b/Translation Editor/translation_sv.json @@ -24,6 +24,8 @@ "ResetOKMessage": "Reset OK", "YourGainMessage": "Your gain:", "SettingsResetMessage": "Settings were\nreset!", + "NoAccelerometerMessage": "No accelerometer\ndetected!", + "NoPowerDeliveryMessage": "No USB-PD IC\ndetected!", "LockingKeysString": " LOCKED", "UnlockingKeysString": "UNLOCKED", "WarningKeysLockedString": "!LOCKED!" diff --git a/Translation Editor/translation_tr.json b/Translation Editor/translation_tr.json index aba6a920..8c0f3881 100644 --- a/Translation Editor/translation_tr.json +++ b/Translation Editor/translation_tr.json @@ -23,7 +23,9 @@ "OffString": "Kapalı", "ResetOKMessage": "Sıfırlama Tamam", "YourGainMessage": "Kazancınız:", - "SettingsResetMessage": "Ayarlar Sıfırlandı" + "SettingsResetMessage": "Ayarlar Sıfırlandı", + "NoAccelerometerMessage": "No accelerometer\ndetected!", + "NoPowerDeliveryMessage": "No USB-PD IC\ndetected!" }, "characters": { "SettingRightChar": "R", diff --git a/Translation Editor/translation_uk.json b/Translation Editor/translation_uk.json index ab83795f..4f1e2154 100644 --- a/Translation Editor/translation_uk.json +++ b/Translation Editor/translation_uk.json @@ -24,6 +24,8 @@ "ResetOKMessage": "Скидання OK", "YourGainMessage": "Приріст:", "SettingsResetMessage": "Налаштування скинуті!", + "NoAccelerometerMessage": "No accelerometer\ndetected!", + "NoPowerDeliveryMessage": "No USB-PD IC\ndetected!", "LockingKeysString": " LOCKED", "UnlockingKeysString": "UNLOCKED", "WarningKeysLockedString": "!LOCKED!" diff --git a/Translation Editor/translations_def.js b/Translation Editor/translations_def.js index aae794a7..82cc9ff0 100644 --- a/Translation Editor/translations_def.js +++ b/Translation Editor/translations_def.js @@ -95,6 +95,16 @@ var def = "maxLen": 16, "default": "Settings were\nreset!" }, + { + "id": "NoAccelerometerMessage", + "maxLen": 16, + "default": "No accelerometer\ndetected!" + }, + { + "id": "NoPowerDeliveryMessage", + "maxLen": 16, + "default": "No USB-PD IC\ndetected!" + }, { "id": "LockingKeysString", "maxLen": 8, diff --git a/workspace/TS100/Core/Drivers/OLED.cpp b/workspace/TS100/Core/Drivers/OLED.cpp index 84e20aa8..948c248e 100755 --- a/workspace/TS100/Core/Drivers/OLED.cpp +++ b/workspace/TS100/Core/Drivers/OLED.cpp @@ -22,6 +22,7 @@ bool OLED::inLeftHandedMode; // Whether the screen is in left or not (used for OLED::DisplayState OLED::displayState; uint8_t OLED::fontWidth, OLED::fontHeight; int16_t OLED::cursor_x, OLED::cursor_y; +bool OLED::initDone = false; uint8_t OLED::displayOffset; uint8_t OLED::screenBuffer[16 + (OLED_WIDTH * 2) + 10]; // The data buffer uint8_t OLED::secondFrameBuffer[OLED_WIDTH * 2]; @@ -102,6 +103,7 @@ void OLED::initialize() { } } setDisplayState(DisplayState::ON); + initDone = true; } void OLED::setFramebuffer(uint8_t *buffer) { if (buffer == NULL) { @@ -390,16 +392,14 @@ void OLED::drawAreaSwapped(int16_t x, int8_t y, uint8_t wide, uint8_t height, co if (y == 0) { // Splat first line of data - for (uint8_t xx = visibleStart; xx < visibleEnd; xx += 2) { + for (uint8_t xx = visibleStart; xx < visibleEnd; xx ++) { firstStripPtr[xx + x] = ptr[xx + 1]; - firstStripPtr[xx + x + 1] = ptr[xx]; } } if (y == 8 || height == 16) { // Splat the second line - for (uint8_t xx = visibleStart; xx < visibleEnd; xx += 2) { + for (uint8_t xx = visibleStart; xx < visibleEnd; xx++) { secondStripPtr[x + xx] = ptr[xx + 1 + (height == 16 ? wide : 0)]; - secondStripPtr[x + xx + 1] = ptr[xx + (height == 16 ? wide : 0)]; } } } @@ -481,3 +481,7 @@ void OLED::drawHeatSymbol(uint8_t state) { drawSymbol(14); drawFilledRect(cursor_x_temp, 0, cursor_x_temp + 12, 2 + (8 - state), true); } + +bool OLED::isInitDone() { + return initDone; +} diff --git a/workspace/TS100/Core/Drivers/OLED.hpp b/workspace/TS100/Core/Drivers/OLED.hpp index 5e3238a7..db6a2c52 100755 --- a/workspace/TS100/Core/Drivers/OLED.hpp +++ b/workspace/TS100/Core/Drivers/OLED.hpp @@ -34,7 +34,7 @@ public: }; static void initialize(); // Startup the I2C coms (brings screen out of reset etc) - + static bool isInitDone(); // Draw the buffer out to the LCD using the DMA Channel static void refresh() { FRToSI2C::Transmit( DEVICEADDR_OLED, screenBuffer, @@ -56,7 +56,7 @@ public: static int16_t getCursorX() { return cursor_x; } - static void print(const char *string);// Draw a string to the current location, with current font + static void print(const char *string); // Draw a string to the current location, with current font // Set the cursor location by pixels static void setCursor(int16_t x, int16_t y) { cursor_x = x; @@ -73,8 +73,7 @@ public: drawArea(x, 0, width, 16, buffer); } // Draws an image to the buffer, at x offset from top to bottom (fixed height renders) - static void printNumber(uint16_t number, uint8_t places, - bool noLeaderZeros = true); + static void printNumber(uint16_t number, uint8_t places, bool noLeaderZeros = true); // Draws a number at the current cursor location // Clears the buffer static void clearScreen() { @@ -89,15 +88,11 @@ public: drawSymbol((state) ? 16 : 17); } static void debugNumber(int32_t val); - static void drawSymbol(uint8_t symbolID);//Used for drawing symbols of a predictable width - static void drawArea(int16_t x, int8_t y, uint8_t wide, uint8_t height, - const uint8_t *ptr); //Draw an area, but y must be aligned on 0/8 offset - static void drawAreaSwapped(int16_t x, int8_t y, uint8_t wide, - uint8_t height, const uint8_t *ptr); //Draw an area, but y must be aligned on 0/8 offset - static void fillArea(int16_t x, int8_t y, uint8_t wide, uint8_t height, - const uint8_t value); //Fill an area, but y must be aligned on 0/8 offset - static void drawFilledRect(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, - bool clear); + static void drawSymbol(uint8_t symbolID); //Used for drawing symbols of a predictable width + static void drawArea(int16_t x, int8_t y, uint8_t wide, uint8_t height, const uint8_t *ptr); //Draw an area, but y must be aligned on 0/8 offset + static void drawAreaSwapped(int16_t x, int8_t y, uint8_t wide, uint8_t height, const uint8_t *ptr); //Draw an area, but y must be aligned on 0/8 offset + static void fillArea(int16_t x, int8_t y, uint8_t wide, uint8_t height, const uint8_t value); //Fill an area, but y must be aligned on 0/8 offset + static void drawFilledRect(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, bool clear); static void drawHeatSymbol(uint8_t state); static void drawScrollIndicator(uint8_t p, uint8_t h); // Draws a scrolling position indicator static void transitionSecondaryFramebuffer(bool forwardNavigation); @@ -109,6 +104,7 @@ private: static uint8_t *firstStripPtr; // Pointers to the strips to allow for buffer having extra content static uint8_t *secondStripPtr; //Pointers to the strips static bool inLeftHandedMode; // Whether the screen is in left or not (used for offsets in GRAM) + static bool initDone; static DisplayState displayState; static uint8_t fontWidth, fontHeight; static int16_t cursor_x, cursor_y; diff --git a/workspace/TS100/Core/Drivers/TipThermoModel.cpp b/workspace/TS100/Core/Drivers/TipThermoModel.cpp index 5264130d..34d038c6 100755 --- a/workspace/TS100/Core/Drivers/TipThermoModel.cpp +++ b/workspace/TS100/Core/Drivers/TipThermoModel.cpp @@ -239,7 +239,7 @@ uint32_t TipThermoModel::getTipInF(bool sampleNow) { #endif uint32_t TipThermoModel::getTipMaxInC() { - uint32_t maximumTipTemp = TipThermoModel::convertTipRawADCToDegC(0x7FFF - (80 * 5)); //back off approx 5 deg c from ADC max + uint32_t maximumTipTemp = TipThermoModel::convertTipRawADCToDegC(0x7FFF - (21 * 5)); //back off approx 5 deg c from ADC max maximumTipTemp += getHandleTemperature() / 10; //Add handle offset return maximumTipTemp - 1; } diff --git a/workspace/TS100/Core/Inc/Settings.h b/workspace/TS100/Core/Inc/Settings.h index 5cb56738..d18881db 100755 --- a/workspace/TS100/Core/Inc/Settings.h +++ b/workspace/TS100/Core/Inc/Settings.h @@ -11,7 +11,7 @@ #define SETTINGS_H_ #include #include "unit.h" -#define SETTINGSVERSION (0x23) +#define SETTINGSVERSION (0x24) /*Change this if you change the struct below to prevent people getting \ out of sync*/ @@ -38,7 +38,7 @@ typedef struct { uint8_t detailedIDLE :1; // Detailed idle screen uint8_t detailedSoldering :1; // Detailed soldering screens #ifdef ENABLED_FAHRENHEIT_SUPPORT - uint8_t temperatureInF : 1; // Should the temp be in F or C (true is F) + 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 @@ -51,11 +51,12 @@ typedef struct { uint8_t powerLimit; // Maximum power iron allowed to output - uint8_t ReverseButtonTempChangeEnabled; // Change the plus and minus button assigment 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 + uint8_t accelMissingWarningCounter; // Counter of how many times we have warned we cannot detect the accelerometer + uint8_t pdMissingWarningCounter; // Counter of how many times we have warned we cannot detect the pd interface uint32_t padding; // This is here for in case we are not an even divisor so // that nothing gets cut off diff --git a/workspace/TS100/Core/Inc/Translation.h b/workspace/TS100/Core/Inc/Translation.h index 1ee90e2a..b9a4421f 100755 --- a/workspace/TS100/Core/Inc/Translation.h +++ b/workspace/TS100/Core/Inc/Translation.h @@ -38,6 +38,8 @@ extern const char *OffString; extern const char *ResetOKMessage; extern const char *YourGainMessage; extern const char *SettingsResetMessage; +extern const char *NoAccelerometerMessage; +extern const char *NoPowerDeliveryMessage; extern const char *LockingKeysString; extern const char *UnlockingKeysString; extern const char *WarningKeysLockedString; diff --git a/workspace/TS100/Core/Inc/main.hpp b/workspace/TS100/Core/Inc/main.hpp index effe5a05..ede22bd5 100755 --- a/workspace/TS100/Core/Inc/main.hpp +++ b/workspace/TS100/Core/Inc/main.hpp @@ -3,7 +3,7 @@ #include "OLED.hpp" #include "Setup.h" -extern uint8_t PCBVersion; +extern uint8_t DetectedAccelerometerVersion; extern uint32_t currentTempTargetDegC; extern bool settingsWereReset; extern bool usb_pd_available; @@ -14,6 +14,8 @@ extern "C" { void vApplicationStackOverflowHook(TaskHandle_t *pxTask, signed portCHAR *pcTaskName); +#define NO_DETECTED_ACCELEROMETER 99 +#define ACCELEROMETERS_SCANNING 100 //Threads void startGUITask(void const *argument); void startPIDTask(void const *argument); diff --git a/workspace/TS100/Core/Src/Settings.cpp b/workspace/TS100/Core/Src/Settings.cpp index 3faa0ea3..9748d230 100755 --- a/workspace/TS100/Core/Src/Settings.cpp +++ b/workspace/TS100/Core/Src/Settings.cpp @@ -68,7 +68,7 @@ void resetSettings() { 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 + systemSettings.temperatureInF = TEMPERATURE_INF; // default to 0 #endif systemSettings.descriptionScrollSpeed = DESCRIPTION_SCROLL_SPEED; // default to slow systemSettings.CalibrationOffset = CALIBRATION_OFFSET; // the adc offset in uV @@ -78,6 +78,9 @@ void resetSettings() { systemSettings.TempChangeLongStep = TEMP_CHANGE_LONG_STEP; // systemSettings.KeepAwakePulse = POWER_PULSE_DEFAULT; systemSettings.hallEffectSensitivity = 1; + systemSettings.accelMissingWarningCounter = 0; + systemSettings.pdMissingWarningCounter = 0; + saveSettings(); // Save defaults } diff --git a/workspace/TS100/Core/Src/gui.cpp b/workspace/TS100/Core/Src/gui.cpp index 002f9ef1..86674071 100755 --- a/workspace/TS100/Core/Src/gui.cpp +++ b/workspace/TS100/Core/Src/gui.cpp @@ -371,7 +371,7 @@ static bool settings_setSleepTime(void) { systemSettings.SleepTime = 0; // can't set time over 10 mins } // Remember that ^ is the time of no movement - if (PCBVersion == 99) + if (DetectedAccelerometerVersion == NO_DETECTED_ACCELEROMETER) systemSettings.SleepTime = 0; // Disable sleep on no accel return systemSettings.SleepTime == 15; } @@ -394,7 +394,7 @@ static bool settings_setShutdownTime(void) { if (systemSettings.ShutdownTime > 60) { systemSettings.ShutdownTime = 0; // wrap to off } - if (PCBVersion == 99) + if (DetectedAccelerometerVersion == NO_DETECTED_ACCELEROMETER) systemSettings.ShutdownTime = 0; // Disable shutdown on no accel return systemSettings.ShutdownTime == 60; } @@ -722,7 +722,6 @@ static bool settings_setCalibrateVIN(void) { // Jump to the voltage calibration subscreen OLED::setFont(0); OLED::clearScreen(); - OLED::setCursor(0, 0); for (;;) { OLED::setCursor(0, 0); diff --git a/workspace/TS100/Core/Src/main.cpp b/workspace/TS100/Core/Src/main.cpp index e9e3d62f..c638b0d8 100755 --- a/workspace/TS100/Core/Src/main.cpp +++ b/workspace/TS100/Core/Src/main.cpp @@ -11,7 +11,7 @@ #include #include "Settings.h" #include "cmsis_os.h" -uint8_t PCBVersion = 0; +uint8_t DetectedAccelerometerVersion = 0; bool settingsWereReset = false; // FreeRTOS variables diff --git a/workspace/TS100/Core/Threads/GUIThread.cpp b/workspace/TS100/Core/Threads/GUIThread.cpp index e6835495..644cd09f 100755 --- a/workspace/TS100/Core/Threads/GUIThread.cpp +++ b/workspace/TS100/Core/Threads/GUIThread.cpp @@ -34,6 +34,7 @@ extern osThreadId MOVTaskHandle; extern osThreadId PIDTaskHandle; static bool shouldBeSleeping(bool inAutoStart = false); static bool shouldShutdown(); +void showWarnings(); #define MOVEMENT_INACTIVITY_TIME (60 * configTICK_RATE_HZ) #define BUTTON_INACTIVITY_TIME (60 * configTICK_RATE_HZ) static TickType_t lastHallEffectSleepStart = 0; @@ -43,6 +44,14 @@ static uint16_t min(uint16_t a, uint16_t b) { else return a; } +void warnUser(const char *warning, const int font, const int timeout) { + OLED::setFont(font); + OLED::clearScreen(); + OLED::setCursor(0, 0); + OLED::print(warning); + OLED::refresh(); + waitForButtonPressOrTimeout(timeout); +} void printVoltage() { uint32_t volt = getInputVoltageX10(systemSettings.voltageDiv, 0); @@ -473,38 +482,26 @@ static void gui_solderingMode(uint8_t jumpToSleep) { 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); + warnUser(UnlockingKeysString, 0, TICKS_SECOND); break; case BUTTON_F_LONG: // if boost mode is enabled turn it on if (systemSettings.BoostTemp && (systemSettings.lockingMode == 1)) { boostModeOn = true; - break; } - ; + 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); + warnUser(WarningKeysLockedString, 0, TICKS_SECOND / 2); break; default: break; @@ -540,12 +537,7 @@ static void gui_solderingMode(uint8_t jumpToSleep) { if (systemSettings.lockingMode != 0) { // Lock buttons buttonsLocked = true; - OLED::setCursor(0, 0); - OLED::clearScreen(); - OLED::setFont(0); - OLED::print(LockingKeysString); - OLED::refresh(); - waitForButtonPressOrTimeout(1000); + warnUser(LockingKeysString, 0, TICKS_SECOND); } break; default: @@ -706,7 +698,7 @@ void showDebugMenu(void) { break; case 10: // Print PCB ID number - OLED::printNumber(PCBVersion, 2); + OLED::printNumber(DetectedAccelerometerVersion, 2); break; case 11: // Power negotiation status @@ -752,6 +744,40 @@ void showDebugMenu(void) { GUIDelay(); } } + +void showWarnings() { + // Display alert if settings were reset + if (settingsWereReset) { + warnUser(SettingsResetMessage, 1, 10 * TICKS_SECOND); + } +#ifndef NO_WARN_MISSING + //We also want to alert if accel or pd is not detected / not responding + // In this case though, we dont want to nag the user _too_ much + // So only show first 2 times + while (DetectedAccelerometerVersion == ACCELEROMETERS_SCANNING) { + osDelay(1); + } + // Display alert if accelerometer is not detected + if (DetectedAccelerometerVersion == NO_DETECTED_ACCELEROMETER) { + if (systemSettings.accelMissingWarningCounter < 2) { + systemSettings.accelMissingWarningCounter++; + saveSettings(); + warnUser(NoAccelerometerMessage, 1, 10 * TICKS_SECOND); + } + } +#ifdef POW_PD +//We expect pd to be present + if (!usb_pd_detect()) { + if (systemSettings.pdMissingWarningCounter < 2) { + systemSettings.pdMissingWarningCounter++; + saveSettings(); + warnUser(NoPowerDeliveryMessage, 1, 10 * TICKS_SECOND); + } + } +#endif +#endif +} + uint8_t idleScreenBGF[sizeof(idleScreenBG)]; /* StartGUITask function */ void startGUITask(void const *argument __unused) { @@ -783,15 +809,8 @@ void startGUITask(void const *argument __unused) { GUIDelay(); } - if (settingsWereReset) { - // Display alert settings were reset - OLED::clearScreen(); - OLED::setFont(1); - OLED::setCursor(0, 0); - OLED::print(SettingsResetMessage); - OLED::refresh(); - waitForButtonPressOrTimeout(10000); - } + showWarnings(); + if (systemSettings.autoStartMode) { // jump directly to the autostart mode gui_solderingMode(systemSettings.autoStartMode - 1); @@ -925,7 +944,7 @@ void startGUITask(void const *argument __unused) { //Draw in missing tip symbol #ifdef OLED_FLIP - if (!OLED::getRotation()) { + if (!OLED::getRotation()) { #else if (OLED::getRotation()) { #endif diff --git a/workspace/TS100/Core/Threads/MOVThread.cpp b/workspace/TS100/Core/Threads/MOVThread.cpp old mode 100755 new mode 100644 index 8ec58a92..f3405b28 --- a/workspace/TS100/Core/Threads/MOVThread.cpp +++ b/workspace/TS100/Core/Threads/MOVThread.cpp @@ -5,6 +5,7 @@ * Author: Ralim */ +#include "BMA223.hpp" #include "BSP.h" #include "FreeRTOS.h" #include "I2C_Wrapper.hpp" @@ -19,153 +20,142 @@ #include "main.hpp" #include "power.hpp" #include "stdlib.h" -#include "BMA223.hpp" #include "task.h" #define MOVFilter 8 uint8_t accelInit = 0; TickType_t lastMovementTime = 0; void detectAccelerometerVersion() { - PCBVersion = 99; + PCBVersion = 99; #ifdef ACCEL_MMA - if (MMA8652FC::detect()) { + if (MMA8652FC::detect()) { - if (MMA8652FC::initalize()) { - PCBVersion = 1; - } - } else + if (MMA8652FC::initalize()) { + PCBVersion = 1; + } + } else #endif #ifdef ACCEL_LIS - if (LIS2DH12::detect()) { - // Setup the ST Accelerometer - if (LIS2DH12::initalize()) { - PCBVersion = 2; - } - } else + if (LIS2DH12::detect()) { + // Setup the ST Accelerometer + if (LIS2DH12::initalize()) { + PCBVersion = 2; + } + } else #endif #ifdef ACCEL_BMA - if (BMA223::detect()) { - // Setup the ST Accelerometer - if (BMA223::initalize()) { - PCBVersion = 3; - } - } else + if (BMA223::detect()) { + // Setup the ST Accelerometer + if (BMA223::initalize()) { + PCBVersion = 3; + } + } else #endif #ifdef ACCEL_MSA - if (MSA301::detect()) { - // Setup the MSA301 Accelerometer - if (MSA301::initalize()) { - PCBVersion = 4; - } - } else + if (MSA301::detect()) { + // Setup the MSA301 Accelerometer + if (MSA301::initalize()) { + PCBVersion = 4; + } + } else #endif - { - //disable imu sensitivity - systemSettings.sensitivity = 0; - } - + { + // disable imu sensitivity + systemSettings.sensitivity = 0; + } } -inline void readAccelerometer(int16_t &tx, int16_t &ty, int16_t &tz, Orientation &rotation) { +inline void readAccelerometer(int16_t &tx, int16_t &ty, int16_t &tz, + Orientation &rotation) { #ifdef ACCEL_LIS - if (PCBVersion == 2) { - LIS2DH12::getAxisReadings(tx, ty, tz); - rotation = LIS2DH12::getOrientation(); - } else + if (DetectedAccelerometerVersion == 2) { + LIS2DH12::getAxisReadings(tx, ty, tz); + rotation = LIS2DH12::getOrientation(); + } else #endif #ifdef ACCEL_MMA - if (PCBVersion == 1) { - MMA8652FC::getAxisReadings(tx, ty, tz); - rotation = MMA8652FC::getOrientation(); - } else + if (DetectedAccelerometerVersion == 1) { + MMA8652FC::getAxisReadings(tx, ty, tz); + rotation = MMA8652FC::getOrientation(); + } else #endif #ifdef ACCEL_BMA - if (PCBVersion == 3) { - BMA223::getAxisReadings(tx, ty, tz); - rotation = BMA223::getOrientation(); - } else + if (DetectedAccelerometerVersion == 3) { + BMA223::getAxisReadings(tx, ty, tz); + rotation = BMA223::getOrientation(); + } else #endif #ifdef ACCEL_MSA - if (PCBVersion == 3) { - MSA301::getAxisReadings(tx, ty, tz); - rotation = MSA301::getOrientation(); - } else + if (PCBVersion == 3) { + MSA301::getAxisReadings(tx, ty, tz); + rotation = MSA301::getOrientation(); + } else #endif - { - //do nothing :( - } + { + // do nothing :( + } } void startMOVTask(void const *argument __unused) { - osDelay(1); //Make oled init happen first - postRToSInit(); - OLED::setRotation(systemSettings.OrientationMode & 1); - detectAccelerometerVersion(); - lastMovementTime = 0; - if ((systemSettings.autoStartMode == 2 || systemSettings.autoStartMode == 3)) - osDelay(2 * TICKS_SECOND); + postRToSInit(); + detectAccelerometerVersion(); + osDelay(50); // wait ~50ms for setup of accel to finalise + lastMovementTime = 0; + // Mask 2 seconds if we are in autostart so that if user is plugging in and + // then putting in stand it doesnt wake instantly + if (systemSettings.autoStartMode) + osDelay(2 * TICKS_SECOND); - lastMovementTime = 0; - int16_t datax[MOVFilter] = { 0 }; - int16_t datay[MOVFilter] = { 0 }; - int16_t dataz[MOVFilter] = { 0 }; - uint8_t currentPointer = 0; - int16_t tx = 0, ty = 0, tz = 0; - int32_t avgx, avgy, avgz; - if (systemSettings.sensitivity > 9) - systemSettings.sensitivity = 9; - Orientation rotation = ORIENTATION_FLAT; -// OLED::setFont(1); -// for (;;) { -// OLED::clearScreen(); -// OLED::setCursor(0, 0); -// readAccelerometer(tx, ty, tz, rotation); -// OLED::printNumber(tx, 5, 0); -// OLED::setCursor(0, 8); -// OLED::printNumber(xTaskGetTickCount() / 10, 5, 1); -// OLED::refresh(); -// osDelay(50); -// } - for (;;) { - int32_t threshold = 1500 + (9 * 200); - threshold -= systemSettings.sensitivity * 200; // 200 is the step size - readAccelerometer(tx, ty, tz, rotation); - if (systemSettings.OrientationMode == 2) { - if (rotation != ORIENTATION_FLAT) { - OLED::setRotation(rotation == ORIENTATION_LEFT_HAND); // link the data through - } - } - datax[currentPointer] = (int32_t) tx; - datay[currentPointer] = (int32_t) ty; - dataz[currentPointer] = (int32_t) tz; - if (!accelInit) { - for (uint8_t i = currentPointer + 1; i < MOVFilter; i++) { - datax[i] = (int32_t) tx; - datay[i] = (int32_t) ty; - dataz[i] = (int32_t) tz; - } - accelInit = 1; - } - currentPointer = (currentPointer + 1) % MOVFilter; - avgx = avgy = avgz = 0; - // calculate averages - for (uint8_t i = 0; i < MOVFilter; i++) { - avgx += datax[i]; - avgy += datay[i]; - avgz += dataz[i]; - } - avgx /= MOVFilter; - avgy /= MOVFilter; - avgz /= MOVFilter; + int16_t datax[MOVFilter] = {0}; + int16_t datay[MOVFilter] = {0}; + int16_t dataz[MOVFilter] = {0}; + uint8_t currentPointer = 0; + int16_t tx = 0, ty = 0, tz = 0; + int32_t avgx, avgy, avgz; + if (systemSettings.sensitivity > 9) + systemSettings.sensitivity = 9; + Orientation rotation = ORIENTATION_FLAT; + for (;;) { + int32_t threshold = 1500 + (9 * 200); + threshold -= systemSettings.sensitivity * 200; // 200 is the step size + readAccelerometer(tx, ty, tz, rotation); + if (systemSettings.OrientationMode == 2) { + if (rotation != ORIENTATION_FLAT) { + OLED::setRotation(rotation == + ORIENTATION_LEFT_HAND); // link the data through + } + } + datax[currentPointer] = (int32_t)tx; + datay[currentPointer] = (int32_t)ty; + dataz[currentPointer] = (int32_t)tz; + if (!accelInit) { + for (uint8_t i = currentPointer + 1; i < MOVFilter; i++) { + datax[i] = (int32_t)tx; + datay[i] = (int32_t)ty; + dataz[i] = (int32_t)tz; + } + accelInit = 1; + } + currentPointer = (currentPointer + 1) % MOVFilter; + avgx = avgy = avgz = 0; + // calculate averages + for (uint8_t i = 0; i < MOVFilter; i++) { + avgx += datax[i]; + avgy += datay[i]; + avgz += dataz[i]; + } + avgx /= MOVFilter; + avgy /= MOVFilter; + avgz /= MOVFilter; - // Sum the deltas - int32_t error = (abs(avgx - tx) + abs(avgy - ty) + abs(avgz - tz)); - // So now we have averages, we want to look if these are different by more - // than the threshold + // Sum the deltas + int32_t error = (abs(avgx - tx) + abs(avgy - ty) + abs(avgz - tz)); + // So now we have averages, we want to look if these are different by more + // than the threshold - // If error has occurred then we update the tick timer - if (error > threshold) { - lastMovementTime = xTaskGetTickCount(); - } + // If movement has occurred then we update the tick timer + if (error > threshold) { + lastMovementTime = xTaskGetTickCount(); + } - osDelay(100); // Slow down update rate - power_check(); - } + osDelay(100); // Slow down update rate + power_check(); + } } diff --git a/workspace/TS100A/.gitignore b/workspace/TS100A/.gitignore deleted file mode 100644 index 5221ec2e..00000000 --- a/workspace/TS100A/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/Release/ -/TS100/ -/TS100_LOCAL/ -/ReleaseTS80/ -/ReleaseTS100/