Merge remote-tracking branch 'upstream/bugfix-2.0.x' into bugfix-2.0.x
This commit is contained in:
commit
b9f077d1b7
17 changed files with 65 additions and 47 deletions
1
.github/workflows/test-builds.yml
vendored
1
.github/workflows/test-builds.yml
vendored
|
|
@ -36,6 +36,7 @@ jobs:
|
||||||
# Base Environments
|
# Base Environments
|
||||||
|
|
||||||
- DUE
|
- DUE
|
||||||
|
- DUE_archim
|
||||||
- esp32
|
- esp32
|
||||||
- linux_native
|
- linux_native
|
||||||
- mega2560
|
- mega2560
|
||||||
|
|
|
||||||
|
|
@ -477,7 +477,7 @@
|
||||||
#define DIO91_PIN 15
|
#define DIO91_PIN 15
|
||||||
#define DIO91_WPORT PIOB
|
#define DIO91_WPORT PIOB
|
||||||
|
|
||||||
#if ARDUINO_SAM_ARCHIM
|
#ifdef ARDUINO_SAM_ARCHIM
|
||||||
|
|
||||||
#define DIO92_PIN 11
|
#define DIO92_PIN 11
|
||||||
#define DIO92_WPORT PIOC
|
#define DIO92_WPORT PIOC
|
||||||
|
|
|
||||||
|
|
@ -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);
|
const float z_probed_height = probe.probe_at_point(screws_tilt_adjust_pos[i], PROBE_PT_RAISE, 0, true);
|
||||||
|
|
||||||
if (isnan(z_probed_height)) {
|
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);
|
SERIAL_ECHOLNPAIR_P(SP_X_STR, screws_tilt_adjust_pos[i].x, SP_Y_STR, screws_tilt_adjust_pos[i].y);
|
||||||
err_break = true;
|
err_break = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (DEBUGGING(LEVELING)) {
|
if (DEBUGGING(LEVELING)) {
|
||||||
DEBUG_ECHOPAIR("Probing point ", int(i), " (", tramming_point_name[i], ")");
|
DEBUG_ECHOPAIR("Probing point ", int(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_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;
|
z_measured[i] = z_probed_height;
|
||||||
|
|
@ -155,9 +159,9 @@ void GcodeSuite::G35() {
|
||||||
const float decimal_part = adjust - float(full_turns);
|
const float decimal_part = adjust - float(full_turns);
|
||||||
const int minutes = trunc(decimal_part * 60.0f);
|
const int minutes = trunc(decimal_part * 60.0f);
|
||||||
|
|
||||||
SERIAL_ECHOPAIR("Turn ", tramming_point_name[i],
|
SERIAL_ECHOPGM("Turn ");
|
||||||
" ", (screw_thread & 1) == (adjust > 0) ? "CCW" : "CW",
|
SERIAL_ECHOPGM_P((char *)pgm_read_ptr(&tramming_point_name[i]));
|
||||||
" by ", abs(full_turns), " turns");
|
SERIAL_ECHOPAIR(" ", (screw_thread & 1) == (adjust > 0) ? "CCW" : "CW", " by ", abs(full_turns), " turns");
|
||||||
if (minutes) SERIAL_ECHOPAIR(" and ", abs(minutes), " minutes");
|
if (minutes) SERIAL_ECHOPAIR(" and ", abs(minutes), " minutes");
|
||||||
if (ENABLED(REPORT_TRAMMING_MM)) SERIAL_ECHOPAIR(" (", -diff, "mm)");
|
if (ENABLED(REPORT_TRAMMING_MM)) SERIAL_ECHOPAIR(" (", -diff, "mm)");
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
* version was tagged.
|
* version was tagged.
|
||||||
*/
|
*/
|
||||||
#ifndef STRING_DISTRIBUTION_DATE
|
#ifndef STRING_DISTRIBUTION_DATE
|
||||||
#define STRING_DISTRIBUTION_DATE "2020-10-27"
|
#define STRING_DISTRIBUTION_DATE "2020-10-28"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "../../inc/MarlinConfigPre.h"
|
#include "../../../../inc/MarlinConfigPre.h"
|
||||||
|
|
||||||
#if HAS_TFT_LVGL_UI
|
#if HAS_TFT_LVGL_UI
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -50,20 +50,7 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) {
|
||||||
|
|
||||||
void lv_draw_about(void) {
|
void lv_draw_about(void) {
|
||||||
scr = lv_screen_create(ABOUT_UI);
|
scr = lv_screen_create(ABOUT_UI);
|
||||||
|
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);
|
||||||
// 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);
|
|
||||||
}
|
|
||||||
|
|
||||||
//fw_version = lv_label_create(scr, SHORT_BUILD_VERSION);
|
//fw_version = lv_label_create(scr, SHORT_BUILD_VERSION);
|
||||||
//lv_obj_align(fw_version, nullptr, LV_ALIGN_CENTER, 0, -60);
|
//lv_obj_align(fw_version, nullptr, LV_ALIGN_CENTER, 0, -60);
|
||||||
|
|
|
||||||
|
|
@ -214,7 +214,7 @@ void lv_draw_dialog(uint8_t type) {
|
||||||
uiCfg.dialogType = type;
|
uiCfg.dialogType = type;
|
||||||
scr = lv_screen_create(DIALOG_UI);
|
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)) {
|
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);
|
||||||
|
|
|
||||||
|
|
@ -208,11 +208,6 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) {
|
||||||
void lv_draw_print_file(void) {
|
void lv_draw_print_file(void) {
|
||||||
//uint8_t i;
|
//uint8_t i;
|
||||||
uint8_t file_count;
|
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;
|
curDirLever = 0;
|
||||||
dir_offset[curDirLever].curPage = 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) {
|
void disp_gcode_icon(uint8_t file_num) {
|
||||||
uint8_t i;
|
uint8_t i;
|
||||||
|
|
||||||
scr = lv_screen_create(MAIN_UI, "");
|
scr = lv_screen_create(PRINT_FILE_UI, "");
|
||||||
|
|
||||||
// Create image buttons
|
// 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);
|
buttonPageUp = lv_imgbtn_create(scr, "F:/bmp_pageUp.bin", OTHER_BTN_XPIEL * 3 + INTERVAL_V * 4, titleHeight, event_handler, ID_P_UP);
|
||||||
|
|
|
||||||
|
|
@ -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_stack._disp_state[disp_state_stack._disp_index] = newScreenType;
|
||||||
}
|
}
|
||||||
disp_state = newScreenType;
|
disp_state = newScreenType;
|
||||||
lv_refr_now(lv_refr_get_disp_refreshing());
|
|
||||||
|
|
||||||
// title
|
// title
|
||||||
lv_obj_t *titleLabel = nullptr;
|
lv_obj_t *titleLabel = nullptr;
|
||||||
|
|
@ -1651,18 +1650,22 @@ lv_obj_t* lv_screen_create(DISP_STATE newScreenType, const char* title) {
|
||||||
if (titleLabel)
|
if (titleLabel)
|
||||||
lv_obj_set_style(titleLabel, &tft_style_label_rel);
|
lv_obj_set_style(titleLabel, &tft_style_label_rel);
|
||||||
|
|
||||||
|
lv_refr_now(lv_refr_get_disp_refreshing());
|
||||||
|
|
||||||
return scr;
|
return scr;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create an empty label
|
// Create an empty label
|
||||||
lv_obj_t* lv_label_create_empty(lv_obj_t *par) {
|
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
|
// Create a label with style and text
|
||||||
lv_obj_t* lv_label_create(lv_obj_t *par, const char *text) {
|
lv_obj_t* lv_label_create(lv_obj_t *par, const char *text) {
|
||||||
lv_obj_t *label = lv_label_create_empty(par);
|
lv_obj_t *label = lv_label_create_empty(par);
|
||||||
if (text) lv_label_set_text(label, text);
|
if (text) lv_label_set_text(label, text);
|
||||||
|
lv_obj_set_style(label, &tft_style_label_rel);
|
||||||
return label;
|
return label;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -86,7 +86,7 @@
|
||||||
#include "draw_wifi_tips.h"
|
#include "draw_wifi_tips.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "../../inc/MarlinConfigPre.h"
|
#include "../../../../inc/MarlinConfigPre.h"
|
||||||
#define FILE_SYS_USB 0
|
#define FILE_SYS_USB 0
|
||||||
#define FILE_SYS_SD 1
|
#define FILE_SYS_SD 1
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -488,6 +488,7 @@ uint8_t public_buf[512];
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdateAssets() {
|
void UpdateAssets() {
|
||||||
|
if (!card.isMounted()) return;
|
||||||
SdFile dir, root = card.getroot();
|
SdFile dir, root = card.getroot();
|
||||||
if (dir.open(&root, assetsPath, O_RDONLY)) {
|
if (dir.open(&root, assetsPath, O_RDONLY)) {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@
|
||||||
#include "../../../../MarlinCore.h"
|
#include "../../../../MarlinCore.h"
|
||||||
#include "../../../../inc/MarlinConfig.h"
|
#include "../../../../inc/MarlinConfig.h"
|
||||||
|
|
||||||
#include HAL_PATH(../../HAL, tft/xpt2046.h)
|
#include HAL_PATH(../../../../HAL, tft/xpt2046.h)
|
||||||
#include "../../../marlinui.h"
|
#include "../../../marlinui.h"
|
||||||
XPT2046 touch;
|
XPT2046 touch;
|
||||||
|
|
||||||
|
|
@ -116,17 +116,20 @@ void tft_lvgl_init() {
|
||||||
ui_cfg_init();
|
ui_cfg_init();
|
||||||
disp_language_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.spi_init(SPI_FULL_SPEED);
|
||||||
SPI_TFT.LCD_init();
|
SPI_TFT.LCD_init();
|
||||||
|
|
||||||
|
watchdog_refresh(); // LVGL init takes time
|
||||||
|
|
||||||
//spi_flash_read_test();
|
//spi_flash_read_test();
|
||||||
#if ENABLED(SDSUPPORT)
|
#if ENABLED(SDSUPPORT)
|
||||||
watchdog_refresh();
|
|
||||||
UpdateAssets();
|
UpdateAssets();
|
||||||
|
watchdog_refresh(); // LVGL init takes time
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
watchdog_refresh();
|
|
||||||
mks_test_get();
|
mks_test_get();
|
||||||
|
|
||||||
touch.Init();
|
touch.Init();
|
||||||
|
|
@ -189,9 +192,11 @@ void tft_lvgl_init() {
|
||||||
|
|
||||||
lv_encoder_pin_init();
|
lv_encoder_pin_init();
|
||||||
|
|
||||||
|
bool ready = true;
|
||||||
#if ENABLED(POWER_LOSS_RECOVERY)
|
#if ENABLED(POWER_LOSS_RECOVERY)
|
||||||
recovery.load();
|
recovery.load();
|
||||||
if (recovery.valid()) {
|
if (recovery.valid()) {
|
||||||
|
ready = false;
|
||||||
if (gCfgItems.from_flash_pic)
|
if (gCfgItems.from_flash_pic)
|
||||||
flash_preview_begin = true;
|
flash_preview_begin = true;
|
||||||
else
|
else
|
||||||
|
|
@ -201,14 +206,12 @@ void tft_lvgl_init() {
|
||||||
|
|
||||||
strncpy(public_buf_m, recovery.info.sd_filename, sizeof(public_buf_m));
|
strncpy(public_buf_m, recovery.info.sd_filename, sizeof(public_buf_m));
|
||||||
card.printLongPath(public_buf_m);
|
card.printLongPath(public_buf_m);
|
||||||
|
|
||||||
strncpy(list_file.long_name[sel_id], card.longFilename, sizeof(list_file.long_name[sel_id]));
|
strncpy(list_file.long_name[sel_id], card.longFilename, sizeof(list_file.long_name[sel_id]));
|
||||||
|
|
||||||
lv_draw_printing();
|
lv_draw_printing();
|
||||||
}
|
}
|
||||||
else
|
|
||||||
#endif
|
#endif
|
||||||
lv_draw_ready_print();
|
|
||||||
|
if (ready) lv_draw_ready_print();
|
||||||
|
|
||||||
if (mks_test_flag == 0x1E)
|
if (mks_test_flag == 0x1E)
|
||||||
mks_gpio_test();
|
mks_gpio_test();
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
extern "C" { /* C-declarations for C++ */
|
extern "C" { /* C-declarations for C++ */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "../../inc/MarlinConfigPre.h"
|
#include "../../../../inc/MarlinConfigPre.h"
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
|
||||||
|
|
@ -145,25 +145,25 @@ public:
|
||||||
return TERN(IS_KINEMATIC,
|
return TERN(IS_KINEMATIC,
|
||||||
(X_CENTER) - probe_radius(),
|
(X_CENTER) - probe_radius(),
|
||||||
_MAX((X_MIN_BED) + (PROBING_MARGIN_LEFT), (X_MIN_POS) + offset_xy.x)
|
_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() {
|
static inline float max_x() {
|
||||||
return TERN(IS_KINEMATIC,
|
return TERN(IS_KINEMATIC,
|
||||||
(X_CENTER) + probe_radius(),
|
(X_CENTER) + probe_radius(),
|
||||||
_MIN((X_MAX_BED) - (PROBING_MARGIN_RIGHT), (X_MAX_POS) + offset_xy.x)
|
_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() {
|
static inline float min_y() {
|
||||||
return TERN(IS_KINEMATIC,
|
return TERN(IS_KINEMATIC,
|
||||||
(Y_CENTER) - probe_radius(),
|
(Y_CENTER) - probe_radius(),
|
||||||
_MAX((Y_MIN_BED) + (PROBING_MARGIN_FRONT), (Y_MIN_POS) + offset_xy.y)
|
_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() {
|
static inline float max_y() {
|
||||||
return TERN(IS_KINEMATIC,
|
return TERN(IS_KINEMATIC,
|
||||||
(Y_CENTER) + probe_radius(),
|
(Y_CENTER) + probe_radius(),
|
||||||
_MIN((Y_MAX_BED) - (PROBING_MARGIN_BACK), (Y_MAX_POS) + offset_xy.y)
|
_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
|
#if NEEDS_THREE_PROBE_POINTS
|
||||||
|
|
|
||||||
|
|
@ -483,7 +483,7 @@
|
||||||
#elif MB(ULTRATRONICS_PRO)
|
#elif MB(ULTRATRONICS_PRO)
|
||||||
#include "sam/pins_ULTRATRONICS_PRO.h" // SAM3X8E env:DUE env:DUE_debug
|
#include "sam/pins_ULTRATRONICS_PRO.h" // SAM3X8E env:DUE env:DUE_debug
|
||||||
#elif MB(ARCHIM1)
|
#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)
|
#elif MB(ARCHIM2)
|
||||||
#include "sam/pins_ARCHIM2.h" // SAM3X8E env:DUE_archim env:DUE_archim_debug
|
#include "sam/pins_ARCHIM2.h" // SAM3X8E env:DUE_archim env:DUE_archim_debug
|
||||||
#elif MB(ALLIGATOR)
|
#elif MB(ALLIGATOR)
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,9 @@ opt_add TEMP_CHAMBER_PIN 6
|
||||||
opt_set HEATER_CHAMBER_PIN 45
|
opt_set HEATER_CHAMBER_PIN 45
|
||||||
exec_test $1 $2 "RAMPS4DUE_EFB with ABL (Bilinear), ExtUI, S-Curve, many options."
|
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
|
restore_configs
|
||||||
opt_set MOTHERBOARD BOARD_RADDS
|
opt_set MOTHERBOARD BOARD_RADDS
|
||||||
opt_enable USE_XMAX_PLUG USE_YMAX_PLUG ENDSTOPPULLUPS BLTOUCH AUTO_BED_LEVELING_BILINEAR \
|
opt_enable USE_XMAX_PLUG USE_YMAX_PLUG ENDSTOPPULLUPS BLTOUCH AUTO_BED_LEVELING_BILINEAR \
|
||||||
|
|
|
||||||
21
buildroot/tests/DUE_archim-tests
Executable file
21
buildroot/tests/DUE_archim-tests
Executable 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
|
||||||
Loading…
Add table
Add a link
Reference in a new issue