Merge remote-tracking branch 'upstream/bugfix-2.0.x' into bugfix-2.0.x

This commit is contained in:
Foxies 2020-10-28 03:48:29 +01:00
commit b9f077d1b7
17 changed files with 65 additions and 47 deletions

View file

@ -36,6 +36,7 @@ jobs:
# Base Environments
- DUE
- DUE_archim
- esp32
- linux_native
- mega2560

View file

@ -477,7 +477,7 @@
#define DIO91_PIN 15
#define DIO91_WPORT PIOB
#if ARDUINO_SAM_ARCHIM
#ifdef ARDUINO_SAM_ARCHIM
#define DIO92_PIN 11
#define DIO92_WPORT PIOC

View file

@ -129,15 +129,19 @@ void GcodeSuite::G35() {
const float z_probed_height = probe.probe_at_point(screws_tilt_adjust_pos[i], PROBE_PT_RAISE, 0, true);
if (isnan(z_probed_height)) {
SERIAL_ECHOPAIR("G35 failed at point ", int(i), " (", tramming_point_name[i], ")");
SERIAL_ECHOPAIR("G35 failed at point ", int(i), " (");
SERIAL_ECHOPGM_P((char *)pgm_read_ptr(&tramming_point_name[i]));
SERIAL_CHAR(')');
SERIAL_ECHOLNPAIR_P(SP_X_STR, screws_tilt_adjust_pos[i].x, SP_Y_STR, screws_tilt_adjust_pos[i].y);
err_break = true;
break;
}
if (DEBUGGING(LEVELING)) {
DEBUG_ECHOPAIR("Probing point ", int(i), " (", tramming_point_name[i], ")");
SERIAL_ECHOLNPAIR_P(SP_X_STR, screws_tilt_adjust_pos[i].x, SP_Y_STR, screws_tilt_adjust_pos[i].y, SP_Z_STR, z_probed_height);
DEBUG_ECHOPAIR("Probing point ", int(i), " (");
DEBUG_PRINT_P((char *)pgm_read_ptr(&tramming_point_name[i]));
DEBUG_CHAR(')');
DEBUG_ECHOLNPAIR_P(SP_X_STR, screws_tilt_adjust_pos[i].x, SP_Y_STR, screws_tilt_adjust_pos[i].y, SP_Z_STR, z_probed_height);
}
z_measured[i] = z_probed_height;
@ -155,9 +159,9 @@ void GcodeSuite::G35() {
const float decimal_part = adjust - float(full_turns);
const int minutes = trunc(decimal_part * 60.0f);
SERIAL_ECHOPAIR("Turn ", tramming_point_name[i],
" ", (screw_thread & 1) == (adjust > 0) ? "CCW" : "CW",
" by ", abs(full_turns), " turns");
SERIAL_ECHOPGM("Turn ");
SERIAL_ECHOPGM_P((char *)pgm_read_ptr(&tramming_point_name[i]));
SERIAL_ECHOPAIR(" ", (screw_thread & 1) == (adjust > 0) ? "CCW" : "CW", " by ", abs(full_turns), " turns");
if (minutes) SERIAL_ECHOPAIR(" and ", abs(minutes), " minutes");
if (ENABLED(REPORT_TRAMMING_MM)) SERIAL_ECHOPAIR(" (", -diff, "mm)");
SERIAL_EOL();

View file

@ -42,7 +42,7 @@
* version was tagged.
*/
#ifndef STRING_DISTRIBUTION_DATE
#define STRING_DISTRIBUTION_DATE "2020-10-27"
#define STRING_DISTRIBUTION_DATE "2020-10-28"
#endif
/**

View file

@ -21,7 +21,7 @@
*/
#pragma once
#include "../../inc/MarlinConfigPre.h"
#include "../../../../inc/MarlinConfigPre.h"
#if HAS_TFT_LVGL_UI

View file

@ -50,20 +50,7 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) {
void lv_draw_about(void) {
scr = lv_screen_create(ABOUT_UI);
// Create an Image button
lv_obj_t *buttonBack = lv_imgbtn_create(scr, "F:/bmp_return.bin", BTN_X_PIXEL * 3 + INTERVAL_V * 4, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_A_RETURN);
#if HAS_ROTARY_ENCODER
if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonBack);
#endif
// Create a label on the image button
lv_obj_t *label_Back = lv_label_create_empty(buttonBack);
if (gCfgItems.multiple_language) {
lv_label_set_text(label_Back, common_menu.text_back);
lv_obj_align(label_Back, buttonBack, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET);
}
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_A_RETURN);
//fw_version = lv_label_create(scr, SHORT_BUILD_VERSION);
//lv_obj_align(fw_version, nullptr, LV_ALIGN_CENTER, 0, -60);

View file

@ -214,7 +214,7 @@ void lv_draw_dialog(uint8_t type) {
uiCfg.dialogType = type;
scr = lv_screen_create(DIALOG_UI);
lv_obj_t *labelDialog = lv_label_create_empty(scr);
lv_obj_t *labelDialog = lv_label_create(scr, "");
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);

View file

@ -208,11 +208,6 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) {
void lv_draw_print_file(void) {
//uint8_t i;
uint8_t file_count;
if (disp_state_stack._disp_state[disp_state_stack._disp_index] != PRINT_FILE_UI) {
disp_state_stack._disp_index++;
disp_state_stack._disp_state[disp_state_stack._disp_index] = PRINT_FILE_UI;
}
disp_state = PRINT_FILE_UI;
curDirLever = 0;
dir_offset[curDirLever].curPage = 0;
@ -252,7 +247,7 @@ static char test_public_buf_l[40];
void disp_gcode_icon(uint8_t file_num) {
uint8_t i;
scr = lv_screen_create(MAIN_UI, "");
scr = lv_screen_create(PRINT_FILE_UI, "");
// Create image buttons
buttonPageUp = lv_imgbtn_create(scr, "F:/bmp_pageUp.bin", OTHER_BTN_XPIEL * 3 + INTERVAL_V * 4, titleHeight, event_handler, ID_P_UP);

View file

@ -1640,7 +1640,6 @@ lv_obj_t* lv_screen_create(DISP_STATE newScreenType, const char* title) {
disp_state_stack._disp_state[disp_state_stack._disp_index] = newScreenType;
}
disp_state = newScreenType;
lv_refr_now(lv_refr_get_disp_refreshing());
// title
lv_obj_t *titleLabel = nullptr;
@ -1651,18 +1650,22 @@ lv_obj_t* lv_screen_create(DISP_STATE newScreenType, const char* title) {
if (titleLabel)
lv_obj_set_style(titleLabel, &tft_style_label_rel);
lv_refr_now(lv_refr_get_disp_refreshing());
return scr;
}
// Create an empty label
lv_obj_t* lv_label_create_empty(lv_obj_t *par) {
return lv_label_create(par, (lv_obj_t*)nullptr);
lv_obj_t *label = lv_label_create(par, (lv_obj_t*)nullptr);
return label;
}
// Create a label with style and text
lv_obj_t* lv_label_create(lv_obj_t *par, const char *text) {
lv_obj_t *label = lv_label_create_empty(par);
if (text) lv_label_set_text(label, text);
lv_obj_set_style(label, &tft_style_label_rel);
return label;
}

View file

@ -86,7 +86,7 @@
#include "draw_wifi_tips.h"
#endif
#include "../../inc/MarlinConfigPre.h"
#include "../../../../inc/MarlinConfigPre.h"
#define FILE_SYS_USB 0
#define FILE_SYS_SD 1

View file

@ -488,6 +488,7 @@ uint8_t public_buf[512];
}
void UpdateAssets() {
if (!card.isMounted()) return;
SdFile dir, root = card.getroot();
if (dir.open(&root, assetsPath, O_RDONLY)) {

View file

@ -43,7 +43,7 @@
#include "../../../../MarlinCore.h"
#include "../../../../inc/MarlinConfig.h"
#include HAL_PATH(../../HAL, tft/xpt2046.h)
#include HAL_PATH(../../../../HAL, tft/xpt2046.h)
#include "../../../marlinui.h"
XPT2046 touch;
@ -116,17 +116,20 @@ void tft_lvgl_init() {
ui_cfg_init();
disp_language_init();
//init tft first!
watchdog_refresh(); // LVGL init takes time
// Init TFT first!
SPI_TFT.spi_init(SPI_FULL_SPEED);
SPI_TFT.LCD_init();
watchdog_refresh(); // LVGL init takes time
//spi_flash_read_test();
#if ENABLED(SDSUPPORT)
watchdog_refresh();
UpdateAssets();
watchdog_refresh(); // LVGL init takes time
#endif
watchdog_refresh();
mks_test_get();
touch.Init();
@ -189,9 +192,11 @@ void tft_lvgl_init() {
lv_encoder_pin_init();
bool ready = true;
#if ENABLED(POWER_LOSS_RECOVERY)
recovery.load();
if (recovery.valid()) {
ready = false;
if (gCfgItems.from_flash_pic)
flash_preview_begin = true;
else
@ -201,14 +206,12 @@ void tft_lvgl_init() {
strncpy(public_buf_m, recovery.info.sd_filename, sizeof(public_buf_m));
card.printLongPath(public_buf_m);
strncpy(list_file.long_name[sel_id], card.longFilename, sizeof(list_file.long_name[sel_id]));
lv_draw_printing();
}
else
#endif
lv_draw_ready_print();
if (ready) lv_draw_ready_print();
if (mks_test_flag == 0x1E)
mks_gpio_test();

View file

@ -25,7 +25,7 @@
extern "C" { /* C-declarations for C++ */
#endif
#include "../../inc/MarlinConfigPre.h"
#include "../../../../inc/MarlinConfigPre.h"
#include <math.h>
#include <stdio.h>

View file

@ -145,25 +145,25 @@ public:
return TERN(IS_KINEMATIC,
(X_CENTER) - probe_radius(),
_MAX((X_MIN_BED) + (PROBING_MARGIN_LEFT), (X_MIN_POS) + offset_xy.x)
) - TERN0(NOZZLE_AS_PROBE, home_offset.x);
) - TERN0(NOZZLE_AS_PROBE, TERN0(HAS_HOME_OFFSET, home_offset.x));
}
static inline float max_x() {
return TERN(IS_KINEMATIC,
(X_CENTER) + probe_radius(),
_MIN((X_MAX_BED) - (PROBING_MARGIN_RIGHT), (X_MAX_POS) + offset_xy.x)
) - TERN0(NOZZLE_AS_PROBE, home_offset.x);
) - TERN0(NOZZLE_AS_PROBE, TERN0(HAS_HOME_OFFSET, home_offset.x));
}
static inline float min_y() {
return TERN(IS_KINEMATIC,
(Y_CENTER) - probe_radius(),
_MAX((Y_MIN_BED) + (PROBING_MARGIN_FRONT), (Y_MIN_POS) + offset_xy.y)
) - TERN0(NOZZLE_AS_PROBE, home_offset.y);
) - TERN0(NOZZLE_AS_PROBE, TERN0(HAS_HOME_OFFSET, home_offset.y));
}
static inline float max_y() {
return TERN(IS_KINEMATIC,
(Y_CENTER) + probe_radius(),
_MIN((Y_MAX_BED) - (PROBING_MARGIN_BACK), (Y_MAX_POS) + offset_xy.y)
) - TERN0(NOZZLE_AS_PROBE, home_offset.y);
) - TERN0(NOZZLE_AS_PROBE, TERN0(HAS_HOME_OFFSET, home_offset.y));
}
#if NEEDS_THREE_PROBE_POINTS

View file

@ -483,7 +483,7 @@
#elif MB(ULTRATRONICS_PRO)
#include "sam/pins_ULTRATRONICS_PRO.h" // SAM3X8E env:DUE env:DUE_debug
#elif MB(ARCHIM1)
#include "sam/pins_ARCHIM1.h" // SAM3X8E env:DUE env:DUE_debug
#include "sam/pins_ARCHIM1.h" // SAM3X8E env:DUE_archim env:DUE_archim_debug
#elif MB(ARCHIM2)
#include "sam/pins_ARCHIM2.h" // SAM3X8E env:DUE_archim env:DUE_archim_debug
#elif MB(ALLIGATOR)

View file

@ -35,6 +35,9 @@ opt_add TEMP_CHAMBER_PIN 6
opt_set HEATER_CHAMBER_PIN 45
exec_test $1 $2 "RAMPS4DUE_EFB with ABL (Bilinear), ExtUI, S-Curve, many options."
#
# RADDS with BLTouch, ABL(B), 3 x Z auto-align
#
restore_configs
opt_set MOTHERBOARD BOARD_RADDS
opt_enable USE_XMAX_PLUG USE_YMAX_PLUG ENDSTOPPULLUPS BLTOUCH AUTO_BED_LEVELING_BILINEAR \

View file

@ -0,0 +1,21 @@
#!/usr/bin/env bash
#
# Build tests for DUE (Atmel SAM3X8E ARM Cortex-M3)
#
# exit on first failure
set -e
#
# Test Archim 1
#
use_example_configs UltiMachine/Archim1
exec_test $1 $2 "Archim 1 base configuration"
#
# Test Archim 2
#
use_example_configs UltiMachine/Archim2
exec_test $1 $2 "Archim 2 base configuration"
restore_configs