mirror of
https://github.com/wagiminator/ATmega-Soldering-Station.git
synced 2025-08-07 13:00:30 +03:00
v1.8t1
更新旋钮方向设置界面
This commit is contained in:
@@ -133,8 +133,9 @@ const unsigned char Lang_EN[] PROGMEM = { 0x80, 0x04, 0x00, 0x00, 0x3f, 0xf0, 0x
|
|||||||
const unsigned char Lang_JP[] PROGMEM = { 0x80, 0x04, 0x00, 0x00, 0x3f, 0xf0, 0x3d, 0xf0, 0x20, 0x10, 0x3b, 0xf0, 0x3b, 0x70, 0x30, 0x30, 0x2b, 0x50, 0x2a, 0xd0, 0x31, 0xb0, 0x3f, 0xf0, 0x00, 0x00, 0x80, 0x04 };
|
const unsigned char Lang_JP[] PROGMEM = { 0x80, 0x04, 0x00, 0x00, 0x3f, 0xf0, 0x3d, 0xf0, 0x20, 0x10, 0x3b, 0xf0, 0x3b, 0x70, 0x30, 0x30, 0x2b, 0x50, 0x2a, 0xd0, 0x31, 0xb0, 0x3f, 0xf0, 0x00, 0x00, 0x80, 0x04 };
|
||||||
const unsigned char Save[] PROGMEM = { 0x00, 0x04, 0x58, 0x08, 0x58, 0x08, 0x58, 0x08, 0x40, 0x08, 0x7f, 0xf8, 0x60, 0x18, 0x5f, 0xe8, 0x5b, 0x68, 0x5f, 0xe8, 0x5b, 0x68, 0x1c, 0xe8, 0x5f, 0xe8, 0x00, 0x00 };
|
const unsigned char Save[] PROGMEM = { 0x00, 0x04, 0x58, 0x08, 0x58, 0x08, 0x58, 0x08, 0x40, 0x08, 0x7f, 0xf8, 0x60, 0x18, 0x5f, 0xe8, 0x5b, 0x68, 0x5f, 0xe8, 0x5b, 0x68, 0x1c, 0xe8, 0x5f, 0xe8, 0x00, 0x00 };
|
||||||
const unsigned char Lock[] PROGMEM = { 0xe0, 0x1c, 0xc0, 0x0c, 0x8f, 0xc4, 0x9f, 0xe4, 0x9f, 0xe4, 0x9f, 0xe4, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x07, 0x80, 0x07, 0x80, 0x03, 0x00, 0x80, 0x04 };
|
const unsigned char Lock[] PROGMEM = { 0xe0, 0x1c, 0xc0, 0x0c, 0x8f, 0xc4, 0x9f, 0xe4, 0x9f, 0xe4, 0x9f, 0xe4, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x07, 0x80, 0x07, 0x80, 0x03, 0x00, 0x80, 0x04 };
|
||||||
|
const unsigned char Set19[] PROGMEM = { 0xf8, 0x7c, 0x80, 0x04, 0xbc, 0xf4, 0x3f, 0xf0, 0x38, 0x70, 0xb7, 0xb4, 0xb6, 0xb4, 0xb5, 0xb4, 0xb7, 0xb4, 0x38, 0x70, 0x3f, 0xf0, 0xbc, 0xf4, 0x80, 0x04, 0xf8, 0x7c };
|
||||||
const unsigned char *Ico_table[] = {
|
const unsigned char *Ico_table[] = {
|
||||||
Set0, Set1, Set2, Set3, Set4, Set5, Set6, Lock, Set_LANG, QRC, Set7,
|
Set0, Set1, Set2, Set3, Set4, Set5, Set19, Set6, Lock, Set_LANG, QRC, Set7,
|
||||||
Set8, Set9, Set0, Set10, Set12, Save,
|
Set8, Set9, Set0, Set10, Set12, Save,
|
||||||
Set0, Set11, Set14, Save,
|
Set0, Set11, Set14, Save,
|
||||||
Set11, Set13, Set14, Save,
|
Set11, Set13, Set14, Save,
|
||||||
@@ -145,7 +146,7 @@ const unsigned char *Ico_table[] = {
|
|||||||
Lang_CN, Lang_EN, Lang_JP, //8
|
Lang_CN, Lang_EN, Lang_JP, //8
|
||||||
Set4, Set4F, Save,
|
Set4, Set4F, Save,
|
||||||
};
|
};
|
||||||
const byte Menu_table[] = {11, 6, 4, 4, 2, 2, 2, 2, 3, 3}; //菜单 标签 温控 定时 控制方式 首页 蜂鸣器 标签删除确认界面 语言菜单 翻转 显示
|
const byte Menu_table[] = {12, 6, 4, 4, 2, 2, 2, 2, 3, 3}; //菜单 标签 温控 定时 控制方式 首页 蜂鸣器 标签删除确认界面 语言菜单 翻转 显示
|
||||||
byte MenuLevel = 0; //菜单层级
|
byte MenuLevel = 0; //菜单层级
|
||||||
|
|
||||||
/*////////////////////////////////////////////////////////////////////////////////////////////////////
|
/*////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
@@ -197,7 +198,8 @@ const char EN_37[] PROGMEM = "Save";
|
|||||||
const char EN_38[] PROGMEM = "About";
|
const char EN_38[] PROGMEM = "About";
|
||||||
const char EN_39[] PROGMEM = "JP";
|
const char EN_39[] PROGMEM = "JP";
|
||||||
const char EN_40[] PROGMEM = "Lock";
|
const char EN_40[] PROGMEM = "Lock";
|
||||||
const char *const EN_table[] PROGMEM = {EN_0, EN_1, EN_2, EN_3, EN_4, EN_5, EN_6, EN_40, EN_7, EN_38, EN_8, EN_9, EN_10, EN_11, EN_12, EN_13, EN_14, EN_15, EN_16, EN_17, EN_18, EN_19, EN_20, EN_21, EN_22, EN_23, EN_24, EN_25, EN_26, EN_27, EN_28, EN_29, EN_30, EN_31, EN_32, EN_39, EN_35, EN_36, EN_37,};
|
const char EN_41[] PROGMEM = "Rotary";
|
||||||
|
const char *const EN_table[] PROGMEM = {EN_0, EN_1, EN_2, EN_3, EN_4, EN_5, EN_41, EN_6, EN_40, EN_7, EN_38, EN_8, EN_9, EN_10, EN_11, EN_12, EN_13, EN_14, EN_15, EN_16, EN_17, EN_18, EN_19, EN_20, EN_21, EN_22, EN_23, EN_24, EN_25, EN_26, EN_27, EN_28, EN_29, EN_30, EN_31, EN_32, EN_39, EN_35, EN_36, EN_37,};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
@@ -288,8 +290,9 @@ const unsigned char t4f[] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x1d,
|
|||||||
const unsigned char t_save[] PROGMEM = { 0x02, 0xfe, 0x01, 0x00, 0x00, 0x02, 0x82, 0x3f, 0xff, 0x00, 0x04, 0x82, 0x02, 0x00, 0x00, 0x04, 0xfe, 0x02, 0x00, 0x00, 0x0c, 0x10, 0x04, 0xfc, 0x00, 0x14, 0x10, 0x04, 0x08, 0x00, 0x05, 0xff, 0x8c, 0x10, 0x00, 0x04, 0x10, 0x14, 0x10, 0x00, 0x04, 0x38, 0x25, 0xff, 0x00, 0x04, 0x34, 0x04, 0x10, 0x00, 0x04, 0x52, 0x04, 0x10, 0x00, 0x04, 0x91, 0x84, 0x10, 0x00, 0x05, 0x10, 0x04, 0x50, 0x00, 0x04, 0x10, 0x04, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
const unsigned char t_save[] PROGMEM = { 0x02, 0xfe, 0x01, 0x00, 0x00, 0x02, 0x82, 0x3f, 0xff, 0x00, 0x04, 0x82, 0x02, 0x00, 0x00, 0x04, 0xfe, 0x02, 0x00, 0x00, 0x0c, 0x10, 0x04, 0xfc, 0x00, 0x14, 0x10, 0x04, 0x08, 0x00, 0x05, 0xff, 0x8c, 0x10, 0x00, 0x04, 0x10, 0x14, 0x10, 0x00, 0x04, 0x38, 0x25, 0xff, 0x00, 0x04, 0x34, 0x04, 0x10, 0x00, 0x04, 0x52, 0x04, 0x10, 0x00, 0x04, 0x91, 0x84, 0x10, 0x00, 0x05, 0x10, 0x04, 0x50, 0x00, 0x04, 0x10, 0x04, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
||||||
const unsigned char tAbout[] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x0f, 0xfe, 0x00, 0x00, 0x44, 0x00, 0x40, 0x00, 0x07, 0xff, 0x80, 0x40, 0x00, 0x00, 0x10, 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x40, 0x00, 0x00, 0x10, 0x1f, 0xff, 0x80, 0x0f, 0xff, 0xc0, 0x40, 0x00, 0x00, 0x10, 0x00, 0x40, 0x00, 0x00, 0x28, 0x00, 0x40, 0x00, 0x00, 0x28, 0x00, 0x40, 0x00, 0x00, 0x44, 0x00, 0x40, 0x00, 0x00, 0x82, 0x00, 0x40, 0x00, 0x03, 0x01, 0xc1, 0x40, 0x00, 0x0c, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
const unsigned char tAbout[] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x0f, 0xfe, 0x00, 0x00, 0x44, 0x00, 0x40, 0x00, 0x07, 0xff, 0x80, 0x40, 0x00, 0x00, 0x10, 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x40, 0x00, 0x00, 0x10, 0x1f, 0xff, 0x80, 0x0f, 0xff, 0xc0, 0x40, 0x00, 0x00, 0x10, 0x00, 0x40, 0x00, 0x00, 0x28, 0x00, 0x40, 0x00, 0x00, 0x28, 0x00, 0x40, 0x00, 0x00, 0x44, 0x00, 0x40, 0x00, 0x00, 0x82, 0x00, 0x40, 0x00, 0x03, 0x01, 0xc1, 0x40, 0x00, 0x0c, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
||||||
const unsigned char tPassword[] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x1f, 0x7e, 0x00, 0x1f, 0xff, 0x84, 0x02, 0x00, 0x10, 0x80, 0x84, 0x42, 0x00, 0x0a, 0x4a, 0x04, 0x42, 0x00, 0x0a, 0x31, 0x08, 0x42, 0x00, 0x12, 0xc5, 0x0f, 0x42, 0x00, 0x03, 0x04, 0x19, 0x7f, 0x00, 0x1d, 0xf8, 0x29, 0x01, 0x00, 0x00, 0x40, 0x09, 0x01, 0x00, 0x08, 0x42, 0x09, 0xfd, 0x00, 0x08, 0x42, 0x09, 0x01, 0x00, 0x08, 0x42, 0x0f, 0x01, 0x00, 0x0f, 0xfe, 0x09, 0x05, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
const unsigned char tPassword[] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x1f, 0x7e, 0x00, 0x1f, 0xff, 0x84, 0x02, 0x00, 0x10, 0x80, 0x84, 0x42, 0x00, 0x0a, 0x4a, 0x04, 0x42, 0x00, 0x0a, 0x31, 0x08, 0x42, 0x00, 0x12, 0xc5, 0x0f, 0x42, 0x00, 0x03, 0x04, 0x19, 0x7f, 0x00, 0x1d, 0xf8, 0x29, 0x01, 0x00, 0x00, 0x40, 0x09, 0x01, 0x00, 0x08, 0x42, 0x09, 0xfd, 0x00, 0x08, 0x42, 0x09, 0x01, 0x00, 0x08, 0x42, 0x0f, 0x01, 0x00, 0x0f, 0xfe, 0x09, 0x05, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
||||||
|
const unsigned char t19[] PROGMEM = { 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x1f, 0x88, 0xfe, 0x00, 0x1f, 0xd0, 0x0e, 0x22, 0x00, 0x04, 0x20, 0x30, 0x22, 0x00, 0x04, 0x5f, 0x80, 0x22, 0x00, 0x07, 0x84, 0x9e, 0x22, 0x00, 0x04, 0x85, 0x08, 0x22, 0x00, 0x04, 0x94, 0x08, 0x22, 0x00, 0x04, 0x94, 0x28, 0xfe, 0x00, 0x04, 0x97, 0x1e, 0x42, 0x00, 0x04, 0x94, 0x08, 0x42, 0x00, 0x08, 0x94, 0x08, 0x42, 0x00, 0x0a, 0xac, 0x0a, 0x42, 0x00, 0x11, 0x44, 0x0c, 0x42, 0x00, 0x00, 0x83, 0x89, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
||||||
const unsigned char *CN_table[] = {
|
const unsigned char *CN_table[] = {
|
||||||
t0, t1, t2, t3, t4, t5, t7, tPassword, t6, tAbout, Back, //0
|
t0, t1, t2, t3, t4, t5, t19 , t7, tPassword, t6, tAbout, Back, //0
|
||||||
t0, t1_1, t1_2, t1_3, t1_4, t_save, //1
|
t0, t1_1, t1_2, t1_3, t1_4, t_save, //1
|
||||||
t2_0, t2_1, t2_2, t_save, //2
|
t2_0, t2_1, t2_2, t_save, //2
|
||||||
t2_1, t3_1, t2_2, t_save,//3
|
t2_1, t3_1, t2_2, t_save,//3
|
||||||
@@ -921,7 +924,7 @@ Arduboy2 arduboy;
|
|||||||
#define SMOOTHIE 0.05 // OpAmp output smooth factor (1=no smoothing; 0.05 default)
|
#define SMOOTHIE 0.05 // OpAmp output smooth factor (1=no smoothing; 0.05 default)
|
||||||
#define PID_ENABLE true // enable PID control
|
#define PID_ENABLE true // enable PID control
|
||||||
#define BEEP_ENABLE true // enable/disable buzzer
|
#define BEEP_ENABLE true // enable/disable buzzer
|
||||||
#define MAINSCREEN 0 // type of main screen (0: big numbers; 1: more infos)
|
#define MAINSCREEN 1 // type of main screen (0: big numbers; 1: more infos)
|
||||||
|
|
||||||
// EEPROM identifier
|
// EEPROM identifier
|
||||||
#define EEPROM_IDENT 0x081F // to identify if EEPROM was written by this program
|
#define EEPROM_IDENT 0x081F // to identify if EEPROM was written by this program
|
||||||
@@ -1003,6 +1006,8 @@ int Password = 0;
|
|||||||
//屏幕保护-主题:密集运算
|
//屏幕保护-主题:密集运算
|
||||||
byte Line[4];
|
byte Line[4];
|
||||||
|
|
||||||
|
//编码器旋转调整方向设定
|
||||||
|
bool RotaryD = false;
|
||||||
// Specify the links and initial PID tuning parameters
|
// Specify the links and initial PID tuning parameters
|
||||||
PID ctrl(&Input, &Output, &Setpoint, aggKp, aggKi, aggKd, REVERSE);
|
PID ctrl(&Input, &Output, &Setpoint, aggKp, aggKi, aggKd, REVERSE);
|
||||||
|
|
||||||
@@ -1263,7 +1268,7 @@ void beep() {
|
|||||||
void setRotary(int rmin, int rmax, int rstep, int rvalue) {
|
void setRotary(int rmin, int rmax, int rstep, int rvalue) {
|
||||||
countMin = rmin << ROTARY_TYPE;
|
countMin = rmin << ROTARY_TYPE;
|
||||||
countMax = rmax << ROTARY_TYPE;
|
countMax = rmax << ROTARY_TYPE;
|
||||||
countStep = rstep;
|
if (RotaryD) countStep = rstep; else countStep = -rstep;
|
||||||
count = rvalue << ROTARY_TYPE;
|
count = rvalue << ROTARY_TYPE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1293,8 +1298,9 @@ void getEEPROM() {
|
|||||||
FlipState = EEPROM.read(16);
|
FlipState = EEPROM.read(16);
|
||||||
UnderVoltage = EEPROM.read(17);
|
UnderVoltage = EEPROM.read(17);
|
||||||
Password = (EEPROM.read(18) << 8) | EEPROM.read(19);
|
Password = (EEPROM.read(18) << 8) | EEPROM.read(19);
|
||||||
|
RotaryD = EEPROM.read(20);
|
||||||
uint8_t i, j;
|
uint8_t i, j;
|
||||||
uint16_t counter = 20;
|
uint16_t counter = 21;
|
||||||
for (i = 0; i < NumberOfTips; i++) {
|
for (i = 0; i < NumberOfTips; i++) {
|
||||||
for (j = 0; j < TIPNAMELENGTH; j++) {
|
for (j = 0; j < TIPNAMELENGTH; j++) {
|
||||||
TipName[i][j] = EEPROM.read(counter++);
|
TipName[i][j] = EEPROM.read(counter++);
|
||||||
@@ -1332,8 +1338,9 @@ void updateEEPROM() {
|
|||||||
EEPROM.update(17, UnderVoltage);
|
EEPROM.update(17, UnderVoltage);
|
||||||
EEPROM.update(18, Password >> 8);
|
EEPROM.update(18, Password >> 8);
|
||||||
EEPROM.update(19, Password & 0xFF);
|
EEPROM.update(19, Password & 0xFF);
|
||||||
|
EEPROM.update(20, RotaryD);
|
||||||
uint8_t i, j;
|
uint8_t i, j;
|
||||||
uint16_t counter = 20;
|
uint16_t counter = 21;
|
||||||
for (i = 0; i < NumberOfTips; i++) {
|
for (i = 0; i < NumberOfTips; i++) {
|
||||||
for (j = 0; j < TIPNAMELENGTH; j++) EEPROM.update(counter++, TipName[i][j]);
|
for (j = 0; j < TIPNAMELENGTH; j++) EEPROM.update(counter++, TipName[i][j]);
|
||||||
for (j = 0; j < 4; j++) {
|
for (j = 0; j < 4; j++) {
|
||||||
@@ -1378,7 +1385,7 @@ void MainScreen() {
|
|||||||
else SysState = 6;
|
else SysState = 6;
|
||||||
if (SysState != 1) {
|
if (SysState != 1) {
|
||||||
if (MainScrType) {
|
if (MainScrType) {
|
||||||
arduboy.invert(0);
|
//arduboy.invert(0);
|
||||||
arduboy.clear();
|
arduboy.clear();
|
||||||
//详细信息页
|
//详细信息页
|
||||||
arduboy.fillRect(0, 0, 128, 64, 1); //白底
|
arduboy.fillRect(0, 0, 128, 64, 1); //白底
|
||||||
@@ -1417,10 +1424,7 @@ void MainScreen() {
|
|||||||
arduboy.setCursor(19, 32); arduboy.print((float)Vin / 1000, 1); arduboy.print(F("V")); //输入电压
|
arduboy.setCursor(19, 32); arduboy.print((float)Vin / 1000, 1); arduboy.print(F("V")); //输入电压
|
||||||
arduboy.setCursor(19, 40); arduboy.print(F(VERSION)); //固件
|
arduboy.setCursor(19, 40); arduboy.print(F(VERSION)); //固件
|
||||||
//显示探头温度
|
//显示探头温度
|
||||||
arduboy.setCursor(57, 18);
|
DrawNumRect(ShowTemp);
|
||||||
arduboy.setTextSize(4);
|
|
||||||
if (ShowTemp > 500) arduboy.print(F("000")); else arduboy.print(ShowTemp);
|
|
||||||
arduboy.drawRect(55, 16, 72, 32, 0);
|
|
||||||
|
|
||||||
DrawStatusBar(0);
|
DrawStatusBar(0);
|
||||||
arduboy.display();
|
arduboy.display();
|
||||||
@@ -1432,17 +1436,21 @@ void MainScreen() {
|
|||||||
if (getChipTemp() > 80 && ((millis() * 4) / 1000) % 2) beep();
|
if (getChipTemp() > 80 && ((millis() * 4) / 1000) % 2) beep();
|
||||||
if ((float)Vin / 100 < UnderVoltage && ((millis() * 4) / 1000) % 2) beep();
|
if ((float)Vin / 100 < UnderVoltage && ((millis() * 4) / 1000) % 2) beep();
|
||||||
arduboy.setCursor(12, 2);
|
arduboy.setCursor(12, 2);
|
||||||
//arduboy.fillRect(0, 0, 128, 48, 1);
|
|
||||||
if (ShowTemp > 500) arduboy.print(999); else arduboy.print(ShowTemp);
|
|
||||||
|
|
||||||
|
if (ShowTemp > 500) arduboy.print(999); else arduboy.print(ShowTemp);
|
||||||
DrawStatusBar(1);
|
arduboy.fillRect(0, 48, 128, 16, 1);
|
||||||
|
|
||||||
|
DrawStatusBar(0);
|
||||||
arduboy.display();
|
arduboy.display();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
void DrawNumRect(int n) {
|
||||||
|
arduboy.setCursor(57, 18);
|
||||||
|
arduboy.setTextSize(4);
|
||||||
|
if (ShowTemp > 500) arduboy.print(F("000")); else arduboy.print(n);
|
||||||
|
arduboy.drawRect(55, 16, 72, 32, 0);
|
||||||
|
}
|
||||||
void DrawStatusBar(bool color) {
|
void DrawStatusBar(bool color) {
|
||||||
SetTextColor(color);
|
SetTextColor(color);
|
||||||
arduboy.setTextSize(1);
|
arduboy.setTextSize(1);
|
||||||
@@ -1485,7 +1493,7 @@ void SetupScreen() {
|
|||||||
bool repeat = true;
|
bool repeat = true;
|
||||||
|
|
||||||
while (repeat) {
|
while (repeat) {
|
||||||
arduboy.invert(0);
|
//arduboy.invert(0);
|
||||||
MenuLevel = 0; //默认打开主菜单
|
MenuLevel = 0; //默认打开主菜单
|
||||||
selection = MenuScreen(selection);
|
selection = MenuScreen(selection);
|
||||||
switch (selection) {
|
switch (selection) {
|
||||||
@@ -1495,10 +1503,11 @@ void SetupScreen() {
|
|||||||
case 3: MenuLevel = 4; PIDenable = MenuScreen(PIDenable); break;
|
case 3: MenuLevel = 4; PIDenable = MenuScreen(PIDenable); break;
|
||||||
case 4: ScreenSet(); break;
|
case 4: ScreenSet(); break;
|
||||||
case 5: MenuLevel = 6; beepEnable = MenuScreen(beepEnable); break;
|
case 5: MenuLevel = 6; beepEnable = MenuScreen(beepEnable); break;
|
||||||
case 6: UnderVoltageSet(); break;
|
case 6: RotarySet(); break;
|
||||||
case 7: PasswordSet(); break;
|
case 7: UnderVoltageSet(); break;
|
||||||
case 8: MenuLevel = 8; LANG = MenuScreen(LANG); break;
|
case 8: PasswordSet(); break;
|
||||||
case 9: QRcodeScreen(); break;
|
case 9: MenuLevel = 8; LANG = MenuScreen(LANG); break;
|
||||||
|
case 10: QRcodeScreen(); break;
|
||||||
default: repeat = false; break;
|
default: repeat = false; break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1508,7 +1517,57 @@ void SetupScreen() {
|
|||||||
setRotary(TEMP_MIN, TEMP_MAX, TEMP_STEP, SetTemp);
|
setRotary(TEMP_MIN, TEMP_MAX, TEMP_STEP, SetTemp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RotarySet() {
|
||||||
|
bool Exit = false;
|
||||||
|
float rad;
|
||||||
|
byte ExitBar = 0;
|
||||||
|
SetTextColor(0);
|
||||||
|
lastbutton = (!digitalRead(BUTTON_PIN));
|
||||||
|
setRotary(60, 420, 18, 240);
|
||||||
|
do {
|
||||||
|
arduboy.setTextSize(1);
|
||||||
|
Setpoint = getRotary();
|
||||||
|
ShowTemp = Setpoint;
|
||||||
|
rad = ((Setpoint - 60) / 360.0) * (2 * PI) - PI / 2;
|
||||||
|
|
||||||
|
arduboy.clear();
|
||||||
|
//仪表盘
|
||||||
|
arduboy.fillRect(0, 0, 128, 64, 1);
|
||||||
|
arduboy.fillTriangle(24 + 24 * cos(rad), 24 - 24 * sin(rad), 24 + 3 * sin(rad), 24 + 3 * cos(rad), 24 - 3 * sin(rad), 24 - 3 * cos(rad), 0);
|
||||||
|
arduboy.drawCircle(24, 24, 22, 0);
|
||||||
|
arduboy.drawCircle(24, 24, 19, 0);
|
||||||
|
arduboy.drawCircle(24, 24, 3, 0);
|
||||||
|
//右上角的模式提示文本
|
||||||
|
arduboy.setCursor(55, 1);
|
||||||
|
arduboy.setTextSize(2);
|
||||||
|
arduboy.print(F("MODE "));
|
||||||
|
if (RotaryD) arduboy.print(F("+")); else arduboy.print(F("-"));
|
||||||
|
//右侧数字显示
|
||||||
|
DrawNumRect(ShowTemp);
|
||||||
|
//下端的状态条
|
||||||
|
DrawStatusBar(0);
|
||||||
|
//退出条
|
||||||
|
arduboy.fillRect(0, 0, ExitBar, 4, 0);
|
||||||
|
|
||||||
|
arduboy.display();
|
||||||
|
|
||||||
|
|
||||||
|
CheckLastButton();
|
||||||
|
if (!digitalRead(BUTTON_PIN) && !lastbutton) {
|
||||||
|
|
||||||
|
ExitBar += 8;
|
||||||
|
if (ExitBar > 127) Exit = true;
|
||||||
|
} else {
|
||||||
|
if (ExitBar > 1 && ExitBar < 64) {
|
||||||
|
RotaryD = !RotaryD;
|
||||||
|
setRotary(60, 420, 18, 240);
|
||||||
|
}
|
||||||
|
ExitBar = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
} while (!Exit);
|
||||||
|
|
||||||
|
}
|
||||||
//显示设置菜单
|
//显示设置菜单
|
||||||
// tip settings screen
|
// tip settings screen
|
||||||
void ScreenSet() {
|
void ScreenSet() {
|
||||||
@@ -1555,11 +1614,11 @@ void TempScreen() {
|
|||||||
selection = MenuScreen(selection);
|
selection = MenuScreen(selection);
|
||||||
switch (selection) {
|
switch (selection) {
|
||||||
case 0: setRotary(TEMP_MIN, TEMP_MAX, TEMP_STEP, DefaultTemp);
|
case 0: setRotary(TEMP_MIN, TEMP_MAX, TEMP_STEP, DefaultTemp);
|
||||||
DefaultTemp = InputScreen(17); break;
|
DefaultTemp = InputScreen(18); break;
|
||||||
case 1: setRotary(20, 200, TEMP_STEP, SleepTemp);
|
case 1: setRotary(20, 200, TEMP_STEP, SleepTemp);
|
||||||
SleepTemp = InputScreen(18); break;
|
SleepTemp = InputScreen(19); break;
|
||||||
case 2: setRotary(10, 100, TEMP_STEP, BoostTemp);
|
case 2: setRotary(10, 100, TEMP_STEP, BoostTemp);
|
||||||
BoostTemp = InputScreen(19); break;
|
BoostTemp = InputScreen(20); break;
|
||||||
default: repeat = false; break;
|
default: repeat = false; break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1575,11 +1634,11 @@ void TimerScreen() {
|
|||||||
selection = MenuScreen(selection);
|
selection = MenuScreen(selection);
|
||||||
switch (selection) {
|
switch (selection) {
|
||||||
case 0: setRotary(0, 30, 1, time2sleep);
|
case 0: setRotary(0, 30, 1, time2sleep);
|
||||||
time2sleep = InputScreen(21); break;
|
time2sleep = InputScreen(22); break;
|
||||||
case 1: setRotary(0, 60, 5, time2off);
|
case 1: setRotary(0, 60, 5, time2off);
|
||||||
time2off = InputScreen(22); break;
|
time2off = InputScreen(23); break;
|
||||||
case 2: setRotary(0, 180, 10, timeOfBoost);
|
case 2: setRotary(0, 180, 10, timeOfBoost);
|
||||||
timeOfBoost = InputScreen(23); break;
|
timeOfBoost = InputScreen(24); break;
|
||||||
default: repeat = false; break;
|
default: repeat = false; break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1771,12 +1830,12 @@ void QRcodeScreen() {
|
|||||||
// information display screen
|
// information display screen
|
||||||
void UnderVoltageSet() {
|
void UnderVoltageSet() {
|
||||||
setRotary(0, 250, 1, UnderVoltage);
|
setRotary(0, 250, 1, UnderVoltage);
|
||||||
UnderVoltage = InputScreen(6);
|
UnderVoltage = InputScreen(7);
|
||||||
beep();
|
beep();
|
||||||
}
|
}
|
||||||
//设置开机密码
|
//设置开机密码
|
||||||
void PasswordSet() {
|
void PasswordSet() {
|
||||||
Password = InputBigNum(Password, 7);
|
Password = InputBigNum(Password, 8);
|
||||||
beep();
|
beep();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1784,12 +1843,12 @@ void BootPassword() {
|
|||||||
if (Password != 0) {
|
if (Password != 0) {
|
||||||
do {
|
do {
|
||||||
arduboy.clear();
|
arduboy.clear();
|
||||||
DrawApp(40, 7);
|
DrawApp(40, 8);
|
||||||
DrawAppText(7);
|
DrawAppText(8);
|
||||||
arduboy.display();
|
arduboy.display();
|
||||||
delay(1000);
|
delay(1000);
|
||||||
beep(); beep(); beep();
|
beep(); beep(); beep();
|
||||||
} while (InputBigNum(0, 7) != Password);
|
} while (InputBigNum(0, 8) != Password);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//更换预设界面
|
//更换预设界面
|
||||||
|
BIN
software/UI_upgrade_by_createskyblue/img/文本/旋钮.png
Normal file
BIN
software/UI_upgrade_by_createskyblue/img/文本/旋钮.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 358 B |
BIN
software/UI_upgrade_by_createskyblue/img/设置/Set19.png
Normal file
BIN
software/UI_upgrade_by_createskyblue/img/设置/Set19.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 222 B |
Reference in New Issue
Block a user