Unify buzz methods as MarlinUI::buzz (#14803)
This commit is contained in:
@ -360,6 +360,33 @@ void MarlinUI::init_lcd() {
|
||||
lcd.clear();
|
||||
}
|
||||
|
||||
bool MarlinUI::detected() {
|
||||
return true
|
||||
#if EITHER(LCD_I2C_TYPE_MCP23017, LCD_I2C_TYPE_MCP23008) && defined(DETECT_DEVICE)
|
||||
&& lcd.LcdDetected() == 1
|
||||
#endif
|
||||
;
|
||||
}
|
||||
|
||||
#if HAS_SLOW_BUTTONS
|
||||
uint8_t MarlinUI::read_slow_buttons() {
|
||||
#if ENABLED(LCD_I2C_TYPE_MCP23017)
|
||||
// Reading these buttons this is likely to be too slow to call inside interrupt context
|
||||
// so they are called during normal lcd_update
|
||||
uint8_t slow_bits = lcd.readButtons()
|
||||
#if !BUTTON_EXISTS(ENC)
|
||||
<< B_I2C_BTN_OFFSET
|
||||
#endif
|
||||
;
|
||||
#if ENABLED(LCD_I2C_VIKI)
|
||||
if ((slow_bits & (B_MI | B_RI)) && PENDING(millis(), next_button_update_ms)) // LCD clicked
|
||||
slow_bits &= ~(B_MI | B_RI); // Disable LCD clicked buttons if screen is updated
|
||||
#endif // LCD_I2C_VIKI
|
||||
return slow_bits;
|
||||
#endif // LCD_I2C_TYPE_MCP23017
|
||||
}
|
||||
#endif
|
||||
|
||||
void MarlinUI::clear_lcd() { lcd.clear(); }
|
||||
|
||||
#if ENABLED(SHOW_BOOTSCREEN)
|
||||
@ -1063,7 +1090,7 @@ void MarlinUI::draw_status_screen() {
|
||||
|
||||
#if ENABLED(LCD_HAS_STATUS_INDICATORS)
|
||||
|
||||
static void MarlinUI::update_indicators() {
|
||||
void MarlinUI::update_indicators() {
|
||||
// Set the LEDS - referred to as backlights by the LiquidTWI2 library
|
||||
static uint8_t ledsprev = 0;
|
||||
uint8_t leds = 0;
|
||||
|
@ -102,6 +102,8 @@ void MarlinUI::set_font(const MarlinFont font_nr) {
|
||||
}
|
||||
}
|
||||
|
||||
bool MarlinUI::detected() { return true; }
|
||||
|
||||
#if ENABLED(SHOW_BOOTSCREEN)
|
||||
|
||||
#if ENABLED(SHOW_CUSTOM_BOOTSCREEN)
|
||||
|
@ -64,6 +64,19 @@
|
||||
uint8_t MarlinUI::progress_bar_percent; // = 0
|
||||
#endif
|
||||
|
||||
#if HAS_BUZZER
|
||||
#include "../libs/buzzer.h"
|
||||
void MarlinUI::buzz(const long duration, const uint16_t freq) {
|
||||
#if ENABLED(LCD_USE_I2C_BUZZER)
|
||||
lcd.buzz(duration, freq);
|
||||
#elif ENABLED(PCA9632_BUZZER)
|
||||
pca9632_buzz(const long duration, const uint16_t freq) {
|
||||
#elif USE_BEEPER
|
||||
buzzer.tone(duration, freq);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
#if HAS_SPI_LCD
|
||||
|
||||
#if HAS_GRAPHICAL_LCD
|
||||
@ -89,10 +102,6 @@
|
||||
#include "../feature/bedlevel/bedlevel.h"
|
||||
#endif
|
||||
|
||||
#if HAS_BUZZER
|
||||
#include "../libs/buzzer.h"
|
||||
#endif
|
||||
|
||||
#if HAS_TRINAMIC
|
||||
#include "../feature/tmc_util.h"
|
||||
#endif
|
||||
@ -568,7 +577,7 @@ void MarlinUI::status_screen() {
|
||||
const millis_t ms = millis();
|
||||
#endif
|
||||
if (ELAPSED(ms, next_beep)) {
|
||||
BUZZ(FEEDRATE_CHANGE_BEEP_DURATION, FEEDRATE_CHANGE_BEEP_FREQUENCY);
|
||||
buzz(FEEDRATE_CHANGE_BEEP_DURATION, FEEDRATE_CHANGE_BEEP_FREQUENCY);
|
||||
next_beep = ms + 500UL;
|
||||
}
|
||||
#endif
|
||||
@ -611,13 +620,12 @@ void MarlinUI::quick_feedback(const bool clear_buttons/*=true*/) {
|
||||
#if HAS_BUZZER
|
||||
// Buzz and wait. Is the delay needed for buttons to settle?
|
||||
buzz(LCD_FEEDBACK_FREQUENCY_DURATION_MS, LCD_FEEDBACK_FREQUENCY_HZ);
|
||||
#endif
|
||||
|
||||
#if HAS_LCD_MENU
|
||||
#if ENABLED(LCD_USE_I2C_BUZZER)
|
||||
delay(10);
|
||||
#elif PIN_EXISTS(BEEPER)
|
||||
for (int8_t i = 5; i--;) { buzzer.tick(); delay(2); }
|
||||
#if HAS_LCD_MENU
|
||||
#if USE_BEEPER
|
||||
for (int8_t i = 5; i--;) { buzzer.tick(); delay(2); }
|
||||
#else
|
||||
delay(10);
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
@ -729,16 +737,6 @@ void MarlinUI::quick_feedback(const bool clear_buttons/*=true*/) {
|
||||
|
||||
LCDViewAction MarlinUI::lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW;
|
||||
|
||||
bool MarlinUI::detected() {
|
||||
return
|
||||
#if EITHER(LCD_I2C_TYPE_MCP23017, LCD_I2C_TYPE_MCP23008) && defined(DETECT_DEVICE)
|
||||
lcd.LcdDetected() == 1
|
||||
#else
|
||||
true
|
||||
#endif
|
||||
;
|
||||
}
|
||||
|
||||
void MarlinUI::update() {
|
||||
|
||||
static uint16_t max_display_update_time = 0;
|
||||
@ -1295,23 +1293,6 @@ void MarlinUI::update() {
|
||||
#endif // HAS_ENCODER_WHEEL
|
||||
}
|
||||
|
||||
#if HAS_SLOW_BUTTONS
|
||||
|
||||
uint8_t MarlinUI::read_slow_buttons() {
|
||||
#if ENABLED(LCD_I2C_TYPE_MCP23017)
|
||||
// Reading these buttons this is likely to be too slow to call inside interrupt context
|
||||
// so they are called during normal lcd_update
|
||||
uint8_t slow_bits = lcd.readButtons() << B_I2C_BTN_OFFSET;
|
||||
#if ENABLED(LCD_I2C_VIKI)
|
||||
if ((slow_bits & (B_MI | B_RI)) && PENDING(millis(), next_button_update_ms)) // LCD clicked
|
||||
slow_bits &= ~(B_MI | B_RI); // Disable LCD clicked buttons if screen is updated
|
||||
#endif // LCD_I2C_VIKI
|
||||
return slow_bits;
|
||||
#endif // LCD_I2C_TYPE_MCP23017
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#endif // HAS_ENCODER_ACTION
|
||||
|
||||
#endif // HAS_SPI_LCD
|
||||
|
@ -259,15 +259,11 @@ public:
|
||||
}
|
||||
|
||||
#if HAS_BUZZER
|
||||
static inline void buzz(const long duration, const uint16_t freq) {
|
||||
#if ENABLED(LCD_USE_I2C_BUZZER)
|
||||
lcd.buzz(duration, freq);
|
||||
#elif PIN_EXISTS(BEEPER)
|
||||
buzzer.tone(duration, freq);
|
||||
#elif ENABLED(PCA9632_BUZZER)
|
||||
pca9632_buzz(duration, freq);
|
||||
#endif
|
||||
}
|
||||
static void buzz(const long duration, const uint16_t freq);
|
||||
#endif
|
||||
|
||||
#if ENABLED(LCD_HAS_STATUS_INDICATORS)
|
||||
static void update_indicators();
|
||||
#endif
|
||||
|
||||
// LCD implementations
|
||||
|
Reference in New Issue
Block a user