mirror of
https://github.com/MarlinFirmware/Marlin.git
synced 2024-11-27 13:56:24 +00:00
🚸 Fix and improve MKS LVGL UI (#22783)
Co-authored-by: makerbase <4164049@qq.com> Co-authored-by: MKS-Sean <56996910+MKS-Sean@users.noreply.github.com> Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
This commit is contained in:
parent
ab9609146f
commit
4d113c2efd
@ -43,9 +43,9 @@ uint32_t SPIFlashStorage::m_startAddress;
|
|||||||
static uint32_t rle_compress(T *output, uint32_t outputLength, T *input, uint32_t inputLength, uint32_t& inputProcessed) {
|
static uint32_t rle_compress(T *output, uint32_t outputLength, T *input, uint32_t inputLength, uint32_t& inputProcessed) {
|
||||||
uint32_t count = 0, out = 0, index, i;
|
uint32_t count = 0, out = 0, index, i;
|
||||||
T pixel;
|
T pixel;
|
||||||
//32767 for uint16_t
|
// 32767 for uint16_t
|
||||||
//127 for uint16_t
|
// 127 for uint16_t
|
||||||
//calculated at compile time
|
// calculated at compile time
|
||||||
constexpr T max = (0xFFFFFFFF >> (8 * (4 - sizeof(T)))) / 2;
|
constexpr T max = (0xFFFFFFFF >> (8 * (4 - sizeof(T)))) / 2;
|
||||||
|
|
||||||
inputProcessed = 0;
|
inputProcessed = 0;
|
||||||
|
@ -69,14 +69,14 @@ void TFT::LCD_init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void TFT::LCD_clear(uint16_t color) {
|
void TFT::LCD_clear(uint16_t color) {
|
||||||
setWindow(0, 0, (TFT_WIDTH), (TFT_HEIGHT));
|
setWindow(0, 0, TFT_WIDTH, TFT_HEIGHT);
|
||||||
tftio.WriteMultiple(color, (uint32_t)(TFT_WIDTH) * (TFT_HEIGHT));
|
tftio.WriteMultiple(color, uint32_t(TFT_WIDTH) * uint32_t(TFT_HEIGHT));
|
||||||
}
|
}
|
||||||
|
|
||||||
void TFT::LCD_Draw_Logo() {
|
void TFT::LCD_Draw_Logo() {
|
||||||
#if HAS_LOGO_IN_FLASH
|
#if HAS_LOGO_IN_FLASH
|
||||||
setWindow(0, 0, TFT_WIDTH, TFT_HEIGHT);
|
setWindow(0, 0, TFT_WIDTH, TFT_HEIGHT);
|
||||||
for (uint16_t i = 0; i < (TFT_HEIGHT); i ++) {
|
for (uint16_t i = 0; i < (TFT_HEIGHT); i++) {
|
||||||
Pic_Logo_Read((uint8_t *)"", (uint8_t *)bmp_public_buf, (TFT_WIDTH) * 2);
|
Pic_Logo_Read((uint8_t *)"", (uint8_t *)bmp_public_buf, (TFT_WIDTH) * 2);
|
||||||
tftio.WriteSequence((uint16_t *)bmp_public_buf, TFT_WIDTH);
|
tftio.WriteSequence((uint16_t *)bmp_public_buf, TFT_WIDTH);
|
||||||
}
|
}
|
||||||
|
@ -57,9 +57,9 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) {
|
|||||||
break;
|
break;
|
||||||
#if ENABLED(MKS_WIFI_MODULE)
|
#if ENABLED(MKS_WIFI_MODULE)
|
||||||
case ID_WIFI_PARA:
|
case ID_WIFI_PARA:
|
||||||
lv_clear_advance_settings();
|
lv_clear_advance_settings();
|
||||||
lv_draw_wifi_settings();
|
lv_draw_wifi_settings();
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
#if HAS_ROTARY_ENCODER
|
#if HAS_ROTARY_ENCODER
|
||||||
case ID_ENCODER_SETTINGS:
|
case ID_ENCODER_SETTINGS:
|
||||||
|
@ -55,7 +55,7 @@ enum {
|
|||||||
ID_BABY_STEP_RETURN
|
ID_BABY_STEP_RETURN
|
||||||
};
|
};
|
||||||
|
|
||||||
static float babystep_dist=0.01;
|
static float babystep_dist = 0.01;
|
||||||
static uint8_t has_adjust_z = 0;
|
static uint8_t has_adjust_z = 0;
|
||||||
|
|
||||||
static void event_handler(lv_obj_t *obj, lv_event_t event) {
|
static void event_handler(lv_obj_t *obj, lv_event_t event) {
|
||||||
@ -124,9 +124,8 @@ void lv_draw_baby_stepping() {
|
|||||||
buttonV = lv_imgbtn_create(scr, nullptr, BTN_X_PIXEL * 3 + INTERVAL_V * 4, titleHeight, event_handler, ID_BABY_STEP_DIST);
|
buttonV = lv_imgbtn_create(scr, nullptr, BTN_X_PIXEL * 3 + INTERVAL_V * 4, titleHeight, event_handler, ID_BABY_STEP_DIST);
|
||||||
labelV = lv_label_create_empty(buttonV);
|
labelV = lv_label_create_empty(buttonV);
|
||||||
#if HAS_ROTARY_ENCODER
|
#if HAS_ROTARY_ENCODER
|
||||||
if (gCfgItems.encoder_enable) {
|
if (gCfgItems.encoder_enable)
|
||||||
lv_group_add_obj(g, buttonV);
|
lv_group_add_obj(g, buttonV);
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
lv_big_button_create(scr, "F:/bmp_return.bin", common_menu.text_back, BTN_X_PIXEL * 3 + INTERVAL_V * 4, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_BABY_STEP_RETURN);
|
lv_big_button_create(scr, "F:/bmp_return.bin", common_menu.text_back, BTN_X_PIXEL * 3 + INTERVAL_V * 4, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_BABY_STEP_RETURN);
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" { /* C-declarations for C++ */
|
extern "C" { /* C-declarations for C++ */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void lv_draw_cloud_bind();
|
void lv_draw_cloud_bind();
|
||||||
|
@ -103,15 +103,13 @@ static void btn_ok_event_cb(lv_obj_t *btn, lv_event_t event) {
|
|||||||
if (card.isFileOpen()) {
|
if (card.isFileOpen()) {
|
||||||
feedrate_percentage = 100;
|
feedrate_percentage = 100;
|
||||||
planner.flow_percentage[0] = 100;
|
planner.flow_percentage[0] = 100;
|
||||||
planner.e_factor[0] = planner.flow_percentage[0] * 0.01f;
|
planner.e_factor[0] = planner.flow_percentage[0] * 0.01f;
|
||||||
#if HAS_MULTI_EXTRUDER
|
#if HAS_MULTI_EXTRUDER
|
||||||
planner.flow_percentage[1] = 100;
|
planner.flow_percentage[1] = 100;
|
||||||
planner.e_factor[1] = planner.flow_percentage[1] * 0.01f;
|
planner.e_factor[1] = planner.flow_percentage[1] * 0.01f;
|
||||||
#endif
|
#endif
|
||||||
card.startOrResumeFilePrinting();
|
card.startOrResumeFilePrinting();
|
||||||
#if ENABLED(POWER_LOSS_RECOVERY)
|
TERN_(POWER_LOSS_RECOVERY, recovery.prepare());
|
||||||
recovery.prepare();
|
|
||||||
#endif
|
|
||||||
once_flag = false;
|
once_flag = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -229,14 +227,14 @@ void lv_draw_dialog(uint8_t type) {
|
|||||||
lv_obj_t *labelDialog = lv_label_create(scr, "");
|
lv_obj_t *labelDialog = lv_label_create(scr, "");
|
||||||
|
|
||||||
if (DIALOG_IS(TYPE_FINISH_PRINT, PAUSE_MESSAGE_RESUME)) {
|
if (DIALOG_IS(TYPE_FINISH_PRINT, PAUSE_MESSAGE_RESUME)) {
|
||||||
btnOk = lv_button_btn_create(scr, BTN_OK_X + 90, BTN_OK_Y, 100, 50, btn_ok_event_cb);
|
btnOk = lv_button_btn_create(scr, BTN_OK_X + 90, BTN_OK_Y, 100, 50, btn_ok_event_cb);
|
||||||
lv_obj_t *labelOk = lv_label_create_empty(btnOk); // Add a label to the button
|
lv_obj_t *labelOk = lv_label_create_empty(btnOk); // Add a label to the button
|
||||||
lv_label_set_text(labelOk, print_file_dialog_menu.confirm); // Set the labels text
|
lv_label_set_text(labelOk, print_file_dialog_menu.confirm); // Set the labels text
|
||||||
}
|
}
|
||||||
else if (DIALOG_IS(PAUSE_MESSAGE_WAITING, PAUSE_MESSAGE_INSERT, PAUSE_MESSAGE_HEAT)) {
|
else if (DIALOG_IS(PAUSE_MESSAGE_WAITING, PAUSE_MESSAGE_INSERT, PAUSE_MESSAGE_HEAT)) {
|
||||||
btnOk = lv_button_btn_create(scr, BTN_OK_X + 90, BTN_OK_Y, 100, 50, btn_ok_event_cb);
|
btnOk = lv_button_btn_create(scr, BTN_OK_X + 90, BTN_OK_Y, 100, 50, btn_ok_event_cb);
|
||||||
lv_obj_t *labelOk = lv_label_create_empty(btnOk); // Add a label to the button
|
lv_obj_t *labelOk = lv_label_create_empty(btnOk); // Add a label to the button
|
||||||
lv_label_set_text(labelOk, print_file_dialog_menu.confirm); // Set the labels text
|
lv_label_set_text(labelOk, print_file_dialog_menu.confirm); // Set the labels text
|
||||||
}
|
}
|
||||||
else if (DIALOG_IS(PAUSE_MESSAGE_PARKING, PAUSE_MESSAGE_CHANGING, PAUSE_MESSAGE_UNLOAD, PAUSE_MESSAGE_LOAD, PAUSE_MESSAGE_PURGE, PAUSE_MESSAGE_RESUME, PAUSE_MESSAGE_HEATING)) {
|
else if (DIALOG_IS(PAUSE_MESSAGE_PARKING, PAUSE_MESSAGE_CHANGING, PAUSE_MESSAGE_UNLOAD, PAUSE_MESSAGE_LOAD, PAUSE_MESSAGE_PURGE, PAUSE_MESSAGE_RESUME, PAUSE_MESSAGE_HEATING)) {
|
||||||
// nothing to do
|
// nothing to do
|
||||||
@ -269,7 +267,7 @@ void lv_draw_dialog(uint8_t type) {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
else if (DIALOG_IS(TYPE_FILAMENT_LOAD_HEAT, TYPE_FILAMENT_UNLOAD_HEAT)) {
|
else if (DIALOG_IS(TYPE_FILAMENT_LOAD_HEAT, TYPE_FILAMENT_UNLOAD_HEAT)) {
|
||||||
btnCancel = lv_button_btn_create(scr, BTN_OK_X+90, BTN_OK_Y, 100, 50, btn_cancel_event_cb);
|
btnCancel = lv_button_btn_create(scr, BTN_OK_X + 90, BTN_OK_Y, 100, 50, btn_cancel_event_cb);
|
||||||
lv_obj_t *labelCancel = lv_label_create_empty(btnCancel);
|
lv_obj_t *labelCancel = lv_label_create_empty(btnCancel);
|
||||||
lv_label_set_text(labelCancel, print_file_dialog_menu.cancel);
|
lv_label_set_text(labelCancel, print_file_dialog_menu.cancel);
|
||||||
|
|
||||||
@ -287,7 +285,7 @@ void lv_draw_dialog(uint8_t type) {
|
|||||||
lv_label_set_text(labelCancel, print_file_dialog_menu.cancel);
|
lv_label_set_text(labelCancel, print_file_dialog_menu.cancel);
|
||||||
|
|
||||||
filament_bar = lv_bar_create(scr, nullptr);
|
filament_bar = lv_bar_create(scr, nullptr);
|
||||||
lv_obj_set_pos(filament_bar, (TFT_WIDTH-400)/2, ((TFT_HEIGHT - titleHeight)-40)/2);
|
lv_obj_set_pos(filament_bar, (TFT_WIDTH - 400) / 2, ((TFT_HEIGHT - titleHeight) - 40) / 2);
|
||||||
lv_obj_set_size(filament_bar, 400, 25);
|
lv_obj_set_size(filament_bar, 400, 25);
|
||||||
lv_bar_set_style(filament_bar, LV_BAR_STYLE_INDIC, &lv_bar_style_indic);
|
lv_bar_set_style(filament_bar, LV_BAR_STYLE_INDIC, &lv_bar_style_indic);
|
||||||
lv_bar_set_anim_time(filament_bar, 1000);
|
lv_bar_set_anim_time(filament_bar, 1000);
|
||||||
@ -301,11 +299,11 @@ void lv_draw_dialog(uint8_t type) {
|
|||||||
lv_obj_t *labelCancel = lv_label_create_empty(btnCancel); // Add a label to the button
|
lv_obj_t *labelCancel = lv_label_create_empty(btnCancel); // Add a label to the button
|
||||||
|
|
||||||
if (DIALOG_IS(PAUSE_MESSAGE_OPTION)) {
|
if (DIALOG_IS(PAUSE_MESSAGE_OPTION)) {
|
||||||
lv_label_set_text(labelOk, pause_msg_menu.purgeMore); // Set the labels text
|
lv_label_set_text(labelOk, pause_msg_menu.purgeMore); // Set the labels text
|
||||||
lv_label_set_text(labelCancel, pause_msg_menu.continuePrint);
|
lv_label_set_text(labelCancel, pause_msg_menu.continuePrint);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
lv_label_set_text(labelOk, print_file_dialog_menu.confirm); // Set the labels text
|
lv_label_set_text(labelOk, print_file_dialog_menu.confirm); // Set the labels text
|
||||||
lv_label_set_text(labelCancel, print_file_dialog_menu.cancel);
|
lv_label_set_text(labelCancel, print_file_dialog_menu.cancel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44,9 +44,11 @@ enum {
|
|||||||
ID_F_RETURN
|
ID_F_RETURN
|
||||||
};
|
};
|
||||||
|
|
||||||
|
uint8_t fanPercent = 0;
|
||||||
static void event_handler(lv_obj_t *obj, lv_event_t event) {
|
static void event_handler(lv_obj_t *obj, lv_event_t event) {
|
||||||
if (event != LV_EVENT_RELEASED) return;
|
if (event != LV_EVENT_RELEASED) return;
|
||||||
uint8_t fanPercent = map(thermalManager.fan_speed[0], 0, 255, 0, 100);
|
const uint8_t temp = map(thermalManager.fan_speed[0], 0, 255, 0, 100);
|
||||||
|
if (abs(fanPercent - temp) > 2) fanPercent = temp;
|
||||||
switch (obj->mks_obj_id) {
|
switch (obj->mks_obj_id) {
|
||||||
case ID_F_ADD: if (fanPercent < 100) fanPercent++; break;
|
case ID_F_ADD: if (fanPercent < 100) fanPercent++; break;
|
||||||
case ID_F_DEC: if (fanPercent != 0) fanPercent--; break;
|
case ID_F_DEC: if (fanPercent != 0) fanPercent--; break;
|
||||||
@ -56,6 +58,7 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) {
|
|||||||
case ID_F_RETURN: clear_cur_ui(); draw_return_ui(); return;
|
case ID_F_RETURN: clear_cur_ui(); draw_return_ui(); return;
|
||||||
}
|
}
|
||||||
thermalManager.set_fan_speed(0, map(fanPercent, 0, 100, 0, 255));
|
thermalManager.set_fan_speed(0, map(fanPercent, 0, 100, 0, 255));
|
||||||
|
if (obj->mks_obj_id != ID_F_RETURN) disp_fan_value();
|
||||||
}
|
}
|
||||||
|
|
||||||
void lv_draw_fan() {
|
void lv_draw_fan() {
|
||||||
@ -63,7 +66,7 @@ void lv_draw_fan() {
|
|||||||
|
|
||||||
scr = lv_screen_create(FAN_UI);
|
scr = lv_screen_create(FAN_UI);
|
||||||
// Create an Image button
|
// Create an Image button
|
||||||
buttonAdd = lv_big_button_create(scr, "F:/bmp_Add.bin", fan_menu.add, INTERVAL_V, titleHeight, event_handler, ID_F_ADD);
|
buttonAdd = lv_big_button_create(scr, "F:/bmp_Add.bin", fan_menu.add, INTERVAL_V, titleHeight, event_handler, ID_F_ADD);
|
||||||
lv_obj_clear_protect(buttonAdd, LV_PROTECT_FOLLOW);
|
lv_obj_clear_protect(buttonAdd, LV_PROTECT_FOLLOW);
|
||||||
lv_big_button_create(scr, "F:/bmp_Dec.bin", fan_menu.dec, BTN_X_PIXEL * 3 + INTERVAL_V * 4, titleHeight, event_handler, ID_F_DEC);
|
lv_big_button_create(scr, "F:/bmp_Dec.bin", fan_menu.dec, BTN_X_PIXEL * 3 + INTERVAL_V * 4, titleHeight, event_handler, ID_F_DEC);
|
||||||
lv_big_button_create(scr, "F:/bmp_speed255.bin", fan_menu.full, INTERVAL_V, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_F_HIGH);
|
lv_big_button_create(scr, "F:/bmp_speed255.bin", fan_menu.full, INTERVAL_V, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_F_HIGH);
|
||||||
@ -78,7 +81,7 @@ void lv_draw_fan() {
|
|||||||
|
|
||||||
void disp_fan_value() {
|
void disp_fan_value() {
|
||||||
#if HAS_FAN
|
#if HAS_FAN
|
||||||
sprintf_P(public_buf_l, PSTR("%s: %3d%%"), fan_menu.state, (int)map(thermalManager.fan_speed[0], 0, 255, 0, 100));
|
sprintf_P(public_buf_l, PSTR("%s: %3d%%"), fan_menu.state, fanPercent);
|
||||||
#else
|
#else
|
||||||
sprintf_P(public_buf_l, PSTR("%s: ---"), fan_menu.state);
|
sprintf_P(public_buf_l, PSTR("%s: ---"), fan_menu.state);
|
||||||
#endif
|
#endif
|
||||||
|
@ -52,7 +52,8 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) {
|
|||||||
case ID_FILAMNT_IN:
|
case ID_FILAMNT_IN:
|
||||||
uiCfg.filament_load_heat_flg = true;
|
uiCfg.filament_load_heat_flg = true;
|
||||||
if (ABS(thermalManager.degTargetHotend(uiCfg.extruderIndex) - thermalManager.wholeDegHotend(uiCfg.extruderIndex)) <= 1
|
if (ABS(thermalManager.degTargetHotend(uiCfg.extruderIndex) - thermalManager.wholeDegHotend(uiCfg.extruderIndex)) <= 1
|
||||||
|| gCfgItems.filament_limit_temp <= thermalManager.wholeDegHotend(uiCfg.extruderIndex)) {
|
|| gCfgItems.filament_limit_temp <= thermalManager.wholeDegHotend(uiCfg.extruderIndex)
|
||||||
|
) {
|
||||||
lv_clear_filament_change();
|
lv_clear_filament_change();
|
||||||
lv_draw_dialog(DIALOG_TYPE_FILAMENT_HEAT_LOAD_COMPLETED);
|
lv_draw_dialog(DIALOG_TYPE_FILAMENT_HEAT_LOAD_COMPLETED);
|
||||||
}
|
}
|
||||||
@ -115,9 +116,8 @@ void lv_draw_filament_change() {
|
|||||||
|
|
||||||
buttonType = lv_imgbtn_create(scr, nullptr, INTERVAL_V, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_FILAMNT_TYPE);
|
buttonType = lv_imgbtn_create(scr, nullptr, INTERVAL_V, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_FILAMNT_TYPE);
|
||||||
#if HAS_ROTARY_ENCODER
|
#if HAS_ROTARY_ENCODER
|
||||||
if (gCfgItems.encoder_enable) {
|
if (gCfgItems.encoder_enable)
|
||||||
lv_group_add_obj(g, buttonType);
|
lv_group_add_obj(g, buttonType);
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
lv_big_button_create(scr, "F:/bmp_return.bin", common_menu.text_back, BTN_X_PIXEL * 3 + INTERVAL_V * 4, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_FILAMNT_RETURN);
|
lv_big_button_create(scr, "F:/bmp_return.bin", common_menu.text_back, BTN_X_PIXEL * 3 + INTERVAL_V * 4, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_FILAMNT_RETURN);
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
#include "../../../inc/MarlinConfig.h"
|
#include "../../../inc/MarlinConfig.h"
|
||||||
|
|
||||||
extern lv_group_t *g;
|
extern lv_group_t *g;
|
||||||
static lv_obj_t *scr,*outL,*outV = 0;
|
static lv_obj_t *scr, *outL, *outV = 0;
|
||||||
static int currentWritePos = 0;
|
static int currentWritePos = 0;
|
||||||
extern uint8_t public_buf[513];
|
extern uint8_t public_buf[513];
|
||||||
extern "C" { extern char public_buf_m[100]; }
|
extern "C" { extern char public_buf_m[100]; }
|
||||||
@ -59,7 +59,7 @@ void lv_show_gcode_output(void * that, const char * txt) {
|
|||||||
if (!memcmp(txt, "echo:", 5)) {
|
if (!memcmp(txt, "echo:", 5)) {
|
||||||
public_buf[0] = 0; // Clear output buffer
|
public_buf[0] = 0; // Clear output buffer
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Avoid overflow if the answer is too large
|
// Avoid overflow if the answer is too large
|
||||||
size_t len = strlen((const char*)public_buf), tlen = strlen(txt);
|
size_t len = strlen((const char*)public_buf), tlen = strlen(txt);
|
||||||
@ -69,17 +69,17 @@ void lv_show_gcode_output(void * that, const char * txt) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void lv_serial_capt_hook(void * userPointer, uint8_t c)
|
void lv_serial_capt_hook(void * userPointer, uint8_t c) {
|
||||||
{
|
|
||||||
if (c == '\n' || currentWritePos == sizeof(public_buf_m) - 1) { // End of line, probably end of command anyway
|
if (c == '\n' || currentWritePos == sizeof(public_buf_m) - 1) { // End of line, probably end of command anyway
|
||||||
public_buf_m[currentWritePos] = 0;
|
public_buf_m[currentWritePos] = 0;
|
||||||
lv_show_gcode_output(userPointer, public_buf_m);
|
lv_show_gcode_output(userPointer, public_buf_m);
|
||||||
currentWritePos = 0;
|
currentWritePos = 0;
|
||||||
}
|
}
|
||||||
else public_buf_m[currentWritePos++] = c;
|
else
|
||||||
|
public_buf_m[currentWritePos++] = c;
|
||||||
}
|
}
|
||||||
void lv_eom_hook(void *)
|
|
||||||
{
|
void lv_eom_hook(void *) {
|
||||||
// Message is done, let's remove the hook now
|
// Message is done, let's remove the hook now
|
||||||
MYSERIAL1.setHook();
|
MYSERIAL1.setHook();
|
||||||
// We are back from the keyboard, so let's redraw ourselves
|
// We are back from the keyboard, so let's redraw ourselves
|
||||||
|
@ -67,10 +67,10 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) {
|
|||||||
break;
|
break;
|
||||||
#if Z2_SENSORLESS
|
#if Z2_SENSORLESS
|
||||||
case ID_SENSITIVITY_Z2:
|
case ID_SENSITIVITY_Z2:
|
||||||
value = z2_sensitivity;
|
value = z2_sensitivity;
|
||||||
lv_clear_homing_sensitivity_settings();
|
lv_clear_homing_sensitivity_settings();
|
||||||
lv_draw_number_key();
|
lv_draw_number_key();
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -41,10 +41,10 @@ static const char * kb_map_lc[] = {"1#", "q", "w", "e", "r", "t", "y", "u", "i",
|
|||||||
LV_SYMBOL_CLOSE, LV_SYMBOL_LEFT, " ", LV_SYMBOL_RIGHT, LV_SYMBOL_OK, ""};
|
LV_SYMBOL_CLOSE, LV_SYMBOL_LEFT, " ", LV_SYMBOL_RIGHT, LV_SYMBOL_OK, ""};
|
||||||
|
|
||||||
static const lv_btnm_ctrl_t kb_ctrl_lc_map[] = {
|
static const lv_btnm_ctrl_t kb_ctrl_lc_map[] = {
|
||||||
LV_KB_CTRL_BTN_FLAGS | 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 7,
|
LV_KB_CTRL_BTN_FLAGS | 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 7,
|
||||||
LV_KB_CTRL_BTN_FLAGS | 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7,
|
LV_KB_CTRL_BTN_FLAGS | 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7,
|
||||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||||
LV_KB_CTRL_BTN_FLAGS | 2, 2, 6, 2, LV_KB_CTRL_BTN_FLAGS | 2};
|
LV_KB_CTRL_BTN_FLAGS | 2, 2, 6, 2, LV_KB_CTRL_BTN_FLAGS | 2};
|
||||||
|
|
||||||
static const char * kb_map_uc[] = {"1#", "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", LV_SYMBOL_BACKSPACE, "\n",
|
static const char * kb_map_uc[] = {"1#", "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", LV_SYMBOL_BACKSPACE, "\n",
|
||||||
"abc", "A", "S", "D", "F", "G", "H", "J", "K", "L", LV_SYMBOL_NEW_LINE, "\n",
|
"abc", "A", "S", "D", "F", "G", "H", "J", "K", "L", LV_SYMBOL_NEW_LINE, "\n",
|
||||||
@ -52,32 +52,33 @@ static const char * kb_map_uc[] = {"1#", "Q", "W", "E", "R", "T", "Y", "U", "I",
|
|||||||
LV_SYMBOL_CLOSE, LV_SYMBOL_LEFT, " ", LV_SYMBOL_RIGHT, LV_SYMBOL_OK, ""};
|
LV_SYMBOL_CLOSE, LV_SYMBOL_LEFT, " ", LV_SYMBOL_RIGHT, LV_SYMBOL_OK, ""};
|
||||||
|
|
||||||
static const lv_btnm_ctrl_t kb_ctrl_uc_map[] = {
|
static const lv_btnm_ctrl_t kb_ctrl_uc_map[] = {
|
||||||
LV_KB_CTRL_BTN_FLAGS | 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 7,
|
LV_KB_CTRL_BTN_FLAGS | 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 7,
|
||||||
LV_KB_CTRL_BTN_FLAGS | 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7,
|
LV_KB_CTRL_BTN_FLAGS | 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7,
|
||||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||||
LV_KB_CTRL_BTN_FLAGS | 2, 2, 6, 2, LV_KB_CTRL_BTN_FLAGS | 2};
|
LV_KB_CTRL_BTN_FLAGS | 2, 2, 6, 2, LV_KB_CTRL_BTN_FLAGS | 2};
|
||||||
|
|
||||||
static const char * kb_map_spec[] = {"0", "1", "2", "3", "4" ,"5", "6", "7", "8", "9", ".", LV_SYMBOL_BACKSPACE, "\n",
|
static const char * kb_map_spec[] = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".", LV_SYMBOL_BACKSPACE, "\n",
|
||||||
"abc", "+", "-", "/", "*", "=", "%", "!", "?", "#", "<", ">", "\n",
|
"abc", "+", "-", "/", "*", "=", "%", "!", "?", "#", "<", ">", "\n",
|
||||||
"\\", "@", "$", "(", ")", "{", "}", "[", "]", ";", "\"", "'", "\n",
|
"\\", "@", "$", "(", ")", "{", "}", "[", "]", ";", "\"", "'", "\n",
|
||||||
LV_SYMBOL_CLOSE, LV_SYMBOL_LEFT, " ", LV_SYMBOL_RIGHT, LV_SYMBOL_OK, ""};
|
LV_SYMBOL_CLOSE, LV_SYMBOL_LEFT, " ", LV_SYMBOL_RIGHT, LV_SYMBOL_OK, ""};
|
||||||
|
|
||||||
static const lv_btnm_ctrl_t kb_ctrl_spec_map[] = {
|
static const lv_btnm_ctrl_t kb_ctrl_spec_map[] = {
|
||||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, LV_KB_CTRL_BTN_FLAGS | 2,
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, LV_KB_CTRL_BTN_FLAGS | 2,
|
||||||
LV_KB_CTRL_BTN_FLAGS | 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
LV_KB_CTRL_BTN_FLAGS | 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||||
LV_KB_CTRL_BTN_FLAGS | 2, 2, 6, 2, LV_KB_CTRL_BTN_FLAGS | 2};
|
LV_KB_CTRL_BTN_FLAGS | 2, 2, 6, 2, LV_KB_CTRL_BTN_FLAGS | 2};
|
||||||
|
|
||||||
static const lv_btnm_ctrl_t kb_ctrl_num_map[] = {
|
static const lv_btnm_ctrl_t kb_ctrl_num_map[] = {
|
||||||
1, 1, 1, LV_KB_CTRL_BTN_FLAGS | 2,
|
1, 1, 1, LV_KB_CTRL_BTN_FLAGS | 2,
|
||||||
1, 1, 1, LV_KB_CTRL_BTN_FLAGS | 2,
|
1, 1, 1, LV_KB_CTRL_BTN_FLAGS | 2,
|
||||||
1, 1, 1, 2,
|
1, 1, 1, 2,
|
||||||
1, 1, 1, 1, 1};
|
1, 1, 1, 1, 1
|
||||||
|
};
|
||||||
|
|
||||||
static void lv_kb_event_cb(lv_obj_t *kb, lv_event_t event) {
|
static void lv_kb_event_cb(lv_obj_t *kb, lv_event_t event) {
|
||||||
if (event != LV_EVENT_VALUE_CHANGED) return;
|
if (event != LV_EVENT_VALUE_CHANGED) return;
|
||||||
|
|
||||||
lv_kb_ext_t * ext = (lv_kb_ext_t * )lv_obj_get_ext_attr(kb);
|
lv_kb_ext_t *ext = (lv_kb_ext_t*)lv_obj_get_ext_attr(kb);
|
||||||
const uint16_t btn_id = lv_btnm_get_active_btn(kb);
|
const uint16_t btn_id = lv_btnm_get_active_btn(kb);
|
||||||
if (btn_id == LV_BTNM_BTN_NONE) return;
|
if (btn_id == LV_BTNM_BTN_NONE) return;
|
||||||
if (lv_btnm_get_btn_ctrl(kb, btn_id, LV_BTNM_CTRL_HIDDEN | LV_BTNM_CTRL_INACTIVE)) return;
|
if (lv_btnm_get_btn_ctrl(kb, btn_id, LV_BTNM_CTRL_HIDDEN | LV_BTNM_CTRL_INACTIVE)) return;
|
||||||
@ -120,12 +121,12 @@ static void lv_kb_event_cb(lv_obj_t *kb, lv_event_t event) {
|
|||||||
switch (keyboard_value) {
|
switch (keyboard_value) {
|
||||||
#if ENABLED(MKS_WIFI_MODULE)
|
#if ENABLED(MKS_WIFI_MODULE)
|
||||||
case wifiName:
|
case wifiName:
|
||||||
memcpy(uiCfg.wifi_name,ret_ta_txt,sizeof(uiCfg.wifi_name));
|
memcpy(uiCfg.wifi_name, ret_ta_txt, sizeof(uiCfg.wifi_name));
|
||||||
lv_clear_keyboard();
|
lv_clear_keyboard();
|
||||||
draw_return_ui();
|
draw_return_ui();
|
||||||
break;
|
break;
|
||||||
case wifiPassWord:
|
case wifiPassWord:
|
||||||
memcpy(uiCfg.wifi_key,ret_ta_txt,sizeof(uiCfg.wifi_name));
|
memcpy(uiCfg.wifi_key, ret_ta_txt, sizeof(uiCfg.wifi_name));
|
||||||
lv_clear_keyboard();
|
lv_clear_keyboard();
|
||||||
draw_return_ui();
|
draw_return_ui();
|
||||||
break;
|
break;
|
||||||
@ -157,8 +158,8 @@ static void lv_kb_event_cb(lv_obj_t *kb, lv_event_t event) {
|
|||||||
#endif // MKS_WIFI_MODULE
|
#endif // MKS_WIFI_MODULE
|
||||||
case autoLevelGcodeCommand:
|
case autoLevelGcodeCommand:
|
||||||
uint8_t buf[100];
|
uint8_t buf[100];
|
||||||
strncpy((char *)buf,ret_ta_txt,sizeof(buf));
|
strncpy((char *)buf, ret_ta_txt, sizeof(buf));
|
||||||
update_gcode_command(AUTO_LEVELING_COMMAND_ADDR,buf);
|
update_gcode_command(AUTO_LEVELING_COMMAND_ADDR, buf);
|
||||||
lv_clear_keyboard();
|
lv_clear_keyboard();
|
||||||
draw_return_ui();
|
draw_return_ui();
|
||||||
break;
|
break;
|
||||||
@ -176,7 +177,7 @@ static void lv_kb_event_cb(lv_obj_t *kb, lv_event_t event) {
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
lv_kb_set_ta(kb, nullptr); // De-assign the text area to hide it cursor if needed
|
lv_kb_set_ta(kb, nullptr); // De-assign the text area to hide it cursor if needed
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add the characters to the text area if set
|
// Add the characters to the text area if set
|
||||||
@ -223,16 +224,16 @@ void lv_draw_keyboard() {
|
|||||||
static lv_style_t rel_style, pr_style;
|
static lv_style_t rel_style, pr_style;
|
||||||
|
|
||||||
lv_style_copy(&rel_style, &lv_style_btn_rel);
|
lv_style_copy(&rel_style, &lv_style_btn_rel);
|
||||||
rel_style.body.radius = 0;
|
rel_style.body.radius = 0;
|
||||||
rel_style.body.border.width = 1;
|
rel_style.body.border.width = 1;
|
||||||
rel_style.body.main_color = lv_color_make(0xA9, 0x62, 0x1D);
|
rel_style.body.main_color = lv_color_make(0xA9, 0x62, 0x1D);
|
||||||
rel_style.body.grad_color = lv_color_make(0xA7, 0x59, 0x0E);
|
rel_style.body.grad_color = lv_color_make(0xA7, 0x59, 0x0E);
|
||||||
|
|
||||||
lv_style_copy(&pr_style, &lv_style_btn_pr);
|
lv_style_copy(&pr_style, &lv_style_btn_pr);
|
||||||
pr_style.body.radius = 0;
|
pr_style.body.radius = 0;
|
||||||
pr_style.body.border.width = 1;
|
pr_style.body.border.width = 1;
|
||||||
pr_style.body.main_color = lv_color_make(0x72, 0x42, 0x15);
|
pr_style.body.main_color = lv_color_make(0x72, 0x42, 0x15);
|
||||||
pr_style.body.grad_color = lv_color_make(0x6A, 0x3A, 0x0C);
|
pr_style.body.grad_color = lv_color_make(0x6A, 0x3A, 0x0C);
|
||||||
|
|
||||||
// Create a keyboard and apply the styles
|
// Create a keyboard and apply the styles
|
||||||
lv_obj_t *kb = lv_kb_create(scr, nullptr);
|
lv_obj_t *kb = lv_kb_create(scr, nullptr);
|
||||||
@ -251,9 +252,9 @@ void lv_draw_keyboard() {
|
|||||||
lv_obj_align(ta, nullptr, LV_ALIGN_IN_TOP_MID, 0, 10);
|
lv_obj_align(ta, nullptr, LV_ALIGN_IN_TOP_MID, 0, 10);
|
||||||
switch (keyboard_value) {
|
switch (keyboard_value) {
|
||||||
case autoLevelGcodeCommand:
|
case autoLevelGcodeCommand:
|
||||||
get_gcode_command(AUTO_LEVELING_COMMAND_ADDR,(uint8_t *)public_buf_m);
|
get_gcode_command(AUTO_LEVELING_COMMAND_ADDR, (uint8_t *)public_buf_m);
|
||||||
public_buf_m[sizeof(public_buf_m)-1] = 0;
|
public_buf_m[sizeof(public_buf_m) - 1] = '\0';
|
||||||
lv_ta_set_text(ta, public_buf_m);
|
lv_ta_set_text(ta, public_buf_m);
|
||||||
break;
|
break;
|
||||||
case GCodeCommand:
|
case GCodeCommand:
|
||||||
// Start with uppercase by default
|
// Start with uppercase by default
|
||||||
@ -261,7 +262,7 @@ void lv_draw_keyboard() {
|
|||||||
lv_btnm_set_ctrl_map(kb, kb_ctrl_uc_map);
|
lv_btnm_set_ctrl_map(kb, kb_ctrl_uc_map);
|
||||||
// Fallthrough
|
// Fallthrough
|
||||||
default:
|
default:
|
||||||
lv_ta_set_text(ta, "");
|
lv_ta_set_text(ta, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Assign the text area to the keyboard
|
// Assign the text area to the keyboard
|
||||||
@ -272,5 +273,4 @@ void lv_clear_keyboard() {
|
|||||||
lv_obj_del(scr);
|
lv_obj_del(scr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#endif // HAS_TFT_LVGL_UI
|
#endif // HAS_TFT_LVGL_UI
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" { /* C-declarations for C++ */
|
extern "C" { /* C-declarations for C++ */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void lv_draw_more();
|
void lv_draw_more();
|
||||||
|
@ -32,10 +32,17 @@
|
|||||||
|
|
||||||
static lv_obj_t *scr;
|
static lv_obj_t *scr;
|
||||||
extern lv_group_t* g;
|
extern lv_group_t* g;
|
||||||
static lv_obj_t *buttonType, *buttonStep;
|
static lv_obj_t *buttonType, *buttonStep, *buttonAdd, *buttonDec;
|
||||||
static lv_obj_t *labelType;
|
static lv_obj_t *labelType;
|
||||||
static lv_obj_t *labelStep;
|
static lv_obj_t *labelStep;
|
||||||
static lv_obj_t *tempText1;
|
static lv_obj_t *tempText1;
|
||||||
|
static lv_obj_t *btn_pla;
|
||||||
|
static lv_obj_t *btn_abs;
|
||||||
|
static lv_obj_t *label_abs;
|
||||||
|
static lv_obj_t *label_pla;
|
||||||
|
|
||||||
|
static lv_style_t btn_style_pre;
|
||||||
|
static lv_style_t btn_style_rel;
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
ID_P_ADD = 1,
|
ID_P_ADD = 1,
|
||||||
@ -43,7 +50,9 @@ enum {
|
|||||||
ID_P_TYPE,
|
ID_P_TYPE,
|
||||||
ID_P_STEP,
|
ID_P_STEP,
|
||||||
ID_P_OFF,
|
ID_P_OFF,
|
||||||
ID_P_RETURN
|
ID_P_RETURN,
|
||||||
|
ID_P_ABS,
|
||||||
|
ID_P_PLA
|
||||||
};
|
};
|
||||||
|
|
||||||
static void event_handler(lv_obj_t *obj, lv_event_t event) {
|
static void event_handler(lv_obj_t *obj, lv_event_t event) {
|
||||||
@ -55,10 +64,11 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) {
|
|||||||
thermalManager.temp_hotend[uiCfg.extruderIndex].target += uiCfg.stepHeat;
|
thermalManager.temp_hotend[uiCfg.extruderIndex].target += uiCfg.stepHeat;
|
||||||
if (uiCfg.extruderIndex == 0)
|
if (uiCfg.extruderIndex == 0)
|
||||||
max_target = HEATER_0_MAXTEMP - (WATCH_TEMP_INCREASE + TEMP_HYSTERESIS + 1);
|
max_target = HEATER_0_MAXTEMP - (WATCH_TEMP_INCREASE + TEMP_HYSTERESIS + 1);
|
||||||
#if HAS_MULTI_HOTEND
|
else {
|
||||||
else
|
#if HAS_MULTI_HOTEND
|
||||||
max_target = HEATER_1_MAXTEMP - (WATCH_TEMP_INCREASE + TEMP_HYSTERESIS + 1);
|
max_target = HEATER_1_MAXTEMP - (WATCH_TEMP_INCREASE + TEMP_HYSTERESIS + 1);
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
if (thermalManager.degTargetHotend(uiCfg.extruderIndex) > max_target)
|
if (thermalManager.degTargetHotend(uiCfg.extruderIndex) > max_target)
|
||||||
thermalManager.setTargetHotend(max_target, uiCfg.extruderIndex);
|
thermalManager.setTargetHotend(max_target, uiCfg.extruderIndex);
|
||||||
thermalManager.start_watching_hotend(uiCfg.extruderIndex);
|
thermalManager.start_watching_hotend(uiCfg.extruderIndex);
|
||||||
@ -83,16 +93,16 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) {
|
|||||||
thermalManager.setTargetHotend(0, uiCfg.extruderIndex);
|
thermalManager.setTargetHotend(0, uiCfg.extruderIndex);
|
||||||
thermalManager.start_watching_hotend(uiCfg.extruderIndex);
|
thermalManager.start_watching_hotend(uiCfg.extruderIndex);
|
||||||
}
|
}
|
||||||
#if HAS_HEATED_BED
|
else {
|
||||||
else {
|
#if HAS_HEATED_BED
|
||||||
if (thermalManager.degTargetBed() > uiCfg.stepHeat)
|
if (thermalManager.degTargetBed() > uiCfg.stepHeat)
|
||||||
thermalManager.temp_bed.target -= uiCfg.stepHeat;
|
thermalManager.temp_bed.target -= uiCfg.stepHeat;
|
||||||
else
|
else
|
||||||
thermalManager.setTargetBed(0);
|
thermalManager.setTargetBed(0);
|
||||||
|
|
||||||
thermalManager.start_watching_bed();
|
thermalManager.start_watching_bed();
|
||||||
}
|
#endif
|
||||||
#endif
|
}
|
||||||
disp_desire_temp();
|
disp_desire_temp();
|
||||||
break;
|
break;
|
||||||
case ID_P_TYPE:
|
case ID_P_TYPE:
|
||||||
@ -102,25 +112,24 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) {
|
|||||||
uiCfg.extruderIndex = 1;
|
uiCfg.extruderIndex = 1;
|
||||||
}
|
}
|
||||||
else if (uiCfg.extruderIndex == 1) {
|
else if (uiCfg.extruderIndex == 1) {
|
||||||
if (TEMP_SENSOR_BED != 0) {
|
if (ENABLED(HAS_HEATED_BED)) {
|
||||||
uiCfg.curTempType = 1;
|
uiCfg.curTempType = 1;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
uiCfg.curTempType = 0;
|
uiCfg.curTempType = 0;
|
||||||
uiCfg.extruderIndex = 0;
|
uiCfg.extruderIndex = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (uiCfg.extruderIndex == 0) {
|
else if (uiCfg.extruderIndex == 0) {
|
||||||
if (TEMP_SENSOR_BED != 0)
|
uiCfg.curTempType = TERN(HAS_HEATED_BED, 1, 0);
|
||||||
uiCfg.curTempType = 1;
|
|
||||||
else
|
|
||||||
uiCfg.curTempType = 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (uiCfg.curTempType == 1) {
|
else if (uiCfg.curTempType == 1) {
|
||||||
uiCfg.extruderIndex = 0;
|
uiCfg.extruderIndex = 0;
|
||||||
uiCfg.curTempType = 0;
|
uiCfg.curTempType = 0;
|
||||||
|
disp_add_dec();
|
||||||
|
disp_ext_heart();
|
||||||
}
|
}
|
||||||
disp_temp_type();
|
disp_temp_type();
|
||||||
break;
|
break;
|
||||||
@ -138,30 +147,44 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) {
|
|||||||
thermalManager.setTargetHotend(0, uiCfg.extruderIndex);
|
thermalManager.setTargetHotend(0, uiCfg.extruderIndex);
|
||||||
thermalManager.start_watching_hotend(uiCfg.extruderIndex);
|
thermalManager.start_watching_hotend(uiCfg.extruderIndex);
|
||||||
}
|
}
|
||||||
#if HAS_HEATED_BED
|
else {
|
||||||
else {
|
#if HAS_HEATED_BED
|
||||||
thermalManager.temp_bed.target = 0;
|
thermalManager.temp_bed.target = 0;
|
||||||
thermalManager.start_watching_bed();
|
thermalManager.start_watching_bed();
|
||||||
}
|
#endif
|
||||||
#endif
|
}
|
||||||
disp_desire_temp();
|
disp_desire_temp();
|
||||||
break;
|
break;
|
||||||
case ID_P_RETURN:
|
case ID_P_RETURN:
|
||||||
clear_cur_ui();
|
clear_cur_ui();
|
||||||
draw_return_ui();
|
draw_return_ui();
|
||||||
break;
|
break;
|
||||||
|
case ID_P_ABS:
|
||||||
|
thermalManager.setTargetHotend(PREHEAT_2_TEMP_HOTEND, 0);
|
||||||
|
break;
|
||||||
|
case ID_P_PLA:
|
||||||
|
thermalManager.setTargetHotend(PREHEAT_1_TEMP_HOTEND, 0);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void disp_add_dec() {
|
||||||
|
// Create image buttons
|
||||||
|
buttonAdd = lv_big_button_create(scr, "F:/bmp_Add.bin", preheat_menu.add, INTERVAL_V, titleHeight, event_handler, ID_P_ADD);
|
||||||
|
buttonDec = lv_big_button_create(scr, "F:/bmp_Dec.bin", preheat_menu.dec, BTN_X_PIXEL * 3 + INTERVAL_V * 4, titleHeight, event_handler, ID_P_DEC);
|
||||||
|
}
|
||||||
|
|
||||||
void lv_draw_preHeat() {
|
void lv_draw_preHeat() {
|
||||||
scr = lv_screen_create(PRE_HEAT_UI);
|
scr = lv_screen_create(PRE_HEAT_UI);
|
||||||
|
|
||||||
// Create image buttons
|
// Create image buttons
|
||||||
lv_big_button_create(scr, "F:/bmp_Add.bin", preheat_menu.add, INTERVAL_V, titleHeight, event_handler, ID_P_ADD);
|
disp_add_dec();
|
||||||
lv_big_button_create(scr, "F:/bmp_Dec.bin", preheat_menu.dec, BTN_X_PIXEL * 3 + INTERVAL_V * 4, titleHeight, event_handler, ID_P_DEC);
|
|
||||||
|
|
||||||
buttonType = lv_imgbtn_create(scr, nullptr, INTERVAL_V, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_P_TYPE);
|
buttonType = lv_imgbtn_create(scr, nullptr, INTERVAL_V, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_P_TYPE);
|
||||||
buttonStep = lv_imgbtn_create(scr, nullptr, BTN_X_PIXEL + INTERVAL_V * 2, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_P_STEP);
|
buttonStep = lv_imgbtn_create(scr, nullptr, BTN_X_PIXEL + INTERVAL_V * 2, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_P_STEP);
|
||||||
|
|
||||||
|
if (uiCfg.curTempType == 0) disp_ext_heart();
|
||||||
|
|
||||||
#if HAS_ROTARY_ENCODER
|
#if HAS_ROTARY_ENCODER
|
||||||
if (gCfgItems.encoder_enable) {
|
if (gCfgItems.encoder_enable) {
|
||||||
lv_group_add_obj(g, buttonType);
|
lv_group_add_obj(g, buttonType);
|
||||||
@ -184,26 +207,38 @@ void lv_draw_preHeat() {
|
|||||||
disp_desire_temp();
|
disp_desire_temp();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void disp_ext_heart() {
|
||||||
|
btn_abs = lv_btn_create(scr, 160, 40, 80, 40, event_handler, ID_P_ABS);
|
||||||
|
btn_pla = lv_btn_create(scr, 260, 40, 80, 40, event_handler, ID_P_PLA);
|
||||||
|
|
||||||
|
lv_btn_set_style(btn_abs, LV_BTN_STYLE_PR, &btn_style_pre);
|
||||||
|
lv_btn_set_style(btn_abs, LV_BTN_STYLE_REL, &btn_style_rel);
|
||||||
|
lv_btn_set_style(btn_pla, LV_BTN_STYLE_PR, &btn_style_pre);
|
||||||
|
lv_btn_set_style(btn_pla, LV_BTN_STYLE_REL, &btn_style_rel);
|
||||||
|
|
||||||
|
label_abs = lv_label_create(btn_abs, PREHEAT_2_LABEL);
|
||||||
|
label_pla = lv_label_create(btn_pla, PREHEAT_1_LABEL);
|
||||||
|
}
|
||||||
|
|
||||||
void disp_temp_type() {
|
void disp_temp_type() {
|
||||||
if (uiCfg.curTempType == 0) {
|
if (uiCfg.curTempType == 0) {
|
||||||
if (uiCfg.extruderIndex == 1) {
|
if (uiCfg.extruderIndex == 1) {
|
||||||
lv_imgbtn_set_src_both(buttonType, "F:/bmp_extru2.bin");
|
lv_imgbtn_set_src_both(buttonType, "F:/bmp_extru2.bin");
|
||||||
if (gCfgItems.multiple_language) {
|
if (gCfgItems.multiple_language) {
|
||||||
lv_label_set_text(labelType, preheat_menu.ext2);
|
lv_label_set_text(labelType, preheat_menu.ext2);
|
||||||
lv_obj_align(labelType, buttonType, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET);
|
lv_obj_align(labelType, buttonType, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
lv_imgbtn_set_src_both(buttonType, "F:/bmp_extru1.bin");
|
lv_imgbtn_set_src_both(buttonType, "F:/bmp_extru1.bin");
|
||||||
if (gCfgItems.multiple_language) {
|
if (gCfgItems.multiple_language) {
|
||||||
lv_label_set_text(labelType, preheat_menu.ext1);
|
lv_label_set_text(labelType, preheat_menu.ext1);
|
||||||
lv_obj_align(labelType, buttonType, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET);
|
lv_obj_align(labelType, buttonType, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
lv_imgbtn_set_src_both(buttonType, "F:/bmp_bed.bin");
|
lv_imgbtn_set_src_both(buttonType, "F:/bmp_bed.bin");
|
||||||
if (gCfgItems.multiple_language) {
|
if (gCfgItems.multiple_language) {
|
||||||
lv_label_set_text(labelType, preheat_menu.hotbed);
|
lv_label_set_text(labelType, preheat_menu.hotbed);
|
||||||
lv_obj_align(labelType, buttonType, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET);
|
lv_obj_align(labelType, buttonType, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET);
|
||||||
|
@ -30,6 +30,8 @@ void lv_clear_preHeat();
|
|||||||
void disp_temp_type();
|
void disp_temp_type();
|
||||||
void disp_step_heat();
|
void disp_step_heat();
|
||||||
void disp_desire_temp();
|
void disp_desire_temp();
|
||||||
|
void disp_ext_heart();
|
||||||
|
void disp_add_dec();
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
} /* C-declarations for C++ */
|
} /* C-declarations for C++ */
|
||||||
|
@ -160,8 +160,8 @@ void lv_draw_printing() {
|
|||||||
|
|
||||||
buttonZpos = lv_imgbtn_create(scr, "F:/bmp_zpos_state.bin", 350, 86, event_handler, ID_BABYSTEP);
|
buttonZpos = lv_imgbtn_create(scr, "F:/bmp_zpos_state.bin", 350, 86, event_handler, ID_BABYSTEP);
|
||||||
|
|
||||||
buttonPause = lv_imgbtn_create(scr, uiCfg.print_state == WORKING ? "F:/bmp_pause.bin" : "F:/bmp_resume.bin", 5, 240, event_handler, ID_PAUSE);
|
buttonPause = lv_imgbtn_create(scr, uiCfg.print_state == WORKING ? "F:/bmp_pause.bin" : "F:/bmp_resume.bin", 5, 240, event_handler, ID_PAUSE);
|
||||||
buttonStop = lv_imgbtn_create(scr, "F:/bmp_stop.bin", 165, 240, event_handler, ID_STOP);
|
buttonStop = lv_imgbtn_create(scr, "F:/bmp_stop.bin", 165, 240, event_handler, ID_STOP);
|
||||||
buttonOperat = lv_imgbtn_create(scr, "F:/bmp_operate.bin", 325, 240, event_handler, ID_OPTION);
|
buttonOperat = lv_imgbtn_create(scr, "F:/bmp_operate.bin", 325, 240, event_handler, ID_OPTION);
|
||||||
|
|
||||||
#if HAS_ROTARY_ENCODER
|
#if HAS_ROTARY_ENCODER
|
||||||
@ -185,7 +185,7 @@ void lv_draw_printing() {
|
|||||||
labelBed = lv_label_create(scr, 250, 196, nullptr);
|
labelBed = lv_label_create(scr, 250, 196, nullptr);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
labelFan = lv_label_create(scr, 395, 196, nullptr);
|
labelFan = lv_label_create(scr, 395, 196, nullptr);
|
||||||
labelTime = lv_label_create(scr, 250, 96, nullptr);
|
labelTime = lv_label_create(scr, 250, 96, nullptr);
|
||||||
labelZpos = lv_label_create(scr, 395, 96, nullptr);
|
labelZpos = lv_label_create(scr, 395, 96, nullptr);
|
||||||
|
|
||||||
@ -210,8 +210,8 @@ void lv_draw_printing() {
|
|||||||
lv_bar_set_style(bar1, LV_BAR_STYLE_INDIC, &lv_bar_style_indic);
|
lv_bar_set_style(bar1, LV_BAR_STYLE_INDIC, &lv_bar_style_indic);
|
||||||
lv_bar_set_anim_time(bar1, 1000);
|
lv_bar_set_anim_time(bar1, 1000);
|
||||||
lv_bar_set_value(bar1, 0, LV_ANIM_ON);
|
lv_bar_set_value(bar1, 0, LV_ANIM_ON);
|
||||||
bar1ValueText = lv_label_create_empty(bar1);
|
bar1ValueText = lv_label_create_empty(bar1);
|
||||||
lv_label_set_text(bar1ValueText,"0%");
|
lv_label_set_text(bar1ValueText, "0%");
|
||||||
lv_obj_align(bar1ValueText, bar1, LV_ALIGN_CENTER, 0, 0);
|
lv_obj_align(bar1ValueText, bar1, LV_ALIGN_CENTER, 0, 0);
|
||||||
|
|
||||||
disp_ext_temp();
|
disp_ext_temp();
|
||||||
@ -291,7 +291,7 @@ void setProBarRate() {
|
|||||||
if (disp_state == PRINTING_UI) {
|
if (disp_state == PRINTING_UI) {
|
||||||
lv_bar_set_value(bar1, rate, LV_ANIM_ON);
|
lv_bar_set_value(bar1, rate, LV_ANIM_ON);
|
||||||
sprintf_P(public_buf_l, "%d%%", rate);
|
sprintf_P(public_buf_l, "%d%%", rate);
|
||||||
lv_label_set_text(bar1ValueText,public_buf_l);
|
lv_label_set_text(bar1ValueText, public_buf_l);
|
||||||
lv_obj_align(bar1ValueText, bar1, LV_ALIGN_CENTER, 0, 0);
|
lv_obj_align(bar1ValueText, bar1, LV_ALIGN_CENTER, 0, 0);
|
||||||
|
|
||||||
if (marlin_state == MF_SD_COMPLETE) {
|
if (marlin_state == MF_SD_COMPLETE) {
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
#include "mks_hardware.h"
|
#include "mks_hardware.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#define ICON_POS_Y 38
|
#define ICON_POS_Y 260
|
||||||
#define TARGET_LABEL_MOD_Y -36
|
#define TARGET_LABEL_MOD_Y -36
|
||||||
#define LABEL_MOD_Y 30
|
#define LABEL_MOD_Y 30
|
||||||
|
|
||||||
@ -183,16 +183,16 @@ void lv_draw_ready_print() {
|
|||||||
lv_label_set_text(det_info, " ");
|
lv_label_set_text(det_info, " ");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
lv_big_button_create(scr, "F:/bmp_tool.bin", main_menu.tool, 20, 150, event_handler, ID_TOOL);
|
lv_big_button_create(scr, "F:/bmp_tool.bin", main_menu.tool, 20, 90, event_handler, ID_TOOL);
|
||||||
lv_big_button_create(scr, "F:/bmp_set.bin", main_menu.set, 180, 150, event_handler, ID_SET);
|
lv_big_button_create(scr, "F:/bmp_set.bin", main_menu.set, 180, 90, event_handler, ID_SET);
|
||||||
lv_big_button_create(scr, "F:/bmp_printing.bin", main_menu.print, 340, 150, event_handler, ID_PRINT);
|
lv_big_button_create(scr, "F:/bmp_printing.bin", main_menu.print, 340, 90, event_handler, ID_PRINT);
|
||||||
|
|
||||||
// Monitoring
|
// Monitoring
|
||||||
#if HAS_HOTEND
|
#if HAS_HOTEND
|
||||||
buttonExt1 = lv_big_button_create(scr, "F:/bmp_ext1_state.bin", " ", 55, ICON_POS_Y, event_handler, ID_INFO_EXT);
|
buttonExt1 = lv_big_button_create(scr, "F:/bmp_ext1_state.bin", " ", 20, ICON_POS_Y, event_handler, ID_INFO_EXT);
|
||||||
#endif
|
#endif
|
||||||
#if HAS_MULTI_HOTEND
|
#if HAS_MULTI_HOTEND
|
||||||
buttonExt2 = lv_big_button_create(scr, "F:/bmp_ext2_state.bin", " ", 163, ICON_POS_Y, event_handler, ID_INFO_EXT);
|
buttonExt2 = lv_big_button_create(scr, "F:/bmp_ext2_state.bin", " ", 180, ICON_POS_Y, event_handler, ID_INFO_EXT);
|
||||||
#endif
|
#endif
|
||||||
#if HAS_HEATED_BED
|
#if HAS_HEATED_BED
|
||||||
buttonBedstate = lv_big_button_create(scr, "F:/bmp_bed_state.bin", " ", TERN(HAS_MULTI_HOTEND, 271, 210), ICON_POS_Y, event_handler, ID_INFO_BED);
|
buttonBedstate = lv_big_button_create(scr, "F:/bmp_bed_state.bin", " ", TERN(HAS_MULTI_HOTEND, 271, 210), ICON_POS_Y, event_handler, ID_INFO_BED);
|
||||||
@ -219,22 +219,22 @@ void lv_temp_refr() {
|
|||||||
#if HAS_HOTEND
|
#if HAS_HOTEND
|
||||||
sprintf(public_buf_l, printing_menu.temp1, thermalManager.wholeDegHotend(0), thermalManager.degTargetHotend(0));
|
sprintf(public_buf_l, printing_menu.temp1, thermalManager.wholeDegHotend(0), thermalManager.degTargetHotend(0));
|
||||||
lv_label_set_text(labelExt1, public_buf_l);
|
lv_label_set_text(labelExt1, public_buf_l);
|
||||||
lv_obj_align(labelExt1, buttonExt1, LV_ALIGN_OUT_BOTTOM_MID, 0, 0);
|
lv_obj_align(labelExt1, buttonExt1, LV_ALIGN_OUT_RIGHT_MID, 0, 0);
|
||||||
#endif
|
#endif
|
||||||
#if HAS_MULTI_HOTEND
|
#if HAS_MULTI_HOTEND
|
||||||
sprintf(public_buf_l, printing_menu.temp1, thermalManager.wholeDegHotend(1), thermalManager.degTargetHotend(1));
|
sprintf(public_buf_l, printing_menu.temp1, thermalManager.wholeDegHotend(1), thermalManager.degTargetHotend(1));
|
||||||
lv_label_set_text(labelExt2, public_buf_l);
|
lv_label_set_text(labelExt2, public_buf_l);
|
||||||
lv_obj_align(labelExt2, buttonExt2, LV_ALIGN_OUT_BOTTOM_MID, 0, 0);
|
lv_obj_align(labelExt2, buttonExt2, LV_ALIGN_OUT_RIGHT_MID, 0, 0);
|
||||||
#endif
|
#endif
|
||||||
#if HAS_HEATED_BED
|
#if HAS_HEATED_BED
|
||||||
sprintf(public_buf_l, printing_menu.bed_temp, thermalManager.wholeDegBed(), thermalManager.degTargetBed());
|
sprintf(public_buf_l, printing_menu.bed_temp, thermalManager.wholeDegBed(), thermalManager.degTargetBed());
|
||||||
lv_label_set_text(labelBed, public_buf_l);
|
lv_label_set_text(labelBed, public_buf_l);
|
||||||
lv_obj_align(labelBed, buttonBedstate, LV_ALIGN_OUT_BOTTOM_MID, 0, 0);
|
lv_obj_align(labelBed, buttonBedstate, LV_ALIGN_OUT_RIGHT_MID, 0, 0);
|
||||||
#endif
|
#endif
|
||||||
#if HAS_FAN
|
#if HAS_FAN
|
||||||
sprintf_P(public_buf_l, PSTR("%d%%"), (int)thermalManager.fanSpeedPercent(0));
|
sprintf_P(public_buf_l, PSTR("%d%%"), (int)thermalManager.fanSpeedPercent(0));
|
||||||
lv_label_set_text(labelFan, public_buf_l);
|
lv_label_set_text(labelFan, public_buf_l);
|
||||||
lv_obj_align(labelFan, buttonFanstate, LV_ALIGN_OUT_BOTTOM_MID, 0, 0);
|
lv_obj_align(labelFan, buttonFanstate, LV_ALIGN_OUT_RIGHT_MID, 0, 0);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -104,16 +104,16 @@ void lv_draw_tmc_step_mode_settings() {
|
|||||||
scr = lv_screen_create(TMC_MODE_UI, machine_menu.TmcStepModeConfTitle);
|
scr = lv_screen_create(TMC_MODE_UI, machine_menu.TmcStepModeConfTitle);
|
||||||
|
|
||||||
bool stealth_X = false, stealth_Y = false, stealth_Z = false, stealth_E0 = false, stealth_E1 = false;
|
bool stealth_X = false, stealth_Y = false, stealth_Z = false, stealth_E0 = false, stealth_E1 = false;
|
||||||
TERN_(X_HAS_STEALTHCHOP, stealth_X = stepperX.get_stealthChop());
|
TERN_(X_HAS_STEALTHCHOP, stealth_X = stepperX.get_stealthChop());
|
||||||
TERN_(Y_HAS_STEALTHCHOP, stealth_Y = stepperY.get_stealthChop());
|
TERN_(Y_HAS_STEALTHCHOP, stealth_Y = stepperY.get_stealthChop());
|
||||||
TERN_(Z_HAS_STEALTHCHOP, stealth_Z = stepperZ.get_stealthChop());
|
TERN_(Z_HAS_STEALTHCHOP, stealth_Z = stepperZ.get_stealthChop());
|
||||||
TERN_(E0_HAS_STEALTHCHOP, stealth_E0 = stepperE0.get_stealthChop());
|
TERN_(E0_HAS_STEALTHCHOP, stealth_E0 = stepperE0.get_stealthChop());
|
||||||
TERN_(E1_HAS_STEALTHCHOP, stealth_E1 = stepperE1.get_stealthChop());
|
TERN_(E1_HAS_STEALTHCHOP, stealth_E1 = stepperE1.get_stealthChop());
|
||||||
|
|
||||||
if (!uiCfg.para_ui_page) {
|
if (!uiCfg.para_ui_page) {
|
||||||
buttonXState = lv_screen_menu_item_onoff(scr, machine_menu.X_StepMode, PARA_UI_POS_X, PARA_UI_POS_Y, event_handler, ID_TMC_MODE_X, 0, stealth_X);
|
buttonXState = lv_screen_menu_item_onoff(scr, machine_menu.X_StepMode, PARA_UI_POS_X, PARA_UI_POS_Y, event_handler, ID_TMC_MODE_X, 0, stealth_X);
|
||||||
buttonYState = lv_screen_menu_item_onoff(scr, machine_menu.Y_StepMode, PARA_UI_POS_X, PARA_UI_POS_Y * 2, event_handler, ID_TMC_MODE_Y, 1, stealth_Y);
|
buttonYState = lv_screen_menu_item_onoff(scr, machine_menu.Y_StepMode, PARA_UI_POS_X, PARA_UI_POS_Y * 2, event_handler, ID_TMC_MODE_Y, 1, stealth_Y);
|
||||||
buttonZState = lv_screen_menu_item_onoff(scr, machine_menu.Z_StepMode, PARA_UI_POS_X, PARA_UI_POS_Y * 3, event_handler, ID_TMC_MODE_Z, 2, stealth_Z);
|
buttonZState = lv_screen_menu_item_onoff(scr, machine_menu.Z_StepMode, PARA_UI_POS_X, PARA_UI_POS_Y * 3, event_handler, ID_TMC_MODE_Z, 2, stealth_Z);
|
||||||
buttonE0State = lv_screen_menu_item_onoff(scr, machine_menu.E0_StepMode, PARA_UI_POS_X, PARA_UI_POS_Y * 4, event_handler, ID_TMC_MODE_E0, 2, stealth_E0);
|
buttonE0State = lv_screen_menu_item_onoff(scr, machine_menu.E0_StepMode, PARA_UI_POS_X, PARA_UI_POS_Y * 4, event_handler, ID_TMC_MODE_E0, 2, stealth_E0);
|
||||||
lv_big_button_create(scr, "F:/bmp_back70x40.bin", machine_menu.next, PARA_UI_TURN_PAGE_POS_X, PARA_UI_TURN_PAGE_POS_Y, event_handler, ID_TMC_MODE_DOWN, true);
|
lv_big_button_create(scr, "F:/bmp_back70x40.bin", machine_menu.next, PARA_UI_TURN_PAGE_POS_X, PARA_UI_TURN_PAGE_POS_Y, event_handler, ID_TMC_MODE_DOWN, true);
|
||||||
}
|
}
|
||||||
|
@ -60,8 +60,8 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) {
|
|||||||
case ID_T_HOME: lv_draw_home(); break;
|
case ID_T_HOME: lv_draw_home(); break;
|
||||||
case ID_T_LEVELING:
|
case ID_T_LEVELING:
|
||||||
#if ENABLED(AUTO_BED_LEVELING_BILINEAR)
|
#if ENABLED(AUTO_BED_LEVELING_BILINEAR)
|
||||||
get_gcode_command(AUTO_LEVELING_COMMAND_ADDR,(uint8_t *)public_buf_m);
|
get_gcode_command(AUTO_LEVELING_COMMAND_ADDR, (uint8_t *)public_buf_m);
|
||||||
public_buf_m[sizeof(public_buf_m)-1] = 0;
|
public_buf_m[sizeof(public_buf_m) - 1] = 0;
|
||||||
queue.inject_P(PSTR(public_buf_m));
|
queue.inject_P(PSTR(public_buf_m));
|
||||||
#else
|
#else
|
||||||
uiCfg.leveling_first_time = true;
|
uiCfg.leveling_first_time = true;
|
||||||
@ -89,7 +89,7 @@ void lv_draw_tool() {
|
|||||||
lv_big_button_create(scr, "F:/bmp_mov.bin", tool_menu.move, BTN_X_PIXEL * 2 + INTERVAL_V * 3, titleHeight, event_handler, ID_T_MOV);
|
lv_big_button_create(scr, "F:/bmp_mov.bin", tool_menu.move, BTN_X_PIXEL * 2 + INTERVAL_V * 3, titleHeight, event_handler, ID_T_MOV);
|
||||||
lv_big_button_create(scr, "F:/bmp_zero.bin", tool_menu.home, BTN_X_PIXEL * 3 + INTERVAL_V * 4, titleHeight, event_handler, ID_T_HOME);
|
lv_big_button_create(scr, "F:/bmp_zero.bin", tool_menu.home, BTN_X_PIXEL * 3 + INTERVAL_V * 4, titleHeight, event_handler, ID_T_HOME);
|
||||||
lv_big_button_create(scr, "F:/bmp_leveling.bin", tool_menu.TERN(AUTO_BED_LEVELING_BILINEAR, autoleveling, leveling), INTERVAL_V, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_T_LEVELING);
|
lv_big_button_create(scr, "F:/bmp_leveling.bin", tool_menu.TERN(AUTO_BED_LEVELING_BILINEAR, autoleveling, leveling), INTERVAL_V, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_T_LEVELING);
|
||||||
lv_big_button_create(scr, "F:/bmp_filamentchange.bin", tool_menu.filament, BTN_X_PIXEL+INTERVAL_V*2,BTN_Y_PIXEL+INTERVAL_H+titleHeight, event_handler,ID_T_FILAMENT);
|
lv_big_button_create(scr, "F:/bmp_filamentchange.bin", tool_menu.filament, BTN_X_PIXEL + INTERVAL_V * 2, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_T_FILAMENT);
|
||||||
lv_big_button_create(scr, "F:/bmp_more.bin", tool_menu.more, BTN_X_PIXEL * 2 + INTERVAL_V * 3, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_T_MORE);
|
lv_big_button_create(scr, "F:/bmp_more.bin", tool_menu.more, BTN_X_PIXEL * 2 + INTERVAL_V * 3, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_T_MORE);
|
||||||
lv_big_button_create(scr, "F:/bmp_return.bin", common_menu.text_back, BTN_X_PIXEL * 3 + INTERVAL_V * 4, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_T_RETURN);
|
lv_big_button_create(scr, "F:/bmp_return.bin", common_menu.text_back, BTN_X_PIXEL * 3 + INTERVAL_V * 4, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_T_RETURN);
|
||||||
}
|
}
|
||||||
|
@ -71,9 +71,9 @@ void lv_update_touch_calibration_screen() {
|
|||||||
if (calibration_stage < CALIBRATION_SUCCESS) {
|
if (calibration_stage < CALIBRATION_SUCCESS) {
|
||||||
// handle current state
|
// handle current state
|
||||||
switch (calibration_stage) {
|
switch (calibration_stage) {
|
||||||
case CALIBRATION_TOP_LEFT: str = GET_TEXT(MSG_TOP_LEFT); break;
|
case CALIBRATION_TOP_LEFT: str = GET_TEXT(MSG_TOP_LEFT); break;
|
||||||
case CALIBRATION_BOTTOM_LEFT: str = GET_TEXT(MSG_BOTTOM_LEFT); break;
|
case CALIBRATION_BOTTOM_LEFT: str = GET_TEXT(MSG_BOTTOM_LEFT); break;
|
||||||
case CALIBRATION_TOP_RIGHT: str = GET_TEXT(MSG_TOP_RIGHT); break;
|
case CALIBRATION_TOP_RIGHT: str = GET_TEXT(MSG_TOP_RIGHT); break;
|
||||||
case CALIBRATION_BOTTOM_RIGHT: str = GET_TEXT(MSG_BOTTOM_RIGHT); break;
|
case CALIBRATION_BOTTOM_RIGHT: str = GET_TEXT(MSG_BOTTOM_RIGHT); break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
@ -159,7 +159,7 @@ void gCfgItems_init() {
|
|||||||
gCfgItems.spi_flash_flag = FLASH_INF_VALID_FLAG;
|
gCfgItems.spi_flash_flag = FLASH_INF_VALID_FLAG;
|
||||||
W25QXX.SPI_FLASH_SectorErase(VAR_INF_ADDR);
|
W25QXX.SPI_FLASH_SectorErase(VAR_INF_ADDR);
|
||||||
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&gCfgItems, VAR_INF_ADDR, sizeof(gCfgItems));
|
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&gCfgItems, VAR_INF_ADDR, sizeof(gCfgItems));
|
||||||
//init gcode command
|
// init gcode command
|
||||||
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&custom_gcode_command[0], AUTO_LEVELING_COMMAND_ADDR, 100);
|
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&custom_gcode_command[0], AUTO_LEVELING_COMMAND_ADDR, 100);
|
||||||
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&custom_gcode_command[1], OTHERS_COMMAND_ADDR_1, 100);
|
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&custom_gcode_command[1], OTHERS_COMMAND_ADDR_1, 100);
|
||||||
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&custom_gcode_command[2], OTHERS_COMMAND_ADDR_2, 100);
|
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&custom_gcode_command[2], OTHERS_COMMAND_ADDR_2, 100);
|
||||||
@ -208,7 +208,7 @@ void ui_cfg_init() {
|
|||||||
memset(&ipPara, 0, sizeof(ipPara));
|
memset(&ipPara, 0, sizeof(ipPara));
|
||||||
strcpy_P(wifiPara.ap_name, PSTR(WIFI_AP_NAME));
|
strcpy_P(wifiPara.ap_name, PSTR(WIFI_AP_NAME));
|
||||||
strcpy_P(wifiPara.keyCode, PSTR(WIFI_KEY_CODE));
|
strcpy_P(wifiPara.keyCode, PSTR(WIFI_KEY_CODE));
|
||||||
//client
|
// client
|
||||||
strcpy_P(ipPara.ip_addr, PSTR(IP_ADDR));
|
strcpy_P(ipPara.ip_addr, PSTR(IP_ADDR));
|
||||||
strcpy_P(ipPara.mask, PSTR(IP_MASK));
|
strcpy_P(ipPara.mask, PSTR(IP_MASK));
|
||||||
strcpy_P(ipPara.gate, PSTR(IP_GATE));
|
strcpy_P(ipPara.gate, PSTR(IP_GATE));
|
||||||
@ -216,7 +216,7 @@ void ui_cfg_init() {
|
|||||||
|
|
||||||
ipPara.dhcp_flag = IP_DHCP_FLAG;
|
ipPara.dhcp_flag = IP_DHCP_FLAG;
|
||||||
|
|
||||||
//AP
|
// AP
|
||||||
strcpy_P(ipPara.dhcpd_ip, PSTR(AP_IP_ADDR));
|
strcpy_P(ipPara.dhcpd_ip, PSTR(AP_IP_ADDR));
|
||||||
strcpy_P(ipPara.dhcpd_mask, PSTR(AP_IP_MASK));
|
strcpy_P(ipPara.dhcpd_mask, PSTR(AP_IP_MASK));
|
||||||
strcpy_P(ipPara.dhcpd_gate, PSTR(AP_IP_GATE));
|
strcpy_P(ipPara.dhcpd_gate, PSTR(AP_IP_GATE));
|
||||||
@ -238,33 +238,33 @@ void update_spi_flash() {
|
|||||||
uint8_t command_buf[512];
|
uint8_t command_buf[512];
|
||||||
|
|
||||||
W25QXX.init(SPI_QUARTER_SPEED);
|
W25QXX.init(SPI_QUARTER_SPEED);
|
||||||
//read back the gcode command before erase spi flash
|
// read back the gcode command before erase spi flash
|
||||||
W25QXX.SPI_FLASH_BufferRead((uint8_t *)&command_buf, GCODE_COMMAND_ADDR, sizeof(command_buf));
|
W25QXX.SPI_FLASH_BufferRead((uint8_t *)&command_buf, GCODE_COMMAND_ADDR, sizeof(command_buf));
|
||||||
W25QXX.SPI_FLASH_SectorErase(VAR_INF_ADDR);
|
W25QXX.SPI_FLASH_SectorErase(VAR_INF_ADDR);
|
||||||
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&gCfgItems, VAR_INF_ADDR, sizeof(gCfgItems));
|
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&gCfgItems, VAR_INF_ADDR, sizeof(gCfgItems));
|
||||||
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&command_buf, GCODE_COMMAND_ADDR, sizeof(command_buf));
|
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&command_buf, GCODE_COMMAND_ADDR, sizeof(command_buf));
|
||||||
}
|
}
|
||||||
|
|
||||||
void update_gcode_command(int addr,uint8_t *s) {
|
void update_gcode_command(int addr, uint8_t *s) {
|
||||||
uint8_t command_buf[512];
|
uint8_t command_buf[512];
|
||||||
|
|
||||||
W25QXX.init(SPI_QUARTER_SPEED);
|
W25QXX.init(SPI_QUARTER_SPEED);
|
||||||
//read back the gcode command before erase spi flash
|
// read back the gcode command before erase spi flash
|
||||||
W25QXX.SPI_FLASH_BufferRead((uint8_t *)&command_buf, GCODE_COMMAND_ADDR, sizeof(command_buf));
|
W25QXX.SPI_FLASH_BufferRead((uint8_t *)&command_buf, GCODE_COMMAND_ADDR, sizeof(command_buf));
|
||||||
W25QXX.SPI_FLASH_SectorErase(VAR_INF_ADDR);
|
W25QXX.SPI_FLASH_SectorErase(VAR_INF_ADDR);
|
||||||
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&gCfgItems, VAR_INF_ADDR, sizeof(gCfgItems));
|
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&gCfgItems, VAR_INF_ADDR, sizeof(gCfgItems));
|
||||||
switch (addr) {
|
switch (addr) {
|
||||||
case AUTO_LEVELING_COMMAND_ADDR: memcpy(&command_buf[0*100], s, 100); break;
|
case AUTO_LEVELING_COMMAND_ADDR: memcpy(&command_buf[0 * 100], s, 100); break;
|
||||||
case OTHERS_COMMAND_ADDR_1: memcpy(&command_buf[1*100], s, 100); break;
|
case OTHERS_COMMAND_ADDR_1: memcpy(&command_buf[1 * 100], s, 100); break;
|
||||||
case OTHERS_COMMAND_ADDR_2: memcpy(&command_buf[2*100], s, 100); break;
|
case OTHERS_COMMAND_ADDR_2: memcpy(&command_buf[2 * 100], s, 100); break;
|
||||||
case OTHERS_COMMAND_ADDR_3: memcpy(&command_buf[3*100], s, 100); break;
|
case OTHERS_COMMAND_ADDR_3: memcpy(&command_buf[3 * 100], s, 100); break;
|
||||||
case OTHERS_COMMAND_ADDR_4: memcpy(&command_buf[4*100], s, 100); break;
|
case OTHERS_COMMAND_ADDR_4: memcpy(&command_buf[4 * 100], s, 100); break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&command_buf, GCODE_COMMAND_ADDR, sizeof(command_buf));
|
W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&command_buf, GCODE_COMMAND_ADDR, sizeof(command_buf));
|
||||||
}
|
}
|
||||||
|
|
||||||
void get_gcode_command(int addr,uint8_t *d) {
|
void get_gcode_command(int addr, uint8_t *d) {
|
||||||
W25QXX.init(SPI_QUARTER_SPEED);
|
W25QXX.init(SPI_QUARTER_SPEED);
|
||||||
W25QXX.SPI_FLASH_BufferRead((uint8_t *)d, addr, 100);
|
W25QXX.SPI_FLASH_BufferRead((uint8_t *)d, addr, 100);
|
||||||
}
|
}
|
||||||
@ -369,14 +369,14 @@ void tft_style_init() {
|
|||||||
style_num_text.text.line_space = -5;
|
style_num_text.text.line_space = -5;
|
||||||
|
|
||||||
lv_style_copy(&style_sel_text, &lv_style_scr);
|
lv_style_copy(&style_sel_text, &lv_style_scr);
|
||||||
style_sel_text.body.main_color = LV_COLOR_BACKGROUND;
|
style_sel_text.body.main_color = LV_COLOR_BACKGROUND;
|
||||||
style_sel_text.body.grad_color = LV_COLOR_BACKGROUND;
|
style_sel_text.body.grad_color = LV_COLOR_BACKGROUND;
|
||||||
style_sel_text.text.color = LV_COLOR_YELLOW;
|
style_sel_text.text.color = LV_COLOR_YELLOW;
|
||||||
style_sel_text.text.sel_color = LV_COLOR_YELLOW;
|
style_sel_text.text.sel_color = LV_COLOR_YELLOW;
|
||||||
style_sel_text.text.font = TERN(HAS_SPI_FLASH_FONT, &gb2312_puhui32, LV_FONT_DEFAULT);
|
style_sel_text.text.font = TERN(HAS_SPI_FLASH_FONT, &gb2312_puhui32, LV_FONT_DEFAULT);
|
||||||
style_sel_text.line.width = 0;
|
style_sel_text.line.width = 0;
|
||||||
style_sel_text.text.letter_space = 0;
|
style_sel_text.text.letter_space = 0;
|
||||||
style_sel_text.text.line_space = -5;
|
style_sel_text.text.line_space = -5;
|
||||||
lv_style_copy(&style_line, &lv_style_plain);
|
lv_style_copy(&style_line, &lv_style_plain);
|
||||||
style_line.line.color = LV_COLOR_MAKE(0x49, 0x54, 0xFF);
|
style_line.line.color = LV_COLOR_MAKE(0x49, 0x54, 0xFF);
|
||||||
style_line.line.width = 1;
|
style_line.line.width = 1;
|
||||||
@ -624,7 +624,7 @@ char *creat_title_text() {
|
|||||||
if (j >= 400) break;
|
if (j >= 400) break;
|
||||||
}
|
}
|
||||||
for (i = 0; i < 400; i += 2) {
|
for (i = 0; i < 400; i += 2) {
|
||||||
p_index = (uint16_t *)(&bmp_public_buf[i]);
|
p_index = (uint16_t *)(&bmp_public_buf[i]);
|
||||||
if (*p_index == 0x0000) *p_index = LV_COLOR_BACKGROUND.full;
|
if (*p_index == 0x0000) *p_index = LV_COLOR_BACKGROUND.full;
|
||||||
}
|
}
|
||||||
SPI_TFT.tftio.WriteSequence((uint16_t*)bmp_public_buf, 200);
|
SPI_TFT.tftio.WriteSequence((uint16_t*)bmp_public_buf, 200);
|
||||||
@ -1353,7 +1353,7 @@ extern volatile uint32_t systick_uptime_millis;
|
|||||||
|
|
||||||
void print_time_count() {
|
void print_time_count() {
|
||||||
if ((systick_uptime_millis % 1000) == 0)
|
if ((systick_uptime_millis % 1000) == 0)
|
||||||
if (print_time.start == 1) print_time.seconds++;
|
if (print_time.start == 1) print_time.seconds++;
|
||||||
}
|
}
|
||||||
|
|
||||||
void LV_TASK_HANDLER() {
|
void LV_TASK_HANDLER() {
|
||||||
|
@ -458,8 +458,8 @@ void tft_style_init();
|
|||||||
extern char *creat_title_text();
|
extern char *creat_title_text();
|
||||||
void preview_gcode_prehandle(char *path);
|
void preview_gcode_prehandle(char *path);
|
||||||
void update_spi_flash();
|
void update_spi_flash();
|
||||||
void update_gcode_command(int addr,uint8_t *s);
|
void update_gcode_command(int addr, uint8_t *s);
|
||||||
void get_gcode_command(int addr,uint8_t *d);
|
void get_gcode_command(int addr, uint8_t *d);
|
||||||
void lv_serial_capt_hook(void *, uint8_t);
|
void lv_serial_capt_hook(void *, uint8_t);
|
||||||
void lv_eom_hook(void *);
|
void lv_eom_hook(void *);
|
||||||
#if HAS_GCODE_PREVIEW
|
#if HAS_GCODE_PREVIEW
|
||||||
|
@ -71,7 +71,7 @@ void lv_draw_wifi() {
|
|||||||
if (gCfgItems.wifi_mode_sel == STA_MODEL) {
|
if (gCfgItems.wifi_mode_sel == STA_MODEL) {
|
||||||
|
|
||||||
if (gCfgItems.cloud_enable)
|
if (gCfgItems.cloud_enable)
|
||||||
buttonCloud = lv_imgbtn_create(scr, "F:/bmp_cloud.bin", BTN_X_PIXEL+INTERVAL_V*2, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_W_CLOUD);
|
buttonCloud = lv_imgbtn_create(scr, "F:/bmp_cloud.bin", BTN_X_PIXEL + INTERVAL_V * 2, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_W_CLOUD);
|
||||||
|
|
||||||
buttonReconnect = lv_imgbtn_create(scr, "F:/bmp_wifi.bin", BTN_X_PIXEL * 2 + INTERVAL_V * 3, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_W_RECONNECT);
|
buttonReconnect = lv_imgbtn_create(scr, "F:/bmp_wifi.bin", BTN_X_PIXEL * 2 + INTERVAL_V * 3, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_W_RECONNECT);
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
void lv_draw_wifi_list();
|
void lv_draw_wifi_list();
|
||||||
void lv_clear_wifi_list();
|
void lv_clear_wifi_list();
|
||||||
void disp_wifi_list();
|
void disp_wifi_list();
|
||||||
void cutWifiName(char *name, int len,char *outStr);
|
void cutWifiName(char *name, int len, char *outStr);
|
||||||
void wifi_scan_handle();
|
void wifi_scan_handle();
|
||||||
|
|
||||||
#define NUMBER_OF_PAGE 5
|
#define NUMBER_OF_PAGE 5
|
||||||
|
@ -38,7 +38,7 @@ TIPS_DISP tips_disp;
|
|||||||
tips_menu_def tips_menu;
|
tips_menu_def tips_menu;
|
||||||
|
|
||||||
void lv_draw_wifi_tips() {
|
void lv_draw_wifi_tips() {
|
||||||
static lv_obj_t *text_tips,*wifi_name;
|
static lv_obj_t *text_tips, *wifi_name;
|
||||||
|
|
||||||
scr = lv_screen_create(WIFI_TIPS_UI, "");
|
scr = lv_screen_create(WIFI_TIPS_UI, "");
|
||||||
|
|
||||||
|
@ -714,7 +714,7 @@ void disp_assets_update_progress(const char *msg) {
|
|||||||
char buf[30];
|
char buf[30];
|
||||||
memset(buf, ' ', COUNT(buf));
|
memset(buf, ' ', COUNT(buf));
|
||||||
strncpy(buf, msg, strlen(msg));
|
strncpy(buf, msg, strlen(msg));
|
||||||
buf[COUNT(buf)-1] = '\0';
|
buf[COUNT(buf) - 1] = '\0';
|
||||||
disp_string(100, 165, buf, 0xFFFF, 0x0000);
|
disp_string(100, 165, buf, 0xFFFF, 0x0000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -265,12 +265,12 @@ const char *bakPath = "_assets";
|
|||||||
void spiFlashErase_PIC() {
|
void spiFlashErase_PIC() {
|
||||||
volatile uint32_t pic_sectorcnt = 0;
|
volatile uint32_t pic_sectorcnt = 0;
|
||||||
W25QXX.init(SPI_QUARTER_SPEED);
|
W25QXX.init(SPI_QUARTER_SPEED);
|
||||||
//erase 0x001000 -64K
|
// erase 0x001000 -64K
|
||||||
for (pic_sectorcnt = 0; pic_sectorcnt < (64 - 4) / 4; pic_sectorcnt++) {
|
for (pic_sectorcnt = 0; pic_sectorcnt < (64 - 4) / 4; pic_sectorcnt++) {
|
||||||
watchdog_refresh();
|
watchdog_refresh();
|
||||||
W25QXX.SPI_FLASH_SectorErase(PICINFOADDR + pic_sectorcnt * 4 * 1024);
|
W25QXX.SPI_FLASH_SectorErase(PICINFOADDR + pic_sectorcnt * 4 * 1024);
|
||||||
}
|
}
|
||||||
//erase 64K -- 6M
|
// erase 64K -- 6M
|
||||||
for (pic_sectorcnt = 0; pic_sectorcnt < (PIC_SIZE_xM * 1024 / 64 - 1); pic_sectorcnt++) {
|
for (pic_sectorcnt = 0; pic_sectorcnt < (PIC_SIZE_xM * 1024 / 64 - 1); pic_sectorcnt++) {
|
||||||
watchdog_refresh();
|
watchdog_refresh();
|
||||||
W25QXX.SPI_FLASH_BlockErase((pic_sectorcnt + 1) * 64 * 1024);
|
W25QXX.SPI_FLASH_BlockErase((pic_sectorcnt + 1) * 64 * 1024);
|
||||||
@ -281,7 +281,7 @@ void spiFlashErase_PIC() {
|
|||||||
void spiFlashErase_FONT() {
|
void spiFlashErase_FONT() {
|
||||||
volatile uint32_t Font_sectorcnt = 0;
|
volatile uint32_t Font_sectorcnt = 0;
|
||||||
W25QXX.init(SPI_QUARTER_SPEED);
|
W25QXX.init(SPI_QUARTER_SPEED);
|
||||||
for (Font_sectorcnt = 0; Font_sectorcnt < 32-1; Font_sectorcnt++) {
|
for (Font_sectorcnt = 0; Font_sectorcnt < 32 - 1; Font_sectorcnt++) {
|
||||||
watchdog_refresh();
|
watchdog_refresh();
|
||||||
W25QXX.SPI_FLASH_BlockErase(FONTINFOADDR + Font_sectorcnt * 64 * 1024);
|
W25QXX.SPI_FLASH_BlockErase(FONTINFOADDR + Font_sectorcnt * 64 * 1024);
|
||||||
}
|
}
|
||||||
@ -565,7 +565,7 @@ void Pic_Read(uint8_t *Pname, uint8_t *P_Rbuff) {
|
|||||||
W25QXX.SPI_FLASH_BufferRead(&PIC.name[j], PIC_NAME_ADDR + tmp_cnt, 1);
|
W25QXX.SPI_FLASH_BufferRead(&PIC.name[j], PIC_NAME_ADDR + tmp_cnt, 1);
|
||||||
tmp_cnt++;
|
tmp_cnt++;
|
||||||
} while (PIC.name[j++] != '\0');
|
} while (PIC.name[j++] != '\0');
|
||||||
//pic size
|
// pic size
|
||||||
W25QXX.SPI_FLASH_BufferRead(PIC.size.bytes, PIC_SIZE_ADDR + i * 4, 4);
|
W25QXX.SPI_FLASH_BufferRead(PIC.size.bytes, PIC_SIZE_ADDR + i * 4, 4);
|
||||||
|
|
||||||
if ((strcmp((char*)Pname, (char*)PIC.name)) == 0) {
|
if ((strcmp((char*)Pname, (char*)PIC.name)) == 0) {
|
||||||
|
@ -55,19 +55,19 @@
|
|||||||
#define PIC_MAX_CN 100 // Maximum number of pictures
|
#define PIC_MAX_CN 100 // Maximum number of pictures
|
||||||
#define PIC_NAME_MAX_LEN 50 // Picture name maximum length
|
#define PIC_NAME_MAX_LEN 50 // Picture name maximum length
|
||||||
|
|
||||||
#define LOGO_MAX_SIZE_TFT35 (300*1024)
|
#define LOGO_MAX_SIZE_TFT35 (300 * 1024)
|
||||||
#define LOGO_MAX_SIZE_TFT32 (150*1024)
|
#define LOGO_MAX_SIZE_TFT32 (150 * 1024)
|
||||||
#define TITLELOGO_MAX_SIZE (150*1024) // Little logo maximum
|
#define TITLELOGO_MAX_SIZE (150 * 1024) // Little logo maximum
|
||||||
#define DEFAULT_VIEW_MAX_SIZE (200*200*2)
|
#define DEFAULT_VIEW_MAX_SIZE (200 * 200 * 2)
|
||||||
#define FLASH_VIEW_MAX_SIZE (200*200*2)
|
#define FLASH_VIEW_MAX_SIZE (200 * 200 * 2)
|
||||||
|
|
||||||
#define PER_PIC_MAX_SPACE_TFT35 (9*1024)
|
#define PER_PIC_MAX_SPACE_TFT35 (9 * 1024)
|
||||||
#define PER_PIC_MAX_SPACE_TFT32 (16*1024)
|
#define PER_PIC_MAX_SPACE_TFT32 (16 * 1024)
|
||||||
#define PER_FONT_MAX_SPACE (16*1024)
|
#define PER_FONT_MAX_SPACE (16 * 1024)
|
||||||
|
|
||||||
#if SPI_FLASH_SIZE == 0x200000
|
#if SPI_FLASH_SIZE == 0x200000
|
||||||
//pic
|
// pic
|
||||||
//Robin_pro pic addr
|
// Robin_pro pic addr
|
||||||
#define PIC_NAME_ADDR 0x001000 // Pic information addr
|
#define PIC_NAME_ADDR 0x001000 // Pic information addr
|
||||||
#define PIC_SIZE_ADDR 0x001800 // Pic size information addr
|
#define PIC_SIZE_ADDR 0x001800 // Pic size information addr
|
||||||
#define PIC_COUNTER_ADDR 0x002000 // Pic total number
|
#define PIC_COUNTER_ADDR 0x002000 // Pic total number
|
||||||
@ -77,8 +77,8 @@
|
|||||||
|
|
||||||
// TFT35
|
// TFT35
|
||||||
#define DEFAULT_VIEW_ADDR_TFT35 0x1EA070
|
#define DEFAULT_VIEW_ADDR_TFT35 0x1EA070
|
||||||
#define BAK_VIEW_ADDR_TFT35 (DEFAULT_VIEW_ADDR_TFT35+90*1024)
|
#define BAK_VIEW_ADDR_TFT35 (DEFAULT_VIEW_ADDR_TFT35 + 90 * 1024)
|
||||||
#define PIC_ICON_LOGO_ADDR_TFT35 (BAK_VIEW_ADDR_TFT35+80*1024)
|
#define PIC_ICON_LOGO_ADDR_TFT35 (BAK_VIEW_ADDR_TFT35 + 80 * 1024)
|
||||||
#define PIC_DATA_ADDR_TFT35 0x003000 // (PIC_ICON_LOGO_ADDR_TFT35+350*1024) //0xC5800
|
#define PIC_DATA_ADDR_TFT35 0x003000 // (PIC_ICON_LOGO_ADDR_TFT35+350*1024) //0xC5800
|
||||||
|
|
||||||
#define PIC_DATA_ADDR_TFT32 0x00F000
|
#define PIC_DATA_ADDR_TFT32 0x00F000
|
||||||
@ -87,11 +87,11 @@
|
|||||||
|
|
||||||
// font
|
// font
|
||||||
#define FONTINFOADDR 0x150000 // 6M -- font addr
|
#define FONTINFOADDR 0x150000 // 6M -- font addr
|
||||||
#define UNIGBK_FLASH_ADDR (FONTINFOADDR+4096) // 4*1024
|
#define UNIGBK_FLASH_ADDR (FONTINFOADDR + 4096) // 4*1024
|
||||||
|
|
||||||
#else
|
#else
|
||||||
//pic
|
// pic
|
||||||
//Robin_pro pic addr
|
// Robin_pro pic addr
|
||||||
#define PIC_NAME_ADDR 0x003000 // Pic information addr
|
#define PIC_NAME_ADDR 0x003000 // Pic information addr
|
||||||
#define PIC_SIZE_ADDR 0x007000 // Pic size information addr
|
#define PIC_SIZE_ADDR 0x007000 // Pic size information addr
|
||||||
#define PIC_COUNTER_ADDR 0x008000 // Pic total number
|
#define PIC_COUNTER_ADDR 0x008000 // Pic total number
|
||||||
@ -99,9 +99,9 @@
|
|||||||
|
|
||||||
// TFT35
|
// TFT35
|
||||||
#define DEFAULT_VIEW_ADDR_TFT35 0xC5800
|
#define DEFAULT_VIEW_ADDR_TFT35 0xC5800
|
||||||
#define BAK_VIEW_ADDR_TFT35 (DEFAULT_VIEW_ADDR_TFT35+90*1024)
|
#define BAK_VIEW_ADDR_TFT35 (DEFAULT_VIEW_ADDR_TFT35 + 90 * 1024)
|
||||||
#define PIC_ICON_LOGO_ADDR_TFT35 (BAK_VIEW_ADDR_TFT35+80*1024)
|
#define PIC_ICON_LOGO_ADDR_TFT35 (BAK_VIEW_ADDR_TFT35 + 80 * 1024)
|
||||||
#define PIC_DATA_ADDR_TFT35 (PIC_ICON_LOGO_ADDR_TFT35+350*1024) //0xC5800
|
#define PIC_DATA_ADDR_TFT35 (PIC_ICON_LOGO_ADDR_TFT35 + 350 * 1024) // 0xC5800
|
||||||
|
|
||||||
// TFT32
|
// TFT32
|
||||||
#define PIC_DATA_ADDR_TFT32 0x02F000
|
#define PIC_DATA_ADDR_TFT32 0x02F000
|
||||||
@ -110,20 +110,20 @@
|
|||||||
|
|
||||||
// font
|
// font
|
||||||
#define FONTINFOADDR 0x600000 // 6M -- font addr
|
#define FONTINFOADDR 0x600000 // 6M -- font addr
|
||||||
#define UNIGBK_FLASH_ADDR (FONTINFOADDR+4096) // 4*1024
|
#define UNIGBK_FLASH_ADDR (FONTINFOADDR + 4096) // 4*1024
|
||||||
#define GBK_FLASH_ADDR (UNIGBK_FLASH_ADDR+180224) // 176*1024
|
#define GBK_FLASH_ADDR (UNIGBK_FLASH_ADDR + 180224) // 176*1024
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Flash flag
|
// Flash flag
|
||||||
#define REFLSHE_FLGA_ADD (0x800000-32)
|
#define REFLSHE_FLGA_ADD (0x800000 - 32)
|
||||||
|
|
||||||
// SD card information first addr
|
// SD card information first addr
|
||||||
#define VAR_INF_ADDR 0x000000
|
#define VAR_INF_ADDR 0x000000
|
||||||
#define FLASH_INF_VALID_FLAG 0x20201118
|
#define FLASH_INF_VALID_FLAG 0x20201118
|
||||||
|
|
||||||
//Store some gcode commands, such as auto leveling commands
|
// Store some gcode commands, such as auto leveling commands
|
||||||
#define GCODE_COMMAND_ADDR VAR_INF_ADDR + 3*1024
|
#define GCODE_COMMAND_ADDR VAR_INF_ADDR + 3 * 1024
|
||||||
#define AUTO_LEVELING_COMMAND_ADDR GCODE_COMMAND_ADDR
|
#define AUTO_LEVELING_COMMAND_ADDR GCODE_COMMAND_ADDR
|
||||||
#define OTHERS_COMMAND_ADDR_1 AUTO_LEVELING_COMMAND_ADDR + 100
|
#define OTHERS_COMMAND_ADDR_1 AUTO_LEVELING_COMMAND_ADDR + 100
|
||||||
#define OTHERS_COMMAND_ADDR_2 OTHERS_COMMAND_ADDR_1 + 100
|
#define OTHERS_COMMAND_ADDR_2 OTHERS_COMMAND_ADDR_1 + 100
|
||||||
@ -155,7 +155,7 @@ typedef struct pic_msg PIC_MSG;
|
|||||||
#define FONT_SIZE_xM 2
|
#define FONT_SIZE_xM 2
|
||||||
|
|
||||||
void Pic_Read(uint8_t *Pname, uint8_t *P_Rbuff);
|
void Pic_Read(uint8_t *Pname, uint8_t *P_Rbuff);
|
||||||
void Pic_Logo_Read(uint8_t *LogoName,uint8_t *Logo_Rbuff,uint32_t LogoReadsize);
|
void Pic_Logo_Read(uint8_t *LogoName, uint8_t *Logo_Rbuff, uint32_t LogoReadsize);
|
||||||
void lv_pic_test(uint8_t *P_Rbuff, uint32_t addr, uint32_t size);
|
void lv_pic_test(uint8_t *P_Rbuff, uint32_t addr, uint32_t size);
|
||||||
uint32_t lv_get_pic_addr(uint8_t *Pname);
|
uint32_t lv_get_pic_addr(uint8_t *Pname);
|
||||||
void get_spi_flash_data(const char *rec_buf, int offset, int size);
|
void get_spi_flash_data(const char *rec_buf, int offset, int size);
|
||||||
|
@ -55,7 +55,7 @@ void printer_state_polling() {
|
|||||||
|
|
||||||
gcode.process_subcommands_now_P(PSTR("M25"));
|
gcode.process_subcommands_now_P(PSTR("M25"));
|
||||||
|
|
||||||
//save the position
|
// save the position
|
||||||
uiCfg.current_x_position_bak = current_position.x;
|
uiCfg.current_x_position_bak = current_position.x;
|
||||||
uiCfg.current_y_position_bak = current_position.y;
|
uiCfg.current_y_position_bak = current_position.y;
|
||||||
uiCfg.current_z_position_bak = current_position.z;
|
uiCfg.current_z_position_bak = current_position.z;
|
||||||
|
@ -503,7 +503,7 @@
|
|||||||
#define TEXT_WIFI_FORGET_EN "Forget Network"
|
#define TEXT_WIFI_FORGET_EN "Forget Network"
|
||||||
#define TEXT_DISCONECTED_EN "Wi-Fi Connected"
|
#define TEXT_DISCONECTED_EN "Wi-Fi Connected"
|
||||||
|
|
||||||
//wifi-list
|
// wifi-list
|
||||||
#define MAIN_BUILT_EN "Build"
|
#define MAIN_BUILT_EN "Build"
|
||||||
#define MAIN_FILAMENT_EN "Filament"
|
#define MAIN_FILAMENT_EN "Filament"
|
||||||
#define MAIN_SETUP_EN "Setup"
|
#define MAIN_SETUP_EN "Setup"
|
||||||
@ -512,7 +512,7 @@
|
|||||||
#define FILE_MENU_BUILD_EN "Build"
|
#define FILE_MENU_BUILD_EN "Build"
|
||||||
#define FILE_MENU_MENU_EN " < Menu"
|
#define FILE_MENU_MENU_EN " < Menu"
|
||||||
|
|
||||||
//about
|
// about
|
||||||
#define ABOUT_TITLE_EN "About"
|
#define ABOUT_TITLE_EN "About"
|
||||||
#define ABOUT_BUILT_MACHINES_EN "Built Machines"
|
#define ABOUT_BUILT_MACHINES_EN "Built Machines"
|
||||||
#define ABOUT_SPARK_EN "Spark"
|
#define ABOUT_SPARK_EN "Spark"
|
||||||
@ -520,52 +520,52 @@
|
|||||||
#define ABOUT_SERIAL_NUMBER_EN "Serial Number:"
|
#define ABOUT_SERIAL_NUMBER_EN "Serial Number:"
|
||||||
#define ABOUT_S_NUMBER_EN "DCPLX02KFC6P"
|
#define ABOUT_S_NUMBER_EN "DCPLX02KFC6P"
|
||||||
|
|
||||||
//set
|
// set
|
||||||
#define SETUP_TITLE_EN "Setup"
|
#define SETUP_TITLE_EN "Setup"
|
||||||
#define SETUP_WIFI_EN "Wi-Fi"
|
#define SETUP_WIFI_EN "Wi-Fi"
|
||||||
#define SETUP_MANUAL_IP_EN "Manual IP"
|
#define SETUP_MANUAL_IP_EN "Manual IP"
|
||||||
#define SETUP_WIFI_NOT_CONNECTED_EN "Not Connected"
|
#define SETUP_WIFI_NOT_CONNECTED_EN "Not Connected"
|
||||||
#define SETUP_WIFI_NETWORK_EN "WiFi_Network"
|
#define SETUP_WIFI_NETWORK_EN "WiFi_Network"
|
||||||
|
|
||||||
//build
|
// build
|
||||||
#define BUILD_TITLE_EN "Build"
|
#define BUILD_TITLE_EN "Build"
|
||||||
#define BUILD_SD_CARD_EN "SD Card"
|
#define BUILD_SD_CARD_EN "SD Card"
|
||||||
#define BUILD_USB_DRIVE_EN "USB Drive"
|
#define BUILD_USB_DRIVE_EN "USB Drive"
|
||||||
|
|
||||||
//SD card
|
// SD card
|
||||||
#define SD_CARD_TITLE_EN "SD Card"
|
#define SD_CARD_TITLE_EN "SD Card"
|
||||||
#define SD_CARD_BACK_EN "< Back"
|
#define SD_CARD_BACK_EN "< Back"
|
||||||
//USB Drive
|
// USB Drive
|
||||||
#define USB_DRIVE_TITLE_EN "USB Drive"
|
#define USB_DRIVE_TITLE_EN "USB Drive"
|
||||||
#define USB_DRIVE_BACK_EN "< Back"
|
#define USB_DRIVE_BACK_EN "< Back"
|
||||||
#define FILE_PAGES_EN "%d/%d"
|
#define FILE_PAGES_EN "%d/%d"
|
||||||
#define FILE_NEXT_PAGE_EN "Next Page"
|
#define FILE_NEXT_PAGE_EN "Next Page"
|
||||||
#define MEDIA_SELECT_TITLE_EN "Select Media"
|
#define MEDIA_SELECT_TITLE_EN "Select Media"
|
||||||
|
|
||||||
//BUILD PLATE
|
// BUILD PLATE
|
||||||
#define PLATE_TITLE_EN "Build Plate"
|
#define PLATE_TITLE_EN "Build Plate"
|
||||||
#define PLATE_BACK_EN "< Back"
|
#define PLATE_BACK_EN "< Back"
|
||||||
#define PLATE_CONFIRM_EN "Confirm >"
|
#define PLATE_CONFIRM_EN "Confirm >"
|
||||||
#define PLATE_TIPS_EN "Confirm that there is a Clear\nBuild Plate installed in the\nmachine."
|
#define PLATE_TIPS_EN "Confirm that there is a Clear\nBuild Plate installed in the\nmachine."
|
||||||
|
|
||||||
//build model
|
// build model
|
||||||
#define MODEL_TITLE_EN "Build Model"
|
#define MODEL_TITLE_EN "Build Model"
|
||||||
#define MODEL_START_BUILD_EN "Start Build"
|
#define MODEL_START_BUILD_EN "Start Build"
|
||||||
#define MODEL_BACK_EN "< Back"
|
#define MODEL_BACK_EN "< Back"
|
||||||
|
|
||||||
//building
|
// building
|
||||||
#define BUILDING_TITLE_EN "Building"
|
#define BUILDING_TITLE_EN "Building"
|
||||||
#define BUILDING_MENU_EN "Build Menu"
|
#define BUILDING_MENU_EN "Build Menu"
|
||||||
#define BUILDING_COMPLETED "Build\nComplete"
|
#define BUILDING_COMPLETED "Build\nComplete"
|
||||||
|
|
||||||
//building menu
|
// building menu
|
||||||
#define BUILDING_MENU_TITLE_EN "Build Menu"
|
#define BUILDING_MENU_TITLE_EN "Build Menu"
|
||||||
#define BUILDING_MENU_SETTINGS_EN "Build Settings"
|
#define BUILDING_MENU_SETTINGS_EN "Build Settings"
|
||||||
#define BUILDING_MENU_PAUSE_EN "Pause Build"
|
#define BUILDING_MENU_PAUSE_EN "Pause Build"
|
||||||
#define BUILDING_MENU_CANCEL_EN "Cancel Build"
|
#define BUILDING_MENU_CANCEL_EN "Cancel Build"
|
||||||
#define BUILDING_MENU_BACK_EN "< Back"
|
#define BUILDING_MENU_BACK_EN "< Back"
|
||||||
|
|
||||||
//build settings
|
// build settings
|
||||||
#define SETTINGS_TITLE_EN "Build Settings"
|
#define SETTINGS_TITLE_EN "Build Settings"
|
||||||
#define SETTINGS_NOZZLE_TEMPER_EN "Nozzle Temp:"
|
#define SETTINGS_NOZZLE_TEMPER_EN "Nozzle Temp:"
|
||||||
#define SETTINGS_NOZZLE_VALUE_EN "%d"
|
#define SETTINGS_NOZZLE_VALUE_EN "%d"
|
||||||
@ -575,13 +575,13 @@
|
|||||||
#define SETTINGS_SPEED_VALUE_EN "Standard"
|
#define SETTINGS_SPEED_VALUE_EN "Standard"
|
||||||
#define SETTINGS_BACK_EN "< Back"
|
#define SETTINGS_BACK_EN "< Back"
|
||||||
|
|
||||||
//build paused
|
// build paused
|
||||||
#define PAUSED_TITLE_EN "Build Paused"
|
#define PAUSED_TITLE_EN "Build Paused"
|
||||||
#define PAUSED_RESUME_EN "Resume Build"
|
#define PAUSED_RESUME_EN "Resume Build"
|
||||||
#define PAUSED_CANCEL_EN "Cancel Build"
|
#define PAUSED_CANCEL_EN "Cancel Build"
|
||||||
#define PAUSED_BACK_EN "< Back"
|
#define PAUSED_BACK_EN "< Back"
|
||||||
|
|
||||||
//build cancel
|
// build cancel
|
||||||
#define CANCEL_TITLE_EN "Cancel Build"
|
#define CANCEL_TITLE_EN "Cancel Build"
|
||||||
#define CANCEL_BUILD_EN "Cancel Build"
|
#define CANCEL_BUILD_EN "Cancel Build"
|
||||||
#define CANCEL_TIPS_EN "Are you sure you want to\ncancel this build? The model\nwill be deleted from this\nmachine. It will need to be\nresent from your computer\nbefore it can be built in the\nfuture."
|
#define CANCEL_TIPS_EN "Are you sure you want to\ncancel this build? The model\nwill be deleted from this\nmachine. It will need to be\nresent from your computer\nbefore it can be built in the\nfuture."
|
||||||
@ -589,31 +589,31 @@
|
|||||||
#define CANCEL_BUILD_DISPLAY_EN "Build\nCanceled"
|
#define CANCEL_BUILD_DISPLAY_EN "Build\nCanceled"
|
||||||
#define CANCEL_OVER_PLATE_TIPS_EN "Confirm that the Build Plate\nhas been removed from the\nmachine."
|
#define CANCEL_OVER_PLATE_TIPS_EN "Confirm that the Build Plate\nhas been removed from the\nmachine."
|
||||||
|
|
||||||
//filament model enter
|
// filament model enter
|
||||||
#define FILAMENT_MODEL_ENTER_TITLE_EN "Model-PLA"
|
#define FILAMENT_MODEL_ENTER_TITLE_EN "Model-PLA"
|
||||||
#define FILAMENT_MODEL_ENTER_BACK_EN "< Back"
|
#define FILAMENT_MODEL_ENTER_BACK_EN "< Back"
|
||||||
#define FILAMENT_MODEL_ENTER_BEGIN_EN "Begin >"
|
#define FILAMENT_MODEL_ENTER_BEGIN_EN "Begin >"
|
||||||
#define FILAMENT_MODEL_ENTER_TIPS_EN "The Model Filament spool\ncompartment is located on\nthe right side of the machine."
|
#define FILAMENT_MODEL_ENTER_TIPS_EN "The Model Filament spool\ncompartment is located on\nthe right side of the machine."
|
||||||
|
|
||||||
//filament model PLA
|
// filament model PLA
|
||||||
#define FILAMENT_MODEL_PLA_TITLE_EN "Model-PLA"
|
#define FILAMENT_MODEL_PLA_TITLE_EN "Model-PLA"
|
||||||
#define FILAMENT_PLA_LOAD_TITLE_EN "Load Filament"
|
#define FILAMENT_PLA_LOAD_TITLE_EN "Load Filament"
|
||||||
#define FILAMENT_PLA_UNLOAD_TITLE_EN "Unload Filament"
|
#define FILAMENT_PLA_UNLOAD_TITLE_EN "Unload Filament"
|
||||||
#define FILAMENT_MODEL_PLA_LOAD_EN "Load Filament"
|
#define FILAMENT_MODEL_PLA_LOAD_EN "Load Filament"
|
||||||
#define FILAMENT_MODEL_PLA_UNLOAD_EN "Unload Filament"
|
#define FILAMENT_MODEL_PLA_UNLOAD_EN "Unload Filament"
|
||||||
//filament support enter
|
// filament support enter
|
||||||
#define FILAMENT_SUPPORT_ENTER_TITLE_EN "Support-PVA"
|
#define FILAMENT_SUPPORT_ENTER_TITLE_EN "Support-PVA"
|
||||||
#define FILAMENT_SUPPORT_ENTER_BACK_EN "< Back"
|
#define FILAMENT_SUPPORT_ENTER_BACK_EN "< Back"
|
||||||
#define FILAMENT_SUPPORT_ENTER_BEGIN_EN "Begin >"
|
#define FILAMENT_SUPPORT_ENTER_BEGIN_EN "Begin >"
|
||||||
#define FILAMENT_SUPPORT_ENTER_TIPS_EN "The Support Filament spool\ncompartment is located on\nthe left side of the machine."
|
#define FILAMENT_SUPPORT_ENTER_TIPS_EN "The Support Filament spool\ncompartment is located on\nthe left side of the machine."
|
||||||
//filament heating
|
// filament heating
|
||||||
#define FILAMENT_HEATING_LOAD_TITLE_EN "Load Filament"
|
#define FILAMENT_HEATING_LOAD_TITLE_EN "Load Filament"
|
||||||
#define FILAMENT_HEATING_UNLOAD_TITLE_EN "Unload Filament"
|
#define FILAMENT_HEATING_UNLOAD_TITLE_EN "Unload Filament"
|
||||||
#define FILAMENT_HEATING_CANCEL_EN "< Cancel"
|
#define FILAMENT_HEATING_CANCEL_EN "< Cancel"
|
||||||
#define FILAMENT_HEATING_MATERIAL_EN "Material:"
|
#define FILAMENT_HEATING_MATERIAL_EN "Material:"
|
||||||
#define FILAMENT_HEATING_PLA_EN "Model-PLA"
|
#define FILAMENT_HEATING_PLA_EN "Model-PLA"
|
||||||
#define FILAMENT_HEATING_TIPS_EN "Print head is heating..."
|
#define FILAMENT_HEATING_TIPS_EN "Print head is heating..."
|
||||||
//rotate left
|
// rotate left
|
||||||
#define ROTATE_LEFT_LOAD_TITLE_EN "Load Filament"
|
#define ROTATE_LEFT_LOAD_TITLE_EN "Load Filament"
|
||||||
#define ROTATE_LEFT_UNLOAD_TITLE_EN "Unload Filament"
|
#define ROTATE_LEFT_UNLOAD_TITLE_EN "Unload Filament"
|
||||||
#define ROTATE_LEFT_CANCEL_EN "< Cancel"
|
#define ROTATE_LEFT_CANCEL_EN "< Cancel"
|
||||||
@ -622,7 +622,7 @@
|
|||||||
#define ROTATE_LEFT_NEXT_EN "Next >"
|
#define ROTATE_LEFT_NEXT_EN "Next >"
|
||||||
#define ROTATE_LEFT_TIPS_EN "Rotate extruder selection\ndial to the left."
|
#define ROTATE_LEFT_TIPS_EN "Rotate extruder selection\ndial to the left."
|
||||||
|
|
||||||
//hang spool
|
// hang spool
|
||||||
#define HANG_SPOOL_TITLE_EN "Load Filament"
|
#define HANG_SPOOL_TITLE_EN "Load Filament"
|
||||||
#define HANG_SPOOL_PREVIOUS_EN "< Previous"
|
#define HANG_SPOOL_PREVIOUS_EN "< Previous"
|
||||||
#define HANG_SPOOL_MATERIAL_EN "Material:"
|
#define HANG_SPOOL_MATERIAL_EN "Material:"
|
||||||
@ -630,7 +630,7 @@
|
|||||||
#define HANG_SPOOL_NEXT_EN "Next >"
|
#define HANG_SPOOL_NEXT_EN "Next >"
|
||||||
#define HANG_SPOOL_TIPS_EN "Hang the spool in the spool\ncompartment as shown."
|
#define HANG_SPOOL_TIPS_EN "Hang the spool in the spool\ncompartment as shown."
|
||||||
|
|
||||||
//feed filament
|
// feed filament
|
||||||
#define FEED_FILAMENT_TITLE_EN "Load Filament"
|
#define FEED_FILAMENT_TITLE_EN "Load Filament"
|
||||||
#define FEED_FILAMENT_PREVIOUS_EN "< Previous"
|
#define FEED_FILAMENT_PREVIOUS_EN "< Previous"
|
||||||
#define FEED_FILAMENT_MATERIAL_EN "Material:"
|
#define FEED_FILAMENT_MATERIAL_EN "Material:"
|
||||||
@ -638,7 +638,7 @@
|
|||||||
#define FEED_FILAMENT_NEXT_EN "Next >"
|
#define FEED_FILAMENT_NEXT_EN "Next >"
|
||||||
#define FEED_FILAMENT_TIPS_EN "Feed filament into extruder\nup beyond the gears."
|
#define FEED_FILAMENT_TIPS_EN "Feed filament into extruder\nup beyond the gears."
|
||||||
|
|
||||||
//feed filament
|
// feed filament
|
||||||
#define ROTATE_UP_TITLE_EN "Load Filament"
|
#define ROTATE_UP_TITLE_EN "Load Filament"
|
||||||
#define ROTATE_UP_PREVIOUS_EN "< Previous"
|
#define ROTATE_UP_PREVIOUS_EN "< Previous"
|
||||||
#define ROTATE_UP_MATERIAL_EN "Material:"
|
#define ROTATE_UP_MATERIAL_EN "Material:"
|
||||||
@ -646,20 +646,20 @@
|
|||||||
#define ROTATE_UP_NEXT_EN "Next >"
|
#define ROTATE_UP_NEXT_EN "Next >"
|
||||||
#define ROTATE_UP_TIPS_EN "Rotate extruder selection\ndial up."
|
#define ROTATE_UP_TIPS_EN "Rotate extruder selection\ndial up."
|
||||||
|
|
||||||
//filament begin
|
// filament begin
|
||||||
#define FEED_BEGIN_TITLE_EN "Load Filament"
|
#define FEED_BEGIN_TITLE_EN "Load Filament"
|
||||||
#define FEED_BEGIN_MATERIAL_EN "Material:"
|
#define FEED_BEGIN_MATERIAL_EN "Material:"
|
||||||
#define FEED_BEGIN_PLA_EN "Model-PLA"
|
#define FEED_BEGIN_PLA_EN "Model-PLA"
|
||||||
#define FEED_BEGIN_NEXT_EN "Next >"
|
#define FEED_BEGIN_NEXT_EN "Next >"
|
||||||
#define FEED_BEGIN_TIPS_EN "Press Next when filament\nbegins to extrude."
|
#define FEED_BEGIN_TIPS_EN "Press Next when filament\nbegins to extrude."
|
||||||
|
|
||||||
//filament finish
|
// filament finish
|
||||||
#define FEED_FINISH_TITLE_EN "Load Filament"
|
#define FEED_FINISH_TITLE_EN "Load Filament"
|
||||||
#define FEED_FINISH_MATERIAL_EN "Material:"
|
#define FEED_FINISH_MATERIAL_EN "Material:"
|
||||||
#define FEED_FINISH_PLA_EN "Model-PLA"
|
#define FEED_FINISH_PLA_EN "Model-PLA"
|
||||||
#define FEED_FINISH_NEXT_EN "Finish >"
|
#define FEED_FINISH_NEXT_EN "Finish >"
|
||||||
#define FEED_FINISH_TIPS_EN "Remove filament from the\nnozzle and discard."
|
#define FEED_FINISH_TIPS_EN "Remove filament from the\nnozzle and discard."
|
||||||
//fiament remove
|
// fiament remove
|
||||||
#define REMOVE_SPOOL_TITLE_EN "Unload Filament"
|
#define REMOVE_SPOOL_TITLE_EN "Unload Filament"
|
||||||
#define REMOVE_SPOOL_PREVIOUS_EN "< Previous"
|
#define REMOVE_SPOOL_PREVIOUS_EN "< Previous"
|
||||||
#define REMOVE_SPOOL_FINISH_EN "Finish >"
|
#define REMOVE_SPOOL_FINISH_EN "Finish >"
|
||||||
@ -671,7 +671,7 @@
|
|||||||
#define LOAD_FINISH_EN "Load\nFilament\nComplete"
|
#define LOAD_FINISH_EN "Load\nFilament\nComplete"
|
||||||
#define UNLOAD_FINISH_EN "Unload\nFilament\nComplete"
|
#define UNLOAD_FINISH_EN "Unload\nFilament\nComplete"
|
||||||
|
|
||||||
//manual ip
|
// manual ip
|
||||||
#define MANUAL_IP_TITLE_EN "Manual IP"
|
#define MANUAL_IP_TITLE_EN "Manual IP"
|
||||||
#define MANUAL_IP_CANCEL_EN "< Cancel"
|
#define MANUAL_IP_CANCEL_EN "< Cancel"
|
||||||
#define MANUAL_IP_APPLY_EN "Join >"
|
#define MANUAL_IP_APPLY_EN "Join >"
|
||||||
|
@ -215,7 +215,7 @@
|
|||||||
#define AUTO_SHUTDOWN_RU "авто-откл"
|
#define AUTO_SHUTDOWN_RU "авто-откл"
|
||||||
#define MANUAL_SHUTDOWN_RU "ручн-откл"
|
#define MANUAL_SHUTDOWN_RU "ручн-откл"
|
||||||
|
|
||||||
#define DIALOG_CONFIRM_RU "да"//"подтвердить"
|
#define DIALOG_CONFIRM_RU "да" // "подтвердить"
|
||||||
#define DIALOG_CANCLE_RU "отмена"
|
#define DIALOG_CANCLE_RU "отмена"
|
||||||
#define DIALOG_OK_RU "да"
|
#define DIALOG_OK_RU "да"
|
||||||
#define DIALOG_RESET_RU "сброс"
|
#define DIALOG_RESET_RU "сброс"
|
||||||
|
@ -241,8 +241,7 @@ void my_disp_flush(lv_disp_drv_t * disp, const lv_area_t * area, lv_color_t * co
|
|||||||
|
|
||||||
SPI_TFT.setWindow((uint16_t)area->x1, (uint16_t)area->y1, width, height);
|
SPI_TFT.setWindow((uint16_t)area->x1, (uint16_t)area->y1, width, height);
|
||||||
|
|
||||||
for (uint16_t i = 0; i < height; i++)
|
SPI_TFT.tftio.WriteSequence((uint16_t*)color_p, width * height);
|
||||||
SPI_TFT.tftio.WriteSequence((uint16_t*)(color_p + width * i), width);
|
|
||||||
|
|
||||||
lv_disp_flush_ready(disp); // Indicate you are ready with the flushing
|
lv_disp_flush_ready(disp); // Indicate you are ready with the flushing
|
||||||
|
|
||||||
@ -333,7 +332,7 @@ bool my_mousewheel_read(lv_indev_drv_t * indev_drv, lv_indev_data_t * data) {
|
|||||||
|
|
||||||
extern uint8_t currentFlashPage;
|
extern uint8_t currentFlashPage;
|
||||||
|
|
||||||
//spi_flash
|
// spi_flash
|
||||||
uint32_t pic_read_base_addr = 0, pic_read_addr_offset = 0;
|
uint32_t pic_read_base_addr = 0, pic_read_addr_offset = 0;
|
||||||
lv_fs_res_t spi_flash_open_cb (lv_fs_drv_t * drv, void * file_p, const char * path, lv_fs_mode_t mode) {
|
lv_fs_res_t spi_flash_open_cb (lv_fs_drv_t * drv, void * file_p, const char * path, lv_fs_mode_t mode) {
|
||||||
static char last_path_name[30];
|
static char last_path_name[30];
|
||||||
@ -382,7 +381,7 @@ lv_fs_res_t spi_flash_tell_cb(lv_fs_drv_t * drv, void * file_p, uint32_t * pos_p
|
|||||||
return LV_FS_RES_OK;
|
return LV_FS_RES_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
//sd
|
// sd
|
||||||
char *cur_namefff;
|
char *cur_namefff;
|
||||||
uint32_t sd_read_base_addr = 0, sd_read_addr_offset = 0, small_image_size = 409;
|
uint32_t sd_read_base_addr = 0, sd_read_addr_offset = 0, small_image_size = 409;
|
||||||
lv_fs_res_t sd_open_cb (lv_fs_drv_t * drv, void * file_p, const char * path, lv_fs_mode_t mode) {
|
lv_fs_res_t sd_open_cb (lv_fs_drv_t * drv, void * file_p, const char * path, lv_fs_mode_t mode) {
|
||||||
|
@ -48,7 +48,7 @@ void disp_language_init();
|
|||||||
#define MULTI_LANGUAGE_ENABLE 1
|
#define MULTI_LANGUAGE_ENABLE 1
|
||||||
#define MULTI_LANGUAGE_DISABLE 0
|
#define MULTI_LANGUAGE_DISABLE 0
|
||||||
|
|
||||||
typedef struct machine_common_disp{
|
typedef struct machine_common_disp {
|
||||||
const char *default_value;
|
const char *default_value;
|
||||||
|
|
||||||
const char *next;
|
const char *next;
|
||||||
@ -742,7 +742,7 @@ typedef struct pause_msg_disp {
|
|||||||
|
|
||||||
extern pause_msg_def pause_msg_menu;
|
extern pause_msg_def pause_msg_menu;
|
||||||
|
|
||||||
typedef struct eeprom_disp{
|
typedef struct eeprom_disp {
|
||||||
const char *title;
|
const char *title;
|
||||||
const char *store;
|
const char *store;
|
||||||
const char *read;
|
const char *read;
|
||||||
|
@ -37,7 +37,7 @@ class WifiSerial {
|
|||||||
|
|
||||||
// Set up / tear down
|
// Set up / tear down
|
||||||
void begin(uint32_t baud);
|
void begin(uint32_t baud);
|
||||||
void begin(uint32_t baud,uint8_t config);
|
void begin(uint32_t baud, uint8_t config);
|
||||||
void end();
|
void end();
|
||||||
int available(void);
|
int available(void);
|
||||||
int read(void);
|
int read(void);
|
||||||
@ -51,13 +51,13 @@ class WifiSerial {
|
|||||||
bool isHalfDuplex(void) const;
|
bool isHalfDuplex(void) const;
|
||||||
void enableHalfDuplexRx(void);
|
void enableHalfDuplexRx(void);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void setRx(uint32_t _rx);
|
void setRx(uint32_t _rx);
|
||||||
void setTx(uint32_t _tx);
|
void setTx(uint32_t _tx);
|
||||||
void setRx(PinName _rx);
|
void setRx(PinName _rx);
|
||||||
void setTx(PinName _tx);
|
void setTx(PinName _tx);
|
||||||
void init(PinName _rx, PinName _tx);
|
void init(PinName _rx, PinName _tx);
|
||||||
bool _rx_enabled;
|
bool _rx_enabled;
|
||||||
uint8_t _config;
|
uint8_t _config;
|
||||||
unsigned long _baud;
|
unsigned long _baud;
|
||||||
};
|
};
|
||||||
|
@ -68,7 +68,8 @@ WifiSerial::WifiSerial(usart_dev *usart_device, uint8 tx_pin, uint8 rx_pin) {
|
|||||||
#define disable_timer_if_necessary(dev, ch) NOOP
|
#define disable_timer_if_necessary(dev, ch) NOOP
|
||||||
|
|
||||||
static void usart_enable_no_irq(usart_dev *usart_device, bool with_irq) {
|
static void usart_enable_no_irq(usart_dev *usart_device, bool with_irq) {
|
||||||
if (with_irq) usart_enable(usart_device);
|
if (with_irq)
|
||||||
|
usart_enable(usart_device);
|
||||||
else {
|
else {
|
||||||
usart_reg_map *regs = usart_device->regs;
|
usart_reg_map *regs = usart_device->regs;
|
||||||
regs->CR1 |= (USART_CR1_TE | USART_CR1_RE); // Preserve word length, etc. Use 'or' to preserve USART_CR1_M_8N1
|
regs->CR1 |= (USART_CR1_TE | USART_CR1_RE); // Preserve word length, etc. Use 'or' to preserve USART_CR1_M_8N1
|
||||||
|
@ -39,18 +39,18 @@ class WifiSerial {
|
|||||||
|
|
||||||
/* Set up/tear down */
|
/* Set up/tear down */
|
||||||
void begin(uint32 baud);
|
void begin(uint32 baud);
|
||||||
void begin(uint32 baud,uint8_t config);
|
void begin(uint32 baud, uint8_t config);
|
||||||
void end();
|
void end();
|
||||||
int available();
|
int available();
|
||||||
int read();
|
int read();
|
||||||
int write(uint8_t);
|
int write(uint8_t);
|
||||||
inline void wifi_usart_irq(usart_reg_map *regs) {
|
inline void wifi_usart_irq(usart_reg_map *regs) {
|
||||||
/* Handling RXNEIE and TXEIE interrupts.
|
/* Handling RXNEIE and TXEIE interrupts.
|
||||||
* RXNE signifies availability of a byte in DR.
|
* RXNE signifies availability of a byte in DR.
|
||||||
*
|
*
|
||||||
* See table 198 (sec 27.4, p809) in STM document RM0008 rev 15.
|
* See table 198 (sec 27.4, p809) in STM document RM0008 rev 15.
|
||||||
* We enable RXNEIE.
|
* We enable RXNEIE.
|
||||||
*/
|
*/
|
||||||
if ((regs->CR1 & USART_CR1_RXNEIE) && (regs->SR & USART_SR_RXNE)) {
|
if ((regs->CR1 & USART_CR1_RXNEIE) && (regs->SR & USART_SR_RXNE)) {
|
||||||
#ifdef USART_SAFE_INSERT
|
#ifdef USART_SAFE_INSERT
|
||||||
/* If the buffer is full and the user defines USART_SAFE_INSERT,
|
/* If the buffer is full and the user defines USART_SAFE_INSERT,
|
||||||
@ -63,15 +63,15 @@ class WifiSerial {
|
|||||||
}
|
}
|
||||||
/* TXE signifies readiness to send a byte to DR. */
|
/* TXE signifies readiness to send a byte to DR. */
|
||||||
if ((regs->CR1 & USART_CR1_TXEIE) && (regs->SR & USART_SR_TXE)) {
|
if ((regs->CR1 & USART_CR1_TXEIE) && (regs->SR & USART_SR_TXE)) {
|
||||||
if (!rb_is_empty(this->usart_device->wb))
|
if (!rb_is_empty(this->usart_device->wb))
|
||||||
regs->DR=rb_remove(this->usart_device->wb);
|
regs->DR = rb_remove(this->usart_device->wb);
|
||||||
else
|
else
|
||||||
regs->CR1 &= ~((uint32)USART_CR1_TXEIE); // disable TXEIE
|
regs->CR1 &= ~((uint32)USART_CR1_TXEIE); // disable TXEIE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
int wifi_rb_is_full();
|
int wifi_rb_is_full();
|
||||||
struct usart_dev *usart_device;
|
struct usart_dev *usart_device;
|
||||||
private:
|
private:
|
||||||
uint8 tx_pin;
|
uint8 tx_pin;
|
||||||
uint8 rx_pin;
|
uint8 rx_pin;
|
||||||
};
|
};
|
||||||
|
@ -55,13 +55,13 @@
|
|||||||
#define WIFI_IO1_SET() WRITE(WIFI_IO1_PIN, HIGH);
|
#define WIFI_IO1_SET() WRITE(WIFI_IO1_PIN, HIGH);
|
||||||
#define WIFI_IO1_RESET() WRITE(WIFI_IO1_PIN, LOW);
|
#define WIFI_IO1_RESET() WRITE(WIFI_IO1_PIN, LOW);
|
||||||
|
|
||||||
extern uint8_t Explore_Disk (char *path , uint8_t recu_level);
|
extern uint8_t Explore_Disk(char *path, uint8_t recu_level);
|
||||||
|
|
||||||
extern uint8_t commands_in_queue;
|
extern uint8_t commands_in_queue;
|
||||||
extern uint8_t sel_id;
|
extern uint8_t sel_id;
|
||||||
extern unsigned int getTickDiff(unsigned int curTick, unsigned int lastTick);
|
extern unsigned int getTickDiff(unsigned int curTick, unsigned int lastTick);
|
||||||
|
|
||||||
volatile SZ_USART_FIFO WifiRxFifo;
|
volatile SZ_USART_FIFO WifiRxFifo;
|
||||||
|
|
||||||
#define WAIT_ESP_TRANS_TIMEOUT_TICK 10500
|
#define WAIT_ESP_TRANS_TIMEOUT_TICK 10500
|
||||||
|
|
||||||
@ -487,7 +487,7 @@ static bool longName2DosName(const char *longName, char *dosName) {
|
|||||||
if (len > UDISKBUFLEN) return 0;
|
if (len > UDISKBUFLEN) return 0;
|
||||||
|
|
||||||
if (wifiDmaRcvFifo.state[tmpW] == udisk_buf_empty) {
|
if (wifiDmaRcvFifo.state[tmpW] == udisk_buf_empty) {
|
||||||
const int timeOut = 2000; //millisecond
|
const int timeOut = 2000; // millisecond
|
||||||
dmaTransmitBegin();
|
dmaTransmitBegin();
|
||||||
if (HAL_DMA_PollForTransferCustomize(&wifiUsartDMArx, HAL_DMA_FULL_TRANSFER, timeOut) == HAL_OK) {
|
if (HAL_DMA_PollForTransferCustomize(&wifiUsartDMArx, HAL_DMA_FULL_TRANSFER, timeOut) == HAL_OK) {
|
||||||
memcpy((unsigned char *) wifiDmaRcvFifo.bufferAddr[tmpW], (uint8_t *)bufToCpy, len);
|
memcpy((unsigned char *) wifiDmaRcvFifo.bufferAddr[tmpW], (uint8_t *)bufToCpy, len);
|
||||||
@ -612,14 +612,14 @@ int package_to_wifi(WIFI_RET_TYPE type, uint8_t *buf, int len) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (len > 0) {
|
if (len > 0) {
|
||||||
memcpy(&buf_to_wifi[4 + index_to_wifi], buf, len);
|
memcpy(&buf_to_wifi[4 + index_to_wifi], buf, len);
|
||||||
index_to_wifi += len;
|
index_to_wifi += len;
|
||||||
|
|
||||||
if (index_to_wifi < 1)
|
if (index_to_wifi < 1)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (buf_to_wifi[index_to_wifi + 3] == '\n') {
|
if (buf_to_wifi[index_to_wifi + 3] == '\n') {
|
||||||
// mask "wait" "busy" "X:"
|
// mask "wait" "busy" "X:"
|
||||||
if ( ((buf_to_wifi[4] == 'w') && (buf_to_wifi[5] == 'a') && (buf_to_wifi[6] == 'i') && (buf_to_wifi[7] == 't'))
|
if ( ((buf_to_wifi[4] == 'w') && (buf_to_wifi[5] == 'a') && (buf_to_wifi[6] == 'i') && (buf_to_wifi[7] == 't'))
|
||||||
|| ((buf_to_wifi[4] == 'b') && (buf_to_wifi[5] == 'u') && (buf_to_wifi[6] == 's') && (buf_to_wifi[7] == 'y'))
|
|| ((buf_to_wifi[4] == 'b') && (buf_to_wifi[5] == 'u') && (buf_to_wifi[6] == 's') && (buf_to_wifi[7] == 'y'))
|
||||||
@ -768,7 +768,7 @@ int write_to_file(char *buf, int len) {
|
|||||||
if (res == -1) {
|
if (res == -1) {
|
||||||
ZERO(public_buf);
|
ZERO(public_buf);
|
||||||
file_writer.write_index = 0;
|
file_writer.write_index = 0;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -840,7 +840,7 @@ uint8_t Explore_Disk(char *path , uint8_t recu_level) {
|
|||||||
static void wifi_gcode_exec(uint8_t *cmd_line) {
|
static void wifi_gcode_exec(uint8_t *cmd_line) {
|
||||||
int8_t tempBuf[100] = { 0 };
|
int8_t tempBuf[100] = { 0 };
|
||||||
uint8_t *tmpStr = 0;
|
uint8_t *tmpStr = 0;
|
||||||
int cmd_value;
|
int cmd_value;
|
||||||
volatile int print_rate;
|
volatile int print_rate;
|
||||||
if (strchr((char *)cmd_line, '\n') && (strchr((char *)cmd_line, 'G') || strchr((char *)cmd_line, 'M') || strchr((char *)cmd_line, 'T'))) {
|
if (strchr((char *)cmd_line, '\n') && (strchr((char *)cmd_line, 'G') || strchr((char *)cmd_line, 'M') || strchr((char *)cmd_line, 'T'))) {
|
||||||
tmpStr = (uint8_t *)strchr((char *)cmd_line, '\n');
|
tmpStr = (uint8_t *)strchr((char *)cmd_line, '\n');
|
||||||
@ -1492,7 +1492,7 @@ static void file_first_msg_handle(uint8_t * msg, uint16_t msgLen) {
|
|||||||
|
|
||||||
memcpy(file_writer.saveFileName, msg + 5, fileNameLen);
|
memcpy(file_writer.saveFileName, msg + 5, fileNameLen);
|
||||||
|
|
||||||
utf8_2_unicode(file_writer.saveFileName,fileNameLen);
|
utf8_2_unicode(file_writer.saveFileName, fileNameLen);
|
||||||
|
|
||||||
ZERO(public_buf);
|
ZERO(public_buf);
|
||||||
|
|
||||||
@ -1745,7 +1745,7 @@ int32_t readWifiFifo(uint8_t *retBuf, uint32_t bufLen) {
|
|||||||
|
|
||||||
void stopEspTransfer() {
|
void stopEspTransfer() {
|
||||||
if (wifi_link_state == WIFI_TRANS_FILE)
|
if (wifi_link_state == WIFI_TRANS_FILE)
|
||||||
wifi_link_state = WIFI_CONNECTED;
|
wifi_link_state = WIFI_CONNECTED;
|
||||||
|
|
||||||
TERN_(SDSUPPORT, card.closefile());
|
TERN_(SDSUPPORT, card.closefile());
|
||||||
|
|
||||||
@ -2015,8 +2015,8 @@ void get_wifi_commands() {
|
|||||||
if (gpos) {
|
if (gpos) {
|
||||||
switch (strtol(gpos + 1, nullptr, 10)) {
|
switch (strtol(gpos + 1, nullptr, 10)) {
|
||||||
case 0 ... 1:
|
case 0 ... 1:
|
||||||
TERN_(ARC_SUPPORT, case 2 ... 3:)
|
TERN_(ARC_SUPPORT, case 2 ... 3:)
|
||||||
TERN_(BEZIER_CURVE_SUPPORT, case 5:)
|
TERN_(BEZIER_CURVE_SUPPORT, case 5:)
|
||||||
SERIAL_ECHOLNPGM(STR_ERR_STOPPED);
|
SERIAL_ECHOLNPGM(STR_ERR_STOPPED);
|
||||||
LCD_MESSAGEPGM(MSG_STOPPED);
|
LCD_MESSAGEPGM(MSG_STOPPED);
|
||||||
break;
|
break;
|
||||||
|
@ -56,7 +56,7 @@
|
|||||||
|
|
||||||
#define UDISKBUFLEN 1024
|
#define UDISKBUFLEN 1024
|
||||||
|
|
||||||
typedef enum{
|
typedef enum {
|
||||||
udisk_buf_empty = 0,
|
udisk_buf_empty = 0,
|
||||||
udisk_buf_full,
|
udisk_buf_full,
|
||||||
} UDISK_DATA_BUFFER_STATE;
|
} UDISK_DATA_BUFFER_STATE;
|
||||||
@ -74,41 +74,41 @@ typedef struct {
|
|||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
uint8_t flag; // 0x0: no error; 0x01: error
|
uint8_t flag; // 0x0: no error; 0x01: error
|
||||||
uint32_t start_tick; //error start time
|
uint32_t start_tick; // error start time
|
||||||
uint32_t now_tick;
|
uint32_t now_tick;
|
||||||
} WIFI_TRANS_ERROR;
|
} WIFI_TRANS_ERROR;
|
||||||
|
|
||||||
extern volatile WIFI_TRANS_ERROR wifiTransError;
|
extern volatile WIFI_TRANS_ERROR wifiTransError;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
char ap_name[32]; //wifi-name
|
char ap_name[32]; // wifi-name
|
||||||
char keyCode[64]; //wifi password
|
char keyCode[64]; // wifi password
|
||||||
int decodeType;
|
int decodeType;
|
||||||
int baud;
|
int baud;
|
||||||
int mode;
|
int mode;
|
||||||
} WIFI_PARA;
|
} WIFI_PARA;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
char state;
|
char state;
|
||||||
char hostUrl[96];
|
char hostUrl[96];
|
||||||
int port;
|
int port;
|
||||||
char id[21];
|
char id[21];
|
||||||
} CLOUD_PARA;
|
} CLOUD_PARA;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
char dhcp_flag;
|
char dhcp_flag;
|
||||||
char ip_addr[16];
|
char ip_addr[16];
|
||||||
char mask[16];
|
char mask[16];
|
||||||
char gate[16];
|
char gate[16];
|
||||||
char dns[16];
|
char dns[16];
|
||||||
|
|
||||||
char dhcpd_flag;
|
char dhcpd_flag;
|
||||||
char dhcpd_ip[16];
|
char dhcpd_ip[16];
|
||||||
char dhcpd_mask[16];
|
char dhcpd_mask[16];
|
||||||
char dhcpd_gate[16];
|
char dhcpd_gate[16];
|
||||||
char dhcpd_dns[16];
|
char dhcpd_dns[16];
|
||||||
char start_ip_addr[16];
|
char start_ip_addr[16];
|
||||||
char end_ip_addr[16];
|
char end_ip_addr[16];
|
||||||
} IP_PARA;
|
} IP_PARA;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
@ -144,8 +144,8 @@ extern volatile TRANSFER_STATE esp_state;
|
|||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
char buf[20][80];
|
char buf[20][80];
|
||||||
int rd_index;
|
int rd_index;
|
||||||
int wt_index;
|
int wt_index;
|
||||||
} QUEUE;
|
} QUEUE;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
#define WIFI_IO1_SET() WRITE(WIFI_IO1_PIN, HIGH);
|
#define WIFI_IO1_SET() WRITE(WIFI_IO1_PIN, HIGH);
|
||||||
#define WIFI_IO1_RESET() WRITE(WIFI_IO1_PIN, LOW);
|
#define WIFI_IO1_RESET() WRITE(WIFI_IO1_PIN, LOW);
|
||||||
|
|
||||||
extern SZ_USART_FIFO WifiRxFifo;
|
extern SZ_USART_FIFO WifiRxFifo;
|
||||||
|
|
||||||
extern int readUsartFifo(SZ_USART_FIFO *fifo, int8_t *buf, int32_t len);
|
extern int readUsartFifo(SZ_USART_FIFO *fifo, int8_t *buf, int32_t len);
|
||||||
extern int writeUsartFifo(SZ_USART_FIFO * fifo, int8_t * buf, int32_t len);
|
extern int writeUsartFifo(SZ_USART_FIFO * fifo, int8_t * buf, int32_t len);
|
||||||
@ -301,7 +301,7 @@ EspUploadResult readPacket(uint8_t op, uint32_t *valp, size_t *bodyLen, uint32_t
|
|||||||
return stat;
|
return stat;
|
||||||
}
|
}
|
||||||
else if (state == header) {
|
else if (state == header) {
|
||||||
//store the header byte
|
// store the header byte
|
||||||
hdr[hdrIdx++] = c;
|
hdr[hdrIdx++] = c;
|
||||||
if (hdrIdx >= headerLength) {
|
if (hdrIdx >= headerLength) {
|
||||||
// get the body length, prepare a buffer for it
|
// get the body length, prepare a buffer for it
|
||||||
@ -423,7 +423,7 @@ EspUploadResult doCommand(uint8_t op, const uint8_t *data, size_t dataLen, uint3
|
|||||||
EspUploadResult Sync(uint16_t timeout) {
|
EspUploadResult Sync(uint16_t timeout) {
|
||||||
uint8_t buf[36];
|
uint8_t buf[36];
|
||||||
EspUploadResult stat;
|
EspUploadResult stat;
|
||||||
int i ;
|
int i;
|
||||||
|
|
||||||
// compose the data for the sync attempt
|
// compose the data for the sync attempt
|
||||||
memset(buf, 0x55, sizeof(buf));
|
memset(buf, 0x55, sizeof(buf));
|
||||||
@ -449,8 +449,8 @@ EspUploadResult Sync(uint16_t timeout) {
|
|||||||
if (rc != success || bodyLen != 2) break;
|
if (rc != success || bodyLen != 2) break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//DEBUG
|
// DEBUG
|
||||||
//else debug//printf("stat=%d\n", (int)stat);
|
//else printf("stat=%d\n", (int)stat);
|
||||||
return stat;
|
return stat;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user