Browse Source

Consolidate Malyan LCD and ExtUI

pull/1/head
Scott Lahteine 5 years ago
parent
commit
23ec650410
  1. 2
      Marlin/src/Marlin.cpp
  2. 9
      Marlin/src/inc/Conditionals_LCD.h
  3. 52
      Marlin/src/lcd/malyanlcd.cpp
  4. 6
      Marlin/src/lcd/ultralcd.cpp
  5. 17
      Marlin/src/lcd/ultralcd.h

2
Marlin/src/Marlin.cpp

@ -733,7 +733,7 @@ void kill(PGM_P const lcd_msg/*=NULL*/) {
SERIAL_ERROR_MSG(MSG_ERR_KILLED);
#if HAS_SPI_LCD || ENABLED(EXTENSIBLE_UI)
#if HAS_DISPLAY
ui.kill_screen(lcd_msg ? lcd_msg : PSTR(MSG_KILLED));
#else
UNUSED(lcd_msg);

9
Marlin/src/inc/Conditionals_LCD.h

@ -329,8 +329,14 @@
#define ULTRA_LCD
#endif
// Extensible UI serial touch screens. (See src/lcd/extensible_ui)
#if ENABLED(MALYAN_LCD)
#define EXTENSIBLE_UI
#endif
// Aliases for LCD features
#define HAS_SPI_LCD ENABLED(ULTRA_LCD)
#define HAS_DISPLAY (HAS_SPI_LCD || ENABLED(EXTENSIBLE_UI))
#define HAS_GRAPHICAL_LCD ENABLED(DOGLCD)
#define HAS_CHARACTER_LCD (HAS_SPI_LCD && !HAS_GRAPHICAL_LCD)
#define HAS_LCD_MENU (ENABLED(ULTIPANEL) && DISABLED(NO_LCD_MENUS))
@ -513,9 +519,6 @@
#define GRID_MAX_POINTS ((GRID_MAX_POINTS_X) * (GRID_MAX_POINTS_Y))
#endif
#if ENABLED(MALYAN_LCD)
#define EXTENSIBLE_UI
#endif
#define HAS_SOFTWARE_ENDSTOPS EITHER(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS)
#define HAS_RESUME_CONTINUE ANY(EXTENSIBLE_UI, NEWPANEL, EMERGENCY_PARSER)
#define HAS_COLOR_LEDS ANY(BLINKM, RGB_LED, RGBW_LED, PCA9632, PCA9533, NEOPIXEL_LED)

52
Marlin/src/lcd/malyanlcd.cpp

@ -474,52 +474,28 @@ namespace ExtUI {
#endif
}
void onPrinterKilled(PGM_P const msg) {}
void onStatusChanged(const char * const msg) {
write_to_lcd_P(PSTR("{E:"));
write_to_lcd(msg);
write_to_lcd_P("}");
}
// Not needed for Malyan LCD
void onPrinterKilled(PGM_P const msg) { UNUSED(msg); }
void onMediaInserted() {};
void onMediaError() {};
void onMediaRemoved() {};
void onPlayTone(const uint16_t frequency, const uint16_t duration) {}
void onPlayTone(const uint16_t frequency, const uint16_t duration) { UNUSED(frequency); UNUSED(duration); }
void onPrintTimerStarted() {}
void onPrintTimerPaused() {}
void onPrintTimerStopped() {}
void onFilamentRunout() {}
void onUserConfirmRequired(const char * const msg) {}
void onStatusChanged(const char * const msg) {
write_to_lcd_P(PSTR("{E:"));
write_to_lcd(msg);
write_to_lcd_P("}");
}
void onUserConfirmRequired(const char * const msg) { UNUSED(msg); }
void onFactoryReset() {}
void onStoreSettings(char *buff) {
// This is called when saving to EEPROM (i.e. M500). If the ExtUI needs
// permanent data to be stored, it can write up to eeprom_data_size bytes
// into buff.
// Example:
// static_assert(sizeof(myDataStruct) <= ExtUI::eeprom_data_size);
// memcpy(buff, &myDataStruct, sizeof(myDataStruct));
}
void onLoadSettings(const char *buff) {
// This is called while loading settings from EEPROM. If the ExtUI
// needs to retrieve data, it should copy up to eeprom_data_size bytes
// from buff
// Example:
// static_assert(sizeof(myDataStruct) <= ExtUI::eeprom_data_size);
// memcpy(&myDataStruct, buff, sizeof(myDataStruct));
}
void onConfigurationStoreWritten(bool success) {
// This is called after the entire EEPROM has been written,
// whether successful or not.
}
void onConfigurationStoreRead(bool success) {
// This is called after the entire EEPROM has been read,
// whether successful or not.
}
void onStoreSettings(char *buff) { UNUSED(buff); }
void onLoadSettings(const char *buff) { UNUSED(buff); }
void onConfigurationStoreWritten(bool success) { UNUSED(success); }
void onConfigurationStoreRead(bool success) { UNUSED(success); }
}
#endif // MALYAN_LCD

6
Marlin/src/lcd/ultralcd.cpp

@ -23,7 +23,7 @@
#include "../inc/MarlinConfigPre.h"
// These displays all share the MarlinUI class
#if HAS_SPI_LCD || ENABLED(EXTENSIBLE_UI)
#if HAS_DISPLAY
#include "ultralcd.h"
#include "fontutils.h"
MarlinUI ui;
@ -1192,7 +1192,7 @@ void MarlinUI::update() {
#endif // HAS_SPI_LCD
#if HAS_SPI_LCD || ENABLED(EXTENSIBLE_UI)
#if HAS_DISPLAY
#if ENABLED(EXTENSIBLE_UI)
#include "extensible_ui/ui_api.h"
@ -1376,4 +1376,4 @@ void MarlinUI::update() {
}
#endif
#endif // HAS_SPI_LCD || EXTENSIBLE_UI
#endif // HAS_DISPLAY

17
Marlin/src/lcd/ultralcd.h

@ -268,17 +268,11 @@ public:
static void clear_lcd();
static void init_lcd();
#if HAS_SPI_LCD || EITHER(MALYAN_LCD, EXTENSIBLE_UI)
#if HAS_DISPLAY
static void init();
static void update();
static void set_alert_status_P(PGM_P message);
#else // NO LCD
static inline void init() {}
static inline void update() {}
static inline void set_alert_status_P(PGM_P message) { UNUSED(message); }
#endif
#if HAS_SPI_LCD || ENABLED(EXTENSIBLE_UI)
static char status_message[];
static bool has_status();
@ -375,9 +369,12 @@ public:
static void status_printf_P(const uint8_t level, PGM_P const fmt, ...);
static void reset_status();
#else // MALYAN_LCD or NO LCD
#else // No LCD
static inline void init() {}
static inline void update() {}
static inline void refresh() {}
static inline void set_alert_status_P(PGM_P message) { UNUSED(message); }
static inline void set_status(const char* const message, const bool persist=false) { UNUSED(message); UNUSED(persist); }
static inline void set_status_P(PGM_P const message, const int8_t level=0) { UNUSED(message); UNUSED(level); }
static inline void status_printf_P(const uint8_t level, PGM_P const fmt, ...) { UNUSED(level); UNUSED(fmt); }
@ -529,7 +526,7 @@ private:
static void _synchronize();
#if HAS_SPI_LCD || ENABLED(EXTENSIBLE_UI)
#if HAS_DISPLAY
static void finish_status(const bool persist);
#endif

Loading…
Cancel
Save