浏览代码

Merge pull request #1693 from chris-bo/rework_lcd_beeper

use only one implementation for beeper feedback
Scott Lahteine 10 年前
父节点
当前提交
abfcbd793f
共有 4 个文件被更改,包括 27 次插入39 次删除
  1. 1
    0
      Marlin/Configuration.h
  2. 0
    12
      Marlin/dogm_lcd_implementation.h
  3. 26
    1
      Marlin/ultralcd.cpp
  4. 0
    26
      Marlin/ultralcd_implementation_hitachi_HD44780.h

+ 1
- 0
Marlin/Configuration.h 查看文件

@@ -582,6 +582,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic o
582 582
 //#define ULTIPANEL  //the UltiPanel as on Thingiverse
583 583
 //#define LCD_FEEDBACK_FREQUENCY_HZ 1000	// this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
584 584
 //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
585
+                                               // 0 to disable buzzer feedback  
585 586
 
586 587
 // PanelOne from T3P3 (via RAMPS 1.4 AUX2/AUX3)
587 588
 // http://reprap.org/wiki/PanelOne

+ 0
- 12
Marlin/dogm_lcd_implementation.h 查看文件

@@ -408,16 +408,4 @@ static void _drawmenu_sd(bool isSelected, uint8_t row, const char* pstr, const c
408 408
 #define lcd_implementation_drawmenu_gcode(sel, row, pstr, gcode) lcd_implementation_drawmenu_generic(sel, row, pstr, '>', ' ')
409 409
 #define lcd_implementation_drawmenu_function(sel, row, pstr, data) lcd_implementation_drawmenu_generic(sel, row, pstr, '>', ' ')
410 410
 
411
-static void lcd_implementation_quick_feedback() {
412
-  #if BEEPER > -1
413
-    SET_OUTPUT(BEEPER);
414
-    for(int8_t i=0; i<10; i++) {
415
-      WRITE(BEEPER,HIGH);
416
-      delay(3);
417
-      WRITE(BEEPER,LOW);
418
-      delay(3);
419
-    }
420
-  #endif
421
-}
422
-
423 411
 #endif //__DOGM_LCD_IMPLEMENTATION_H

+ 26
- 1
Marlin/ultralcd.cpp 查看文件

@@ -1137,7 +1137,32 @@ menu_edit_type(unsigned long, long5, ftostr5, 0.01)
1137 1137
 static void lcd_quick_feedback() {
1138 1138
   lcdDrawUpdate = 2;
1139 1139
   blocking_enc = millis() + 500;
1140
-  lcd_implementation_quick_feedback();
1140
+    
1141
+  #ifdef LCD_USE_I2C_BUZZER
1142
+    #ifndef LCD_FEEDBACK_FREQUENCY_HZ
1143
+      #define LCD_FEEDBACK_FREQUENCY_HZ 100
1144
+    #endif
1145
+    #ifndef LCD_FEEDBACK_FREQUENCY_DURATION_MS
1146
+      #define LCD_FEEDBACK_FREQUENCY_DURATION_MS (1000/6)
1147
+    #endif    
1148
+    lcd_buzz(LCD_FEEDBACK_FREQUENCY_DURATION_MS, LCD_FEEDBACK_FREQUENCY_HZ);
1149
+  #elif defined(BEEPER) && BEEPER > -1
1150
+    SET_OUTPUT(BEEPER);
1151
+    #ifndef LCD_FEEDBACK_FREQUENCY_HZ
1152
+      #define LCD_FEEDBACK_FREQUENCY_HZ 500
1153
+    #endif
1154
+    #ifndef LCD_FEEDBACK_FREQUENCY_DURATION_MS
1155
+      #define LCD_FEEDBACK_FREQUENCY_DURATION_MS 50
1156
+    #endif
1157
+    const unsigned int delay = 1000000 / LCD_FEEDBACK_FREQUENCY_HZ / 2;
1158
+    int i = LCD_FEEDBACK_FREQUENCY_DURATION_MS * LCD_FEEDBACK_FREQUENCY_HZ / 1000;
1159
+    while (i--) {
1160
+      WRITE(BEEPER,HIGH);
1161
+      delayMicroseconds(delay);
1162
+      WRITE(BEEPER,LOW);
1163
+      delayMicroseconds(delay);
1164
+     }
1165
+  #endif
1141 1166
 }
1142 1167
 
1143 1168
 /** Menu action functions **/

+ 0
- 26
Marlin/ultralcd_implementation_hitachi_HD44780.h 查看文件

@@ -709,32 +709,6 @@ static void lcd_implementation_drawmenu_sddirectory(bool sel, uint8_t row, const
709 709
 #define lcd_implementation_drawmenu_gcode(sel, row, pstr, gcode) lcd_implementation_drawmenu_generic(sel, row, pstr, '>', ' ')
710 710
 #define lcd_implementation_drawmenu_function(sel, row, pstr, data) lcd_implementation_drawmenu_generic(sel, row, pstr, '>', ' ')
711 711
 
712
-static void lcd_implementation_quick_feedback()
713
-{
714
-  #ifdef LCD_USE_I2C_BUZZER
715
-    #if defined(LCD_FEEDBACK_FREQUENCY_DURATION_MS) && defined(LCD_FEEDBACK_FREQUENCY_HZ)
716
-      lcd_buzz(LCD_FEEDBACK_FREQUENCY_DURATION_MS, LCD_FEEDBACK_FREQUENCY_HZ);
717
-    #else
718
-      lcd_buzz(1000/6, 100);
719
-    #endif
720
-  #elif defined(BEEPER) && BEEPER > -1
721
-    SET_OUTPUT(BEEPER);
722
-    #if !defined(LCD_FEEDBACK_FREQUENCY_HZ) || !defined(LCD_FEEDBACK_FREQUENCY_DURATION_MS)
723
-      const unsigned int delay = 100;
724
-      uint8_t i = 10;
725
-    #else
726
-      const unsigned int delay = 1000000 / LCD_FEEDBACK_FREQUENCY_HZ / 2;
727
-      int8_t i = LCD_FEEDBACK_FREQUENCY_DURATION_MS * LCD_FEEDBACK_FREQUENCY_HZ / 1000;
728
-    #endif
729
-    while (i--) {
730
-      WRITE(BEEPER,HIGH);
731
-      delayMicroseconds(delay);
732
-      WRITE(BEEPER,LOW);
733
-      delayMicroseconds(delay);
734
-    }
735
-  #endif
736
-}
737
-
738 712
 #ifdef LCD_HAS_STATUS_INDICATORS
739 713
 static void lcd_implementation_update_indicators()
740 714
 {

正在加载...
取消
保存