Degrees D support, New idle logo
This commit is contained in:
@@ -29,6 +29,7 @@ typedef struct {
|
|||||||
uint8_t boostModeEnabled; //Boost mode swaps BUT_A in soldering mode to temporary soldering temp over-ride
|
uint8_t boostModeEnabled; //Boost mode swaps BUT_A in soldering mode to temporary soldering temp over-ride
|
||||||
uint8_t coolingTempBlink; //Should the temperature blink on the cool down screen until its <50C
|
uint8_t coolingTempBlink; //Should the temperature blink on the cool down screen until its <50C
|
||||||
uint8_t advancedScreens; //If enabled we draw more detailed screens with smaller fonts
|
uint8_t advancedScreens; //If enabled we draw more detailed screens with smaller fonts
|
||||||
|
uint8_t temperatureInF; //Should the temp be in F or C (true is F)
|
||||||
uint16_t voltageDiv; //Voltage divisor factor
|
uint16_t voltageDiv; //Voltage divisor factor
|
||||||
uint16_t BoostTemp; //Boost mode set point for the iron
|
uint16_t BoostTemp; //Boost mode set point for the iron
|
||||||
int16_t CalibrationOffset; //This stores the temperature offset for this tip in the iron.
|
int16_t CalibrationOffset; //This stores the temperature offset for this tip in the iron.
|
||||||
|
|||||||
@@ -8,8 +8,8 @@
|
|||||||
#ifndef TRANSLATION_H_
|
#ifndef TRANSLATION_H_
|
||||||
#define TRANSLATION_H_
|
#define TRANSLATION_H_
|
||||||
|
|
||||||
extern const char* SettingsLongNames[13];
|
extern const char* SettingsLongNames[14];
|
||||||
extern const char* SettingsShortNames[13];
|
extern const char* SettingsShortNames[14];
|
||||||
extern const char* SettingsCalibrationWarning;
|
extern const char* SettingsCalibrationWarning;
|
||||||
extern const char* UVLOWarningString;
|
extern const char* UVLOWarningString;
|
||||||
extern const char SettingTrueChar;
|
extern const char SettingTrueChar;
|
||||||
|
|||||||
@@ -36,8 +36,6 @@ extern "C" {
|
|||||||
#define SDA_Pin GPIO_PIN_7
|
#define SDA_Pin GPIO_PIN_7
|
||||||
#define SDA_GPIO_Port GPIOB
|
#define SDA_GPIO_Port GPIOB
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
uint16_t getHandleTemperature();
|
uint16_t getHandleTemperature();
|
||||||
uint16_t getTipRawTemp(uint8_t instant);
|
uint16_t getTipRawTemp(uint8_t instant);
|
||||||
uint16_t getInputVoltageX10();
|
uint16_t getInputVoltageX10();
|
||||||
@@ -46,6 +44,9 @@ uint8_t getTipPWM();
|
|||||||
void setTipPWM(uint8_t pulse);
|
void setTipPWM(uint8_t pulse);
|
||||||
uint16_t ctoTipMeasurement(uint16_t temp);
|
uint16_t ctoTipMeasurement(uint16_t temp);
|
||||||
uint16_t tipMeasurementToC(uint16_t raw);
|
uint16_t tipMeasurementToC(uint16_t raw);
|
||||||
|
uint16_t ftoTipMeasurement(uint16_t temp);
|
||||||
|
uint16_t tipMeasurementToF(uint16_t raw);
|
||||||
|
|
||||||
void setCalibrationOffset(int16_t offSet);
|
void setCalibrationOffset(int16_t offSet);
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,6 +64,10 @@ void OLED::initialize() {
|
|||||||
HAL_I2C_Master_Transmit(i2c, DEVICEADDR_OLED, (uint8_t*) OLED_Setup_Array, configLength, 0xFFFF);
|
HAL_I2C_Master_Transmit(i2c, DEVICEADDR_OLED, (uint8_t*) OLED_Setup_Array, configLength, 0xFFFF);
|
||||||
//displayOnOff(true);
|
//displayOnOff(true);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//Write out the buffer to the OLEd & call any rendering objects
|
||||||
|
void OLED::refresh() {
|
||||||
screenBuffer[0] = 0x80;
|
screenBuffer[0] = 0x80;
|
||||||
screenBuffer[1] = 0x21;
|
screenBuffer[1] = 0x21;
|
||||||
screenBuffer[2] = 0x80;
|
screenBuffer[2] = 0x80;
|
||||||
@@ -78,15 +82,8 @@ void OLED::initialize() {
|
|||||||
screenBuffer[10] = 0x80;
|
screenBuffer[10] = 0x80;
|
||||||
screenBuffer[11] = 0x01;
|
screenBuffer[11] = 0x01;
|
||||||
|
|
||||||
screenBuffer[12] = 0x40;
|
screenBuffer[12] = 0x40; //start of data marker
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//Write out the buffer to the OLEd & call any rendering objects
|
|
||||||
void OLED::refresh() {
|
|
||||||
screenBuffer[12] = 0x40; // Ensure it never gets overwritten
|
|
||||||
screenBuffer[3] = inLeftHandedMode ? 0 : 32;
|
|
||||||
screenBuffer[5] = inLeftHandedMode ? 95 : 0x7F; // It rolls over when it exceeds this number (this is last writable column)
|
|
||||||
HAL_I2C_Master_Transmit(i2c, DEVICEADDR_OLED, screenBuffer, 12 + 96 * 2 + 1, 0xFFFF);
|
HAL_I2C_Master_Transmit(i2c, DEVICEADDR_OLED, screenBuffer, 12 + 96 * 2 + 1, 0xFFFF);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -104,7 +101,7 @@ void OLED::drawChar(char c, char PrecursorCommand) {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
uint16_t index = 0;
|
uint16_t index = 0;
|
||||||
if (!PrecursorCommand)
|
if (PrecursorCommand == 0)
|
||||||
index = (c - ' ');
|
index = (c - ' ');
|
||||||
else {
|
else {
|
||||||
|
|
||||||
|
|||||||
@@ -88,6 +88,7 @@ void resetSettings() {
|
|||||||
systemSettings.autoStartMode = 0; //Auto start off for safety
|
systemSettings.autoStartMode = 0; //Auto start off for safety
|
||||||
systemSettings.coolingTempBlink = 0; //Blink the temperature on the cooling screen when its > 50C
|
systemSettings.coolingTempBlink = 0; //Blink the temperature on the cooling screen when its > 50C
|
||||||
systemSettings.CalibrationOffset = 10;
|
systemSettings.CalibrationOffset = 10;
|
||||||
|
systemSettings.temperatureInF = 0; //default to 0
|
||||||
saveSettings();
|
saveSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "Translation.h"
|
#include "Translation.h"
|
||||||
|
|
||||||
#define LANG_RU
|
#define LANG_EN
|
||||||
#define LANG
|
#define LANG
|
||||||
|
|
||||||
#ifndef LANG
|
#ifndef LANG
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
#error NO LANGUAGE DEFINED
|
#error NO LANGUAGE DEFINED
|
||||||
#endif
|
#endif
|
||||||
#ifdef LANG_EN
|
#ifdef LANG_EN
|
||||||
const char* SettingsLongNames[13] = {
|
const char* SettingsLongNames[14] = {
|
||||||
/*These are all the help text for all the settings.*/
|
/*These are all the help text for all the settings.*/
|
||||||
/*No requirements on spacing or length*/
|
/*No requirements on spacing or length*/
|
||||||
"Power source. Sets cutoff voltage. <DC 10V> <S 3.3V per cell>", //
|
"Power source. Sets cutoff voltage. <DC 10V> <S 3.3V per cell>", //
|
||||||
@@ -26,6 +26,7 @@ const char* SettingsLongNames[13] = {
|
|||||||
"Sleep Timeout <Minutes>", //
|
"Sleep Timeout <Minutes>", //
|
||||||
"Shutdown Timeout <Minutes>", //
|
"Shutdown Timeout <Minutes>", //
|
||||||
"Motion Sensitivity <0.Off 1.least sensitive 9.most sensitive>", //
|
"Motion Sensitivity <0.Off 1.least sensitive 9.most sensitive>", //
|
||||||
|
"Temperature Unit <C=Celsius F=Fahrenheit>", //
|
||||||
"Display detailed information in a smaller font.", //
|
"Display detailed information in a smaller font.", //
|
||||||
"Display Orientation <A. Automatic L. Left Handed R. Right Handed>", //
|
"Display Orientation <A. Automatic L. Left Handed R. Right Handed>", //
|
||||||
"Enable front key enters boost mode 450C mode when soldering", //
|
"Enable front key enters boost mode 450C mode when soldering", //
|
||||||
@@ -51,7 +52,7 @@ const char SettingTempFChar = 'F';
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef LANG_ES
|
#ifdef LANG_ES
|
||||||
const char* SettingsLongNames[13] = {
|
const char* SettingsLongNames[14] = {
|
||||||
/*These are all the help text for all the settings.*/
|
/*These are all the help text for all the settings.*/
|
||||||
/*All must start with 6 spaces so they come on screen nicely.*/
|
/*All must start with 6 spaces so they come on screen nicely.*/
|
||||||
"Fuente de energía. Ajusta el límite inferior de voltaje. <DC=10V S=3.3V por celda>", //
|
"Fuente de energía. Ajusta el límite inferior de voltaje. <DC=10V S=3.3V por celda>", //
|
||||||
@@ -84,7 +85,7 @@ const char SettingTempFChar = 'F';
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef LANG_DE
|
#ifdef LANG_DE
|
||||||
const char* SettingsLongNames[13] = {
|
const char* SettingsLongNames[14] = {
|
||||||
/*These are all the help text for all the settings.*/
|
/*These are all the help text for all the settings.*/
|
||||||
/*All must start with 6 spaces so they come on screen nicely.*/
|
/*All must start with 6 spaces so they come on screen nicely.*/
|
||||||
"Stromversorgung. Setzt Abschaltspannung <DC=10V S=3.3V pro Zelle>",
|
"Stromversorgung. Setzt Abschaltspannung <DC=10V S=3.3V pro Zelle>",
|
||||||
@@ -117,7 +118,7 @@ const char SettingTempFChar = 'F';
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef LANG_FR
|
#ifdef LANG_FR
|
||||||
const char* SettingsLongNames[13] = {
|
const char* SettingsLongNames[14] = {
|
||||||
/*These are all the help text for all the settings.*/
|
/*These are all the help text for all the settings.*/
|
||||||
/*All must start with 6 spaces so they come on screen nicely.*/
|
/*All must start with 6 spaces so they come on screen nicely.*/
|
||||||
"Type d\'alimentation. Regle la tension de coupure. <DC=10V S=3.3V par cellules>",
|
"Type d\'alimentation. Regle la tension de coupure. <DC=10V S=3.3V par cellules>",
|
||||||
@@ -152,7 +153,7 @@ const char SettingTempFChar = 'F';
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef LANG_IT
|
#ifdef LANG_IT
|
||||||
const char* SettingsLongNames[13] = {
|
const char* SettingsLongNames[14] = {
|
||||||
/*These are all the help text for all the settings.*/
|
/*These are all the help text for all the settings.*/
|
||||||
"Sorgente di alimentazione. Imposta il limite inferiore di tensione. <DC=10V S=3.3V per cella>",
|
"Sorgente di alimentazione. Imposta il limite inferiore di tensione. <DC=10V S=3.3V per cella>",
|
||||||
"Temperatura modalità riposo <C>",
|
"Temperatura modalità riposo <C>",
|
||||||
@@ -186,7 +187,7 @@ const char SettingTempFChar = 'F';
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef LANG_SE
|
#ifdef LANG_SE
|
||||||
const char* SettingsLongNames[13] = {
|
const char* SettingsLongNames[14] = {
|
||||||
/*These are all the help text for all the settings.*/
|
/*These are all the help text for all the settings.*/
|
||||||
"Stromforsorjning. Satt avstagningsvolt. <VX=10V S=3.3V per cell>",
|
"Stromforsorjning. Satt avstagningsvolt. <VX=10V S=3.3V per cell>",
|
||||||
"Vilolage Temperatur <C>",
|
"Vilolage Temperatur <C>",
|
||||||
@@ -220,9 +221,9 @@ const char SettingTempFChar = 'F';
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef LANG_RU
|
#ifdef LANG_RU
|
||||||
const char* SettingsLongNames[13] = {
|
const char* SettingsLongNames[14] = {
|
||||||
//These are all the help text for all the settings./
|
//These are all the help text for all the settings./
|
||||||
"ЀИстЀочник питания. Установка напряжения отключения. <DC 10V> <S 3.3 V на батарею>", "Температура Сна <С>",
|
"Источник питания. Установка напряжения отключения. <DC 10V> <S 3.3 V на батарею>", "Температура Сна <С>",
|
||||||
"Переход в режим Сна <Минуты>", "Переходит в режим ожидания <Минуты>",
|
"Переход в режим Сна <Минуты>", "Переходит в режим ожидания <Минуты>",
|
||||||
"Акселерометр <0. Выкл. 1. мин. чувствительный 9. макс. чувствительный>",
|
"Акселерометр <0. Выкл. 1. мин. чувствительный 9. макс. чувствительный>",
|
||||||
"Display detailed information in a smaller font.",//
|
"Display detailed information in a smaller font.",//
|
||||||
@@ -250,12 +251,13 @@ const char SettingTempCChar = 'C';
|
|||||||
const char SettingTempFChar = 'F';
|
const char SettingTempFChar = 'F';
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
const char* SettingsShortNames[13] = { /**/
|
const char* SettingsShortNames[14] = { /**/
|
||||||
"PWRSC ", // Power Source (DC or batt)
|
"PWRSC ", // Power Source (DC or batt)
|
||||||
"STMP ", // Sleep Temperature
|
"STMP ", // Sleep Temperature
|
||||||
"STME ", // Sleep Timeout
|
"STME ", // Sleep Timeout
|
||||||
"SHTME ", // Shutdown Temperature
|
"SHTME ", // Shutdown Temperature
|
||||||
"MSENSE ", // Motion sensitivity level
|
"MSENSE ", // Motion sensitivity level
|
||||||
|
"TMPUNT ", //Temp in F and C
|
||||||
"ADVDSP ", // Advanced display mode enable
|
"ADVDSP ", // Advanced display mode enable
|
||||||
"DSPROT ", // Display rotation mode
|
"DSPROT ", // Display rotation mode
|
||||||
"BOOST ", // Boost enabled
|
"BOOST ", // Boost enabled
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ static void settings_setShutdownTime(void);
|
|||||||
static void settings_displayShutdownTime(void);
|
static void settings_displayShutdownTime(void);
|
||||||
static void settings_setSensitivity(void);
|
static void settings_setSensitivity(void);
|
||||||
static void settings_displaySensitivity(void);
|
static void settings_displaySensitivity(void);
|
||||||
|
static void settings_setTempF(void);
|
||||||
|
static void settings_displayTempF(void);
|
||||||
static void settings_setAdvancedScreens(void);
|
static void settings_setAdvancedScreens(void);
|
||||||
static void settings_displayAdvancedScreens(void);
|
static void settings_displayAdvancedScreens(void);
|
||||||
static void settings_setDisplayRotation(void);
|
static void settings_setDisplayRotation(void);
|
||||||
@@ -43,14 +45,15 @@ const menuitem settingsMenu[] = { /*Struct used for all settings options in the
|
|||||||
{ (const char*) SettingsLongNames[2], { settings_setSleepTime }, { settings_displaySleepTime } }, /*Sleep Time*/
|
{ (const char*) SettingsLongNames[2], { settings_setSleepTime }, { settings_displaySleepTime } }, /*Sleep Time*/
|
||||||
{ (const char*) SettingsLongNames[3], { settings_setShutdownTime }, { settings_displayShutdownTime } }, /*Shutdown Time*/
|
{ (const char*) SettingsLongNames[3], { settings_setShutdownTime }, { settings_displayShutdownTime } }, /*Shutdown Time*/
|
||||||
{ (const char*) SettingsLongNames[4], { settings_setSensitivity }, { settings_displaySensitivity } },/* Motion Sensitivity*/
|
{ (const char*) SettingsLongNames[4], { settings_setSensitivity }, { settings_displaySensitivity } },/* Motion Sensitivity*/
|
||||||
{ (const char*) SettingsLongNames[5], { settings_setAdvancedScreens }, { settings_displayAdvancedScreens } },/* Advanced screens*/
|
{ (const char*) SettingsLongNames[5], { settings_setTempF }, { settings_displayTempF } },/* Motion Sensitivity*/
|
||||||
{ (const char*) SettingsLongNames[6], { settings_setDisplayRotation }, { settings_displayDisplayRotation } }, /**/
|
{ (const char*) SettingsLongNames[6], { settings_setAdvancedScreens }, { settings_displayAdvancedScreens } },/* Advanced screens*/
|
||||||
{ (const char*) SettingsLongNames[7], { settings_setBoostModeEnabled }, { settings_displayBoostModeEnabled } }, /**/
|
{ (const char*) SettingsLongNames[7], { settings_setDisplayRotation }, { settings_displayDisplayRotation } }, /**/
|
||||||
{ (const char*) SettingsLongNames[8], { settings_setBoostTemp }, { settings_displayBoostTemp } }, /**/
|
{ (const char*) SettingsLongNames[8], { settings_setBoostModeEnabled }, { settings_displayBoostModeEnabled } }, /**/
|
||||||
{ (const char*) SettingsLongNames[9], { settings_setAutomaticStartMode }, { settings_displayAutomaticStartMode } },/**/
|
{ (const char*) SettingsLongNames[9], { settings_setBoostTemp }, { settings_displayBoostTemp } }, /**/
|
||||||
{ (const char*) SettingsLongNames[10], { settings_setCoolingBlinkEnabled }, { settings_displayCoolingBlinkEnabled } }, /**/
|
{ (const char*) SettingsLongNames[10], { settings_setAutomaticStartMode }, { settings_displayAutomaticStartMode } },/**/
|
||||||
{ (const char*) SettingsLongNames[11], { settings_setCalibrate }, { settings_displayCalibrate } }, /**/
|
{ (const char*) SettingsLongNames[11], { settings_setCoolingBlinkEnabled }, { settings_displayCoolingBlinkEnabled } }, /**/
|
||||||
{ (const char*) SettingsLongNames[12], { settings_setResetSettings }, { settings_displayResetSettings } }, /**/
|
{ (const char*) SettingsLongNames[12], { settings_setCalibrate }, { settings_displayCalibrate } }, /**/
|
||||||
|
{ (const char*) SettingsLongNames[13], { settings_setResetSettings }, { settings_displayResetSettings } }, /**/
|
||||||
{ NULL, { NULL }, { NULL } } //end of menu marker. DO NOT REMOVE
|
{ NULL, { NULL }, { NULL } } //end of menu marker. DO NOT REMOVE
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -101,6 +104,19 @@ static void settings_displayShutdownTime(void) {
|
|||||||
lcd.print(SettingsShortNames[3]);
|
lcd.print(SettingsShortNames[3]);
|
||||||
lcd.printNumber(systemSettings.ShutdownTime, 2);
|
lcd.printNumber(systemSettings.ShutdownTime, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void settings_setTempF(void) {
|
||||||
|
systemSettings.temperatureInF = !systemSettings.temperatureInF;
|
||||||
|
}
|
||||||
|
static void settings_displayTempF(void) {
|
||||||
|
lcd.print(SettingsShortNames[5]);
|
||||||
|
|
||||||
|
if (systemSettings.temperatureInF)
|
||||||
|
lcd.drawChar('F');
|
||||||
|
else
|
||||||
|
lcd.drawChar('C');
|
||||||
|
}
|
||||||
|
|
||||||
static void settings_setSensitivity(void) {
|
static void settings_setSensitivity(void) {
|
||||||
systemSettings.sensitivity++;
|
systemSettings.sensitivity++;
|
||||||
systemSettings.sensitivity = systemSettings.sensitivity % 10;
|
systemSettings.sensitivity = systemSettings.sensitivity % 10;
|
||||||
@@ -114,7 +130,7 @@ static void settings_setAdvancedScreens(void) {
|
|||||||
systemSettings.advancedScreens = !systemSettings.advancedScreens;
|
systemSettings.advancedScreens = !systemSettings.advancedScreens;
|
||||||
}
|
}
|
||||||
static void settings_displayAdvancedScreens(void) {
|
static void settings_displayAdvancedScreens(void) {
|
||||||
lcd.print(SettingsShortNames[5]);
|
lcd.print(SettingsShortNames[6]);
|
||||||
if (systemSettings.advancedScreens)
|
if (systemSettings.advancedScreens)
|
||||||
lcd.drawChar('T');
|
lcd.drawChar('T');
|
||||||
else
|
else
|
||||||
@@ -125,7 +141,7 @@ static void settings_setDisplayRotation(void) {
|
|||||||
systemSettings.OrientationMode = systemSettings.OrientationMode % 3;
|
systemSettings.OrientationMode = systemSettings.OrientationMode % 3;
|
||||||
}
|
}
|
||||||
static void settings_displayDisplayRotation(void) {
|
static void settings_displayDisplayRotation(void) {
|
||||||
lcd.print(SettingsShortNames[6]);
|
lcd.print(SettingsShortNames[7]);
|
||||||
switch (systemSettings.OrientationMode) {
|
switch (systemSettings.OrientationMode) {
|
||||||
case 0:
|
case 0:
|
||||||
lcd.drawChar('R');
|
lcd.drawChar('R');
|
||||||
@@ -143,7 +159,7 @@ static void settings_setBoostModeEnabled(void) {
|
|||||||
systemSettings.boostModeEnabled = !systemSettings.boostModeEnabled;
|
systemSettings.boostModeEnabled = !systemSettings.boostModeEnabled;
|
||||||
}
|
}
|
||||||
static void settings_displayBoostModeEnabled(void) {
|
static void settings_displayBoostModeEnabled(void) {
|
||||||
lcd.print(SettingsShortNames[7]);
|
lcd.print(SettingsShortNames[8]);
|
||||||
if (systemSettings.boostModeEnabled)
|
if (systemSettings.boostModeEnabled)
|
||||||
lcd.drawChar('T');
|
lcd.drawChar('T');
|
||||||
else
|
else
|
||||||
@@ -155,7 +171,7 @@ static void settings_setBoostTemp(void) {
|
|||||||
systemSettings.BoostTemp = 250; //loop back at 250
|
systemSettings.BoostTemp = 250; //loop back at 250
|
||||||
}
|
}
|
||||||
static void settings_displayBoostTemp(void) {
|
static void settings_displayBoostTemp(void) {
|
||||||
lcd.print(SettingsShortNames[8]);
|
lcd.print(SettingsShortNames[9]);
|
||||||
lcd.printNumber(systemSettings.BoostTemp, 3);
|
lcd.printNumber(systemSettings.BoostTemp, 3);
|
||||||
}
|
}
|
||||||
static void settings_setAutomaticStartMode(void) {
|
static void settings_setAutomaticStartMode(void) {
|
||||||
@@ -163,7 +179,7 @@ static void settings_setAutomaticStartMode(void) {
|
|||||||
systemSettings.autoStartMode %= 2;
|
systemSettings.autoStartMode %= 2;
|
||||||
}
|
}
|
||||||
static void settings_displayAutomaticStartMode(void) {
|
static void settings_displayAutomaticStartMode(void) {
|
||||||
lcd.print(SettingsShortNames[9]);
|
lcd.print(SettingsShortNames[10]);
|
||||||
switch (systemSettings.autoStartMode) {
|
switch (systemSettings.autoStartMode) {
|
||||||
case 0:
|
case 0:
|
||||||
lcd.drawChar('F');
|
lcd.drawChar('F');
|
||||||
@@ -179,7 +195,7 @@ static void settings_setCoolingBlinkEnabled(void) {
|
|||||||
systemSettings.coolingTempBlink = !systemSettings.coolingTempBlink;
|
systemSettings.coolingTempBlink = !systemSettings.coolingTempBlink;
|
||||||
}
|
}
|
||||||
static void settings_displayCoolingBlinkEnabled(void) {
|
static void settings_displayCoolingBlinkEnabled(void) {
|
||||||
lcd.print(SettingsShortNames[10]);
|
lcd.print(SettingsShortNames[11]);
|
||||||
if (systemSettings.coolingTempBlink)
|
if (systemSettings.coolingTempBlink)
|
||||||
lcd.drawChar('T');
|
lcd.drawChar('T');
|
||||||
else
|
else
|
||||||
@@ -189,7 +205,7 @@ static void settings_setResetSettings(void) {
|
|||||||
settingsResetRequest = !settingsResetRequest;
|
settingsResetRequest = !settingsResetRequest;
|
||||||
}
|
}
|
||||||
static void settings_displayResetSettings(void) {
|
static void settings_displayResetSettings(void) {
|
||||||
lcd.print(SettingsShortNames[12]);
|
lcd.print(SettingsShortNames[13]);
|
||||||
if (settingsResetRequest)
|
if (settingsResetRequest)
|
||||||
lcd.drawChar('T');
|
lcd.drawChar('T');
|
||||||
else
|
else
|
||||||
@@ -251,5 +267,5 @@ static void settings_setCalibrate(void) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
static void settings_displayCalibrate(void) {
|
static void settings_displayCalibrate(void) {
|
||||||
lcd.print(SettingsShortNames[11]);
|
lcd.print(SettingsShortNames[12]);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,12 +6,10 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
//These are all the functions for interacting with the hardware
|
//These are all the functions for interacting with the hardware
|
||||||
|
|
||||||
#include "hardware.h"
|
#include "hardware.h"
|
||||||
volatile uint16_t PWMSafetyTimer = 0;
|
volatile uint16_t PWMSafetyTimer = 0;
|
||||||
volatile int16_t CalibrationTempOffset = 0;
|
volatile int16_t CalibrationTempOffset = 0;
|
||||||
void setCalibrationOffset(int16_t offSet)
|
void setCalibrationOffset(int16_t offSet) {
|
||||||
{
|
|
||||||
CalibrationTempOffset = offSet;
|
CalibrationTempOffset = offSet;
|
||||||
}
|
}
|
||||||
uint16_t getHandleTemperature() {
|
uint16_t getHandleTemperature() {
|
||||||
@@ -38,9 +36,19 @@ uint16_t ctoTipMeasurement(uint16_t temp) {
|
|||||||
//We need to compensate for cold junction temp
|
//We need to compensate for cold junction temp
|
||||||
return ((temp - (getHandleTemperature() / 10) + CalibrationTempOffset) * 33) + 532;
|
return ((temp - (getHandleTemperature() / 10) + CalibrationTempOffset) * 33) + 532;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint16_t tipMeasurementToF(uint16_t raw) {
|
||||||
|
return ((((raw - 532) / 33) + (getHandleTemperature() / 10) - CalibrationTempOffset) * 9) / 5 + 32;
|
||||||
|
|
||||||
|
}
|
||||||
|
uint16_t ftoTipMeasurement(uint16_t temp) {
|
||||||
|
|
||||||
|
return (((((temp - 32) * 5) / 9) - (getHandleTemperature() / 10) + CalibrationTempOffset) * 33) + 532;
|
||||||
|
}
|
||||||
|
|
||||||
uint16_t getTipInstantTemperature() {
|
uint16_t getTipInstantTemperature() {
|
||||||
uint16_t sum = 0;
|
uint16_t sum;
|
||||||
sum += HAL_ADCEx_InjectedGetValue(&hadc1, ADC_INJECTED_RANK_1);
|
sum = HAL_ADCEx_InjectedGetValue(&hadc1, ADC_INJECTED_RANK_1);
|
||||||
sum += HAL_ADCEx_InjectedGetValue(&hadc1, ADC_INJECTED_RANK_2);
|
sum += HAL_ADCEx_InjectedGetValue(&hadc1, ADC_INJECTED_RANK_2);
|
||||||
sum += HAL_ADCEx_InjectedGetValue(&hadc1, ADC_INJECTED_RANK_3);
|
sum += HAL_ADCEx_InjectedGetValue(&hadc1, ADC_INJECTED_RANK_3);
|
||||||
sum += HAL_ADCEx_InjectedGetValue(&hadc1, ADC_INJECTED_RANK_4);
|
sum += HAL_ADCEx_InjectedGetValue(&hadc1, ADC_INJECTED_RANK_4);
|
||||||
@@ -48,8 +56,10 @@ uint16_t getTipInstantTemperature() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
uint16_t getTipRawTemp(uint8_t instant) {
|
uint16_t getTipRawTemp(uint8_t instant) {
|
||||||
#define filterDepth1 2
|
#define filterDepth1 1
|
||||||
|
/*Pre filter used before PID*/
|
||||||
#define filterDepth2 8
|
#define filterDepth2 8
|
||||||
|
/*Post filter used for UI display*/
|
||||||
static uint16_t filterLayer1[filterDepth1];
|
static uint16_t filterLayer1[filterDepth1];
|
||||||
static uint16_t filterLayer2[filterDepth2];
|
static uint16_t filterLayer2[filterDepth2];
|
||||||
static uint8_t index = 0;
|
static uint8_t index = 0;
|
||||||
@@ -83,8 +93,7 @@ uint16_t getInputVoltageX10() {
|
|||||||
//Ideal term is 57.69.... 58 is quite close
|
//Ideal term is 57.69.... 58 is quite close
|
||||||
return getADC(1) / 58;
|
return getADC(1) / 58;
|
||||||
}
|
}
|
||||||
uint8_t getTipPWM()
|
uint8_t getTipPWM() {
|
||||||
{
|
|
||||||
return htim2.Instance->CCR4;
|
return htim2.Instance->CCR4;
|
||||||
}
|
}
|
||||||
void setTipPWM(uint8_t pulse) {
|
void setTipPWM(uint8_t pulse) {
|
||||||
|
|||||||
@@ -194,7 +194,24 @@ static bool checkVoltageForExit() {
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
static void gui_drawBatteryIcon() {
|
||||||
|
if (systemSettings.cutoutSetting) {
|
||||||
|
//User is on a lithium battery
|
||||||
|
//we need to calculate which of the 10 levels they are on
|
||||||
|
uint8_t cellCount = systemSettings.cutoutSetting + 2;
|
||||||
|
uint16_t cellV = getInputVoltageX10() / cellCount;
|
||||||
|
//Should give us approx cell voltage X10
|
||||||
|
//Range is 42 -> 33 = 9 steps therefore we will use battery 1-10
|
||||||
|
if (cellV < 33)
|
||||||
|
cellV = 33;
|
||||||
|
cellV -= 33; //Should leave us a number of 0-9
|
||||||
|
if (cellV > 9)
|
||||||
|
cellV = 9;
|
||||||
|
lcd.drawBattery(cellV + 1);
|
||||||
|
} else
|
||||||
|
lcd.drawChar(' '); //print a blank spot if there is no battery symbol
|
||||||
|
|
||||||
|
}
|
||||||
static void gui_solderingTempAdjust() {
|
static void gui_solderingTempAdjust() {
|
||||||
uint32_t lastChange = HAL_GetTick();
|
uint32_t lastChange = HAL_GetTick();
|
||||||
currentlyActiveTemperatureTarget = 0;
|
currentlyActiveTemperatureTarget = 0;
|
||||||
@@ -221,33 +238,46 @@ static void gui_solderingTempAdjust() {
|
|||||||
break;
|
break;
|
||||||
case BUTTON_F_SHORT:
|
case BUTTON_F_SHORT:
|
||||||
if (lcd.getRotation()) {
|
if (lcd.getRotation()) {
|
||||||
systemSettings.SolderingTemp += 10; //add 10C
|
systemSettings.SolderingTemp += 10; //add 10
|
||||||
if (systemSettings.SolderingTemp > 450)
|
|
||||||
systemSettings.SolderingTemp = 450;
|
|
||||||
} else {
|
} else {
|
||||||
systemSettings.SolderingTemp -= 10; //sub 10C
|
systemSettings.SolderingTemp -= 10; //sub 10
|
||||||
if (systemSettings.SolderingTemp <= 50)
|
|
||||||
systemSettings.SolderingTemp = 50;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case BUTTON_B_SHORT:
|
case BUTTON_B_SHORT:
|
||||||
if (!lcd.getRotation()) {
|
if (!lcd.getRotation()) {
|
||||||
systemSettings.SolderingTemp += 10; //add 10C
|
systemSettings.SolderingTemp += 10; //add 10
|
||||||
if (systemSettings.SolderingTemp > 450)
|
|
||||||
systemSettings.SolderingTemp = 450;
|
|
||||||
} else {
|
} else {
|
||||||
systemSettings.SolderingTemp -= 10; //sub 10C
|
systemSettings.SolderingTemp -= 10; //sub 10
|
||||||
if (systemSettings.SolderingTemp <= 50)
|
|
||||||
systemSettings.SolderingTemp = 50;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
// constrain between 50-450 C
|
||||||
|
if (systemSettings.temperatureInF) {
|
||||||
|
if (systemSettings.SolderingTemp > 850)
|
||||||
|
systemSettings.SolderingTemp = 850;
|
||||||
|
} else {
|
||||||
|
if (systemSettings.SolderingTemp > 450)
|
||||||
|
systemSettings.SolderingTemp = 450;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (systemSettings.temperatureInF) {
|
||||||
|
if (systemSettings.SolderingTemp < 120)
|
||||||
|
systemSettings.SolderingTemp = 120;
|
||||||
|
} else {
|
||||||
|
if (systemSettings.SolderingTemp < 50)
|
||||||
|
systemSettings.SolderingTemp = 50;
|
||||||
|
}
|
||||||
|
|
||||||
if (HAL_GetTick() - lastChange > 1500)
|
if (HAL_GetTick() - lastChange > 1500)
|
||||||
return; // exit if user just doesn't press anything for a bit
|
return; // exit if user just doesn't press anything for a bit
|
||||||
lcd.drawChar('<');
|
lcd.drawChar('<');
|
||||||
lcd.drawChar(' ');
|
lcd.drawChar(' ');
|
||||||
lcd.printNumber(systemSettings.SolderingTemp, 3);
|
lcd.printNumber(systemSettings.SolderingTemp, 3);
|
||||||
|
if (systemSettings.temperatureInF)
|
||||||
|
lcd.drawSymbol(0);
|
||||||
|
else
|
||||||
lcd.drawSymbol(1);
|
lcd.drawSymbol(1);
|
||||||
|
lcd.drawChar(' ');
|
||||||
lcd.drawChar('>');
|
lcd.drawChar('>');
|
||||||
lcd.refresh();
|
lcd.refresh();
|
||||||
osDelay(10);
|
osDelay(10);
|
||||||
@@ -270,11 +300,12 @@ static void gui_settingsMenu() {
|
|||||||
} else {
|
} else {
|
||||||
//Draw description
|
//Draw description
|
||||||
//draw string starting from descriptionOffset
|
//draw string starting from descriptionOffset
|
||||||
|
|
||||||
int16_t maxOffset = strlen(settingsMenu[currentScreen].description);
|
int16_t maxOffset = strlen(settingsMenu[currentScreen].description);
|
||||||
if (descriptionStart == 0)
|
if (descriptionStart == 0)
|
||||||
descriptionStart = HAL_GetTick();
|
descriptionStart = HAL_GetTick();
|
||||||
|
|
||||||
int16_t descriptionOffset = ((HAL_GetTick() - descriptionStart) / 150) % maxOffset;
|
int16_t descriptionOffset = ((HAL_GetTick() - descriptionStart) / 150) % maxOffset;
|
||||||
|
//^ Rolling offset based on time
|
||||||
lcd.setCursor(12 * (7 - descriptionOffset), 0);
|
lcd.setCursor(12 * (7 - descriptionOffset), 0);
|
||||||
lcd.print(settingsMenu[currentScreen].description);
|
lcd.print(settingsMenu[currentScreen].description);
|
||||||
}
|
}
|
||||||
@@ -320,7 +351,12 @@ static void gui_settingsMenu() {
|
|||||||
}
|
}
|
||||||
static void gui_showTipTempWarning() {
|
static void gui_showTipTempWarning() {
|
||||||
for (;;) {
|
for (;;) {
|
||||||
uint16_t tipTemp = tipMeasurementToC(getTipRawTemp(0));
|
|
||||||
|
uint16_t tipTemp;
|
||||||
|
if (systemSettings.temperatureInF)
|
||||||
|
tipTemp = tipMeasurementToF(getTipRawTemp(0));
|
||||||
|
else
|
||||||
|
tipTemp = tipMeasurementToC(getTipRawTemp(0));
|
||||||
lcd.clearScreen();
|
lcd.clearScreen();
|
||||||
lcd.setCursor(0, 0);
|
lcd.setCursor(0, 0);
|
||||||
if (systemSettings.advancedScreens) {
|
if (systemSettings.advancedScreens) {
|
||||||
@@ -363,9 +399,16 @@ static int gui_SolderingSleepingMode() {
|
|||||||
if (checkVoltageForExit())
|
if (checkVoltageForExit())
|
||||||
return 1; //return non-zero on error
|
return 1; //return non-zero on error
|
||||||
|
|
||||||
|
if (systemSettings.temperatureInF)
|
||||||
|
currentlyActiveTemperatureTarget = ftoTipMeasurement(systemSettings.SleepTemp);
|
||||||
|
else
|
||||||
currentlyActiveTemperatureTarget = ctoTipMeasurement(systemSettings.SleepTemp);
|
currentlyActiveTemperatureTarget = ctoTipMeasurement(systemSettings.SleepTemp);
|
||||||
//draw the lcd
|
//draw the lcd
|
||||||
uint16_t tipTemp = tipMeasurementToC(getTipRawTemp(0));
|
uint16_t tipTemp;
|
||||||
|
if (systemSettings.temperatureInF)
|
||||||
|
tipTemp = tipMeasurementToF(getTipRawTemp(0));
|
||||||
|
else
|
||||||
|
tipTemp = tipMeasurementToC(getTipRawTemp(0));
|
||||||
|
|
||||||
lcd.clearScreen();
|
lcd.clearScreen();
|
||||||
lcd.setCursor(0, 0);
|
lcd.setCursor(0, 0);
|
||||||
@@ -462,26 +505,16 @@ static void gui_solderingMode() {
|
|||||||
//We switch the layout direction depending on the orientation of the lcd.
|
//We switch the layout direction depending on the orientation of the lcd.
|
||||||
if (lcd.getRotation()) {
|
if (lcd.getRotation()) {
|
||||||
// battery
|
// battery
|
||||||
if (systemSettings.cutoutSetting) {
|
gui_drawBatteryIcon();
|
||||||
//User is on a lithium battery
|
|
||||||
//we need to calculate which of the 10 levels they are on
|
|
||||||
uint8_t cellCount = systemSettings.cutoutSetting + 2;
|
|
||||||
uint16_t cellV = getInputVoltageX10() / cellCount;
|
|
||||||
//Should give us approx cell voltage X10
|
|
||||||
//Range is 42 -> 33 = 9 steps therefore we will use battery 1-10
|
|
||||||
if (cellV < 33)
|
|
||||||
cellV = 33;
|
|
||||||
cellV -= 33; //Should leave us a number of 0-9
|
|
||||||
if (cellV > 9)
|
|
||||||
cellV = 9;
|
|
||||||
lcd.drawBattery(cellV + 1);
|
|
||||||
} else
|
|
||||||
lcd.drawChar(' '); //print a blank spot if there is no battery symbol
|
|
||||||
|
|
||||||
lcd.drawChar(' '); // Space out gap between battery <-> temp
|
lcd.drawChar(' '); // Space out gap between battery <-> temp
|
||||||
|
if (systemSettings.temperatureInF) {
|
||||||
|
lcd.printNumber(tipMeasurementToF(tipTemp), 3); //Draw current tip temp
|
||||||
|
lcd.drawSymbol(0); //deg F
|
||||||
|
} else {
|
||||||
lcd.printNumber(tipMeasurementToC(tipTemp), 3); //Draw current tip temp
|
lcd.printNumber(tipMeasurementToC(tipTemp), 3); //Draw current tip temp
|
||||||
lcd.drawSymbol(1); //deg C
|
lcd.drawSymbol(1); //deg C
|
||||||
|
}
|
||||||
|
|
||||||
//We draw boost arrow if boosting, or else gap temp <-> heat indicator
|
//We draw boost arrow if boosting, or else gap temp <-> heat indicator
|
||||||
if (boostModeOn)
|
if (boostModeOn)
|
||||||
@@ -490,16 +523,16 @@ static void gui_solderingMode() {
|
|||||||
lcd.drawChar(' ');
|
lcd.drawChar(' ');
|
||||||
|
|
||||||
// Draw heating/cooling symbols
|
// Draw heating/cooling symbols
|
||||||
//If tip PWM > 25% then we are 'heating'
|
//If tip PWM > 10% then we are 'heating'
|
||||||
if (getTipPWM() > 25)
|
if (getTipPWM() > 10)
|
||||||
lcd.drawSymbol(14);
|
lcd.drawSymbol(14);
|
||||||
else
|
else
|
||||||
lcd.drawSymbol(15);
|
lcd.drawSymbol(15);
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
// Draw heating/cooling symbols
|
// Draw heating/cooling symbols
|
||||||
//If tip PWM > 25% then we are 'heating'
|
//If tip PWM > 10% then we are 'heating'
|
||||||
if (getTipPWM() > 25)
|
if (getTipPWM() > 10)
|
||||||
lcd.drawSymbol(14);
|
lcd.drawSymbol(14);
|
||||||
else
|
else
|
||||||
lcd.drawSymbol(15);
|
lcd.drawSymbol(15);
|
||||||
@@ -509,34 +542,33 @@ static void gui_solderingMode() {
|
|||||||
else
|
else
|
||||||
lcd.drawChar(' ');
|
lcd.drawChar(' ');
|
||||||
|
|
||||||
|
if (systemSettings.temperatureInF) {
|
||||||
|
lcd.printNumber(tipMeasurementToF(tipTemp), 3); //Draw current tip temp
|
||||||
|
lcd.drawSymbol(0); //deg F
|
||||||
|
} else {
|
||||||
lcd.printNumber(tipMeasurementToC(tipTemp), 3); //Draw current tip temp
|
lcd.printNumber(tipMeasurementToC(tipTemp), 3); //Draw current tip temp
|
||||||
lcd.drawSymbol(1); //deg C
|
lcd.drawSymbol(1); //deg C
|
||||||
|
}
|
||||||
|
|
||||||
lcd.drawChar(' '); // Space out gap between battery <-> temp
|
lcd.drawChar(' '); // Space out gap between battery <-> temp
|
||||||
|
|
||||||
if (systemSettings.cutoutSetting) {
|
gui_drawBatteryIcon();
|
||||||
//User is on a lithium battery
|
|
||||||
//we need to calculate which of the 10 levels they are on
|
|
||||||
uint8_t cellCount = systemSettings.cutoutSetting + 2;
|
|
||||||
uint16_t cellV = getInputVoltageX10() / cellCount;
|
|
||||||
//Should give us approx cell voltage X10
|
|
||||||
//Range is 42 -> 33 = 9 steps therefore we will use battery 1-10
|
|
||||||
if (cellV < 33)
|
|
||||||
cellV = 33;
|
|
||||||
cellV -= 33; //Should leave us a number of 0-9
|
|
||||||
if (cellV > 9)
|
|
||||||
cellV = 9;
|
|
||||||
lcd.drawBattery(cellV + 1);
|
|
||||||
} else
|
|
||||||
lcd.drawChar(' '); //print a blank spot if there is no battery symbol
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Update the setpoints for the temperature
|
//Update the setpoints for the temperature
|
||||||
if (boostModeOn)
|
if (boostModeOn) {
|
||||||
|
if (systemSettings.temperatureInF)
|
||||||
|
currentlyActiveTemperatureTarget = ftoTipMeasurement(systemSettings.BoostTemp);
|
||||||
|
else
|
||||||
currentlyActiveTemperatureTarget = ctoTipMeasurement(systemSettings.BoostTemp);
|
currentlyActiveTemperatureTarget = ctoTipMeasurement(systemSettings.BoostTemp);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
if (systemSettings.temperatureInF)
|
||||||
|
currentlyActiveTemperatureTarget = ftoTipMeasurement(systemSettings.SolderingTemp);
|
||||||
else
|
else
|
||||||
currentlyActiveTemperatureTarget = ctoTipMeasurement(systemSettings.SolderingTemp);
|
currentlyActiveTemperatureTarget = ctoTipMeasurement(systemSettings.SolderingTemp);
|
||||||
|
}
|
||||||
|
|
||||||
//Undervoltage test
|
//Undervoltage test
|
||||||
if (checkVoltageForExit()) {
|
if (checkVoltageForExit()) {
|
||||||
@@ -676,7 +708,10 @@ void startGUITask(void const * argument) {
|
|||||||
lcd.print("Tip Disconnected!");
|
lcd.print("Tip Disconnected!");
|
||||||
} else {
|
} else {
|
||||||
lcd.print("Tip:");
|
lcd.print("Tip:");
|
||||||
lcd.printNumber(tipTemp, 3);
|
if (systemSettings.temperatureInF)
|
||||||
|
lcd.printNumber(tipMeasurementToF(getTipRawTemp(0)), 3);
|
||||||
|
else
|
||||||
|
lcd.printNumber(tipMeasurementToC(getTipRawTemp(0)), 3);
|
||||||
lcd.print(" ");
|
lcd.print(" ");
|
||||||
lcd.print("Set:");
|
lcd.print("Set:");
|
||||||
lcd.printNumber(systemSettings.SolderingTemp, 3);
|
lcd.printNumber(systemSettings.SolderingTemp, 3);
|
||||||
@@ -691,20 +726,14 @@ void startGUITask(void const * argument) {
|
|||||||
} else {
|
} else {
|
||||||
lcd.setFont(0);
|
lcd.setFont(0);
|
||||||
|
|
||||||
if (animationStep & 0x80) {
|
if (lcd.getRotation())
|
||||||
if (animationStep & 0x08)
|
lcd.drawArea(0, 0, 96, 16, idleScreenBG);
|
||||||
lcd.drawArea(0, 0, 96, 8, Iron_RightArrow_UP);
|
|
||||||
else
|
else
|
||||||
lcd.drawArea(0, 0, 96, 8, Iron_RightArrow_DOWN);
|
lcd.drawArea(0, 0, 96, 16, idleScreenBGF);
|
||||||
|
|
||||||
|
lcd.setCursor(0, 0);
|
||||||
|
gui_drawBatteryIcon();
|
||||||
|
|
||||||
lcd.drawArea(0, 8, 96, 8, Iron_Base);
|
|
||||||
} else {
|
|
||||||
if (animationStep & 0x08)
|
|
||||||
lcd.drawArea(0, 0, 96, 8, Iron_LeftArrow_UP);
|
|
||||||
else
|
|
||||||
lcd.drawArea(0, 0, 96, 8, Iron_LeftArrow_DOWN);
|
|
||||||
lcd.drawArea(0, 8, 96, 8, Iron_Base);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
lcd.refresh();
|
lcd.refresh();
|
||||||
|
|||||||
@@ -411,99 +411,41 @@ const uint8_t FontSymbols[] = {
|
|||||||
0x00,0x00,0x00,0x00,0x80,0xC0,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x04,0x06,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x06,0x04,//UP block
|
0x00,0x00,0x00,0x00,0x80,0xC0,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x04,0x06,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x06,0x04,//UP block
|
||||||
0x00,0x20,0x60,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0x60,0x20,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x03,0x01,0x00,0x00,0x00,//Down block
|
0x00,0x20,0x60,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0x60,0x20,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x03,0x01,0x00,0x00,0x00,//Down block
|
||||||
};
|
};
|
||||||
|
const uint8_t idleScreenBG[] = {
|
||||||
|
|
||||||
const uint8_t Iron_Base[] ={
|
//width = 96
|
||||||
0x00,0x20,0x60,0x60,0x60,0x60,0x60,0x60,0x90,0x90,0x90,0x90,
|
//height = 16
|
||||||
0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0,
|
||||||
0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x60,0x60,0x60,
|
0x0C, 0x02, 0x02, 0x01, 0x01, 0x01, 0x81, 0xFD, 0x81, 0x01, 0x01, 0x01, 0x1D, 0xF1, 0xF1, 0x1D, 0x01, 0x01,
|
||||||
0x60,0x60,0x60,0x60,0x60,0x70,0xF8,0x88,0x84,0x82,0x82,0x83,
|
0x01, 0x01, 0x02, 0x02, 0x0C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x0C, 0x02,
|
||||||
0x83,0x83,0x83,0x83,0x83,0x82,0x82,0x82,0x82,0x83,0x83,0x83,
|
0x02, 0x01, 0x01, 0x01, 0x0D, 0x1D, 0x29, 0x71, 0xA1, 0xC1, 0x01, 0x01, 0x01, 0x31, 0xC9, 0x01, 0x01, 0x01,
|
||||||
0x83,0x83,0x83,0x82,0x82,0x82,0x82,0x82,0x86,0x84,0x84,0x84,
|
0x02, 0x02, 0x0C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x84,0x84,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0xFE,0x00,
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x18, 0x20, 0x20, 0x40, 0x40, 0x40, 0x4F, 0x4F, 0x4F, 0x40, 0x40, 0x40,
|
||||||
|
0x4E, 0x43, 0x43, 0x4E, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x18, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x07, 0x18, 0x20, 0x20, 0x40, 0x40, 0x40, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x49, 0x4A,
|
||||||
|
0x4C, 0x49, 0x48, 0x48, 0x40, 0x40, 0x20, 0x20, 0x18, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
|
||||||
};
|
};
|
||||||
//The top pixel row for left arrow / on hint
|
|
||||||
const uint8_t Iron_LeftArrow_UP[] = {
|
const uint8_t idleScreenBGF[] = {
|
||||||
0x00,0x7C,0x82,0x82,0x82,0x7C,0x00,0xFE,0x08,0x10,0x20,0xFE,//ON
|
//width = 96
|
||||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
//height = 16
|
||||||
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,0x00,0x00,0x00,0x00,0x00,0x88,
|
0x00, 0x00, 0xF0, 0x0C, 0x02, 0x02, 0x01, 0x01, 0x01, 0xC9, 0x31, 0x01, 0x01, 0x01, 0xC1, 0xA1, 0x71, 0x29,
|
||||||
0x98,0xBF,0xBF,0x98,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
0x1D, 0x0D, 0x01, 0x01, 0x01, 0x02, 0x02, 0x0C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
0xF0, 0x0C, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x1D, 0xF1, 0xF1, 0x1D, 0x01, 0x01, 0x01, 0x81, 0xFD, 0x81,
|
||||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
0x01, 0x01, 0x01, 0x02, 0x02, 0x0C, 0xF0, 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, 0x00, 0x07, 0x18, 0x20, 0x20, 0x40, 0x40, 0x48, 0x48, 0x49, 0x4C,
|
||||||
|
0x4A, 0x49, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x40, 0x40, 0x40, 0x20, 0x20, 0x18, 0x07, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x18, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x4E, 0x43, 0x43, 0x4E,
|
||||||
|
0x40, 0x40, 0x40, 0x4F, 0x4F, 0x4F, 0x40, 0x40, 0x40, 0x20, 0x20, 0x18, 0x07, 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,
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const uint8_t Iron_LeftArrow_DOWN[] = {
|
|
||||||
0x00,0x7C,0x82,0x82,0x82,0x7C,0x00,0xFE,0x08,0x10,0x20,0xFE,//ON
|
|
||||||
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,0x10,
|
|
||||||
0x30,0x7E,0x7E,0x30,0x10,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
|
||||||
};
|
|
||||||
//The top pixel row for both arrows /
|
|
||||||
const uint8_t Iron_BothArrows[] = {
|
|
||||||
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,
|
|
||||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,
|
|
||||||
0x98,0xBF,0xBF,0x98,0x88,0x00,0x00,0x00,0x00,0x88,0x98,0xBF,
|
|
||||||
0xBF,0x98,0x88,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,
|
|
||||||
};
|
|
||||||
//The top pixel row for right arrow / settings hint
|
|
||||||
const uint8_t Iron_RightArrow_UP[] = {
|
|
||||||
0x00,0x8C,0x92,0x92,0x92,0x62,0x00,0xFE,0x92,0x92,0x92,0x82,//SE
|
|
||||||
0x00,0x02,0x02,0xFE,0x02,0x02,0x00,0x02,0x02,0xFE,0x02,0x02,//TT
|
|
||||||
0x00,0x00,0x82,0xFE,0x82,0x00,0x00,0xFE,0x08,0x10,0x20,0xFE,//IN
|
|
||||||
0x00,0x7C,0x82,0x82,0xA2,0x62,0x00,0x8C,0x92,0x92,0x92,0x62,//GS
|
|
||||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x98,0xBF,
|
|
||||||
0xBF,0x98,0x88,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,
|
|
||||||
};
|
|
||||||
const uint8_t Iron_RightArrow_DOWN[] = {
|
|
||||||
0x00,0x8C,0x92,0x92,0x92,0x62,0x00,0xFE,0x92,0x92,0x92,0x82,//SE
|
|
||||||
0x00,0x02,0x02,0xFE,0x02,0x02,0x00,0x02,0x02,0xFE,0x02,0x02,//TT
|
|
||||||
0x00,0x00,0x82,0xFE,0x82,0x00,0x00,0xFE,0x08,0x10,0x20,0xFE,//IN
|
|
||||||
0x00,0x7C,0x82,0x82,0xA2,0x62,0x00,0x8C,0x92,0x92,0x92,0x62,//GS
|
|
||||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x30,0x7E,
|
|
||||||
0x7E,0x30,0x10,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,
|
|
||||||
};
|
|
||||||
|
|
||||||
const uint8_t SymbolTable[]={
|
|
||||||
|
|
||||||
0x0E,0x11,0x11,0x0E,0xE0,0xF8,0x0C,0x06,0x03,0x01,0x01,0x01,0x01,0x02,0x1E,0x00,
|
|
||||||
0x00,0x00,0x00,0x00,0x0F,0x3F,0x70,0xC0,0x80,0x80,0x80,0x80,0x80,0x40,0x20,0x00, // Degrees C
|
|
||||||
|
|
||||||
0x08,0x14,0x22,0x14,0x08,0x02,0x02,0xFE,0x06,0x02,0x02,0x02,0xC2,0x02,0x06,0x1E,
|
|
||||||
0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xFF,0x81,0x81,0x01,0x01,0x03,0x00,0x00,0x00, // Degrees F
|
|
||||||
|
|
||||||
0xC0,0x30,0x08,0x04,0x04,0x02,0xFA,0xAA,0xFA,0x02,0x04,0x04,0x08,0x30,0xC0,0x00,
|
|
||||||
0x07,0x18,0x20,0x40,0x58,0xA4,0xDB,0xDE,0xDB,0xA4,0x58,0x40,0x20,0x18,0x07,0x00, // Temp symbol
|
|
||||||
|
|
||||||
0x00,0xF0,0xF0,0x00,0x00,0xF0,0xF0,0xF0,0x00,0x00,0xFC,0xF8,0xF0,0xE0,0xC0,0x80, //Right Arrow
|
|
||||||
0x00,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x0F,0x00,0x00,0x3F,0x1F,0x0F,0x07,0x03,0x01,
|
|
||||||
|
|
||||||
0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0x00,0x00,0xF0,0xF0,0xF0,0x00,0x00,0xF0,0xF0,0x00, //Left Arrow
|
|
||||||
0x01,0x03,0x07,0x0F,0x1F,0x3F,0x00,0x00,0x0F,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00,
|
|
||||||
|
|
||||||
0x11,0x33,0x66,0xCC,0x98,0x30,0x60,0xC0,0xC0,0x60,0x30,0x98,0xCC,0x66,0x33,0x11,
|
|
||||||
0x01,0x03,0x06,0x0C,0x19,0x33,0x66,0xCC,0xCC,0x66,0x33,0x19,0x0C,0x06,0x03,0x01, //Down Chevron
|
|
||||||
|
|
||||||
0x80,0xC0,0x60,0x30,0x98,0xCC,0x66,0x33,0x33,0x66,0xCC,0x98,0x30,0x60,0xC0,0x80,
|
|
||||||
0x88,0xCC,0x66,0x33,0x19,0x0C,0x06,0x03,0x03,0x06,0x0C,0x19,0x33,0x66,0xCC,0x88, //Up Chevron
|
|
||||||
|
|
||||||
0x00,0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,0x8C,0x00, // Flat Lines
|
|
||||||
0x00,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x00,
|
|
||||||
};
|
|
||||||
|
|
||||||
const unsigned char ASCII6x8[] = {
|
const unsigned char ASCII6x8[] = {
|
||||||
//1*8*6 һ<><D2BB>
|
//1*8*6 һ<><D2BB>
|
||||||
|
|||||||
Reference in New Issue
Block a user