mirror of
https://github.com/Ralim/IronOS.git
synced 2025-02-26 07:53:55 +00:00
Merge branch 'patch-2' of github.com:resistancelion/IronOS into rl-menubuttons
This commit is contained in:
@@ -495,7 +495,7 @@ static __INLINE q63_t mult32x64(q63_t x, q31_t y) { return ((((q63_t)(x & 0x0000
|
|||||||
/*
|
/*
|
||||||
#if defined (ARM_MATH_CM0_FAMILY) && defined ( __CC_ARM )
|
#if defined (ARM_MATH_CM0_FAMILY) && defined ( __CC_ARM )
|
||||||
#define __CLZ __clz
|
#define __CLZ __clz
|
||||||
#endif
|
#endif
|
||||||
*/
|
*/
|
||||||
/* note: function can be removed when all toolchain support __CLZ for Cortex-M0 */
|
/* note: function can be removed when all toolchain support __CLZ for Cortex-M0 */
|
||||||
#if defined(ARM_MATH_CM0_FAMILY) && ((defined(__ICCARM__)))
|
#if defined(ARM_MATH_CM0_FAMILY) && ((defined(__ICCARM__)))
|
||||||
|
|||||||
@@ -36,9 +36,9 @@
|
|||||||
* \code
|
* \code
|
||||||
* #if defined(__NMSIS_VERSION) && (__NMSIS_VERSION >= 0x00010105)
|
* #if defined(__NMSIS_VERSION) && (__NMSIS_VERSION >= 0x00010105)
|
||||||
* #warning "Yes, we have NMSIS 1.1.5 or later"
|
* #warning "Yes, we have NMSIS 1.1.5 or later"
|
||||||
* #else
|
* #else
|
||||||
* #error "We need NMSIS 1.1.5 or later!"
|
* #error "We need NMSIS 1.1.5 or later!"
|
||||||
* #endif
|
* #endif
|
||||||
* \endcode
|
* \endcode
|
||||||
*
|
*
|
||||||
* @{
|
* @{
|
||||||
|
|||||||
@@ -206,7 +206,7 @@ typedef enum IRQn {
|
|||||||
#ifdef NMSIS_ECLIC_VIRTUAL
|
#ifdef NMSIS_ECLIC_VIRTUAL
|
||||||
#ifndef NMSIS_ECLIC_VIRTUAL_HEADER_FILE
|
#ifndef NMSIS_ECLIC_VIRTUAL_HEADER_FILE
|
||||||
#define NMSIS_ECLIC_VIRTUAL_HEADER_FILE "nmsis_eclic_virtual.h"
|
#define NMSIS_ECLIC_VIRTUAL_HEADER_FILE "nmsis_eclic_virtual.h"
|
||||||
#endif
|
#endif
|
||||||
#include NMSIS_ECLIC_VIRTUAL_HEADER_FILE
|
#include NMSIS_ECLIC_VIRTUAL_HEADER_FILE
|
||||||
#else
|
#else
|
||||||
#define ECLIC_SetCfgNlbits __ECLIC_SetCfgNlbits
|
#define ECLIC_SetCfgNlbits __ECLIC_SetCfgNlbits
|
||||||
@@ -238,7 +238,7 @@ typedef enum IRQn {
|
|||||||
#ifdef NMSIS_VECTAB_VIRTUAL
|
#ifdef NMSIS_VECTAB_VIRTUAL
|
||||||
#ifndef NMSIS_VECTAB_VIRTUAL_HEADER_FILE
|
#ifndef NMSIS_VECTAB_VIRTUAL_HEADER_FILE
|
||||||
#define NMSIS_VECTAB_VIRTUAL_HEADER_FILE "nmsis_vectab_virtual.h"
|
#define NMSIS_VECTAB_VIRTUAL_HEADER_FILE "nmsis_vectab_virtual.h"
|
||||||
#endif
|
#endif
|
||||||
#include NMSIS_VECTAB_VIRTUAL_HEADER_FILE
|
#include NMSIS_VECTAB_VIRTUAL_HEADER_FILE
|
||||||
#else
|
#else
|
||||||
#define ECLIC_SetVector __ECLIC_SetVector
|
#define ECLIC_SetVector __ECLIC_SetVector
|
||||||
|
|||||||
@@ -36,9 +36,9 @@
|
|||||||
* \code
|
* \code
|
||||||
* #if defined(__NMSIS_VERSION) && (__NMSIS_VERSION >= 0x00010105)
|
* #if defined(__NMSIS_VERSION) && (__NMSIS_VERSION >= 0x00010105)
|
||||||
* #warning "Yes, we have NMSIS 1.1.5 or later"
|
* #warning "Yes, we have NMSIS 1.1.5 or later"
|
||||||
* #else
|
* #else
|
||||||
* #error "We need NMSIS 1.1.5 or later!"
|
* #error "We need NMSIS 1.1.5 or later!"
|
||||||
* #endif
|
* #endif
|
||||||
* \endcode
|
* \endcode
|
||||||
*
|
*
|
||||||
* @{
|
* @{
|
||||||
|
|||||||
@@ -495,7 +495,7 @@ static __INLINE q63_t mult32x64(q63_t x, q31_t y) { return ((((q63_t)(x & 0x0000
|
|||||||
/*
|
/*
|
||||||
#if defined (ARM_MATH_CM0_FAMILY) && defined ( __CC_ARM )
|
#if defined (ARM_MATH_CM0_FAMILY) && defined ( __CC_ARM )
|
||||||
#define __CLZ __clz
|
#define __CLZ __clz
|
||||||
#endif
|
#endif
|
||||||
*/
|
*/
|
||||||
/* note: function can be removed when all toolchain support __CLZ for Cortex-M0 */
|
/* note: function can be removed when all toolchain support __CLZ for Cortex-M0 */
|
||||||
#if defined(ARM_MATH_CM0_FAMILY) && ((defined(__ICCARM__)))
|
#if defined(ARM_MATH_CM0_FAMILY) && ((defined(__ICCARM__)))
|
||||||
|
|||||||
@@ -168,7 +168,7 @@
|
|||||||
0x03, 0x07, 0x0e, 0x1c, 0x38, 0x70, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x03, 0x07, 0x0e, 0x1c, 0x38, 0x70, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const uint8_t buttonB[] = {
|
const uint8_t buttonB[] = {
|
||||||
// width = 56
|
// width = 56
|
||||||
@@ -356,7 +356,7 @@
|
|||||||
0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x2b, 0x09, 0x07, 0x00, 0x01, 0x02, 0x04, 0x04, 0x04, 0x04, 0x04, 0x02, 0x01,
|
0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x2b, 0x09, 0x07, 0x00, 0x01, 0x02, 0x04, 0x04, 0x04, 0x04, 0x04, 0x02, 0x01,
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
#else
|
#else
|
||||||
#if defined(MODEL_TS100) || defined(MODEL_Pinecil) || defined(MODEL_Pinecilv2)
|
#if defined(MODEL_TS100) || defined(MODEL_Pinecil) || defined(MODEL_Pinecilv2)
|
||||||
const uint8_t buttonA[] = {
|
const uint8_t buttonA[] = {
|
||||||
// width = 42
|
// width = 42
|
||||||
@@ -401,7 +401,7 @@
|
|||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0xd0, 0xc8, 0x08, 0x10, 0x10, 0x10, 0x10,
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0xd0, 0xc8, 0x08, 0x10, 0x10, 0x10, 0x10,
|
||||||
0x20, 0x20, 0x20, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x38, 0x00,
|
0x20, 0x20, 0x20, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x38, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x37, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x04, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x37, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x04, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const uint8_t buttonB[] = {
|
const uint8_t buttonB[] = {
|
||||||
// width = 42
|
// width = 42
|
||||||
@@ -578,8 +578,8 @@
|
|||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE8, 0x70, 0x7A, 0x5E, 0x8E, 0x1C, 0x30, 0x00, //
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE8, 0x70, 0x7A, 0x5E, 0x8E, 0x1C, 0x30, 0x00, //
|
||||||
0x00, 0x10, 0x38, 0x1C, 0x0E, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
|
0x00, 0x10, 0x38, 0x1C, 0x0E, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
|
||||||
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
#endif
|
#endif
|
||||||
|
};
|
||||||
|
#endif
|
||||||
// clang-format on
|
// clang-format on
|
||||||
#endif /* FONT_H_ */
|
#endif /* FONT_H_ */
|
||||||
@@ -47,36 +47,36 @@ enum SettingsOptions {
|
|||||||
CalibrationOffset = 23, // This stores the temperature offset for this tip in the iron.
|
CalibrationOffset = 23, // This stores the temperature offset for this tip in the iron.
|
||||||
PowerLimit = 24, // Maximum power iron allowed to output
|
PowerLimit = 24, // Maximum power iron allowed to output
|
||||||
ReverseButtonTempChangeEnabled = 25, // Change the plus and minus button assigment
|
ReverseButtonTempChangeEnabled = 25, // Change the plus and minus button assigment
|
||||||
ReverseButtonNavEnabled = 26, // Change the A and B button assigment in menus
|
TempChangeLongStep = 26, // Temperature-change-increment on long button press
|
||||||
TempChangeLongStep = 27, // Temperature-change-increment on long button press
|
TempChangeShortStep = 27, // Temperature-change-increment on short button press
|
||||||
TempChangeShortStep = 28, // Temperature-change-increment on short button press
|
HallEffectSensitivity = 28, // Operating mode of the hall effect sensor
|
||||||
HallEffectSensitivity = 29, // Operating mode of the hall effect sensor
|
AccelMissingWarningCounter = 29, // Counter of how many times we have warned we cannot detect the accelerometer
|
||||||
AccelMissingWarningCounter = 30, // Counter of how many times we have warned we cannot detect the accelerometer
|
PDMissingWarningCounter = 30, // Counter of how many times we have warned we cannot detect the pd interface
|
||||||
PDMissingWarningCounter = 31, // Counter of how many times we have warned we cannot detect the pd interface
|
UILanguage = 31, // Selected UI Language code, null-terminated *only if* the length is less than 8 chars
|
||||||
UILanguage = 32, // Selected UI Language code, null-terminated *only if* the length is less than 8 chars
|
PDNegTimeout = 32, // PD timeout in 100ms steps
|
||||||
PDNegTimeout = 33, // PD timeout in 100ms steps
|
OLEDInversion = 33, // Invert the colours on the display
|
||||||
OLEDInversion = 34, // Invert the colours on the display
|
OLEDBrightness = 34, // Brightness for the OLED display
|
||||||
OLEDBrightness = 35, // Brightness for the OLED display
|
LOGOTime = 35, // Duration the logo will be displayed for
|
||||||
LOGOTime = 36, // Duration the logo will be displayed for
|
CalibrateCJC = 36, // Toggle calibrate CJC at next boot
|
||||||
CalibrateCJC = 37, // Toggle calibrate CJC at next boot
|
BluetoothLE = 37, // Toggle BLE if present
|
||||||
BluetoothLE = 38, // Toggle BLE if present
|
USBPDMode = 38, // Toggle PPS & EPR
|
||||||
USBPDMode = 39, // Toggle PPS & EPR
|
ProfilePhases = 39, // Number of profile mode phases
|
||||||
ProfilePhases = 40, // Number of profile mode phases
|
ProfilePreheatTemp = 40, // Temperature to preheat to before the first phase
|
||||||
ProfilePreheatTemp = 41, // Temperature to preheat to before the first phase
|
ProfilePreheatSpeed = 41, // Maximum allowed preheat speed in degrees per second
|
||||||
ProfilePreheatSpeed = 42, // Maximum allowed preheat speed in degrees per second
|
ProfilePhase1Temp = 42, // Temperature to target for the end of phase 1
|
||||||
ProfilePhase1Temp = 43, // Temperature to target for the end of phase 1
|
ProfilePhase1Duration = 43, // Target duration for phase 1
|
||||||
ProfilePhase1Duration = 44, // Target duration for phase 1
|
ProfilePhase2Temp = 44, // Temperature to target for the end of phase 2
|
||||||
ProfilePhase2Temp = 45, // Temperature to target for the end of phase 2
|
ProfilePhase2Duration = 45, // Target duration for phase 2
|
||||||
ProfilePhase2Duration = 46, // Target duration for phase 2
|
ProfilePhase3Temp = 46, // Temperature to target for the end of phase 3
|
||||||
ProfilePhase3Temp = 47, // Temperature to target for the end of phase 3
|
ProfilePhase3Duration = 47, // Target duration for phase 3
|
||||||
ProfilePhase3Duration = 48, // Target duration for phase 3
|
ProfilePhase4Temp = 48, // Temperature to target for the end of phase 4
|
||||||
ProfilePhase4Temp = 49, // Temperature to target for the end of phase 4
|
ProfilePhase4Duration = 49, // Target duration for phase 4
|
||||||
ProfilePhase4Duration = 50, // Target duration for phase 4
|
ProfilePhase5Temp = 50, // Temperature to target for the end of phase 5
|
||||||
ProfilePhase5Temp = 51, // Temperature to target for the end of phase 5
|
ProfilePhase5Duration = 51, // Target duration for phase 5
|
||||||
ProfilePhase5Duration = 52, // Target duration for phase 5
|
ProfileCooldownSpeed = 52, // Maximum allowed cooldown speed in degrees per second
|
||||||
ProfileCooldownSpeed = 53, // Maximum allowed cooldown speed in degrees per second
|
HallEffectSleepTime = 53, // Seconds (/5) timeout to sleep when hall effect over threshold
|
||||||
HallEffectSleepTime = 54, // Seconds (/5) timeout to sleep when hall effect over threshold
|
SolderingTipType = 54, // Selecting the type of soldering tip fitted
|
||||||
SolderingTipType = 55, // Selecting the type of soldering tip fitted
|
ReverseButtonNavEnabled = 55, // Change the A and B button assigment in menus
|
||||||
//
|
//
|
||||||
SettingsOptionsLength = 56, // End marker
|
SettingsOptionsLength = 56, // End marker
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -45,9 +45,13 @@ OperatingMode guiHandleDraw(void) {
|
|||||||
OLED::clearScreen(); // Clear ready for render pass
|
OLED::clearScreen(); // Clear ready for render pass
|
||||||
bool d = getSettingValue(SettingsOptions::ReverseButtonNavEnabled);
|
bool d = getSettingValue(SettingsOptions::ReverseButtonNavEnabled);
|
||||||
bool e = getSettingValue(SettingsOptions::ReverseButtonTempChangeEnabled);
|
bool e = getSettingValue(SettingsOptions::ReverseButtonTempChangeEnabled);
|
||||||
|
#ifdef REVERSE_NAV_EVERYWHERE
|
||||||
bool f = currentOperatingMode == OperatingMode::TemperatureAdjust;
|
bool f = currentOperatingMode == OperatingMode::TemperatureAdjust;
|
||||||
// Read button state
|
// Read button state
|
||||||
ButtonState buttons = getButtonState((e && f) || (d && !e && !f) || (d && e && !f));
|
ButtonState buttons = getButtonState((e && f) || (d && !e && !f) || (d && e && !f));
|
||||||
|
#else
|
||||||
|
ButtonState buttons = getButtonState();
|
||||||
|
#endif
|
||||||
// Enforce screen on if buttons pressed, movement, hot tip etc
|
// Enforce screen on if buttons pressed, movement, hot tip etc
|
||||||
if (buttons != BUTTON_NONE) {
|
if (buttons != BUTTON_NONE) {
|
||||||
OLED::setDisplayState(OLED::DisplayState::ON);
|
OLED::setDisplayState(OLED::DisplayState::ON);
|
||||||
@@ -113,7 +117,11 @@ OperatingMode guiHandleDraw(void) {
|
|||||||
newMode = gui_SolderingSleepingMode(buttons, &context);
|
newMode = gui_SolderingSleepingMode(buttons, &context);
|
||||||
break;
|
break;
|
||||||
case OperatingMode::TemperatureAdjust:
|
case OperatingMode::TemperatureAdjust:
|
||||||
newMode = gui_solderingTempAdjust(buttons, &context);
|
#ifdef REVERSE_NAV_EVERYWHERE
|
||||||
|
newMode = gui_solderingTempAdjust(getButtonState(), &context);
|
||||||
|
#else
|
||||||
|
newMode = gui_solderingTempAdjust(getButtonState(e), &context);
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case OperatingMode::DebugMenuReadout:
|
case OperatingMode::DebugMenuReadout:
|
||||||
newMode = showDebugMenu(buttons, &context);
|
newMode = showDebugMenu(buttons, &context);
|
||||||
@@ -122,7 +130,11 @@ OperatingMode guiHandleDraw(void) {
|
|||||||
newMode = performCJCC(buttons, &context);
|
newMode = performCJCC(buttons, &context);
|
||||||
break;
|
break;
|
||||||
case OperatingMode::SettingsMenu:
|
case OperatingMode::SettingsMenu:
|
||||||
newMode = gui_SettingsMenu(buttons, &context);
|
#ifdef REVERSE_NAV_EVERYWHERE
|
||||||
|
newMode = gui_SettingsMenu(getButtonState(), &context);
|
||||||
|
#else
|
||||||
|
newMode = gui_SettingsMenu(getButtonState(d), &context);
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case OperatingMode::InitialisationDone:
|
case OperatingMode::InitialisationDone:
|
||||||
newMode = handle_post_init_state();
|
newMode = handle_post_init_state();
|
||||||
|
|||||||
@@ -8,27 +8,43 @@ extern uint8_t disconnectedTipF[sizeof(disconnectedTip)];
|
|||||||
|
|
||||||
void ui_draw_homescreen_simplified(TemperatureType_t tipTemp) {
|
void ui_draw_homescreen_simplified(TemperatureType_t tipTemp) {
|
||||||
bool isFlipped = OLED::getRotation();
|
bool isFlipped = OLED::getRotation();
|
||||||
bool isReverse = getSettingValue(SettingsOptions::ReverseButtonNavEnabled);
|
|
||||||
bool tipDisconnected = isTipDisconnected();
|
bool tipDisconnected = isTipDisconnected();
|
||||||
|
#ifdef REVERSE_NAV_EVERYWHERE
|
||||||
|
bool isReverse = getSettingValue(SettingsOptions::ReverseButtonNavEnabled);
|
||||||
|
#endif
|
||||||
|
|
||||||
// Flip and switch buttons accordingly
|
// Flip and switch buttons accordingly
|
||||||
|
#ifdef REVERSE_NAV_EVERYWHERE
|
||||||
OLED::drawArea(isFlipped ? 68 : 0, 0, 56, 32, isFlipped ? (isReverse ? buttonBF : buttonAF) : (isReverse ? buttonB : buttonA));
|
OLED::drawArea(isFlipped ? 68 : 0, 0, 56, 32, isFlipped ? (isReverse ? buttonBF : buttonAF) : (isReverse ? buttonB : buttonA));
|
||||||
OLED::drawArea(isFlipped ? 12 : 58, 0, 56, 32, isFlipped ? (isReverse ? buttonAF : buttonBF) : (isReverse ? buttonA : buttonB));
|
OLED::drawArea(isFlipped ? 12 : 58, 0, 56, 32, isFlipped ? (isReverse ? buttonAF : buttonBF) : (isReverse ? buttonA : buttonB));
|
||||||
|
#else
|
||||||
|
OLED::drawArea(isFlipped ? 68 : 0, 0, 56, 32, isFlipped ? buttonAF : buttonA);
|
||||||
|
OLED::drawArea(isFlipped ? 12 : 58, 0, 56, 32, isFlipped ? buttonBF : buttonB);
|
||||||
|
#endif
|
||||||
|
|
||||||
if ((tipTemp > 55) || tipDisconnected) {
|
if ((tipTemp > 55) || tipDisconnected) {
|
||||||
// draw temp over the start soldering button
|
// draw temp over the start soldering button
|
||||||
// Location changes on screen rotation and due to button swapping
|
// Location changes on screen rotation and due to button swapping
|
||||||
// in right handed mode we want to draw over the first part
|
// in right handed mode we want to draw over the first part
|
||||||
|
#ifdef REVERSE_NAV_EVERYWHERE
|
||||||
OLED::fillArea(isReverse ? (isFlipped ? 26 : 58) : (isFlipped ? 68 : 0), 0, 56, 32, 0); // clear the area
|
OLED::fillArea(isReverse ? (isFlipped ? 26 : 58) : (isFlipped ? 68 : 0), 0, 56, 32, 0); // clear the area
|
||||||
OLED::setCursor(isReverse ? (isFlipped ? 27 : 59) : (isFlipped ? 56 : 0), 0);
|
OLED::setCursor(isReverse ? (isFlipped ? 27 : 59) : (isFlipped ? 56 : 0), 0);
|
||||||
|
#else
|
||||||
|
OLED::fillArea(isFlipped ? 68 : 0, 0, 56, 32, 0); // clear the area
|
||||||
|
OLED::setCursor(isFlipped ? 56 : 0, 0);
|
||||||
|
#endif
|
||||||
// If tip is disconnected draw the notification, otherwise - the temp
|
// If tip is disconnected draw the notification, otherwise - the temp
|
||||||
if (tipDisconnected) {
|
if (tipDisconnected) {
|
||||||
// Draw-in the missing tip symbol
|
// Draw-in the missing tip symbol
|
||||||
|
#ifdef REVERSE_NAV_EVERYWHERE
|
||||||
if (isReverse) {
|
if (isReverse) {
|
||||||
OLED::drawArea(isFlipped ? 20 : 54, 0, 56, 32, isFlipped ? disconnectedTipF : disconnectedTip);
|
OLED::drawArea(isFlipped ? 20 : 54, 0, 56, 32, isFlipped ? disconnectedTipF : disconnectedTip);
|
||||||
} else {
|
} else {
|
||||||
|
#endif
|
||||||
OLED::drawArea(isFlipped ? 54 : 0, 0, 56, 32, isFlipped ? disconnectedTipF : disconnectedTip);
|
OLED::drawArea(isFlipped ? 54 : 0, 0, 56, 32, isFlipped ? disconnectedTipF : disconnectedTip);
|
||||||
|
#ifdef REVERSE_NAV_EVERYWHERE
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
} else if (!(getSettingValue(SettingsOptions::CoolingTempBlink) && (xTaskGetTickCount() % 1000 < 300))) {
|
} else if (!(getSettingValue(SettingsOptions::CoolingTempBlink) && (xTaskGetTickCount() % 1000 < 300))) {
|
||||||
ui_draw_tip_temperature(false, FontStyle::LARGE); // Draw-in the temp
|
ui_draw_tip_temperature(false, FontStyle::LARGE); // Draw-in the temp
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,27 +7,43 @@ extern uint8_t disconnectedTipF[sizeof(disconnectedTip)];
|
|||||||
|
|
||||||
void ui_draw_homescreen_simplified(TemperatureType_t tipTemp) {
|
void ui_draw_homescreen_simplified(TemperatureType_t tipTemp) {
|
||||||
bool isFlipped = OLED::getRotation();
|
bool isFlipped = OLED::getRotation();
|
||||||
bool isReverse = getSettingValue(SettingsOptions::ReverseButtonNavEnabled);
|
|
||||||
bool tipDisconnected = isTipDisconnected();
|
bool tipDisconnected = isTipDisconnected();
|
||||||
|
#ifdef REVERSE_NAV_EVERYWHERE
|
||||||
|
bool isReverse = getSettingValue(SettingsOptions::ReverseButtonNavEnabled);
|
||||||
|
#endif
|
||||||
|
|
||||||
// Flip and switch buttons accordingly
|
// Flip and switch buttons accordingly
|
||||||
|
#ifdef REVERSE_NAV_EVERYWHERE
|
||||||
OLED::drawArea(isFlipped ? 54 : 0, 0, 42, 16, isFlipped ? (isReverse ? buttonBF : buttonAF) : (isReverse ? buttonB : buttonA));
|
OLED::drawArea(isFlipped ? 54 : 0, 0, 42, 16, isFlipped ? (isReverse ? buttonBF : buttonAF) : (isReverse ? buttonB : buttonA));
|
||||||
OLED::drawArea(isFlipped ? 12 : 42, 0, 42, 16, isFlipped ? (isReverse ? buttonAF : buttonBF) : (isReverse ? buttonA : buttonB));
|
OLED::drawArea(isFlipped ? 12 : 42, 0, 42, 16, isFlipped ? (isReverse ? buttonAF : buttonBF) : (isReverse ? buttonA : buttonB));
|
||||||
|
#else
|
||||||
|
OLED::drawArea(isFlipped ? 54 : 0, 0, 42, 16, isFlipped ? buttonAF : buttonA);
|
||||||
|
OLED::drawArea(isFlipped ? 12 : 42, 0, 42, 16, isFlipped ? buttonBF : buttonB);
|
||||||
|
#endif
|
||||||
|
|
||||||
if ((tipTemp > 55) || tipDisconnected) {
|
if ((tipTemp > 55) || tipDisconnected) {
|
||||||
// draw temp over the start soldering button
|
// draw temp over the start soldering button
|
||||||
// Location changes on screen rotation and due to button swapping
|
// Location changes on screen rotation and due to button swapping
|
||||||
// in right handed mode we want to draw over the first part
|
// in right handed mode we want to draw over the first part
|
||||||
|
#ifdef REVERSE_NAV_EVERYWHERE
|
||||||
OLED::fillArea(isReverse ? (isFlipped ? 14 : 42) : (isFlipped ? 55 : 0), 0, 41, 16, 0); // clear the area
|
OLED::fillArea(isReverse ? (isFlipped ? 14 : 42) : (isFlipped ? 55 : 0), 0, 41, 16, 0); // clear the area
|
||||||
OLED::setCursor(isReverse ? (isFlipped ? 15 : 43) : (isFlipped ? 56 : 0), 0);
|
OLED::setCursor(isReverse ? (isFlipped ? 15 : 43) : (isFlipped ? 56 : 0), 0);
|
||||||
|
#else
|
||||||
|
OLED::fillArea(isFlipped ? 55 : 0, 0, 41, 16, 0); // clear the area
|
||||||
|
OLED::setCursor(isFlipped ? 56 : 0, 0);
|
||||||
|
#endif
|
||||||
// If tip is disconnected draw the notification, otherwise - the temp
|
// If tip is disconnected draw the notification, otherwise - the temp
|
||||||
if (tipDisconnected) {
|
if (tipDisconnected) {
|
||||||
// Draw-in the missing tip symbol
|
// Draw-in the missing tip symbol
|
||||||
|
#ifdef REVERSE_NAV_EVERYWHERE
|
||||||
if (isReverse) {
|
if (isReverse) {
|
||||||
OLED::drawArea(isFlipped ? 12 : 42, 0, 42, 16, isFlipped ? disconnectedTipF : disconnectedTip);
|
OLED::drawArea(isFlipped ? 12 : 42, 0, 42, 16, isFlipped ? disconnectedTipF : disconnectedTip);
|
||||||
} else {
|
} else {
|
||||||
|
#endif
|
||||||
OLED::drawArea(isFlipped ? 54 : 0, 0, 42, 16, isFlipped ? disconnectedTipF : disconnectedTip);
|
OLED::drawArea(isFlipped ? 54 : 0, 0, 42, 16, isFlipped ? disconnectedTipF : disconnectedTip);
|
||||||
|
#ifdef REVERSE_NAV_EVERYWHERE
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
} else if (!(getSettingValue(SettingsOptions::CoolingTempBlink) && (xTaskGetTickCount() % 1000 < 300))) {
|
} else if (!(getSettingValue(SettingsOptions::CoolingTempBlink) && (xTaskGetTickCount() % 1000 < 300))) {
|
||||||
ui_draw_tip_temperature(false, FontStyle::LARGE); // Draw-in the temp
|
ui_draw_tip_temperature(false, FontStyle::LARGE); // Draw-in the temp
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,11 @@ bool shouldShutdown(void) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (getButtonState(getSettingValue(SettingsOptions::ReverseButtonNavEnabled)) == BUTTON_B_LONG) { // allow also if back button is pressed long
|
#ifdef REVERSE_NAV_EVERYWHERE
|
||||||
|
if (getButtonState(getSettingValue(SettingsOptions::ReverseButtonNavEnabled) == BUTTON_B_LONG) { // allow also if back button is pressed long
|
||||||
|
#else
|
||||||
|
if (getButtonState() == BUTTON_B_LONG) { // allow also if back button is pressed long
|
||||||
|
#endif
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
Reference in New Issue
Block a user