From 5b3bdf1939e60d7b4e5f26b542549f35fa29efb6 Mon Sep 17 00:00:00 2001 From: Augusto Zanellato Date: Fri, 25 Sep 2020 22:18:16 +0200 Subject: [PATCH 1/5] Fix BadTipString in Italian translation --- Translation Editor/translation_it.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Translation Editor/translation_it.json b/Translation Editor/translation_it.json index 7afd2fc6..b0adc38d 100644 --- a/Translation Editor/translation_it.json +++ b/Translation Editor/translation_it.json @@ -10,7 +10,7 @@ "UndervoltageString": "DC INSUFFICIENTE", "InputVoltageString": "V ingresso:", "WarningTipTempString": "Temp punta:", - "BadTipString": "PUNTA NO", + "BadTipString": "PUNTA KO", "SleepingSimpleString": "Zzz ", "SleepingAdvancedString": "Standby", "WarningSimpleString": "HOT!", From 30be5e0de4eb3c68adcf7f8ee7dd0495f337e9c3 Mon Sep 17 00:00:00 2001 From: Paul Fertser Date: Fri, 11 Sep 2020 14:42:38 +0300 Subject: [PATCH 2/5] Introduce PWM freq switching so that power could be averaged on shorter intervals With this a TS-I tip is usable with a small netbook 19 V / 30 W PSU with power limit set to 40 W (38.9 W is reported during the heating up stage). Without this the device just reboots on attempt to turn on the heater (unless the power limit is set to 10 or even 5 W). This code doesn't affect maximum power available and allows up to 73 W when a beefy 24 V / 96 W PSU is used. Should be useful for all models, not just TS100. The fixed comments are based on calculations, not measurements! Fixes #693. --- workspace/TS100/Core/BSP/BSP.h | 14 +++++- workspace/TS100/Core/BSP/Miniware/BSP.cpp | 47 +++++++++++++++++++ workspace/TS100/Core/BSP/Miniware/Setup.c | 13 +++-- workspace/TS100/Core/BSP/Miniware/preRTOS.cpp | 1 + workspace/TS100/Core/Inc/power.hpp | 2 - workspace/TS100/Core/Src/power.cpp | 22 +++++---- workspace/TS100/configuration.h | 2 +- 7 files changed, 84 insertions(+), 17 deletions(-) diff --git a/workspace/TS100/Core/BSP/BSP.h b/workspace/TS100/Core/BSP/BSP.h index f1765c0f..0ddad258 100644 --- a/workspace/TS100/Core/BSP/BSP.h +++ b/workspace/TS100/Core/BSP/BSP.h @@ -1,9 +1,10 @@ +#include +#include #include "BSP_Flash.h" #include "BSP_Power.h" #include "BSP_QC.h" #include "Defines.h" #include "Model_Config.h" -#include "stdint.h" /* * BSP.h -- Board Support * @@ -16,11 +17,19 @@ extern "C" { #endif +// maximum htim2 PWM value +extern const uint16_t powerPWM; +// htim2.Init.Period, the full PWM cycle +extern uint16_t totalPWM; + // Called first thing in main() to init the hardware void preRToSInit(); // Called once the RToS has started for any extra work void postRToSInit(); +// Called once from preRToSInit() +void BSPInit(void); + // Called to reset the hardware watchdog unit void resetWatchdog(); // Accepts a output level of 0.. to use to control the tip output PWM @@ -31,6 +40,9 @@ uint16_t getHandleTemperature(); uint16_t getTipRawTemp(uint8_t refresh); // Returns the main DC input voltage, using the adjustable divisor + sample flag uint16_t getInputVoltageX10(uint16_t divisor, uint8_t sample); +// Switch to the most suitable PWM freq given the desired period; +// returns true if the switch was performed and totalPWM changed +bool tryBetterPWM(uint8_t pwm); // Readers for the two buttons // !! Returns 1 if held down, 0 if released diff --git a/workspace/TS100/Core/BSP/Miniware/BSP.cpp b/workspace/TS100/Core/BSP/Miniware/BSP.cpp index a2afb4f3..a27609b8 100644 --- a/workspace/TS100/Core/BSP/Miniware/BSP.cpp +++ b/workspace/TS100/Core/BSP/Miniware/BSP.cpp @@ -12,6 +12,14 @@ volatile uint16_t PWMSafetyTimer = 0; volatile uint8_t pendingPWM = 0; +const uint16_t powerPWM = 255; +static const uint8_t holdoffTicks = 13; // delay of 7 ms +static const uint8_t tempMeasureTicks = 17; + +uint16_t totalPWM; //htim2.Init.Period, the full PWM cycle + +static bool fastPWM; + //2 second filter (ADC is PID_TIM_HZ Hz) history rawTempFilter = { { 0 }, 0, 0 }; void resetWatchdog() { @@ -190,6 +198,41 @@ void setTipPWM(uint8_t pulse) { pendingPWM = pulse; } +static void switchToFastPWM(void) { + fastPWM = true; + totalPWM = powerPWM + tempMeasureTicks * 2; + htim2.Instance->ARR = totalPWM; + // ~3.5 Hz rate + htim2.Instance->CCR1 = powerPWM + holdoffTicks * 2; + // 2 MHz timer clock/2000 = 1 kHz tick rate + htim2.Instance->PSC = 2000; +} + +static void switchToSlowPWM(void) { + fastPWM = false; + totalPWM = powerPWM + tempMeasureTicks; + htim2.Instance->ARR = totalPWM; + // ~1.84 Hz rate + htim2.Instance->CCR1 = powerPWM + holdoffTicks; + // 2 MHz timer clock/4000 = 500 Hz tick rate + htim2.Instance->PSC = 4000; +} + +bool tryBetterPWM(uint8_t pwm) { + if (fastPWM && pwm == powerPWM) { + // maximum power for fast PWM reached, need to go slower to get more + switchToSlowPWM(); + return true; + } else if (!fastPWM && pwm < 230) { + // 254 in fast PWM mode gives the same power as 239 in slow + // allow for some reasonable hysteresis by switching only when it goes + // below 230 (equivalent to 245 in fast mode) + switchToFastPWM(); + return true; + } + return false; +} + // These are called by the HAL after the corresponding events from the system // timers. @@ -299,6 +342,10 @@ uint8_t getButtonB() { 1 : 0; } +void BSPInit(void) { + switchToFastPWM(); +} + void reboot() { NVIC_SystemReset(); diff --git a/workspace/TS100/Core/BSP/Miniware/Setup.c b/workspace/TS100/Core/BSP/Miniware/Setup.c index fdaeb139..515b4a59 100644 --- a/workspace/TS100/Core/BSP/Miniware/Setup.c +++ b/workspace/TS100/Core/BSP/Miniware/Setup.c @@ -315,13 +315,15 @@ static void MX_TIM2_Init(void) { // Timer 2 is fairly slow as its being used to run the PWM and trigger the ADC // in the PWM off time. htim2.Instance = TIM2; - htim2.Init.Prescaler = 4000; //1mhz tick rate/800 = 1.25 KHz tick rate + // dummy value, will be reconfigured by BSPInit() + htim2.Init.Prescaler = 2000; // 2 MHz timer clock/2000 = 1 kHz tick rate // pwm out is 10k from tim3, we want to run our PWM at around 10hz or slower on the output stage - // These values give a rate of around 8Hz + // These values give a rate of around 3.5 Hz for "fast" mode and 1.84 Hz for "slow" htim2.Init.CounterMode = TIM_COUNTERMODE_UP; - htim2.Init.Period = 255 + 17; - htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV4; // 4mhz before divide + // dummy value, will be reconfigured by BSPInit() + htim2.Init.Period = 255 + 17 * 2; + htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV4; // 8 MHz (x2 APB1) before divide htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; htim2.Init.RepetitionCounter = 0; HAL_TIM_Base_Init(&htim2); @@ -337,7 +339,8 @@ static void MX_TIM2_Init(void) { HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig); sConfigOC.OCMode = TIM_OCMODE_PWM1; - sConfigOC.Pulse = 255 + 13; //13 -> Delay of 5ms + // dummy value, will be reconfigured by BSPInit() + sConfigOC.Pulse = 255 + 13 * 2; // 13 -> Delay of 7 ms //255 is the largest time period of the drive signal, and then offset ADC sample to be a bit delayed after this /* * It takes 4 milliseconds for output to be stable after PWM turns off. diff --git a/workspace/TS100/Core/BSP/Miniware/preRTOS.cpp b/workspace/TS100/Core/BSP/Miniware/preRTOS.cpp index 67b04f49..e1d38434 100644 --- a/workspace/TS100/Core/BSP/Miniware/preRTOS.cpp +++ b/workspace/TS100/Core/BSP/Miniware/preRTOS.cpp @@ -17,6 +17,7 @@ void preRToSInit() { */ HAL_Init(); Setup_HAL(); // Setup all the HAL objects + BSPInit(); #ifdef I2C_SOFT I2CBB::init(); #endif diff --git a/workspace/TS100/Core/Inc/power.hpp b/workspace/TS100/Core/Inc/power.hpp index 31fddd33..8998f3de 100644 --- a/workspace/TS100/Core/Inc/power.hpp +++ b/workspace/TS100/Core/Inc/power.hpp @@ -25,6 +25,4 @@ extern expMovingAverage x10WattHistory; int32_t tempToX10Watts(int32_t rawTemp); void setTipX10Watts(int32_t mw); uint8_t X10WattsToPWM(int32_t milliWatts, uint8_t sample = 0); -int32_t PWMToX10Watts(uint8_t pwm, uint8_t sample = 0); -uint32_t availableW10(uint8_t sample) ; #endif /* POWER_HPP_ */ diff --git a/workspace/TS100/Core/Src/power.cpp b/workspace/TS100/Core/Src/power.cpp index 4cceb9c5..be042aa7 100644 --- a/workspace/TS100/Core/Src/power.cpp +++ b/workspace/TS100/Core/Src/power.cpp @@ -9,8 +9,7 @@ #include #include -const uint16_t powerPWM = 255; -const uint16_t totalPWM = 255 + 17; //htim2.Init.Period, the full PWM cycle +static int32_t PWMToX10Watts(uint8_t pwm, uint8_t sample); expMovingAverage x10WattHistory = { 0 }; @@ -30,7 +29,7 @@ void setTipX10Watts(int32_t mw) { x10WattHistory.update(actualMilliWatts); } -uint32_t availableW10(uint8_t sample) { +static uint32_t availableW10(uint8_t sample) { //P = V^2 / R, v*v = v^2 * 100 // R = R*10 // P therefore is in V^2*100/R*10 = W*10. @@ -56,15 +55,22 @@ uint8_t X10WattsToPWM(int32_t milliWatts, uint8_t sample) { } // if (milliWatts > (int(systemSettings.pidPowerLimit) * 10)) // milliWatts = (int(systemSettings.pidPowerLimit) * 10); + //Calculate desired milliwatts as a percentage of availableW10 - uint32_t pwm = (powerPWM * milliWatts) / availableW10(sample); - if (pwm > powerPWM) { - pwm = powerPWM; //constrain to max PWM counter, shouldnt be possible, but small cost for safety to avoid wraps - } + uint32_t pwm; + do { + pwm = (powerPWM * milliWatts) / availableW10(sample); + if (pwm > powerPWM) { + // constrain to max PWM counter, shouldn't be possible, + // but small cost for safety to avoid wraps + pwm = powerPWM; + } + } while (tryBetterPWM(pwm)); + return pwm; } -int32_t PWMToX10Watts(uint8_t pwm, uint8_t sample) { +static int32_t PWMToX10Watts(uint8_t pwm, uint8_t sample) { uint32_t maxMW = availableW10(sample); //Get the milliwatts for the max pwm period //Then convert pwm into percentage of powerPWM to get the percentage of the max mw return (((uint32_t) pwm) * maxMW) / powerPWM; diff --git a/workspace/TS100/configuration.h b/workspace/TS100/configuration.h index 623a87cd..3458f2f9 100644 --- a/workspace/TS100/configuration.h +++ b/workspace/TS100/configuration.h @@ -131,7 +131,7 @@ #ifdef MODEL_TS100 const int32_t tipMass = 45; // X10 watts to raise 1 deg C in 1 second -const uint8_t tipResistance = 85; //x10 ohms, 8.5 typical for ts100, 4.5 typical for ts80 +const uint8_t tipResistance = 75; //x10 ohms, 7.5 typical for ts100 tips #endif #ifdef MODEL_TS80 From 471cd565b56c9d9dbee6abf6adc7bedd489ce0f2 Mon Sep 17 00:00:00 2001 From: DusanF Date: Sat, 10 Oct 2020 11:29:38 +0200 Subject: [PATCH 3/5] Updated slovak translation --- Translation Editor/translation_sk.json | 280 +++++++++++++------------ 1 file changed, 141 insertions(+), 139 deletions(-) diff --git a/Translation Editor/translation_sk.json b/Translation Editor/translation_sk.json index 92deef72..225e95c1 100644 --- a/Translation Editor/translation_sk.json +++ b/Translation Editor/translation_sk.json @@ -1,251 +1,253 @@ { "languageCode": "SK", - "languageLocalName": "Slovenský", + "languageLocalName": "Slovenčina", "cyrillicGlyphs": false, "messages": { - "SettingsCalibrationDone": "Calibration done!", - "SettingsCalibrationWarning": "Najprv sa prosim uistite, ze hrot ma izbovu teplotu!", - "SettingsResetWarning": "Are you sure to reset settings to default values?", - "UVLOWarningString": "DC LOW", - "UndervoltageString": "Undervoltage", - "InputVoltageString": "Input V: ", - "WarningTipTempString": "Tip Temp: ", - "BadTipString": "BAD TIP", + "SettingsCalibrationDone": "Kalibrácia hotová!", + "SettingsCalibrationWarning": "Najprv sa prosím uistite, že hrot má izbovú teplotu!", + "SettingsResetWarning": "Naozaj chcete obnovit nastavenia?", + "UVLOWarningString": "Nízke U!", + "UndervoltageString": "Nízke napätie", + "InputVoltageString": "Vstupné U: ", + "WarningTipTempString": "Tep. hrotu: ", + "BadTipString": "ZLÝ HROT", "SleepingSimpleString": "Chrr", - "SleepingAdvancedString": "Kludovy rezim...", + "SleepingAdvancedString": "Kľudový režim...", "WarningSimpleString": "HOT!", - "WarningAdvancedString": "HROT JE HORUCI !", - "SleepingTipAdvancedString": "Tip:", - "IdleTipString": "Tip:", + "WarningAdvancedString": "HROT JE HORÚCI !", + "SleepingTipAdvancedString": "Hrot:", + "IdleTipString": "Hrot:", "IdleSetString": " Set:", - "TipDisconnectedString": "TIP DISCONNECTED", - "SolderingAdvancedPowerPrompt": "Power: ", - "OffString": "Off", - "ResetOKMessage": "Reset OK" + "TipDisconnectedString": "HROT ODPOJENÝ", + "SolderingAdvancedPowerPrompt": "Výkon: ", + "OffString": "Vyp", + "ResetOKMessage": "Reset OK", + "YourGainMessage": "Zisk:", + "SettingsResetMessage": "Nast. Obnovené!" }, "characters": { - "SettingRightChar": "R", + "SettingRightChar": "P", "SettingLeftChar": "L", "SettingAutoChar": "A", - "SettingFastChar": "F", - "SettingSlowChar": "S", - "SettingStartSolderingChar": "T", - "SettingStartSleepChar": "S", + "SettingFastChar": "R", + "SettingSlowChar": "P", + "SettingStartSolderingChar": "S", + "SettingStartSleepChar": "K", "SettingStartSleepOffChar": "O", - "SettingStartNoneChar": "F" + "SettingStartNoneChar": "N" }, "menuGroups": { "SolderingMenu": { "text2": [ - "Soldering", - "Settings" + "Nastavenie", + "spájkovania" ], - "desc": "Soldering settings" + "desc": "Nastavenie spájkovania" }, "PowerSavingMenu": { "text2": [ - "Sleep", - "Modes" + "Úsporný", + "režim" ], - "desc": "Power Saving Settings" + "desc": "Nastavenia režimov úspory energie" }, "UIMenu": { "text2": [ - "User", - "Interface" + "Nastavenie", + "zobrazenia" ], - "desc": "User Interface settings" + "desc": "Nastavenie zobrazenia" }, "AdvancedMenu": { "text2": [ - "Advanced", - "Options" + "Pokročilé", + "nastavenia" ], - "desc": "Advanced options" + "desc": "Pokročilé nastavenia" } }, "menuOptions": { "PowerSource": { - "text2": [ - "PWRSC", - "" + "text2": [ + "Zdroj", + "napätia" ], - "desc": "Zdroj napatia. Nastavit napatie pre vypnutie (cutoff) " + "desc": "Zdroj napätia. Nastavenie napätia pre vypnutie (cutoff) " }, "SleepTemperature": { - "text2": [ - "STMP", - "" + "text2": [ + "Kľudová", + "teplota" ], - "desc": "Kludova teplota (v nastavenych jednotkach)" + "desc": "Kľudová teplota (v nastavených jednotkách)" }, "SleepTimeout": { - "text2": [ - "STME", - "" + "text2": [ + "Kľudový", + "režim po" ], "desc": "Kludovy rezim po " }, "ShutdownTimeout": { - "text2": [ - "SHTME", - "" + "text2": [ + "Vypnutie", + "po" ], - "desc": "Cas na vypnutie " + "desc": "Čas na vypnutie " }, "MotionSensitivity": { - "text2": [ - "MSENSE", - "" + "text2": [ + "Citlivosť", + "pohybu" ], - "desc": "Citlivost detekcie pohybu <0=Vyp, 1=Min ... 9=Max>" + "desc": "Citlivosť detekcie pohybu <0=Vyp, 1=Min ... 9=Max>" }, "TemperatureUnit": { - "text2": [ - "TMPUNT", - "" + "text2": [ + "Jednotka", + "teploty" ], "desc": "Jednotky merania teploty " }, "AdvancedIdle": { - "text2": [ - "ADVIDL", - "" + "text2": [ + "Detaily v", + "kľud. režime" ], - "desc": "Zobrazit detailne informacie v kludovom rezime " + "desc": "Zobraziť detailné informácie v kľudovom režime " }, "DisplayRotation": { - "text2": [ - "DSPROT", - "" + "text2": [ + "Orientácia", + "displeja" ], - "desc": "Orientacia displeja " + "desc": "Orientácia displeja " }, "BoostTemperature": { - "text2": [ - "BTMP", - "" + "text2": [ + "Boost", + "teplota" ], - "desc": "Cielova teplota pre prudky nahrev (v nastavenych jednotkach)" + "desc": "Cieľová teplota pre prudký náhrev (v nastavených jednotkách)" }, "AutoStart": { - "text2": [ - "ASTART", - "" + "text2": [ + "Automatické", + "spustenie" ], - "desc": "Pri starte spustit rezim spajkovania " + "desc": "Pri štarte spustiť režim spájkovania " }, "CooldownBlink": { - "text2": [ - "CLBLNK", - "" + "text2": [ + "Blikanie pri", + "chladnutí" ], - "desc": "Blikanie ukazovatela teploty pocas chladnutia hrotu " + "desc": "Blikanie ukazovateľa teploty počas chladnutia hrotu" }, "TemperatureCalibration": { - "text2": [ - "TMP CAL?", - "" + "text2": [ + "Kalibrácia", + "teploty" ], - "desc": "Kalibracia posunu hrotu" + "desc": "Kalibrácia posunu teploty hrotu" }, "SettingsReset": { - "text2": [ - "RESET?", - "" + "text2": [ + "Obnovenie", + "nastavení" ], - "desc": "Tovarenske nastavenia" + "desc": "Obnovenie nastavení na pôvodné hodnoty" }, "VoltageCalibration": { - "text2": [ - "CAL VIN?", - "" + "text2": [ + "Kalibrácia", + "vst. napätia" ], - "desc": "Kalibracia VIN. Kratke stlacenie meni nastavenie, dlhe stlacenie pre navrat" + "desc": "Kalibrácia napätia. Krátke stlačenie mení nastavenie, dlhé stlačenie pre návrat" }, "AdvancedSoldering": { - "text2": [ - "ADVSLD", - "" + "text2": [ + "Detaily počas", + "spájkovania" ], - "desc": "Zobrazenie detailov pocas spajkovania " + "desc": "Zobrazenie detailov počas spájkovania" }, "ScrollingSpeed": { - "text2": [ - "DESCSP", - "" + "text2": [ + "Rýchlost", + "skrolovania" ], - "desc": "Speed this text scrolls past at" + "desc": "Rychlost pohybu tohoto textu" }, "TipModel": { - "text2": [ - "Tip", - "Model" + "text2": [ + "Typ", + "hrotu" ], - "desc": "Tip Model selection" + "desc": "Zvolenie hrotu" }, "SimpleCalibrationMode": { - "text2": [ - "Simple", - "Calibration" + "text2": [ + "Zjednodušená", + "kalibrácia" ], - "desc": "Simple Calibration using Hot water" + "desc": "Zjednodušená kalibrácia pomocou horúcej vody" }, "AdvancedCalibrationMode": { - "text2": [ - "Advanced", - "Calibration" + "text2": [ + "Pokročilá", + "kalibrácia" ], - "desc": "Advanced calibration using thermocouple on the tip" + "desc": "Pokročilá kalibrácia meraním teploty hrotu" }, "PowerInput": { - "text2": [ - "Power", - "Wattage" + "text2": [ + "Obmedzenie", + "výkonu" ], - "desc": "Power Wattage of the power adapter used" + "desc": "Obmedzenie výkonu podľa použitého zdroja" }, "PowerLimit": { - "text2": [ - "Power", - "Limit" + "text2": [ + "Obmedzenie", + "výkonu" ], - "desc": "Maximum power the iron can use " + "desc": "Obmedzenie výkonu podľa použitého zdroja " }, "ReverseButtonTempChange": { - "text2": [ - "Key +-", - "reverse?" + "text2": [ + "Otočenie", + "tlačidiel +/-" ], - "desc": "Reverse the tip temperature change buttons plus minus assignment." + "desc": "Prehodenie tlačidiel na nastavovanie teploty" }, "TempChangeShortStep": { - "text2": [ - "Temp change", - "short?" + "text2": [ + "Malý krok", + "teploty" ], - "desc": "Temperature change steps on short button press!" + "desc": "Zmena teploty pri krátkom stlačení tlačidla" }, "TempChangeLongStep": { - "text2": [ - "Temp change", - "long?" + "text2": [ + "Veľký krok", + "teploty" ], - "desc": "Temperature change steps on long button press!" + "desc": "Zmena teploty pri držaní tlačidla" }, - "PowerPulsePower":{ - "text2": [ - "Power", - "Pulse W" + "PowerPulsePower": { + "text2": [ + "Impulz", + "W" ], - "desc": "Keep awake pulse power intensity" + "desc": "Impulz udržujúci napájací zdroj zapnutý " }, "TipGain": { - "text2": [ - "Modify", - "tip gain" + "text2": [ + "Zisk", + "hrotu" ], - "desc": "Tip gain" + "desc": "Úprava zisku hrotu" } } -} +} \ No newline at end of file From b18bea4d5ea3b2dd68eb5e0875c2457274769a92 Mon Sep 17 00:00:00 2001 From: DusanF Date: Sat, 10 Oct 2020 11:31:50 +0200 Subject: [PATCH 4/5] Added 2 missing characters --- Translation Editor/fontTables.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Translation Editor/fontTables.py b/Translation Editor/fontTables.py index 3cead8e2..cb86d7c1 100755 --- a/Translation Editor/fontTables.py +++ b/Translation Editor/fontTables.py @@ -774,7 +774,7 @@ def getSmallFontMap(): "Ļ":"0x1f, 0x50, 0x30, 0x10, 0x10, 0x00,", "ļ":"0x00, 0x51, 0x3f, 0x10, 0x00, 0x00,", "Ľ":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", - "ľ":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "ľ":"0x00, 0x41, 0x7f, 0x40, 0x03, 0x00,", "Ŀ":"0x7f, 0x40, 0x40, 0x48, 0x40, 0x00,", "ŀ":"0x00, 0x41, 0x7f, 0x40, 0x08, 0x00,", "Ł":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", @@ -813,7 +813,7 @@ def getSmallFontMap(): "Ţ":"0x01, 0x41, 0x3f, 0x01, 0x01, 0x00,", "ţ":"0x02, 0x4f, 0x32, 0x10, 0x08, 0x00,", "Ť":"0x04, 0x05, 0x7e, 0x05, 0x04, 0x00,", - "ť":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "ť":"0x04, 0x3e, 0x44, 0x40, 0x23, 0x00,", "Ŧ":"0x01, 0x09, 0x7f, 0x09, 0x01, 0x00,", "ŧ":"0x14, 0x3e, 0x54, 0x40, 0x20, 0x00,", "Ũ":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", From 72e251aa9d77d8ada6e4744a44424aa612c77125 Mon Sep 17 00:00:00 2001 From: Sam Parkin Date: Mon, 12 Oct 2020 15:56:12 -0400 Subject: [PATCH 5/5] Fix a couple of typos creating bad links in the README file --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d54f1eab..e6c98e2b 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ This project is considered feature complete for use as a soldering iron, *so ple * Boost mode lets you temporarily change the temperature when soldering (i.e. raise the temperature for short periods of time) * (TS100) Battery charge level indicator if power source set to a lipo cell count * (TS80) Power bank operating voltage is displayed -* [Custom boot up logo support](Documentation/upgrading.md) +* [Custom boot up logo support](Documentation/Upgrading.md) * Automatic LCD rotation based on the orientation * Supports both the version 1 and version 2 hardware (different accelerometers) @@ -46,7 +46,7 @@ When on the main screen, the unit shows prompts for the two most common operatio * Holding the button near the tip will enter soldering temperature adjust mode (This is the same as the one in the soldering menu, just to let you edit before heating up) * Holding the button near the USB end will show the firmware version details -Detailed operation details are over in the [Menu information.](Documentation/menu.md) +Detailed operation details are over in the [Menu information.](Documentation/Menu.md) ## Thanks