Browse Source

Move S_FMT to HAL, apply to mixer

vanilla_fb_2.0.x
Scott Lahteine 4 years ago
parent
commit
39f703310b
  1. 6
      Marlin/src/HAL/AVR/HAL.h
  2. 5
      Marlin/src/HAL/HAL.h
  3. 7
      Marlin/src/core/macros.h
  4. 8
      Marlin/src/lcd/dogm/status_screen_DOGM.cpp

6
Marlin/src/HAL/AVR/HAL.h

@ -50,7 +50,8 @@
// Defines // Defines
// ------------------------ // ------------------------
//#define analogInputToDigitalPin(IO) IO // AVR PROGMEM extension for sprintf_P
#define S_FMT "%S"
#ifndef CRITICAL_SECTION_START #ifndef CRITICAL_SECTION_START
#define CRITICAL_SECTION_START() unsigned char _sreg = SREG; cli() #define CRITICAL_SECTION_START() unsigned char _sreg = SREG; cli()
@ -60,9 +61,6 @@
#define ENABLE_ISRS() sei() #define ENABLE_ISRS() sei()
#define DISABLE_ISRS() cli() #define DISABLE_ISRS() cli()
// On AVR this is in math.h?
//#define square(x) ((x)*(x))
// ------------------------ // ------------------------
// Types // Types
// ------------------------ // ------------------------

5
Marlin/src/HAL/HAL.h

@ -31,6 +31,11 @@
#define I2C_ADDRESS(A) (A) #define I2C_ADDRESS(A) (A)
#endif #endif
// Needed for AVR sprintf_P PROGMEM extension
#ifndef S_FMT
#define S_FMT "%s"
#endif
inline void watchdog_refresh() { inline void watchdog_refresh() {
TERN_(USE_WATCHDOG, HAL_watchdog_refresh()); TERN_(USE_WATCHDOG, HAL_watchdog_refresh());
} }

7
Marlin/src/core/macros.h

@ -76,13 +76,6 @@
// Nanoseconds per cycle // Nanoseconds per cycle
#define NANOSECONDS_PER_CYCLE (1000000000.0 / F_CPU) #define NANOSECONDS_PER_CYCLE (1000000000.0 / F_CPU)
// Macros to make sprintf_P read from PROGMEM (AVR extension)
#ifdef __AVR__
#define S_FMT "%S"
#else
#define S_FMT "%s"
#endif
// Macros to make a string from a macro // Macros to make a string from a macro
#define STRINGIFY_(M) #M #define STRINGIFY_(M) #M
#define STRINGIFY(M) STRINGIFY_(M) #define STRINGIFY(M) STRINGIFY_(M)

8
Marlin/src/lcd/dogm/status_screen_DOGM.cpp

@ -695,19 +695,19 @@ void MarlinUI::draw_status_screen() {
// Two-component mix / gradient instead of XY // Two-component mix / gradient instead of XY
char mixer_messages[12]; char mixer_messages[12];
const char *mix_label; PGM_P mix_label;
#if ENABLED(GRADIENT_MIX) #if ENABLED(GRADIENT_MIX)
if (mixer.gradient.enabled) { if (mixer.gradient.enabled) {
mixer.update_mix_from_gradient(); mixer.update_mix_from_gradient();
mix_label = "Gr"; mix_label = PSTR("Gr");
} }
else else
#endif #endif
{ {
mixer.update_mix_from_vtool(); mixer.update_mix_from_vtool();
mix_label = "Mx"; mix_label = PSTR("Mx");
} }
sprintf_P(mixer_messages, PSTR("%s %d;%d%% "), mix_label, int(mixer.mix[0]), int(mixer.mix[1])); sprintf_P(mixer_messages, PSTR(S_FMT " %d;%d%% "), mix_label, int(mixer.mix[0]), int(mixer.mix[1]));
lcd_put_u8str(X_LABEL_POS, XYZ_BASELINE, mixer_messages); lcd_put_u8str(X_LABEL_POS, XYZ_BASELINE, mixer_messages);
#else #else

Loading…
Cancel
Save