1
0
forked from me/IronOS

Unit - Fahrenheit support in language translations

°F Fahrenheit - You will find the default Fahrenheit configuration in the translation_xx.json
 If tempUnitFahrenheit is set to:
   true -  you can switch in menu settings to Fahrenheit or Celsius.
   false - you see only Celsius. All settings are then is in Celsius only.
This commit is contained in:
GeminiServer
2020-03-20 20:37:02 +01:00
parent 797d2c247a
commit ee0767efb8
13 changed files with 168 additions and 8265 deletions

View File

@@ -17,6 +17,7 @@
#include "stm32f1xx_hal.h"
#include "string.h"
#include "TipThermoModel.h"
#include "unit.h"
#include "../../configuration.h"
extern uint8_t PCBVersion;
@@ -58,25 +59,30 @@ void GUIDelay() {
void gui_drawTipTemp(bool symbol) {
// Draw tip temp handling unit conversion & tolerance near setpoint
uint16_t Temp = 0;
if (systemSettings.temperatureInF)
Temp = TipThermoModel::getTipInF();
else
Temp = TipThermoModel::getTipInC();
#ifdef ENABLED_FAHRENHEIT_SUPPORT
if (systemSettings.temperatureInF)
Temp = TipThermoModel::getTipInF();
else
#endif
Temp = TipThermoModel::getTipInC();
OLED::printNumber(Temp, 3); // Draw the tip temp out finally
if (symbol) {
if (OLED::getFont() == 0) {
//Big font, can draw nice symbols
if (systemSettings.temperatureInF)
OLED::drawSymbol(0);
else
OLED::drawSymbol(1);
#ifdef ENABLED_FAHRENHEIT_SUPPORT
if (systemSettings.temperatureInF)
OLED::drawSymbol(0);
else
#endif
OLED::drawSymbol(1);
} else {
//Otherwise fall back to chars
if (systemSettings.temperatureInF)
OLED::print(SymbolDegF);
else
#ifdef ENABLED_FAHRENHEIT_SUPPORT
if (systemSettings.temperatureInF)
OLED::print(SymbolDegF);
else
#endif
OLED::print(SymbolDegC);
}
}
@@ -320,12 +326,16 @@ case BUTTON_B_LONG:
- PRESS_ACCEL_INTERVAL_MIN;
}
// constrain between 50-450 C
#ifdef ENABLED_FAHRENHEIT_SUPPORT
if (systemSettings.temperatureInF) {
if (systemSettings.SolderingTemp > 850)
systemSettings.SolderingTemp = 850;
if (systemSettings.SolderingTemp < 120)
systemSettings.SolderingTemp = 120;
} else {
}
else
#endif
{
if (systemSettings.SolderingTemp > 450)
systemSettings.SolderingTemp = 450;
if (systemSettings.SolderingTemp < 50)
@@ -348,10 +358,14 @@ case BUTTON_B_LONG:
OLED::print(SymbolSpace);
OLED::printNumber(systemSettings.SolderingTemp, 3);
#ifdef ENABLED_FAHRENHEIT_SUPPORT
if (systemSettings.temperatureInF)
OLED::drawSymbol(0);
else
#endif
{
OLED::drawSymbol(1);
}
OLED::print(SymbolSpace);
#ifdef MODEL_TS80
if (!OLED::getRotation()) {
@@ -382,20 +396,27 @@ static int gui_SolderingSleepingMode(bool stayOff) {
if (checkVoltageForExit())
return 1; // return non-zero on error
#endif
#ifdef ENABLED_FAHRENHEIT_SUPPORT
if (systemSettings.temperatureInF) {
currentTempTargetDegC = stayOff ? 0 : TipThermoModel::convertFtoC(
min(systemSettings.SleepTemp,
systemSettings.SolderingTemp));
} else {
} else
#endif
{
currentTempTargetDegC = stayOff ? 0 : min(systemSettings.SleepTemp,
systemSettings.SolderingTemp);
}
// draw the lcd
uint16_t tipTemp;
#ifdef ENABLED_FAHRENHEIT_SUPPORT
if (systemSettings.temperatureInF)
tipTemp = TipThermoModel::getTipInF();
else
#endif
{
tipTemp = TipThermoModel::getTipInC();
}
OLED::clearScreen();
OLED::setCursor(0, 0);
@@ -405,10 +426,14 @@ static int gui_SolderingSleepingMode(bool stayOff) {
OLED::setCursor(0, 8);
OLED::print(SleepingTipAdvancedString);
OLED::printNumber(tipTemp, 3);
#ifdef ENABLED_FAHRENHEIT_SUPPORT
if (systemSettings.temperatureInF)
OLED::print(SymbolDegF);
else
#endif
{
OLED::print(SymbolDegC);
}
OLED::print(SymbolSpace);
printVoltage();
@@ -417,10 +442,14 @@ static int gui_SolderingSleepingMode(bool stayOff) {
OLED::setFont(0);
OLED::print(SleepingSimpleString);
OLED::printNumber(tipTemp, 3);
#ifdef ENABLED_FAHRENHEIT_SUPPORT
if (systemSettings.temperatureInF)
OLED::drawSymbol(0);
else
#endif
{
OLED::drawSymbol(1);
}
}
if (systemSettings.ShutdownTime) // only allow shutdown exit if time > 0
if (lastMovementTime)
@@ -578,18 +607,25 @@ static void gui_solderingMode(uint8_t jumpToSleep) {
// Update the setpoints for the temperature
if (boostModeOn) {
#ifdef ENABLED_FAHRENHEIT_SUPPORT
if (systemSettings.temperatureInF)
currentTempTargetDegC = TipThermoModel::convertFtoC(
systemSettings.BoostTemp);
else
#endif
{
currentTempTargetDegC = (systemSettings.BoostTemp);
}
} else {
#ifdef ENABLED_FAHRENHEIT_SUPPORT
if (systemSettings.temperatureInF)
currentTempTargetDegC = TipThermoModel::convertFtoC(
systemSettings.SolderingTemp);
else
#endif
{
currentTempTargetDegC = (systemSettings.SolderingTemp);
}
}
#ifdef MODEL_TS100