Unify buzz methods as MarlinUI::buzz (#14803)

This commit is contained in:
Ludy
2019-08-20 09:01:37 +02:00
committed by Scott Lahteine
parent 29c12905f5
commit 05995d1fd6
12 changed files with 83 additions and 72 deletions

View File

@@ -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