Merge pull request #6877 from thinkyhead/bf_scrolling_status
Scrolling status message (option)
This commit is contained in:
commit
58556991da
|
@ -442,6 +442,9 @@
|
||||||
// Include a page of printer information in the LCD Main Menu
|
// Include a page of printer information in the LCD Main Menu
|
||||||
//#define LCD_INFO_MENU
|
//#define LCD_INFO_MENU
|
||||||
|
|
||||||
|
// Scroll a longer status message into view
|
||||||
|
//#define STATUS_MESSAGE_SCROLLING
|
||||||
|
|
||||||
// On the Info Screen, display XY with one decimal place when possible
|
// On the Info Screen, display XY with one decimal place when possible
|
||||||
//#define LCD_DECIMAL_SMALL_XY
|
//#define LCD_DECIMAL_SMALL_XY
|
||||||
|
|
||||||
|
|
|
@ -5746,9 +5746,9 @@ inline void gcode_M17() {
|
||||||
static bool sd_print_paused = false;
|
static bool sd_print_paused = false;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void filament_change_beep(const int max_beep_count, const bool init=false) {
|
static void filament_change_beep(const int8_t max_beep_count, const bool init=false) {
|
||||||
static millis_t next_buzz = 0;
|
static millis_t next_buzz = 0;
|
||||||
static uint16_t runout_beep = 0;
|
static int8_t runout_beep = 0;
|
||||||
|
|
||||||
if (init) next_buzz = runout_beep = 0;
|
if (init) next_buzz = runout_beep = 0;
|
||||||
|
|
||||||
|
@ -5762,8 +5762,9 @@ inline void gcode_M17() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool pause_print(const float& retract, const float& z_lift, const float& x_pos, const float& y_pos,
|
static bool pause_print(const float &retract, const float &z_lift, const float &x_pos, const float &y_pos,
|
||||||
const float& unload_length = 0 , int max_beep_count = 0, bool show_lcd = false) {
|
const float &unload_length = 0 , int8_t max_beep_count = 0, bool show_lcd = false
|
||||||
|
) {
|
||||||
if (move_away_flag) return false; // already paused
|
if (move_away_flag) return false; // already paused
|
||||||
|
|
||||||
if (!DEBUGGING(DRYRUN) && thermalManager.tooColdToExtrude(active_extruder) && unload_length > 0) {
|
if (!DEBUGGING(DRYRUN) && thermalManager.tooColdToExtrude(active_extruder) && unload_length > 0) {
|
||||||
|
@ -5772,8 +5773,6 @@ inline void gcode_M17() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
const bool job_running = print_job_timer.isRunning();
|
|
||||||
|
|
||||||
// Indicate that the printer is paused
|
// Indicate that the printer is paused
|
||||||
move_away_flag = true;
|
move_away_flag = true;
|
||||||
|
|
||||||
|
@ -5857,7 +5856,7 @@ inline void gcode_M17() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void wait_for_filament_reload(int max_beep_count = 0) {
|
static void wait_for_filament_reload(int8_t max_beep_count = 0) {
|
||||||
bool nozzle_timed_out = false;
|
bool nozzle_timed_out = false;
|
||||||
|
|
||||||
// Wait for filament insert by user and press button
|
// Wait for filament insert by user and press button
|
||||||
|
@ -5882,7 +5881,7 @@ inline void gcode_M17() {
|
||||||
KEEPALIVE_STATE(IN_HANDLER);
|
KEEPALIVE_STATE(IN_HANDLER);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void resume_print(const float& load_length = 0, const float& initial_extrude_length = 0, int max_beep_count = 0) {
|
static void resume_print(const float &load_length = 0, const float &initial_extrude_length = 0, int8_t max_beep_count = 0) {
|
||||||
bool nozzle_timed_out = false;
|
bool nozzle_timed_out = false;
|
||||||
|
|
||||||
if (!move_away_flag) return;
|
if (!move_away_flag) return;
|
||||||
|
|
|
@ -1819,7 +1819,7 @@ fail:
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// suppress cpplint warnings with NOLINT comment
|
// suppress cpplint warnings with NOLINT comment
|
||||||
#if ALLOW_DEPRECATED_FUNCTIONS && !defined(DOXYGEN)
|
#if ALLOW_DEPRECATED_FUNCTIONS && !defined(DOXYGEN)
|
||||||
void (*SdBaseFile::oldDateTime_)(uint16_t& date, uint16_t& time) = 0; // NOLINT
|
void (*SdBaseFile::oldDateTime_)(uint16_t &date, uint16_t &time) = 0; // NOLINT
|
||||||
#endif // ALLOW_DEPRECATED_FUNCTIONS
|
#endif // ALLOW_DEPRECATED_FUNCTIONS
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -402,7 +402,7 @@ class SdBaseFile {
|
||||||
* \param[in] dateTime The user's call back function.
|
* \param[in] dateTime The user's call back function.
|
||||||
*/
|
*/
|
||||||
static void dateTimeCallback(
|
static void dateTimeCallback(
|
||||||
void (*dateTime)(uint16_t& date, uint16_t& time)) { // NOLINT
|
void (*dateTime)(uint16_t &date, uint16_t &time)) { // NOLINT
|
||||||
oldDateTime_ = dateTime;
|
oldDateTime_ = dateTime;
|
||||||
dateTime_ = dateTime ? oldToNew : 0;
|
dateTime_ = dateTime ? oldToNew : 0;
|
||||||
}
|
}
|
||||||
|
@ -477,7 +477,7 @@ class SdBaseFile {
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// rest are private
|
// rest are private
|
||||||
private:
|
private:
|
||||||
static void (*oldDateTime_)(uint16_t& date, uint16_t& time); // NOLINT
|
static void (*oldDateTime_)(uint16_t &date, uint16_t &time); // NOLINT
|
||||||
static void oldToNew(uint16_t* date, uint16_t* time) {
|
static void oldToNew(uint16_t* date, uint16_t* time) {
|
||||||
uint16_t d;
|
uint16_t d;
|
||||||
uint16_t t;
|
uint16_t t;
|
||||||
|
|
|
@ -442,6 +442,9 @@
|
||||||
// Include a page of printer information in the LCD Main Menu
|
// Include a page of printer information in the LCD Main Menu
|
||||||
//#define LCD_INFO_MENU
|
//#define LCD_INFO_MENU
|
||||||
|
|
||||||
|
// Scroll a longer status message into view
|
||||||
|
//#define STATUS_MESSAGE_SCROLLING
|
||||||
|
|
||||||
// On the Info Screen, display XY with one decimal place when possible
|
// On the Info Screen, display XY with one decimal place when possible
|
||||||
//#define LCD_DECIMAL_SMALL_XY
|
//#define LCD_DECIMAL_SMALL_XY
|
||||||
|
|
||||||
|
|
|
@ -442,6 +442,9 @@
|
||||||
// Include a page of printer information in the LCD Main Menu
|
// Include a page of printer information in the LCD Main Menu
|
||||||
//#define LCD_INFO_MENU
|
//#define LCD_INFO_MENU
|
||||||
|
|
||||||
|
// Scroll a longer status message into view
|
||||||
|
//#define STATUS_MESSAGE_SCROLLING
|
||||||
|
|
||||||
// On the Info Screen, display XY with one decimal place when possible
|
// On the Info Screen, display XY with one decimal place when possible
|
||||||
//#define LCD_DECIMAL_SMALL_XY
|
//#define LCD_DECIMAL_SMALL_XY
|
||||||
|
|
||||||
|
|
|
@ -442,6 +442,9 @@
|
||||||
// Include a page of printer information in the LCD Main Menu
|
// Include a page of printer information in the LCD Main Menu
|
||||||
//#define LCD_INFO_MENU
|
//#define LCD_INFO_MENU
|
||||||
|
|
||||||
|
// Scroll a longer status message into view
|
||||||
|
//#define STATUS_MESSAGE_SCROLLING
|
||||||
|
|
||||||
// On the Info Screen, display XY with one decimal place when possible
|
// On the Info Screen, display XY with one decimal place when possible
|
||||||
//#define LCD_DECIMAL_SMALL_XY
|
//#define LCD_DECIMAL_SMALL_XY
|
||||||
|
|
||||||
|
|
|
@ -442,6 +442,9 @@
|
||||||
// Include a page of printer information in the LCD Main Menu
|
// Include a page of printer information in the LCD Main Menu
|
||||||
//#define LCD_INFO_MENU
|
//#define LCD_INFO_MENU
|
||||||
|
|
||||||
|
// Scroll a longer status message into view
|
||||||
|
//#define STATUS_MESSAGE_SCROLLING
|
||||||
|
|
||||||
// On the Info Screen, display XY with one decimal place when possible
|
// On the Info Screen, display XY with one decimal place when possible
|
||||||
//#define LCD_DECIMAL_SMALL_XY
|
//#define LCD_DECIMAL_SMALL_XY
|
||||||
|
|
||||||
|
|
|
@ -443,6 +443,9 @@
|
||||||
// Include a page of printer information in the LCD Main Menu
|
// Include a page of printer information in the LCD Main Menu
|
||||||
#define LCD_INFO_MENU
|
#define LCD_INFO_MENU
|
||||||
|
|
||||||
|
// Scroll a longer status message into view
|
||||||
|
//#define STATUS_MESSAGE_SCROLLING
|
||||||
|
|
||||||
// On the Info Screen, display XY with one decimal place when possible
|
// On the Info Screen, display XY with one decimal place when possible
|
||||||
#define LCD_DECIMAL_SMALL_XY
|
#define LCD_DECIMAL_SMALL_XY
|
||||||
|
|
||||||
|
|
|
@ -455,6 +455,9 @@
|
||||||
// Include a page of printer information in the LCD Main Menu
|
// Include a page of printer information in the LCD Main Menu
|
||||||
//#define LCD_INFO_MENU
|
//#define LCD_INFO_MENU
|
||||||
|
|
||||||
|
// Scroll a longer status message into view
|
||||||
|
//#define STATUS_MESSAGE_SCROLLING
|
||||||
|
|
||||||
// On the Info Screen, display XY with one decimal place when possible
|
// On the Info Screen, display XY with one decimal place when possible
|
||||||
//#define LCD_DECIMAL_SMALL_XY
|
//#define LCD_DECIMAL_SMALL_XY
|
||||||
|
|
||||||
|
|
|
@ -442,6 +442,9 @@
|
||||||
// Include a page of printer information in the LCD Main Menu
|
// Include a page of printer information in the LCD Main Menu
|
||||||
//#define LCD_INFO_MENU
|
//#define LCD_INFO_MENU
|
||||||
|
|
||||||
|
// Scroll a longer status message into view
|
||||||
|
//#define STATUS_MESSAGE_SCROLLING
|
||||||
|
|
||||||
// On the Info Screen, display XY with one decimal place when possible
|
// On the Info Screen, display XY with one decimal place when possible
|
||||||
//#define LCD_DECIMAL_SMALL_XY
|
//#define LCD_DECIMAL_SMALL_XY
|
||||||
|
|
||||||
|
|
|
@ -442,6 +442,9 @@
|
||||||
// Include a page of printer information in the LCD Main Menu
|
// Include a page of printer information in the LCD Main Menu
|
||||||
//#define LCD_INFO_MENU
|
//#define LCD_INFO_MENU
|
||||||
|
|
||||||
|
// Scroll a longer status message into view
|
||||||
|
//#define STATUS_MESSAGE_SCROLLING
|
||||||
|
|
||||||
// On the Info Screen, display XY with one decimal place when possible
|
// On the Info Screen, display XY with one decimal place when possible
|
||||||
//#define LCD_DECIMAL_SMALL_XY
|
//#define LCD_DECIMAL_SMALL_XY
|
||||||
|
|
||||||
|
|
|
@ -442,6 +442,9 @@
|
||||||
// Include a page of printer information in the LCD Main Menu
|
// Include a page of printer information in the LCD Main Menu
|
||||||
//#define LCD_INFO_MENU
|
//#define LCD_INFO_MENU
|
||||||
|
|
||||||
|
// Scroll a longer status message into view
|
||||||
|
//#define STATUS_MESSAGE_SCROLLING
|
||||||
|
|
||||||
// On the Info Screen, display XY with one decimal place when possible
|
// On the Info Screen, display XY with one decimal place when possible
|
||||||
//#define LCD_DECIMAL_SMALL_XY
|
//#define LCD_DECIMAL_SMALL_XY
|
||||||
|
|
||||||
|
|
|
@ -442,6 +442,9 @@
|
||||||
// Include a page of printer information in the LCD Main Menu
|
// Include a page of printer information in the LCD Main Menu
|
||||||
//#define LCD_INFO_MENU
|
//#define LCD_INFO_MENU
|
||||||
|
|
||||||
|
// Scroll a longer status message into view
|
||||||
|
//#define STATUS_MESSAGE_SCROLLING
|
||||||
|
|
||||||
// On the Info Screen, display XY with one decimal place when possible
|
// On the Info Screen, display XY with one decimal place when possible
|
||||||
//#define LCD_DECIMAL_SMALL_XY
|
//#define LCD_DECIMAL_SMALL_XY
|
||||||
|
|
||||||
|
|
|
@ -442,6 +442,9 @@
|
||||||
// Include a page of printer information in the LCD Main Menu
|
// Include a page of printer information in the LCD Main Menu
|
||||||
#define LCD_INFO_MENU
|
#define LCD_INFO_MENU
|
||||||
|
|
||||||
|
// Scroll a longer status message into view
|
||||||
|
//#define STATUS_MESSAGE_SCROLLING
|
||||||
|
|
||||||
// On the Info Screen, display XY with one decimal place when possible
|
// On the Info Screen, display XY with one decimal place when possible
|
||||||
//#define LCD_DECIMAL_SMALL_XY
|
//#define LCD_DECIMAL_SMALL_XY
|
||||||
|
|
||||||
|
|
|
@ -442,6 +442,9 @@
|
||||||
// Include a page of printer information in the LCD Main Menu
|
// Include a page of printer information in the LCD Main Menu
|
||||||
//#define LCD_INFO_MENU
|
//#define LCD_INFO_MENU
|
||||||
|
|
||||||
|
// Scroll a longer status message into view
|
||||||
|
//#define STATUS_MESSAGE_SCROLLING
|
||||||
|
|
||||||
// On the Info Screen, display XY with one decimal place when possible
|
// On the Info Screen, display XY with one decimal place when possible
|
||||||
//#define LCD_DECIMAL_SMALL_XY
|
//#define LCD_DECIMAL_SMALL_XY
|
||||||
|
|
||||||
|
|
|
@ -444,6 +444,9 @@
|
||||||
// Include a page of printer information in the LCD Main Menu
|
// Include a page of printer information in the LCD Main Menu
|
||||||
//#define LCD_INFO_MENU
|
//#define LCD_INFO_MENU
|
||||||
|
|
||||||
|
// Scroll a longer status message into view
|
||||||
|
//#define STATUS_MESSAGE_SCROLLING
|
||||||
|
|
||||||
// On the Info Screen, display XY with one decimal place when possible
|
// On the Info Screen, display XY with one decimal place when possible
|
||||||
//#define LCD_DECIMAL_SMALL_XY
|
//#define LCD_DECIMAL_SMALL_XY
|
||||||
|
|
||||||
|
|
|
@ -444,6 +444,9 @@
|
||||||
// Include a page of printer information in the LCD Main Menu
|
// Include a page of printer information in the LCD Main Menu
|
||||||
//#define LCD_INFO_MENU
|
//#define LCD_INFO_MENU
|
||||||
|
|
||||||
|
// Scroll a longer status message into view
|
||||||
|
//#define STATUS_MESSAGE_SCROLLING
|
||||||
|
|
||||||
// On the Info Screen, display XY with one decimal place when possible
|
// On the Info Screen, display XY with one decimal place when possible
|
||||||
//#define LCD_DECIMAL_SMALL_XY
|
//#define LCD_DECIMAL_SMALL_XY
|
||||||
|
|
||||||
|
|
|
@ -444,6 +444,9 @@
|
||||||
// Include a page of printer information in the LCD Main Menu
|
// Include a page of printer information in the LCD Main Menu
|
||||||
//#define LCD_INFO_MENU
|
//#define LCD_INFO_MENU
|
||||||
|
|
||||||
|
// Scroll a longer status message into view
|
||||||
|
//#define STATUS_MESSAGE_SCROLLING
|
||||||
|
|
||||||
// On the Info Screen, display XY with one decimal place when possible
|
// On the Info Screen, display XY with one decimal place when possible
|
||||||
//#define LCD_DECIMAL_SMALL_XY
|
//#define LCD_DECIMAL_SMALL_XY
|
||||||
|
|
||||||
|
|
|
@ -444,6 +444,9 @@
|
||||||
// Include a page of printer information in the LCD Main Menu
|
// Include a page of printer information in the LCD Main Menu
|
||||||
//#define LCD_INFO_MENU
|
//#define LCD_INFO_MENU
|
||||||
|
|
||||||
|
// Scroll a longer status message into view
|
||||||
|
//#define STATUS_MESSAGE_SCROLLING
|
||||||
|
|
||||||
// On the Info Screen, display XY with one decimal place when possible
|
// On the Info Screen, display XY with one decimal place when possible
|
||||||
//#define LCD_DECIMAL_SMALL_XY
|
//#define LCD_DECIMAL_SMALL_XY
|
||||||
|
|
||||||
|
|
|
@ -449,6 +449,9 @@
|
||||||
// Include a page of printer information in the LCD Main Menu
|
// Include a page of printer information in the LCD Main Menu
|
||||||
//#define LCD_INFO_MENU
|
//#define LCD_INFO_MENU
|
||||||
|
|
||||||
|
// Scroll a longer status message into view
|
||||||
|
//#define STATUS_MESSAGE_SCROLLING
|
||||||
|
|
||||||
// On the Info Screen, display XY with one decimal place when possible
|
// On the Info Screen, display XY with one decimal place when possible
|
||||||
//#define LCD_DECIMAL_SMALL_XY
|
//#define LCD_DECIMAL_SMALL_XY
|
||||||
|
|
||||||
|
|
|
@ -444,6 +444,9 @@
|
||||||
// Include a page of printer information in the LCD Main Menu
|
// Include a page of printer information in the LCD Main Menu
|
||||||
//#define LCD_INFO_MENU
|
//#define LCD_INFO_MENU
|
||||||
|
|
||||||
|
// Scroll a longer status message into view
|
||||||
|
//#define STATUS_MESSAGE_SCROLLING
|
||||||
|
|
||||||
// On the Info Screen, display XY with one decimal place when possible
|
// On the Info Screen, display XY with one decimal place when possible
|
||||||
//#define LCD_DECIMAL_SMALL_XY
|
//#define LCD_DECIMAL_SMALL_XY
|
||||||
|
|
||||||
|
|
|
@ -442,6 +442,9 @@
|
||||||
// Include a page of printer information in the LCD Main Menu
|
// Include a page of printer information in the LCD Main Menu
|
||||||
//#define LCD_INFO_MENU
|
//#define LCD_INFO_MENU
|
||||||
|
|
||||||
|
// Scroll a longer status message into view
|
||||||
|
//#define STATUS_MESSAGE_SCROLLING
|
||||||
|
|
||||||
// On the Info Screen, display XY with one decimal place when possible
|
// On the Info Screen, display XY with one decimal place when possible
|
||||||
//#define LCD_DECIMAL_SMALL_XY
|
//#define LCD_DECIMAL_SMALL_XY
|
||||||
|
|
||||||
|
|
|
@ -442,6 +442,9 @@
|
||||||
// Include a page of printer information in the LCD Main Menu
|
// Include a page of printer information in the LCD Main Menu
|
||||||
//#define LCD_INFO_MENU
|
//#define LCD_INFO_MENU
|
||||||
|
|
||||||
|
// Scroll a longer status message into view
|
||||||
|
//#define STATUS_MESSAGE_SCROLLING
|
||||||
|
|
||||||
// On the Info Screen, display XY with one decimal place when possible
|
// On the Info Screen, display XY with one decimal place when possible
|
||||||
//#define LCD_DECIMAL_SMALL_XY
|
//#define LCD_DECIMAL_SMALL_XY
|
||||||
|
|
||||||
|
|
|
@ -442,6 +442,9 @@
|
||||||
// Include a page of printer information in the LCD Main Menu
|
// Include a page of printer information in the LCD Main Menu
|
||||||
//#define LCD_INFO_MENU
|
//#define LCD_INFO_MENU
|
||||||
|
|
||||||
|
// Scroll a longer status message into view
|
||||||
|
//#define STATUS_MESSAGE_SCROLLING
|
||||||
|
|
||||||
// On the Info Screen, display XY with one decimal place when possible
|
// On the Info Screen, display XY with one decimal place when possible
|
||||||
//#define LCD_DECIMAL_SMALL_XY
|
//#define LCD_DECIMAL_SMALL_XY
|
||||||
|
|
||||||
|
|
|
@ -442,6 +442,9 @@
|
||||||
// Include a page of printer information in the LCD Main Menu
|
// Include a page of printer information in the LCD Main Menu
|
||||||
#define LCD_INFO_MENU
|
#define LCD_INFO_MENU
|
||||||
|
|
||||||
|
// Scroll a longer status message into view
|
||||||
|
//#define STATUS_MESSAGE_SCROLLING
|
||||||
|
|
||||||
// On the Info Screen, display XY with one decimal place when possible
|
// On the Info Screen, display XY with one decimal place when possible
|
||||||
//#define LCD_DECIMAL_SMALL_XY
|
//#define LCD_DECIMAL_SMALL_XY
|
||||||
|
|
||||||
|
|
|
@ -133,7 +133,7 @@ public:
|
||||||
// Code is found in the string. If not found, value_ptr is unchanged.
|
// Code is found in the string. If not found, value_ptr is unchanged.
|
||||||
// This allows "if (seen('A')||seen('B'))" to use the last-found value.
|
// This allows "if (seen('A')||seen('B'))" to use the last-found value.
|
||||||
static bool seen(const char c) {
|
static bool seen(const char c) {
|
||||||
char *p = strchr(command_args, c);
|
const char *p = strchr(command_args, c);
|
||||||
const bool b = !!p;
|
const bool b = !!p;
|
||||||
if (b) value_ptr = DECIMAL_SIGNED(p[1]) ? &p[1] : NULL;
|
if (b) value_ptr = DECIMAL_SIGNED(p[1]) ? &p[1] : NULL;
|
||||||
return b;
|
return b;
|
||||||
|
|
|
@ -1510,7 +1510,7 @@ void Planner::sync_from_steppers() {
|
||||||
/**
|
/**
|
||||||
* Setters for planner position (also setting stepper position).
|
* Setters for planner position (also setting stepper position).
|
||||||
*/
|
*/
|
||||||
void Planner::set_position_mm(const AxisEnum axis, const float& v) {
|
void Planner::set_position_mm(const AxisEnum axis, const float &v) {
|
||||||
#if ENABLED(DISTINCT_E_FACTORS)
|
#if ENABLED(DISTINCT_E_FACTORS)
|
||||||
const uint8_t axis_index = axis + (axis == E_AXIS ? active_extruder : 0);
|
const uint8_t axis_index = axis + (axis == E_AXIS ? active_extruder : 0);
|
||||||
last_extruder = active_extruder;
|
last_extruder = active_extruder;
|
||||||
|
|
|
@ -67,8 +67,11 @@ float Temperature::current_temperature[HOTENDS] = { 0.0 },
|
||||||
Temperature::current_temperature_bed = 0.0;
|
Temperature::current_temperature_bed = 0.0;
|
||||||
int16_t Temperature::current_temperature_raw[HOTENDS] = { 0 },
|
int16_t Temperature::current_temperature_raw[HOTENDS] = { 0 },
|
||||||
Temperature::target_temperature[HOTENDS] = { 0 },
|
Temperature::target_temperature[HOTENDS] = { 0 },
|
||||||
Temperature::current_temperature_bed_raw = 0,
|
Temperature::current_temperature_bed_raw = 0;
|
||||||
Temperature::target_temperature_bed = 0;
|
|
||||||
|
#if HAS_HEATER_BED
|
||||||
|
int16_t Temperature::target_temperature_bed = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
#if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT)
|
#if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT)
|
||||||
float Temperature::redundant_temperature = 0.0;
|
float Temperature::redundant_temperature = 0.0;
|
||||||
|
|
|
@ -92,6 +92,10 @@ enum ADCSensorState {
|
||||||
|
|
||||||
#define ACTUAL_ADC_SAMPLES max(int(MIN_ADC_ISR_LOOPS), int(SensorsReady))
|
#define ACTUAL_ADC_SAMPLES max(int(MIN_ADC_ISR_LOOPS), int(SensorsReady))
|
||||||
|
|
||||||
|
#if !HAS_HEATER_BED
|
||||||
|
constexpr int16_t target_temperature_bed = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
class Temperature {
|
class Temperature {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
@ -100,8 +104,11 @@ class Temperature {
|
||||||
current_temperature_bed;
|
current_temperature_bed;
|
||||||
static int16_t current_temperature_raw[HOTENDS],
|
static int16_t current_temperature_raw[HOTENDS],
|
||||||
target_temperature[HOTENDS],
|
target_temperature[HOTENDS],
|
||||||
current_temperature_bed_raw,
|
current_temperature_bed_raw;
|
||||||
target_temperature_bed;
|
|
||||||
|
#if HAS_HEATER_BED
|
||||||
|
static int16_t target_temperature_bed;
|
||||||
|
#endif
|
||||||
|
|
||||||
static volatile bool in_temp_isr;
|
static volatile bool in_temp_isr;
|
||||||
|
|
||||||
|
@ -382,9 +389,17 @@ class Temperature {
|
||||||
}
|
}
|
||||||
|
|
||||||
static void setTargetBed(const int16_t celsius) {
|
static void setTargetBed(const int16_t celsius) {
|
||||||
target_temperature_bed = celsius;
|
#if HAS_HEATER_BED
|
||||||
#if WATCH_THE_BED
|
target_temperature_bed =
|
||||||
start_watching_bed();
|
#ifdef BED_MAXTEMP
|
||||||
|
min(celsius, BED_MAXTEMP)
|
||||||
|
#else
|
||||||
|
celsius
|
||||||
|
#endif
|
||||||
|
;
|
||||||
|
#if WATCH_THE_BED
|
||||||
|
start_watching_bed();
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -585,8 +585,8 @@
|
||||||
float seg_dest[XYZE]; // per-segment destination, initialize to first segment
|
float seg_dest[XYZE]; // per-segment destination, initialize to first segment
|
||||||
LOOP_XYZE(i) seg_dest[i] = current_position[i] + segment_distance[i];
|
LOOP_XYZE(i) seg_dest[i] = current_position[i] + segment_distance[i];
|
||||||
|
|
||||||
const float& dx_seg = segment_distance[X_AXIS]; // alias for clarity
|
const float &dx_seg = segment_distance[X_AXIS]; // alias for clarity
|
||||||
const float& dy_seg = segment_distance[Y_AXIS];
|
const float &dy_seg = segment_distance[Y_AXIS];
|
||||||
|
|
||||||
float rx = RAW_X_POSITION(seg_dest[X_AXIS]), // assume raw vs logical coordinates shifted but not scaled.
|
float rx = RAW_X_POSITION(seg_dest[X_AXIS]), // assume raw vs logical coordinates shifted but not scaled.
|
||||||
ry = RAW_Y_POSITION(seg_dest[Y_AXIS]);
|
ry = RAW_Y_POSITION(seg_dest[Y_AXIS]);
|
||||||
|
|
|
@ -60,6 +60,9 @@ int lcd_preheat_hotend_temp[2], lcd_preheat_bed_temp[2], lcd_preheat_fan_speed[2
|
||||||
|
|
||||||
uint8_t lcd_status_message_level;
|
uint8_t lcd_status_message_level;
|
||||||
char lcd_status_message[3 * (LCD_WIDTH) + 1] = WELCOME_MSG; // worst case is kana with up to 3*LCD_WIDTH+1
|
char lcd_status_message[3 * (LCD_WIDTH) + 1] = WELCOME_MSG; // worst case is kana with up to 3*LCD_WIDTH+1
|
||||||
|
#if ENABLED(STATUS_MESSAGE_SCROLLING)
|
||||||
|
uint8_t status_scroll_pos = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
#if ENABLED(DOGLCD)
|
#if ENABLED(DOGLCD)
|
||||||
#include "ultralcd_impl_DOGM.h"
|
#include "ultralcd_impl_DOGM.h"
|
||||||
|
@ -3961,22 +3964,29 @@ void lcd_update() {
|
||||||
} // ELAPSED(ms, next_lcd_update_ms)
|
} // ELAPSED(ms, next_lcd_update_ms)
|
||||||
}
|
}
|
||||||
|
|
||||||
void set_utf_strlen(char* s, uint8_t n) {
|
#if DISABLED(STATUS_MESSAGE_SCROLLING)
|
||||||
uint8_t i = 0, j = 0;
|
|
||||||
while (s[i] && (j < n)) {
|
void set_utf_strlen(char* s, uint8_t n) {
|
||||||
#if ENABLED(MAPPER_NON)
|
uint8_t i = 0, j = 0;
|
||||||
j++;
|
while (s[i] && (j < n)) {
|
||||||
#else
|
#if ENABLED(MAPPER_NON)
|
||||||
if ((s[i] & 0xC0u) != 0x80u) j++;
|
j++;
|
||||||
#endif
|
#else
|
||||||
i++;
|
if ((s[i] & 0xC0u) != 0x80u) j++;
|
||||||
|
#endif
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
while (j++ < n) s[i++] = ' ';
|
||||||
|
s[i] = '\0';
|
||||||
}
|
}
|
||||||
while (j++ < n) s[i++] = ' ';
|
|
||||||
s[i] = '\0';
|
#endif // !STATUS_MESSAGE_SCROLLING
|
||||||
}
|
|
||||||
|
|
||||||
void lcd_finishstatus(bool persist=false) {
|
void lcd_finishstatus(bool persist=false) {
|
||||||
set_utf_strlen(lcd_status_message, LCD_WIDTH);
|
#if DISABLED(STATUS_MESSAGE_SCROLLING)
|
||||||
|
set_utf_strlen(lcd_status_message, LCD_WIDTH);
|
||||||
|
#endif
|
||||||
|
|
||||||
#if !(ENABLED(LCD_PROGRESS_BAR) && (PROGRESS_MSG_EXPIRE > 0))
|
#if !(ENABLED(LCD_PROGRESS_BAR) && (PROGRESS_MSG_EXPIRE > 0))
|
||||||
UNUSED(persist);
|
UNUSED(persist);
|
||||||
#endif
|
#endif
|
||||||
|
@ -3992,6 +4002,10 @@ void lcd_finishstatus(bool persist=false) {
|
||||||
#if ENABLED(FILAMENT_LCD_DISPLAY) && ENABLED(SDSUPPORT)
|
#if ENABLED(FILAMENT_LCD_DISPLAY) && ENABLED(SDSUPPORT)
|
||||||
previous_lcd_status_ms = millis(); //get status message to show up for a while
|
previous_lcd_status_ms = millis(); //get status message to show up for a while
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(STATUS_MESSAGE_SCROLLING)
|
||||||
|
status_scroll_pos = 0;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#if ENABLED(LCD_PROGRESS_BAR) && PROGRESS_MSG_EXPIRE > 0
|
#if ENABLED(LCD_PROGRESS_BAR) && PROGRESS_MSG_EXPIRE > 0
|
||||||
|
|
|
@ -234,13 +234,24 @@ char lcd_print_and_count(const char c) {
|
||||||
else return charset_mapper(c);
|
else return charset_mapper(c);
|
||||||
}
|
}
|
||||||
|
|
||||||
void lcd_print(const char* const str) {
|
/**
|
||||||
for (uint8_t i = 0; char c = str[i]; ++i) lcd_print(c);
|
* Core LCD printing functions
|
||||||
|
* On DOGM all strings go through a filter for utf
|
||||||
|
* But only use lcd_print_utf and lcd_printPGM_utf for translated text
|
||||||
|
*/
|
||||||
|
void lcd_print(const char* const str) { for (uint8_t i = 0; char c = str[i]; ++i) lcd_print(c); }
|
||||||
|
void lcd_printPGM(const char* str) { for (; char c = pgm_read_byte(str); ++str) lcd_print(c); }
|
||||||
|
|
||||||
|
void lcd_print_utf(const char* const str, const uint8_t maxLength=LCD_WIDTH) {
|
||||||
|
char c;
|
||||||
|
for (uint8_t i = 0, n = maxLength; n && (c = str[i]); ++i)
|
||||||
|
n -= charset_mapper(c);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Arduino < 1.0.0 is missing a function to print PROGMEM strings, so we need to implement our own */
|
void lcd_printPGM_utf(const char* str, const uint8_t maxLength=LCD_WIDTH) {
|
||||||
void lcd_printPGM(const char* str) {
|
char c;
|
||||||
for (; char c = pgm_read_byte(str); ++str) lcd_print(c);
|
for (uint8_t i = 0, n = maxLength; n && (c = str[i]); ++i)
|
||||||
|
n -= charset_mapper(c);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Initialize or re-initialize the LCD
|
// Initialize or re-initialize the LCD
|
||||||
|
@ -320,7 +331,7 @@ static void lcd_implementation_init() {
|
||||||
void lcd_kill_screen() {
|
void lcd_kill_screen() {
|
||||||
lcd_setFont(FONT_MENU);
|
lcd_setFont(FONT_MENU);
|
||||||
u8g.setPrintPos(0, u8g.getHeight()/4*1);
|
u8g.setPrintPos(0, u8g.getHeight()/4*1);
|
||||||
lcd_print(lcd_status_message);
|
lcd_print_utf(lcd_status_message);
|
||||||
u8g.setPrintPos(0, u8g.getHeight()/4*2);
|
u8g.setPrintPos(0, u8g.getHeight()/4*2);
|
||||||
lcd_printPGM(PSTR(MSG_HALTED));
|
lcd_printPGM(PSTR(MSG_HALTED));
|
||||||
u8g.setPrintPos(0, u8g.getHeight()/4*3);
|
u8g.setPrintPos(0, u8g.getHeight()/4*3);
|
||||||
|
@ -395,6 +406,20 @@ FORCE_INLINE void _draw_axis_label(const AxisEnum axis, const char* const pstr,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline void lcd_implementation_status_message() {
|
||||||
|
#if ENABLED(STATUS_MESSAGE_SCROLLING)
|
||||||
|
lcd_print_utf(lcd_status_message + status_scroll_pos);
|
||||||
|
const uint8_t slen = lcd_strlen(lcd_status_message);
|
||||||
|
if (slen > LCD_WIDTH) {
|
||||||
|
// Skip any non-printing bytes
|
||||||
|
while (!charset_mapper(lcd_status_message[status_scroll_pos])) ++status_scroll_pos;
|
||||||
|
if (++status_scroll_pos > slen - LCD_WIDTH) status_scroll_pos = 0;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
lcd_print_utf(lcd_status_message);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
//#define DOGM_SD_PERCENT
|
//#define DOGM_SD_PERCENT
|
||||||
|
|
||||||
static void lcd_implementation_status_screen() {
|
static void lcd_implementation_status_screen() {
|
||||||
|
@ -645,10 +670,7 @@ static void lcd_implementation_status_screen() {
|
||||||
|
|
||||||
#if ENABLED(FILAMENT_LCD_DISPLAY) && ENABLED(SDSUPPORT)
|
#if ENABLED(FILAMENT_LCD_DISPLAY) && ENABLED(SDSUPPORT)
|
||||||
if (PENDING(millis(), previous_lcd_status_ms + 5000UL)) { //Display both Status message line and Filament display on the last line
|
if (PENDING(millis(), previous_lcd_status_ms + 5000UL)) { //Display both Status message line and Filament display on the last line
|
||||||
const char *str = lcd_status_message;
|
lcd_implementation_status_message();
|
||||||
uint8_t i = LCD_WIDTH;
|
|
||||||
char c;
|
|
||||||
while (i-- && (c = *str++)) lcd_print(c);
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
lcd_printPGM(PSTR(LCD_STR_FILAM_DIA));
|
lcd_printPGM(PSTR(LCD_STR_FILAM_DIA));
|
||||||
|
@ -660,10 +682,7 @@ static void lcd_implementation_status_screen() {
|
||||||
u8g.print('%');
|
u8g.print('%');
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
const char *str = lcd_status_message;
|
lcd_implementation_status_message();
|
||||||
uint8_t i = LCD_WIDTH;
|
|
||||||
char c;
|
|
||||||
while (i-- && (c = *str++)) lcd_print(c);
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -380,17 +380,23 @@ static void lcd_implementation_init(
|
||||||
|
|
||||||
void lcd_implementation_clear() { lcd.clear(); }
|
void lcd_implementation_clear() { lcd.clear(); }
|
||||||
|
|
||||||
/* Arduino < 1.0.0 is missing a function to print PROGMEM strings, so we need to implement our own */
|
|
||||||
void lcd_printPGM(const char *str) {
|
|
||||||
for (; char c = pgm_read_byte(str); ++str) charset_mapper(c);
|
|
||||||
}
|
|
||||||
|
|
||||||
void lcd_print(const char* const str) {
|
|
||||||
for (uint8_t i = 0; const char c = str[i]; ++i) charset_mapper(c);
|
|
||||||
}
|
|
||||||
|
|
||||||
void lcd_print(const char c) { charset_mapper(c); }
|
void lcd_print(const char c) { charset_mapper(c); }
|
||||||
|
|
||||||
|
void lcd_print(const char * const str) { for (uint8_t i = 0; char c = str[i]; ++i) lcd.print(c); }
|
||||||
|
void lcd_printPGM(const char* str) { for (; char c = pgm_read_byte(str); ++str) lcd.print(c); }
|
||||||
|
|
||||||
|
void lcd_print_utf(const char * const str, const uint8_t maxLength=LCD_WIDTH) {
|
||||||
|
char c;
|
||||||
|
for (uint8_t i = 0, n = maxLength; n && (c = str[i]); ++i)
|
||||||
|
n -= charset_mapper(c);
|
||||||
|
}
|
||||||
|
|
||||||
|
void lcd_printPGM_utf(const char* str, const uint8_t maxLength=LCD_WIDTH) {
|
||||||
|
char c;
|
||||||
|
for (uint8_t i = 0, n = maxLength; n && (c = str[i]); ++i)
|
||||||
|
n -= charset_mapper(c);
|
||||||
|
}
|
||||||
|
|
||||||
#if ENABLED(SHOW_BOOTSCREEN)
|
#if ENABLED(SHOW_BOOTSCREEN)
|
||||||
|
|
||||||
void lcd_erase_line(const int line) {
|
void lcd_erase_line(const int line) {
|
||||||
|
@ -545,7 +551,7 @@ void lcd_print(const char c) { charset_mapper(c); }
|
||||||
|
|
||||||
void lcd_kill_screen() {
|
void lcd_kill_screen() {
|
||||||
lcd.setCursor(0, 0);
|
lcd.setCursor(0, 0);
|
||||||
lcd_print(lcd_status_message);
|
lcd_print_utf(lcd_status_message);
|
||||||
#if LCD_HEIGHT < 4
|
#if LCD_HEIGHT < 4
|
||||||
lcd.setCursor(0, 2);
|
lcd.setCursor(0, 2);
|
||||||
#else
|
#else
|
||||||
|
@ -818,10 +824,17 @@ static void lcd_implementation_status_screen() {
|
||||||
|
|
||||||
#endif // FILAMENT_LCD_DISPLAY && SDSUPPORT
|
#endif // FILAMENT_LCD_DISPLAY && SDSUPPORT
|
||||||
|
|
||||||
const char *str = lcd_status_message;
|
#if ENABLED(STATUS_MESSAGE_SCROLLING)
|
||||||
uint8_t i = LCD_WIDTH;
|
lcd_print_utf(lcd_status_message + status_scroll_pos);
|
||||||
char c;
|
const uint8_t slen = lcd_strlen(lcd_status_message);
|
||||||
while (i-- && (c = *str++)) lcd_print(c);
|
if (slen > LCD_WIDTH) {
|
||||||
|
// Skip any non-printing bytes
|
||||||
|
while (!charset_mapper(lcd_status_message[status_scroll_pos])) ++status_scroll_pos;
|
||||||
|
if (++status_scroll_pos > slen - LCD_WIDTH) status_scroll_pos = 0;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
lcd_print_utf(lcd_status_message);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#if ENABLED(ULTIPANEL)
|
#if ENABLED(ULTIPANEL)
|
||||||
|
|
|
@ -57,14 +57,14 @@ void safe_delay(millis_t ms) {
|
||||||
#define MINUSOR(n, alt) (n >= 0 ? (alt) : (n = -n, '-'))
|
#define MINUSOR(n, alt) (n >= 0 ? (alt) : (n = -n, '-'))
|
||||||
|
|
||||||
// Convert unsigned int to string with 12 format
|
// Convert unsigned int to string with 12 format
|
||||||
char* itostr2(const uint8_t& xx) {
|
char* itostr2(const uint8_t &xx) {
|
||||||
conv[5] = DIGIMOD(xx, 10);
|
conv[5] = DIGIMOD(xx, 10);
|
||||||
conv[6] = DIGIMOD(xx, 1);
|
conv[6] = DIGIMOD(xx, 1);
|
||||||
return &conv[5];
|
return &conv[5];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert signed int to rj string with 123 or -12 format
|
// Convert signed int to rj string with 123 or -12 format
|
||||||
char* itostr3(const int& x) {
|
char* itostr3(const int &x) {
|
||||||
int xx = x;
|
int xx = x;
|
||||||
conv[4] = MINUSOR(xx, RJDIGIT(xx, 100));
|
conv[4] = MINUSOR(xx, RJDIGIT(xx, 100));
|
||||||
conv[5] = RJDIGIT(xx, 10);
|
conv[5] = RJDIGIT(xx, 10);
|
||||||
|
@ -73,7 +73,7 @@ void safe_delay(millis_t ms) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert unsigned int to lj string with 123 format
|
// Convert unsigned int to lj string with 123 format
|
||||||
char* itostr3left(const int& xx) {
|
char* itostr3left(const int &xx) {
|
||||||
char *str = &conv[6];
|
char *str = &conv[6];
|
||||||
*str = DIGIMOD(xx, 1);
|
*str = DIGIMOD(xx, 1);
|
||||||
if (xx >= 10) {
|
if (xx >= 10) {
|
||||||
|
@ -85,7 +85,7 @@ void safe_delay(millis_t ms) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert signed int to rj string with 1234, _123, -123, _-12, or __-1 format
|
// Convert signed int to rj string with 1234, _123, -123, _-12, or __-1 format
|
||||||
char *itostr4sign(const int& x) {
|
char *itostr4sign(const int &x) {
|
||||||
const bool neg = x < 0;
|
const bool neg = x < 0;
|
||||||
const int xx = neg ? -x : x;
|
const int xx = neg ? -x : x;
|
||||||
if (x >= 1000) {
|
if (x >= 1000) {
|
||||||
|
@ -116,7 +116,7 @@ void safe_delay(millis_t ms) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert unsigned float to string with 1.23 format
|
// Convert unsigned float to string with 1.23 format
|
||||||
char* ftostr12ns(const float& x) {
|
char* ftostr12ns(const float &x) {
|
||||||
const long xx = (x < 0 ? -x : x) * 100;
|
const long xx = (x < 0 ? -x : x) * 100;
|
||||||
conv[3] = DIGIMOD(xx, 100);
|
conv[3] = DIGIMOD(xx, 100);
|
||||||
conv[4] = '.';
|
conv[4] = '.';
|
||||||
|
@ -126,7 +126,7 @@ void safe_delay(millis_t ms) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert signed float to fixed-length string with 023.45 / -23.45 format
|
// Convert signed float to fixed-length string with 023.45 / -23.45 format
|
||||||
char *ftostr32(const float& x) {
|
char *ftostr32(const float &x) {
|
||||||
long xx = x * 100;
|
long xx = x * 100;
|
||||||
conv[1] = MINUSOR(xx, DIGIMOD(xx, 10000));
|
conv[1] = MINUSOR(xx, DIGIMOD(xx, 10000));
|
||||||
conv[2] = DIGIMOD(xx, 1000);
|
conv[2] = DIGIMOD(xx, 1000);
|
||||||
|
@ -140,7 +140,7 @@ void safe_delay(millis_t ms) {
|
||||||
#if ENABLED(LCD_DECIMAL_SMALL_XY)
|
#if ENABLED(LCD_DECIMAL_SMALL_XY)
|
||||||
|
|
||||||
// Convert float to rj string with 1234, _123, -123, _-12, 12.3, _1.2, or -1.2 format
|
// Convert float to rj string with 1234, _123, -123, _-12, 12.3, _1.2, or -1.2 format
|
||||||
char *ftostr4sign(const float& fx) {
|
char *ftostr4sign(const float &fx) {
|
||||||
const int x = fx * 10;
|
const int x = fx * 10;
|
||||||
if (!WITHIN(x, -99, 999)) return itostr4sign((int)fx);
|
if (!WITHIN(x, -99, 999)) return itostr4sign((int)fx);
|
||||||
const bool neg = x < 0;
|
const bool neg = x < 0;
|
||||||
|
@ -155,7 +155,7 @@ void safe_delay(millis_t ms) {
|
||||||
#endif // LCD_DECIMAL_SMALL_XY
|
#endif // LCD_DECIMAL_SMALL_XY
|
||||||
|
|
||||||
// Convert float to fixed-length string with +123.4 / -123.4 format
|
// Convert float to fixed-length string with +123.4 / -123.4 format
|
||||||
char* ftostr41sign(const float& x) {
|
char* ftostr41sign(const float &x) {
|
||||||
int xx = x * 10;
|
int xx = x * 10;
|
||||||
conv[1] = MINUSOR(xx, '+');
|
conv[1] = MINUSOR(xx, '+');
|
||||||
conv[2] = DIGIMOD(xx, 1000);
|
conv[2] = DIGIMOD(xx, 1000);
|
||||||
|
@ -167,7 +167,7 @@ void safe_delay(millis_t ms) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert signed float to string (6 digit) with -1.234 / _0.000 / +1.234 format
|
// Convert signed float to string (6 digit) with -1.234 / _0.000 / +1.234 format
|
||||||
char* ftostr43sign(const float& x, char plus/*=' '*/) {
|
char* ftostr43sign(const float &x, char plus/*=' '*/) {
|
||||||
long xx = x * 1000;
|
long xx = x * 1000;
|
||||||
conv[1] = xx ? MINUSOR(xx, plus) : ' ';
|
conv[1] = xx ? MINUSOR(xx, plus) : ' ';
|
||||||
conv[2] = DIGIMOD(xx, 1000);
|
conv[2] = DIGIMOD(xx, 1000);
|
||||||
|
@ -179,7 +179,7 @@ void safe_delay(millis_t ms) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert unsigned float to rj string with 12345 format
|
// Convert unsigned float to rj string with 12345 format
|
||||||
char* ftostr5rj(const float& x) {
|
char* ftostr5rj(const float &x) {
|
||||||
const long xx = x < 0 ? -x : x;
|
const long xx = x < 0 ? -x : x;
|
||||||
conv[2] = RJDIGIT(xx, 10000);
|
conv[2] = RJDIGIT(xx, 10000);
|
||||||
conv[3] = RJDIGIT(xx, 1000);
|
conv[3] = RJDIGIT(xx, 1000);
|
||||||
|
@ -190,7 +190,7 @@ void safe_delay(millis_t ms) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert signed float to string with +1234.5 format
|
// Convert signed float to string with +1234.5 format
|
||||||
char* ftostr51sign(const float& x) {
|
char* ftostr51sign(const float &x) {
|
||||||
long xx = x * 10;
|
long xx = x * 10;
|
||||||
conv[0] = MINUSOR(xx, '+');
|
conv[0] = MINUSOR(xx, '+');
|
||||||
conv[1] = DIGIMOD(xx, 10000);
|
conv[1] = DIGIMOD(xx, 10000);
|
||||||
|
@ -203,7 +203,7 @@ void safe_delay(millis_t ms) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert signed float to string with +123.45 format
|
// Convert signed float to string with +123.45 format
|
||||||
char* ftostr52sign(const float& x) {
|
char* ftostr52sign(const float &x) {
|
||||||
long xx = x * 100;
|
long xx = x * 100;
|
||||||
conv[0] = MINUSOR(xx, '+');
|
conv[0] = MINUSOR(xx, '+');
|
||||||
conv[1] = DIGIMOD(xx, 10000);
|
conv[1] = DIGIMOD(xx, 10000);
|
||||||
|
@ -216,7 +216,7 @@ void safe_delay(millis_t ms) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert unsigned float to string with 1234.56 format omitting trailing zeros
|
// Convert unsigned float to string with 1234.56 format omitting trailing zeros
|
||||||
char* ftostr62rj(const float& x) {
|
char* ftostr62rj(const float &x) {
|
||||||
const long xx = (x < 0 ? -x : x) * 100;
|
const long xx = (x < 0 ? -x : x) * 100;
|
||||||
conv[0] = RJDIGIT(xx, 100000);
|
conv[0] = RJDIGIT(xx, 100000);
|
||||||
conv[1] = RJDIGIT(xx, 10000);
|
conv[1] = RJDIGIT(xx, 10000);
|
||||||
|
@ -229,7 +229,7 @@ void safe_delay(millis_t ms) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert signed float to space-padded string with -_23.4_ format
|
// Convert signed float to space-padded string with -_23.4_ format
|
||||||
char* ftostr52sp(const float& x) {
|
char* ftostr52sp(const float &x) {
|
||||||
long xx = x * 100;
|
long xx = x * 100;
|
||||||
uint8_t dig;
|
uint8_t dig;
|
||||||
conv[1] = MINUSOR(xx, RJDIGIT(xx, 10000));
|
conv[1] = MINUSOR(xx, RJDIGIT(xx, 10000));
|
||||||
|
|
|
@ -32,53 +32,53 @@ void safe_delay(millis_t ms);
|
||||||
#if ENABLED(ULTRA_LCD)
|
#if ENABLED(ULTRA_LCD)
|
||||||
|
|
||||||
// Convert unsigned int to string with 12 format
|
// Convert unsigned int to string with 12 format
|
||||||
char* itostr2(const uint8_t& x);
|
char* itostr2(const uint8_t &x);
|
||||||
|
|
||||||
// Convert signed int to rj string with 123 or -12 format
|
// Convert signed int to rj string with 123 or -12 format
|
||||||
char* itostr3(const int& x);
|
char* itostr3(const int &x);
|
||||||
|
|
||||||
// Convert unsigned int to lj string with 123 format
|
// Convert unsigned int to lj string with 123 format
|
||||||
char* itostr3left(const int& xx);
|
char* itostr3left(const int &xx);
|
||||||
|
|
||||||
// Convert signed int to rj string with _123, -123, _-12, or __-1 format
|
// Convert signed int to rj string with _123, -123, _-12, or __-1 format
|
||||||
char *itostr4sign(const int& x);
|
char *itostr4sign(const int &x);
|
||||||
|
|
||||||
// Convert unsigned float to string with 1.23 format
|
// Convert unsigned float to string with 1.23 format
|
||||||
char* ftostr12ns(const float& x);
|
char* ftostr12ns(const float &x);
|
||||||
|
|
||||||
// Convert signed float to fixed-length string with 023.45 / -23.45 format
|
// Convert signed float to fixed-length string with 023.45 / -23.45 format
|
||||||
char *ftostr32(const float& x);
|
char *ftostr32(const float &x);
|
||||||
|
|
||||||
// Convert float to fixed-length string with +123.4 / -123.4 format
|
// Convert float to fixed-length string with +123.4 / -123.4 format
|
||||||
char* ftostr41sign(const float& x);
|
char* ftostr41sign(const float &x);
|
||||||
|
|
||||||
// Convert signed float to string (6 digit) with -1.234 / _0.000 / +1.234 format
|
// Convert signed float to string (6 digit) with -1.234 / _0.000 / +1.234 format
|
||||||
char* ftostr43sign(const float& x, char plus=' ');
|
char* ftostr43sign(const float &x, char plus=' ');
|
||||||
|
|
||||||
// Convert unsigned float to rj string with 12345 format
|
// Convert unsigned float to rj string with 12345 format
|
||||||
char* ftostr5rj(const float& x);
|
char* ftostr5rj(const float &x);
|
||||||
|
|
||||||
// Convert signed float to string with +1234.5 format
|
// Convert signed float to string with +1234.5 format
|
||||||
char* ftostr51sign(const float& x);
|
char* ftostr51sign(const float &x);
|
||||||
|
|
||||||
// Convert signed float to space-padded string with -_23.4_ format
|
// Convert signed float to space-padded string with -_23.4_ format
|
||||||
char* ftostr52sp(const float& x);
|
char* ftostr52sp(const float &x);
|
||||||
|
|
||||||
// Convert signed float to string with +123.45 format
|
// Convert signed float to string with +123.45 format
|
||||||
char* ftostr52sign(const float& x);
|
char* ftostr52sign(const float &x);
|
||||||
|
|
||||||
// Convert unsigned float to string with 1234.56 format omitting trailing zeros
|
// Convert unsigned float to string with 1234.56 format omitting trailing zeros
|
||||||
char* ftostr62rj(const float& x);
|
char* ftostr62rj(const float &x);
|
||||||
|
|
||||||
// Convert float to rj string with 123 or -12 format
|
// Convert float to rj string with 123 or -12 format
|
||||||
FORCE_INLINE char *ftostr3(const float& x) { return itostr3((int)x); }
|
FORCE_INLINE char *ftostr3(const float &x) { return itostr3((int)x); }
|
||||||
|
|
||||||
#if ENABLED(LCD_DECIMAL_SMALL_XY)
|
#if ENABLED(LCD_DECIMAL_SMALL_XY)
|
||||||
// Convert float to rj string with 1234, _123, 12.3, _1.2, -123, _-12, or -1.2 format
|
// Convert float to rj string with 1234, _123, 12.3, _1.2, -123, _-12, or -1.2 format
|
||||||
char *ftostr4sign(const float& fx);
|
char *ftostr4sign(const float &fx);
|
||||||
#else
|
#else
|
||||||
// Convert float to rj string with 1234, _123, -123, __12, _-12, ___1, or __-1 format
|
// Convert float to rj string with 1234, _123, -123, __12, _-12, ___1, or __-1 format
|
||||||
FORCE_INLINE char *ftostr4sign(const float& x) { return itostr4sign((int)x); }
|
FORCE_INLINE char *ftostr4sign(const float &x) { return itostr4sign((int)x); }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif // ULTRA_LCD
|
#endif // ULTRA_LCD
|
||||||
|
|
|
@ -77,7 +77,7 @@ struct matrix_3x3 {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
void apply_rotation_xyz(matrix_3x3 rotationMatrix, float& x, float& y, float& z);
|
void apply_rotation_xyz(matrix_3x3 rotationMatrix, float &x, float &y, float &z);
|
||||||
|
|
||||||
#endif // HAS_ABL
|
#endif // HAS_ABL
|
||||||
#endif // VECTOR_3_H
|
#endif // VECTOR_3_H
|
||||||
|
|
Loading…
Reference in a new issue