Skip to content

Commit

Permalink
🚸 ExtUI: Shaping, Probing limits (#26754)
Browse files Browse the repository at this point in the history
  • Loading branch information
InsanityAutomation authored Jun 2, 2024
1 parent 95f81d2 commit ab0173b
Show file tree
Hide file tree
Showing 9 changed files with 35 additions and 7 deletions.
2 changes: 1 addition & 1 deletion Marlin/src/HAL/AVR/HAL.h
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ typedef Servo hal_servo_t;
#error "LCD_SERIAL_PORT must be from 0 to 3."
#endif
#define LCD_SERIAL lcdSerial
#if HAS_DGUS_LCD
#if ANY(HAS_DGUS_LCD, EXTENSIBLE_UI)
#define LCD_SERIAL_TX_BUFFER_FREE() LCD_SERIAL.get_tx_buffer_free()
#endif
#endif
Expand Down
2 changes: 1 addition & 1 deletion Marlin/src/HAL/AVR/MarlinSerial.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -629,7 +629,7 @@ MSerialT1 customizedSerial1(MSerialT1::HasEmergencyParser);
template class MarlinSerial< LCDSerialCfg<LCD_SERIAL_PORT> >;
MSerialLCD lcdSerial(MSerialLCD::HasEmergencyParser);

#if HAS_DGUS_LCD
#if ANY(HAS_DGUS_LCD, EXTENSIBLE_UI)
template<typename Cfg>
typename MarlinSerial<Cfg>::ring_buffer_pos_t MarlinSerial<Cfg>::get_tx_buffer_free() {
const ring_buffer_pos_t t = tx_buffer.tail, // next byte to send.
Expand Down
2 changes: 1 addition & 1 deletion Marlin/src/HAL/AVR/MarlinSerial.h
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@
static ring_buffer_pos_t available();
static void write(const uint8_t c);
static void flushTX();
#if HAS_DGUS_LCD
#if ANY(HAS_DGUS_LCD, EXTENSIBLE_UI)
static ring_buffer_pos_t get_tx_buffer_free();
#endif

Expand Down
2 changes: 1 addition & 1 deletion Marlin/src/HAL/LPC1768/HAL.h
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ extern DefaultSerial1 USBSerial;
#else
#error "LCD_SERIAL_PORT must be from 0 to 3. You can also use -1 if the board supports Native USB."
#endif
#if HAS_DGUS_LCD
#if ANY(HAS_DGUS_LCD, EXTENSIBLE_UI)
#define LCD_SERIAL_TX_BUFFER_FREE() LCD_SERIAL.available()
#endif
#endif
Expand Down
2 changes: 1 addition & 1 deletion Marlin/src/HAL/STM32/HAL.h
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@
#else
#error "LCD_SERIAL_PORT must be from 1 to 9, or -1 for Native USB."
#endif
#if HAS_DGUS_LCD
#if ANY(HAS_DGUS_LCD, EXTENSIBLE_UI)
#define LCD_SERIAL_TX_BUFFER_FREE() LCD_SERIAL.availableForWrite()
#endif
#endif
Expand Down
2 changes: 1 addition & 1 deletion Marlin/src/HAL/STM32F1/HAL.h
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@
#define LCD_SERIAL MSERIAL(1) // dummy port
static_assert(false, "LCD_SERIAL_PORT must be from 1 to " STRINGIFY(NUM_UARTS) ". You can also use -1 if the board supports Native USB.")
#endif
#if HAS_DGUS_LCD
#if ANY(HAS_DGUS_LCD, EXTENSIBLE_UI)
#define LCD_SERIAL_TX_BUFFER_FREE() LCD_SERIAL.availableForWrite()
#endif
#endif
Expand Down
2 changes: 1 addition & 1 deletion Marlin/src/gcode/probe/G30.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
#include "../../feature/probe_temp_comp.h"
#endif

#if ANY(DWIN_LCD_PROUI, DWIN_CREALITY_LCD_JYERSUI)
#if ANY(DWIN_CREALITY_LCD_JYERSUI, EXTENSIBLE_UI)
#define VERBOSE_SINGLE_PROBE
#endif

Expand Down
19 changes: 19 additions & 0 deletions Marlin/src/lcd/extui/ui_api.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -765,6 +765,24 @@ namespace ExtUI {
}
#endif

#if HAS_SHAPING
float getShapingZeta(const axis_t axis) {
return stepper.get_shaping_damping_ratio(AxisEnum(axis));
}
void setShapingZeta(const float zeta, const axis_t axis) {
if (!WITHIN(zeta, 0, 1)) return;
stepper.set_shaping_damping_ratio(AxisEnum(axis), zeta);
}
float getShapingFrequency(const axis_t axis) {
return stepper.get_shaping_frequency(AxisEnum(axis));
}
void setShapingFrequency(const float freq, const axis_t axis) {
constexpr float min_freq = float(uint32_t(STEPPER_TIMER_RATE) / 2) / shaping_time_t(-2);
if (freq == 0.0f || freq > min_freq)
stepper.set_shaping_frequency(AxisEnum(axis), freq);
}
#endif

#if HAS_JUNCTION_DEVIATION

float getJunctionDeviation_mm() { return planner.junction_deviation_mm; }
Expand Down Expand Up @@ -933,6 +951,7 @@ namespace ExtUI {
#if HAS_BED_PROBE
float getProbeOffset_mm(const axis_t axis) { return probe.offset.pos[axis]; }
void setProbeOffset_mm(const_float_t val, const axis_t axis) { probe.offset.pos[axis] = val; }
probe_limits_t getBedProbeLimits() { return probe_limits_t({ probe.min_x(), probe.min_y(), probe.max_x(), probe.max_y() }); }
#endif

#if ENABLED(BACKLASH_GCODE)
Expand Down
9 changes: 9 additions & 0 deletions Marlin/src/lcd/extui/ui_api.h
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ namespace ExtUI {
#if ENABLED(MPC_AUTOTUNE)
enum mpcresult_t : uint8_t { MPC_STARTED, MPC_TEMP_ERROR, MPC_INTERRUPTED, MPC_DONE };
#endif
struct probe_limits_t { float xmin, ymin, xmax, ymax; };

constexpr uint8_t extruderCount = EXTRUDERS;
constexpr uint8_t hotendCount = HOTENDS;
Expand Down Expand Up @@ -327,6 +328,13 @@ namespace ExtUI {
void setLinearAdvance_mm_mm_s(const_float_t, const extruder_t);
#endif

#if HAS_SHAPING
float getShapingZeta(const axis_t);
void setShapingZeta(const float, const axis_t);
float getShapingFrequency(const axis_t);
void setShapingFrequency(const float, const axis_t);
#endif

// JD or Jerk Control
#if HAS_JUNCTION_DEVIATION
float getJunctionDeviation_mm();
Expand Down Expand Up @@ -367,6 +375,7 @@ namespace ExtUI {
#if HAS_BED_PROBE
float getProbeOffset_mm(const axis_t);
void setProbeOffset_mm(const_float_t, const axis_t);
probe_limits_t getBedProbeLimits();
#endif

// Backlash Control
Expand Down

0 comments on commit ab0173b

Please sign in to comment.