Skip to content

Commit

Permalink
⛙ Merge w/Marlin
Browse files Browse the repository at this point in the history
  • Loading branch information
classicrocker883 committed Jul 24, 2024
2 parents 24cbbdd + acc8bf1 commit d1ec0da
Show file tree
Hide file tree
Showing 65 changed files with 1,014 additions and 745 deletions.
12 changes: 10 additions & 2 deletions .github/workflows/ci-build-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ jobs:

# Native
# - linux_native
# - simulator_linux_release

# AVR
# - mega2560
Expand Down Expand Up @@ -123,8 +124,8 @@ jobs:
# - REMRAM_V1

# STM32H7
# - BTT_SKR_SE_BX
#- STM32H743VI_btt
# - BIGTREE_SKR_SE_BX
# - STM32H743VI_btt

# STM32F1 (Maple)
# - jgaurora_a5s_a1_maple
Expand Down Expand Up @@ -186,6 +187,13 @@ jobs:
pio upgrade --dev
pio pkg update --global
- name: Install Simulator dependencies
run: |
sudo apt-get install build-essential
sudo apt-get install libsdl2-dev
sudo apt-get install libsdl2-net-dev
sudo apt-get install libglm-dev
- name: Run ${{ matrix.test-platform }} Tests
run: |
make tests-single-ci TEST_TARGET=${{ matrix.test-platform }}
54 changes: 30 additions & 24 deletions Marlin/Configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@
*
* Calibration Guides: https://reprap.org/wiki/Calibration
* https://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide
* https://web.archive.org/web/20220907014303/https://sites.google.com/site/repraplogphase/calibration-of-your-reprap
* https://web.archive.org/web/20220907014303/sites.google.com/site/repraplogphase/calibration-of-your-reprap
* https://youtu.be/wAL9d7FgInk
* https://teachingtechyt.github.io/calibration.html
*
Expand Down Expand Up @@ -1743,6 +1743,8 @@
#define PROBING_BED_TEMP 50
#endif

// @section stepper drivers

// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' }
#define X_ENABLE_ON 0
Expand Down Expand Up @@ -1916,6 +1918,8 @@
#endif

/**
* @section filament runout sensors
*
* Filament Runout Sensors
* Mechanical or opto endstops are used to check for the presence of filament.
*
Expand Down Expand Up @@ -2458,9 +2462,9 @@
//#define PREHEAT_5_TEMP_BED 60
//#define PREHEAT_5_FAN_SPEED 128

// @section motion

/**
* @section nozzle park
*
* Nozzle Park
*
* Park the nozzle at the given XYZ position on idle or G27.
Expand All @@ -2483,6 +2487,8 @@
#endif

/**
* @section nozzle clean
*
* Clean Nozzle Feature
*
* Adds the G12 command to perform a nozzle cleaning process.
Expand Down Expand Up @@ -2643,9 +2649,24 @@
//#include "Configuration_Secure.h" // External file with PASSWORD_DEFAULT_VALUE
#endif

//=============================================================================
//============================= LCD and SD support ============================
//=============================================================================
// @section media

/**
* SD CARD
*
* SD Card support is disabled by default. If your controller has an SD slot,
* you must uncomment the following option or it won't work.
*/
#define SDSUPPORT

/**
* SD CARD: ENABLE CRC
*
* Use CRC checks and retries on the SD communication.
*/
#if ENABLED(SDSUPPORT)
//#define SD_CHECK_AND_RETRY
#endif

// @section interface

Expand Down Expand Up @@ -2692,21 +2713,6 @@
*/
#define LCD_INFO_SCREEN_STYLE 0

/**
* SD CARD
*
* SD Card support is disabled by default. If your controller has an SD slot,
* you must uncomment the following option or it won't work.
*/
#define SDSUPPORT // Ender Configs

/**
* SD CARD: ENABLE CRC
*
* Use CRC checks and retries on the SD communication.
*/
//#define SD_CHECK_AND_RETRY

