diff --git a/source/Core/BSP/MHP30/BSP.cpp b/source/Core/BSP/MHP30/BSP.cpp index 32c6ffb4..f49f29e2 100644 --- a/source/Core/BSP/MHP30/BSP.cpp +++ b/source/Core/BSP/MHP30/BSP.cpp @@ -26,7 +26,7 @@ void resetWatchdog() { HAL_IWDG_Refresh(&hiwdg); } #ifdef TEMP_NTC // Lookup table for the NTC // Stored as ADCReading,Temp in degC -static const uint16_t NTCHandleLookup[] = { +static const int32_t NTCHandleLookup[] = { // ADC Reading , Temp in Cx10 808, 1600, // 832, 1590, // @@ -474,4 +474,8 @@ void setStatusLED(const enum StatusLED state) { uint64_t getDeviceID() { // return HAL_GetUIDw0() | ((uint64_t)HAL_GetUIDw1() << 32); -} \ No newline at end of file +} + +uint8_t preStartChecksDone() { return 1; } + +uint8_t getTipThermalMass() { return TIP_THERMAL_MASS; } \ No newline at end of file diff --git a/source/Core/BSP/MHP30/configuration.h b/source/Core/BSP/MHP30/configuration.h index f6775c51..7d3caec8 100644 --- a/source/Core/BSP/MHP30/configuration.h +++ b/source/Core/BSP/MHP30/configuration.h @@ -74,6 +74,9 @@ #define POWER_PULSE_WAIT_MAX 9 // 9*2.5s = 22.5 seconds #define POWER_PULSE_DURATION_MAX 9 // 9*250ms = 2.25 seconds +#define ADC_MAX_READING (4096 * 8) // Maximum reading of the adc +#define ADC_VDD_MV 3300 // ADC max reading millivolts + #ifdef MODEL_TS100 #define POWER_PULSE_DEFAULT 0 #else diff --git a/source/Core/BSP/Magic/BSP.cpp b/source/Core/BSP/Magic/BSP.cpp index 0b46912a..d3121515 100644 --- a/source/Core/BSP/Magic/BSP.cpp +++ b/source/Core/BSP/Magic/BSP.cpp @@ -154,7 +154,7 @@ uint8_t lastTipResistance = 0; // default to unknown const uint8_t numTipResistanceReadings = 3; uint32_t tipResistanceReadings[3] = {0, 0, 0}; uint8_t tipResistanceReadingSlot = 0; -uint8_t getTipResitanceX10() { +uint8_t getTipResistanceX10() { // Return tip resistance in x10 ohms // We can measure this using the op-amp return lastTipResistance; diff --git a/source/Core/BSP/Magic/configuration.h b/source/Core/BSP/Magic/configuration.h index 8efe0df0..7a1c26f7 100644 --- a/source/Core/BSP/Magic/configuration.h +++ b/source/Core/BSP/Magic/configuration.h @@ -142,6 +142,7 @@ #define POW_QC_20V 1 // Supported features #define POW_EPR 1 #define ENABLE_QC2 1 +#define DEVICE_HAS_VALIDATION_SUPPORT #define TEMP_NTC #define ACCEL_BMA #define ACCEL_SC7 diff --git a/source/Core/BSP/Miniware/BSP.cpp b/source/Core/BSP/Miniware/BSP.cpp index cb7d5248..62310568 100644 --- a/source/Core/BSP/Miniware/BSP.cpp +++ b/source/Core/BSP/Miniware/BSP.cpp @@ -289,4 +289,6 @@ uint64_t getDeviceID() { return HAL_GetUIDw0() | ((uint64_t)HAL_GetUIDw1() << 32); } -uint8_t getTipResistanceX10() { return TIP_RESISTANCE; } \ No newline at end of file +uint8_t getTipResistanceX10() { return TIP_RESISTANCE; } + +uint8_t getTipThermalMass() { return TIP_THERMAL_MASS; } \ No newline at end of file diff --git a/source/Core/BSP/Miniware/configuration.h b/source/Core/BSP/Miniware/configuration.h index f33952a0..3bb243c0 100644 --- a/source/Core/BSP/Miniware/configuration.h +++ b/source/Core/BSP/Miniware/configuration.h @@ -1,208 +1,211 @@ #ifndef CONFIGURATION_H_ - #define CONFIGURATION_H_ - #include "Settings.h" - #include - /** - * Configuration.h - * Define here your default pre settings for TS80(P) or TS100 - * - */ +#define CONFIGURATION_H_ +#include "Settings.h" +#include +/** + * Configuration.h + * Define here your default pre settings for TS80(P) or TS100 + * + */ - //=========================================================================== - //============================= Default Settings ============================ - //=========================================================================== - /** - * Default soldering temp is 320.0 C - * Temperature the iron sleeps at - default 150.0 C - */ +//=========================================================================== +//============================= Default Settings ============================ +//=========================================================================== +/** + * Default soldering temp is 320.0 C + * Temperature the iron sleeps at - default 150.0 C + */ - #define SLEEP_TEMP 150 // Default sleep temperature - #define BOOST_TEMP 420 // Default boost temp. - #define BOOST_MODE_ENABLED 1 // 0: Disable 1: Enable +#define SLEEP_TEMP 150 // Default sleep temperature +#define BOOST_TEMP 420 // Default boost temp. +#define BOOST_MODE_ENABLED 1 // 0: Disable 1: Enable - /** - * Blink the temperature on the cooling screen when its > 50C - */ - #define COOLING_TEMP_BLINK 0 // 0: Disable 1: Enable +/** + * Blink the temperature on the cooling screen when its > 50C + */ +#define COOLING_TEMP_BLINK 0 // 0: Disable 1: Enable - /** - * How many seconds/minutes we wait until going to sleep/shutdown. - * Values -> SLEEP_TIME * 10; i.e. 5*10 = 50 Seconds! - */ - #define SLEEP_TIME 5 // x10 Seconds - #define SHUTDOWN_TIME 10 // Minutes +/** + * How many seconds/minutes we wait until going to sleep/shutdown. + * Values -> SLEEP_TIME * 10; i.e. 5*10 = 50 Seconds! + */ +#define SLEEP_TIME 5 // x10 Seconds +#define SHUTDOWN_TIME 10 // Minutes - /** - * Auto start off for safety. - * Pissible values are: - * 0 - none - * 1 - Soldering Temperature - * 2 - Sleep Temperature - * 3 - Sleep Off Temperature - */ - #define AUTO_START_MODE 0 // Default to none +/** + * Auto start off for safety. + * Pissible values are: + * 0 - none + * 1 - Soldering Temperature + * 2 - Sleep Temperature + * 3 - Sleep Off Temperature + */ +#define AUTO_START_MODE 0 // Default to none - /** - * Locking Mode - * When in soldering mode a long press on both keys toggle the lock of the buttons - * Possible values are: - * 0 - Desactivated - * 1 - Lock except boost - * 2 - Full lock - */ - #define LOCKING_MODE 0 // Default to desactivated for safety +/** + * Locking Mode + * When in soldering mode a long press on both keys toggle the lock of the buttons + * Possible values are: + * 0 - Desactivated + * 1 - Lock except boost + * 2 - Full lock + */ +#define LOCKING_MODE 0 // Default to desactivated for safety - /** - * OLED Orientation - * - */ - #define ORIENTATION_MODE 2 // 0: Right 1:Left 2:Automatic - Default Automatic - #define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assigment for temperature change +/** + * OLED Orientation + * + */ +#define ORIENTATION_MODE 2 // 0: Right 1:Left 2:Automatic - Default Automatic +#define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assigment for temperature change - /** - * Temp change settings - */ - #define TEMP_CHANGE_SHORT_STEP 1 // Default temp change short step +1 - #define TEMP_CHANGE_LONG_STEP 10 // Default temp change long step +10 - #define TEMP_CHANGE_SHORT_STEP_MAX 50 // Temp change short step MAX value - #define TEMP_CHANGE_LONG_STEP_MAX 90 // Temp change long step MAX value +/** + * Temp change settings + */ +#define TEMP_CHANGE_SHORT_STEP 1 // Default temp change short step +1 +#define TEMP_CHANGE_LONG_STEP 10 // Default temp change long step +10 +#define TEMP_CHANGE_SHORT_STEP_MAX 50 // Temp change short step MAX value +#define TEMP_CHANGE_LONG_STEP_MAX 90 // Temp change long step MAX value - /* Power pulse for keeping power banks awake*/ - #define POWER_PULSE_INCREMENT 1 - #define POWER_PULSE_MAX 100 // x10 max watts - #define POWER_PULSE_WAIT_MAX 9 // 9*2.5s = 22.5 seconds - #define POWER_PULSE_DURATION_MAX 9 // 9*250ms = 2.25 seconds +/* Power pulse for keeping power banks awake*/ +#define POWER_PULSE_INCREMENT 1 +#define POWER_PULSE_MAX 100 // x10 max watts +#define POWER_PULSE_WAIT_MAX 9 // 9*2.5s = 22.5 seconds +#define POWER_PULSE_DURATION_MAX 9 // 9*250ms = 2.25 seconds - #ifdef MODEL_TS100 - #define POWER_PULSE_DEFAULT 0 - #else - #define POWER_PULSE_DEFAULT 5 - #endif - #define POWER_PULSE_WAIT_DEFAULT 4 // Default rate of the power pulse: 4*2500 = 10000 ms = 10 s - #define POWER_PULSE_DURATION_DEFAULT 1 // Default duration of the power pulse: 1*250 = 250 ms +#ifdef MODEL_TS100 +#define POWER_PULSE_DEFAULT 0 +#else +#define POWER_PULSE_DEFAULT 5 +#endif +#define POWER_PULSE_WAIT_DEFAULT 4 // Default rate of the power pulse: 4*2500 = 10000 ms = 10 s +#define POWER_PULSE_DURATION_DEFAULT 1 // Default duration of the power pulse: 1*250 = 250 ms - /** - * OLED Orientation Sensitivity on Automatic mode! - * Motion Sensitivity <0=Off 1=Least Sensitive 9=Most Sensitive> - */ - #define SENSITIVITY 7 // Default 7 +/** + * OLED Orientation Sensitivity on Automatic mode! + * Motion Sensitivity <0=Off 1=Least Sensitive 9=Most Sensitive> + */ +#define SENSITIVITY 7 // Default 7 - /** - * Detailed soldering screen - * Detailed idle screen (off for first time users) - */ - #define DETAILED_SOLDERING 0 // 0: Disable 1: Enable - Default 0 - #define DETAILED_IDLE 0 // 0: Disable 1: Enable - Default 0 +/** + * Detailed soldering screen + * Detailed idle screen (off for first time users) + */ +#define DETAILED_SOLDERING 0 // 0: Disable 1: Enable - Default 0 +#define DETAILED_IDLE 0 // 0: Disable 1: Enable - Default 0 - #define THERMAL_RUNAWAY_TIME_SEC 20 - #define THERMAL_RUNAWAY_TEMP_C 10 +#define THERMAL_RUNAWAY_TIME_SEC 20 +#define THERMAL_RUNAWAY_TEMP_C 10 - #define CUT_OUT_SETTING 0 // default to no cut-off voltage - #define RECOM_VOL_CELL 33 // Minimum voltage per cell (Recommended 3.3V (33)) - #define TEMPERATURE_INF 0 // default to 0 - #define DESCRIPTION_SCROLL_SPEED 0 // 0: Slow 1: Fast - default to slow - #define ANIMATION_LOOP 1 // 0: off 1: on - #define ANIMATION_SPEED settingOffSpeed_t::MEDIUM +#define CUT_OUT_SETTING 0 // default to no cut-off voltage +#define RECOM_VOL_CELL 33 // Minimum voltage per cell (Recommended 3.3V (33)) +#define TEMPERATURE_INF 0 // default to 0 +#define DESCRIPTION_SCROLL_SPEED 0 // 0: Slow 1: Fast - default to slow +#define ANIMATION_LOOP 1 // 0: off 1: on +#define ANIMATION_SPEED settingOffSpeed_t::MEDIUM - #define OP_AMP_Rf_TS100 750 * 1000 // 750 Kilo-ohms -> From schematic, R1 - #define OP_AMP_Rin_TS100 2370 // 2.37 Kilo-ohms -> From schematic, R2 +#define OP_AMP_Rf_TS100 750 * 1000 // 750 Kilo-ohms -> From schematic, R1 +#define OP_AMP_Rin_TS100 2370 // 2.37 Kilo-ohms -> From schematic, R2 - #define OP_AMP_GAIN_STAGE_TS100 (1 + (OP_AMP_Rf_TS100 / OP_AMP_Rin_TS100)) +#define OP_AMP_GAIN_STAGE_TS100 (1 + (OP_AMP_Rf_TS100 / OP_AMP_Rin_TS100)) - #define OP_AMP_Rf_TS80 180 * 1000 // 180 Kilo-ohms -> From schematic, R6 - #define OP_AMP_Rin_TS80 2000 // 2.0 Kilo-ohms -> From schematic, R3 +#define OP_AMP_Rf_TS80 180 * 1000 // 180 Kilo-ohms -> From schematic, R6 +#define OP_AMP_Rin_TS80 2000 // 2.0 Kilo-ohms -> From schematic, R3 - #define OP_AMP_GAIN_STAGE_TS80 (1 + (OP_AMP_Rf_TS80 / OP_AMP_Rin_TS80)) +#define OP_AMP_GAIN_STAGE_TS80 (1 + (OP_AMP_Rf_TS80 / OP_AMP_Rin_TS80)) - // Deriving the Voltage div: - // Vin_max = (3.3*(r1+r2))/(r2) - // vdiv = (32768*4)/(vin_max*10) +#define ADC_MAX_READING (4096 * 8) // Maximum reading of the adc +#define ADC_VDD_MV 3300 // ADC max reading millivolts - #if defined(MODEL_TS100) + defined(MODEL_TS80) + defined(MODEL_TS80P) > 1 - #error "Multiple models defined!" - #elif defined(MODEL_TS100) + defined(MODEL_TS80) + defined(MODEL_TS80P) == 0 - #error "No model defined!" - #endif +// Deriving the Voltage div: +// Vin_max = (3.3*(r1+r2))/(r2) +// vdiv = (32768*4)/(vin_max*10) - // Miniware is swapping IMU's around a bit now, so we turn them all on +#if defined(MODEL_TS100) + defined(MODEL_TS80) + defined(MODEL_TS80P) > 1 +#error "Multiple models defined!" +#elif defined(MODEL_TS100) + defined(MODEL_TS80) + defined(MODEL_TS80P) == 0 +#error "No model defined!" +#endif - #define ACCEL_MMA - #define ACCEL_LIS - #define ACCEL_SC7 - #define ACCEL_MSA - #define ACCEL_BMA +// Miniware is swapping IMU's around a bit now, so we turn them all on - #define MIN_CALIBRATION_OFFSET 100 // Min value for calibration - #define SOLDERING_TEMP 320 // Default soldering temp is 320.0 °C - #define PID_TIM_HZ (8) // Tick rate of the PID loop - #define MAX_TEMP_C 450 // Max soldering temp selectable °C - #define MAX_TEMP_F 850 // Max soldering temp selectable °F - #define MIN_TEMP_C 10 // Min soldering temp selectable °C - #define MIN_TEMP_F 60 // Min soldering temp selectable °F - #define MIN_BOOST_TEMP_C 250 // The min settable temp for boost mode °C - #define MIN_BOOST_TEMP_F 480 // The min settable temp for boost mode °F +#define ACCEL_MMA +#define ACCEL_LIS +#define ACCEL_SC7 +#define ACCEL_MSA +#define ACCEL_BMA - #ifdef MODEL_TS100 - #define VOLTAGE_DIV 467 // 467 - Default divider from schematic - #define CALIBRATION_OFFSET 900 // 900 - Default adc offset in uV - #define PID_POWER_LIMIT 70 // Sets the max pwm power limit - #define POWER_LIMIT 0 // 0 watts default limit - #define MAX_POWER_LIMIT 70 - #define POWER_LIMIT_STEPS 5 - #define OP_AMP_GAIN_STAGE OP_AMP_GAIN_STAGE_TS100 - #define TEMP_uV_LOOKUP_HAKKO - #define USB_PD_VMAX 20 // Maximum voltage for PD to negotiate +#define MIN_CALIBRATION_OFFSET 100 // Min value for calibration +#define SOLDERING_TEMP 320 // Default soldering temp is 320.0 °C +#define PID_TIM_HZ (8) // Tick rate of the PID loop +#define MAX_TEMP_C 450 // Max soldering temp selectable °C +#define MAX_TEMP_F 850 // Max soldering temp selectable °F +#define MIN_TEMP_C 10 // Min soldering temp selectable °C +#define MIN_TEMP_F 60 // Min soldering temp selectable °F +#define MIN_BOOST_TEMP_C 250 // The min settable temp for boost mode °C +#define MIN_BOOST_TEMP_F 480 // The min settable temp for boost mode °F - #define HARDWARE_MAX_WATTAGE_X10 750 - #define TIP_THERMAL_MASS 65 // X10 watts to raise 1 deg C in 1 second - #define TIP_RESISTANCE 75 // x10 ohms, 7.5 typical for ts100 tips +#ifdef MODEL_TS100 +#define VOLTAGE_DIV 467 // 467 - Default divider from schematic +#define CALIBRATION_OFFSET 900 // 900 - Default adc offset in uV +#define PID_POWER_LIMIT 70 // Sets the max pwm power limit +#define POWER_LIMIT 0 // 0 watts default limit +#define MAX_POWER_LIMIT 70 +#define POWER_LIMIT_STEPS 5 +#define OP_AMP_GAIN_STAGE OP_AMP_GAIN_STAGE_TS100 +#define TEMP_uV_LOOKUP_HAKKO +#define USB_PD_VMAX 20 // Maximum voltage for PD to negotiate - #define POW_DC - #define POW_PD 0 - #define TEMP_TMP36 - #endif +#define HARDWARE_MAX_WATTAGE_X10 750 +#define TIP_THERMAL_MASS 65 // X10 watts to raise 1 deg C in 1 second +#define TIP_RESISTANCE 75 // x10 ohms, 7.5 typical for ts100 tips - #if defined(MODEL_TS80) + defined(MODEL_TS80P) > 0 - #define MAX_POWER_LIMIT 40 - #define POWER_LIMIT_STEPS 2 - #define OP_AMP_GAIN_STAGE OP_AMP_GAIN_STAGE_TS80 - #define TEMP_uV_LOOKUP_TS80 - #define USB_PD_VMAX 12 // Maximum voltage for PD to negotiate +#define POW_DC +#define POW_PD 0 +#define TEMP_TMP36 +#endif - #define TIP_THERMAL_MASS 40 - #define TIP_RESISTANCE 45 // x10 ohms, 4.5 typical for ts80 tips +#if defined(MODEL_TS80) + defined(MODEL_TS80P) > 0 +#define MAX_POWER_LIMIT 40 +#define POWER_LIMIT_STEPS 2 +#define OP_AMP_GAIN_STAGE OP_AMP_GAIN_STAGE_TS80 +#define TEMP_uV_LOOKUP_TS80 +#define USB_PD_VMAX 12 // Maximum voltage for PD to negotiate - #define LIS_ORI_FLIP - #define OLED_FLIP - #endif +#define TIP_THERMAL_MASS 40 +#define TIP_RESISTANCE 45 // x10 ohms, 4.5 typical for ts80 tips - #ifdef MODEL_TS80 - #define VOLTAGE_DIV 780 // Default divider from schematic - #define CALIBRATION_OFFSET 900 // the adc offset in uV - #define PID_POWER_LIMIT 24 // Sets the max pwm power limit - #define POWER_LIMIT 24 // 24 watts default power limit +#define LIS_ORI_FLIP +#define OLED_FLIP +#endif - #define HARDWARE_MAX_WATTAGE_X10 180 +#ifdef MODEL_TS80 +#define VOLTAGE_DIV 780 // Default divider from schematic +#define CALIBRATION_OFFSET 900 // the adc offset in uV +#define PID_POWER_LIMIT 24 // Sets the max pwm power limit +#define POWER_LIMIT 24 // 24 watts default power limit - #define POW_QC - #define POW_PD 0 - #define TEMP_TMP36 - #endif +#define HARDWARE_MAX_WATTAGE_X10 180 - #ifdef MODEL_TS80P - #define VOLTAGE_DIV 650 // Default for TS80P with slightly different resistors - #define CALIBRATION_OFFSET 1500 // the adc offset in uV - #define PID_POWER_LIMIT 35 // Sets the max pwm power limit - #define POWER_LIMIT 30 // 30 watts default power limit +#define POW_QC +#define POW_PD 0 +#define TEMP_TMP36 +#endif - #define HARDWARE_MAX_WATTAGE_X10 300 +#ifdef MODEL_TS80P +#define VOLTAGE_DIV 650 // Default for TS80P with slightly different resistors +#define CALIBRATION_OFFSET 1500 // the adc offset in uV +#define PID_POWER_LIMIT 35 // Sets the max pwm power limit +#define POWER_LIMIT 30 // 30 watts default power limit - #define POW_PD 1 - #define POW_QC 1 - #define TEMP_NTC - #define I2C_SOFT - #define SC7_ORI_FLIP - #endif +#define HARDWARE_MAX_WATTAGE_X10 300 + +#define POW_PD 1 +#define POW_QC 1 +#define TEMP_NTC +#define I2C_SOFT +#define SC7_ORI_FLIP +#endif #endif #define FLASH_LOGOADDR (0x08000000 + (62 * 1024)) diff --git a/source/Core/BSP/Pine64/BSP.cpp b/source/Core/BSP/Pine64/BSP.cpp index 0b84339e..9a541e1d 100644 --- a/source/Core/BSP/Pine64/BSP.cpp +++ b/source/Core/BSP/Pine64/BSP.cpp @@ -94,4 +94,8 @@ void setStatusLED(const enum StatusLED state) {} uint8_t preStartChecks() { return 0; } uint64_t getDeviceID() { return dbg_id_get(); } -uint8_t getTipResistanceX10() { return TIP_RESISTANCE; } \ No newline at end of file +uint8_t getTipResistanceX10() { return TIP_RESISTANCE; } + +uint8_t preStartChecksDone() { return 1; } + +uint8_t getTipThermalMass() { return TIP_THERMAL_MASS; } \ No newline at end of file diff --git a/source/Core/BSP/Pine64/ThermoModel.cpp b/source/Core/BSP/Pine64/ThermoModel.cpp index 1f4da291..846a0a00 100644 --- a/source/Core/BSP/Pine64/ThermoModel.cpp +++ b/source/Core/BSP/Pine64/ThermoModel.cpp @@ -9,7 +9,7 @@ #include "configuration.h" #ifdef TEMP_uV_LOOKUP_HAKKO -const uint16_t uVtoDegC[] = { +const int32_t uVtoDegC[] = { // // uv -> temp in C 0, 0, // diff --git a/source/Core/BSP/Pine64/configuration.h b/source/Core/BSP/Pine64/configuration.h index 27dcd4cc..5096788e 100644 --- a/source/Core/BSP/Pine64/configuration.h +++ b/source/Core/BSP/Pine64/configuration.h @@ -109,6 +109,9 @@ #define OP_AMP_GAIN_STAGE_PINECIL (1 + (OP_AMP_Rf_Pinecil / OP_AMP_Rin_Pinecil)) +#define ADC_MAX_READING (4096 * 8) // Maximum reading of the adc +#define ADC_VDD_MV 3300 // ADC max reading millivolts + #if defined(MODEL_Pinecil) == 0 #error "No model defined!" #endif diff --git a/source/Core/Drivers/USBPD.cpp b/source/Core/Drivers/USBPD.cpp index 9eb11315..2111bf32 100644 --- a/source/Core/Drivers/USBPD.cpp +++ b/source/Core/Drivers/USBPD.cpp @@ -4,7 +4,6 @@ #include "BSP_PD.h" #include "FreeRTOS.h" -#include "bflb_platform.h" #include "fusb302b.h" #include "main.hpp" #include "pd.h" @@ -66,10 +65,6 @@ bool USBPowerDelivery::fusbPresent() { return detectionState == 1; } -void USBPowerDelivery::triggerRenegotiation() { - // TODO; trigger the source to send its capabilities again -} - bool USBPowerDelivery::isVBUSConnected() { static uint8_t state = 0; if (state) { diff --git a/source/Core/Threads/GUIThread.cpp b/source/Core/Threads/GUIThread.cpp index a42e6329..e2e02f2b 100644 --- a/source/Core/Threads/GUIThread.cpp +++ b/source/Core/Threads/GUIThread.cpp @@ -776,9 +776,10 @@ void showDebugMenu(void) { break; case 11: // Tip resistance - OLED::printNumber(getTipResitanceX10() / 10, 4, FontStyle::SMALL); // large to pad over so that we cover ID left overs + OLED::printNumber(getTipResistanceX10() / 10, 4, FontStyle::SMALL); // large to pad over so that we cover ID left overs OLED::print(SymbolDot, FontStyle::SMALL); - OLED::printNumber(getTipResitanceX10() % 10, 1, FontStyle::SMALL); + OLED::printNumber(getTipResistanceX10() % 10, 1, FontStyle::SMALL); + break; case 12: // High water mark for GUI OLED::printNumber(uxTaskGetStackHighWaterMark(GUITaskHandle), 5, FontStyle::SMALL); @@ -920,10 +921,12 @@ void showWarnings() { if (settingsWereReset) { warnUser(translatedString(Tr->SettingsResetMessage), 10 * TICKS_SECOND); } +#ifdef DEVICE_HAS_VALIDATION_SUPPORT if (getDeviceValidationStatus()) { // Warn user this device might be counterfeit warnUser(translatedString(Tr->DeviceFailedValidationWarning), 10 * TICKS_SECOND); } +#endif #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