/**
* LCD Menu Items
*
Expand Down Expand Up @@ -2835,7 +2841,7 @@

//
// Original RADDS LCD Display+Encoder+SDCardReader
// https://web.archive.org/web/20200719145306/http://doku.radds.org/dokumentation/lcd-display/
// https://web.archive.org/web/20200719145306/doku.radds.org/dokumentation/lcd-display/
//
//#define RADDS_DISPLAY

Expand Down Expand Up @@ -2901,7 +2907,7 @@

//
// Elefu RA Board Control Panel
// https://web.archive.org/web/20140823033947/http://www.elefu.com/index.php?route=product/product&product_id=53
// https://web.archive.org/web/20140823033947/www.elefu.com/index.php?route=product/product&product_id=53
//
//#define RA_CONTROL_PANEL

Expand Down Expand Up @@ -3033,7 +3039,7 @@

//
// Cartesio UI
// https://web.archive.org/web/20180605050442/http://mauk.cc/webshop/cartesio-shop/electronics/user-interface
// https://web.archive.org/web/20180605050442/mauk.cc/webshop/cartesio-shop/electronics/user-interface
//
//#define CARTESIO_UI

Expand Down
2 changes: 1 addition & 1 deletion Marlin/Configuration_adv.h
Original file line number Diff line number Diff line change
Expand Up @@ -3550,7 +3550,7 @@
//#define PHOTOGRAPH_PIN 23

// Canon Hack Development Kit
// https://web.archive.org/web/20200920094805/https://captain-slow.dk/2014/03/09/3d-printing-timelapses/
// https://web.archive.org/web/20200920094805/captain-slow.dk/2014/03/09/3d-printing-timelapses/
//#define CHDK_PIN 4

// Optional second move with delay to trigger the camera shutter
Expand Down
6 changes: 3 additions & 3 deletions Marlin/src/feature/binary_stream.h
Original file line number Diff line number Diff line change
Expand Up @@ -146,9 +146,9 @@ class SDFileTransferProtocol {
transfer_timeout = millis() + TIMEOUT;
switch (static_cast<FileTransfer>(packet_type)) {
case FileTransfer::QUERY:
SERIAL_ECHOPGM("PFT:version:", VERSION_MAJOR, ".", VERSION_MINOR, ".", VERSION_PATCH);
SERIAL_ECHO(F("PFT:version:"), VERSION_MAJOR, C('.'), VERSION_MINOR, C('.'), VERSION_PATCH);
#if ENABLED(BINARY_STREAM_COMPRESSION)
SERIAL_ECHOLNPGM(":compression:heatshrink,", HEATSHRINK_STATIC_WINDOW_BITS, ",", HEATSHRINK_STATIC_LOOKAHEAD_BITS);
SERIAL_ECHOLN(F(":compression:heatshrink,"), HEATSHRINK_STATIC_WINDOW_BITS, C(','), HEATSHRINK_STATIC_LOOKAHEAD_BITS);
#else
SERIAL_ECHOLNPGM(":compression:none");
#endif
Expand Down Expand Up @@ -322,7 +322,7 @@ class BinaryStream {
if (packet.header.checksum == packet.header_checksum) {
// The SYNC control packet is a special case in that it doesn't require the stream sync to be correct
if (static_cast<Protocol>(packet.header.protocol()) == Protocol::CONTROL && static_cast<ProtocolControl>(packet.header.type()) == ProtocolControl::SYNC) {
SERIAL_ECHOLNPGM("ss", sync, ",", buffer_size, ",", VERSION_MAJOR, ".", VERSION_MINOR, ".", VERSION_PATCH);
SERIAL_ECHOLN(F("ss"), sync, C(','), buffer_size, C(','), VERSION_MAJOR, C('.'), VERSION_MINOR, C('.'), VERSION_PATCH);
stream_state = StreamState::PACKET_RESET;
break;
}
Expand Down
4 changes: 4 additions & 0 deletions Marlin/src/inc/Warnings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -694,6 +694,10 @@
#error "Z_SAFE_HOMING is recommended when homing with a probe. (Enable Z_SAFE_HOMING or define NO_Z_SAFE_HOMING_WARNING to suppress this warning.)"
#endif

#if HAS_TRINAMIC_CONFIG && NONE(EDGE_STEPPING, NO_EDGE_STEPPING_WARNING)
#error "EDGE_STEPPING is strongly recommended with Trinamic stepper drivers. (Enable EDGE_STEPPING or define NO_EDGE_STEPPING_WARNING to suppress this warning.)"
#endif

#if ENABLED(BIQU_MICROPROBE_V2) && NONE(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN, NO_MICROPROBE_WARNING)
#warning "BIQU MicroProbe V2 detect signal requires a strong pull-up. Some processors have weak internal pull-up capabilities, so we recommended connecting MicroProbe SIGNAL / GND to Z-MIN / Z-STOP instead of the dedicated PROBE port. (Define NO_MICROPROBE_WARNING to suppress this warning.)"
#endif
Expand Down
174 changes: 96 additions & 78 deletions Marlin/src/lcd/menu/menu_info.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -95,96 +95,114 @@
//
// About Printer > Thermistors
//
void menu_info_thermistors() {
if (ui.use_click()) return ui.go_back();
#if HAS_TEMP_SENSOR
void menu_info_thermistors() {
if (ui.use_click()) return ui.go_back();

START_SCREEN();
START_SCREEN();

#define THERM_ITEMS(LBL,HTR,WAT) \
STATIC_ITEM_F(F(LBL ": " THERMISTOR_NAME), SS_INVERT); \
PSTRING_ITEM(MSG_INFO_MIN_TEMP, STRINGIFY(HTR##_MINTEMP), SS_FULL); \
PSTRING_ITEM(MSG_INFO_MAX_TEMP, STRINGIFY(HTR##_MAXTEMP), SS_FULL); \
STATIC_ITEM(TERN(WAT, MSG_INFO_RUNAWAY_ON, MSG_INFO_RUNAWAY_OFF), SS_FULL) \

#if HAS_EXTRUDERS
#define THERMISTOR_ID TEMP_SENSOR_0
#include "../thermistornames.h"
#undef THERMISTOR_ID
THERM_ITEMS(STR_E0, HEATER_0, WATCH_HOTENDS);
#endif
#define THERM_ITEM_NAME(LBL) \
STATIC_ITEM_F(F(LBL ": " THERMISTOR_NAME), SS_INVERT);

#if TEMP_SENSOR_1 != 0
#define THERMISTOR_ID TEMP_SENSOR_1
#include "../thermistornames.h"
#undef THERMISTOR_ID
THERM_ITEMS(STR_E1, HEATER_1, WATCH_HOTENDS);
#endif
#define THERM_ITEMS(LBL,HTR,WAT) \
THERM_ITEM_NAME(LBL) \
PSTRING_ITEM(MSG_INFO_MIN_TEMP, STRINGIFY(HTR##_MINTEMP), SS_FULL); \
PSTRING_ITEM(MSG_INFO_MAX_TEMP, STRINGIFY(HTR##_MAXTEMP), SS_FULL); \
STATIC_ITEM(TERN(WAT, MSG_INFO_RUNAWAY_ON, MSG_INFO_RUNAWAY_OFF), SS_FULL) \

#if TEMP_SENSOR_2 != 0
#define THERMISTOR_ID TEMP_SENSOR_2
#include "../thermistornames.h"
#undef THERMISTOR_ID
THERM_ITEMS(STR_E2, HEATER_2, WATCH_HOTENDS);
#endif
#if TEMP_SENSOR_0 != 0
#define THERMISTOR_ID TEMP_SENSOR_0
#include "../thermistornames.h"
THERM_ITEMS(STR_E0, HEATER_0, WATCH_HOTENDS);
#endif

#if TEMP_SENSOR_3 != 0
#define THERMISTOR_ID TEMP_SENSOR_3
#include "../thermistornames.h"
#undef THERMISTOR_ID
THERM_ITEMS(STR_E3, HEATER_3, WATCH_HOTENDS);
#endif
#if TEMP_SENSOR_1 != 0
#define THERMISTOR_ID TEMP_SENSOR_1
#include "../thermistornames.h"
THERM_ITEMS(STR_E1, HEATER_1, WATCH_HOTENDS);
#endif

#if TEMP_SENSOR_4 != 0
#define THERMISTOR_ID TEMP_SENSOR_4
#include "../thermistornames.h"
#undef THERMISTOR_ID
THERM_ITEMS(STR_E4, HEATER_4, WATCH_HOTENDS);
#endif
#if TEMP_SENSOR_2 != 0
#define THERMISTOR_ID TEMP_SENSOR_2
#include "../thermistornames.h"
THERM_ITEMS(STR_E2, HEATER_2, WATCH_HOTENDS);
#endif

#if TEMP_SENSOR_5 != 0
#define THERMISTOR_ID TEMP_SENSOR_5
#include "../thermistornames.h"
#undef THERMISTOR_ID
THERM_ITEMS(STR_E5, HEATER_5, WATCH_HOTENDS);
#endif
#if TEMP_SENSOR_3 != 0
#define THERMISTOR_ID TEMP_SENSOR_3
#include "../thermistornames.h"
THERM_ITEMS(STR_E3, HEATER_3, WATCH_HOTENDS);
#endif

#if TEMP_SENSOR_6 != 0
#define THERMISTOR_ID TEMP_SENSOR_6
#include "../thermistornames.h"
#undef THERMISTOR_ID
THERM_ITEMS(STR_E6, HEATER_6, WATCH_HOTENDS);
#endif
#if TEMP_SENSOR_4 != 0
#define THERMISTOR_ID TEMP_SENSOR_4
#include "../thermistornames.h"
THERM_ITEMS(STR_E4, HEATER_4, WATCH_HOTENDS);
#endif

#if TEMP_SENSOR_7 != 0
#define THERMISTOR_ID TEMP_SENSOR_7
#include "../thermistornames.h"
#undef THERMISTOR_ID
THERM_ITEMS(STR_E7, HEATER_7, WATCH_HOTENDS);
#endif
#if TEMP_SENSOR_5 != 0
#define THERMISTOR_ID TEMP_SENSOR_5
#include "../thermistornames.h"
THERM_ITEMS(STR_E5, HEATER_5, WATCH_HOTENDS);
#endif

#if HAS_HEATED_BED
#define THERMISTOR_ID TEMP_SENSOR_BED
#include "../thermistornames.h"
#undef THERMISTOR_ID
THERM_ITEMS("BED", BED, WATCH_BED);
#endif
#if TEMP_SENSOR_6 != 0
#define THERMISTOR_ID TEMP_SENSOR_6
#include "../thermistornames.h"
THERM_ITEMS(STR_E6, HEATER_6, WATCH_HOTENDS);
#endif

#if HAS_HEATED_CHAMBER
#define THERMISTOR_ID TEMP_SENSOR_CHAMBER
#include "../thermistornames.h"
#undef THERMISTOR_ID
THERM_ITEMS("CHAM", CHAMBER, WATCH_CHAMBER);
#endif
#if TEMP_SENSOR_7 != 0
#define THERMISTOR_ID TEMP_SENSOR_7
#include "../thermistornames.h"
THERM_ITEMS(STR_E7, HEATER_7, WATCH_HOTENDS);
#endif

#if HAS_COOLER
#define THERMISTOR_ID TEMP_SENSOR_COOLER
#include "../thermistornames.h"
#undef THERMISTOR_ID
THERM_ITEMS("COOL", COOLER, WATCH_COOLER);
#endif
#if HAS_HEATED_BED
#define THERMISTOR_ID TEMP_SENSOR_BED
#include "../thermistornames.h"
THERM_ITEMS("BED", BED, WATCH_BED);
#endif

END_SCREEN();
}
#if HAS_HEATED_CHAMBER
#define THERMISTOR_ID TEMP_SENSOR_CHAMBER
#include "../thermistornames.h"
THERM_ITEMS("CHAM", CHAMBER, WATCH_CHAMBER);
#endif

#if HAS_COOLER
#define THERMISTOR_ID TEMP_SENSOR_COOLER
#include "../thermistornames.h"
THERM_ITEMS("COOL", COOLER, WATCH_COOLER);
#endif

#if TEMP_SENSOR_PROBE != 0
#define THERMISTOR_ID TEMP_SENSOR_PROBE
#include "../thermistornames.h"
THERM_ITEM_NAME("PROBE");
#endif

#if TEMP_SENSOR_BOARD != 0
#define THERMISTOR_ID TEMP_SENSOR_BOARD
#include "../thermistornames.h"
THERM_ITEM_NAME("BOARD");
#endif

#if TEMP_SENSOR_SOC != 0
#define THERMISTOR_ID TEMP_SENSOR_SOC
#include "../thermistornames.h"
THERM_ITEM_NAME("SOC");
#endif

#if TEMP_SENSOR_REDUNDANT != 0
#define THERMISTOR_ID TEMP_SENSOR_REDUNDANT
#include "../thermistornames.h"
THERM_ITEM_NAME("REDUNDANT");
#endif

END_SCREEN();
}
#endif // HAS_TEMP_SENSOR

//
// About Printer > Board Info
Expand Down Expand Up @@ -256,7 +274,7 @@ void menu_info() {
#else
SUBMENU(MSG_INFO_PRINTER_MENU, menu_info_printer); // Printer Info >
SUBMENU(MSG_INFO_BOARD_MENU, menu_info_board); // Board Info >
#if HAS_EXTRUDERS
#if HAS_TEMP_SENSOR
SUBMENU(MSG_INFO_THERMISTOR_MENU, menu_info_thermistors); // Thermistors >
#endif
#endif
Expand Down
Loading

0 comments on commit d1ec0da

Please sign in to comment.