Add support for Arduino DUE Shield Kit (#12950)
This commit is contained in:
@ -930,16 +930,46 @@ void MarlinUI::update() {
|
||||
uint8_t ADCKeyNo;
|
||||
} _stADCKeypadTable_;
|
||||
|
||||
#ifndef ADC_BUTTONS_VALUE_SCALE
|
||||
#define ADC_BUTTONS_VALUE_SCALE 1.0 // for the power voltage equal to the reference voltage
|
||||
#endif
|
||||
#ifndef ADC_BUTTONS_R_PULLUP
|
||||
#define ADC_BUTTONS_R_PULLUP 4.7 // common pull-up resistor in the voltage divider
|
||||
#endif
|
||||
#ifndef ADC_BUTTONS_LEFT_R_PULLDOWN
|
||||
#define ADC_BUTTONS_LEFT_R_PULLDOWN 0.47 // pull-down resistor for LEFT button voltage divider
|
||||
#endif
|
||||
#ifndef ADC_BUTTONS_RIGHT_R_PULLDOWN
|
||||
#define ADC_BUTTONS_RIGHT_R_PULLDOWN 4.7 // pull-down resistor for RIGHT button voltage divider
|
||||
#endif
|
||||
#ifndef ADC_BUTTONS_UP_R_PULLDOWN
|
||||
#define ADC_BUTTONS_UP_R_PULLDOWN 1.0 // pull-down resistor for UP button voltage divider
|
||||
#endif
|
||||
#ifndef ADC_BUTTONS_DOWN_R_PULLDOWN
|
||||
#define ADC_BUTTONS_DOWN_R_PULLDOWN 10.0 // pull-down resistor for DOWN button voltage divider
|
||||
#endif
|
||||
#ifndef ADC_BUTTONS_MIDDLE_R_PULLDOWN
|
||||
#define ADC_BUTTONS_MIDDLE_R_PULLDOWN 2.2 // pull-down resistor for MIDDLE button voltage divider
|
||||
#endif
|
||||
|
||||
// Calculate the ADC value for the voltage divider with specified pull-down resistor value
|
||||
#define ADC_BUTTON_VALUE(r) (int(4096.0 * (ADC_BUTTONS_VALUE_SCALE) * r / (r + ADC_BUTTONS_R_PULLUP)))
|
||||
|
||||
static const _stADCKeypadTable_ stADCKeyTable[] PROGMEM = {
|
||||
// VALUE_MIN, VALUE_MAX, KEY
|
||||
{ 4000, 4096, 1 + BLEN_KEYPAD_F1 }, // F1
|
||||
{ 4000, 4096, 1 + BLEN_KEYPAD_F2 }, // F2
|
||||
{ 4000, 4096, 1 + BLEN_KEYPAD_F3 }, // F3
|
||||
{ 300, 500, 1 + BLEN_KEYPAD_LEFT }, // LEFT
|
||||
{ 1900, 2200, 1 + BLEN_KEYPAD_RIGHT }, // RIGHT
|
||||
{ 570, 870, 1 + BLEN_KEYPAD_UP }, // UP
|
||||
{ 2670, 2870, 1 + BLEN_KEYPAD_DOWN }, // DOWN
|
||||
{ 1150, 1450, 1 + BLEN_KEYPAD_MIDDLE }, // ENTER
|
||||
{ ADC_BUTTON_VALUE(ADC_BUTTONS_LEFT_R_PULLDOWN) - 100,
|
||||
ADC_BUTTON_VALUE(ADC_BUTTONS_LEFT_R_PULLDOWN) + 100, 1 + BLEN_KEYPAD_LEFT }, // LEFT ( 272 ... 472)
|
||||
{ ADC_BUTTON_VALUE(ADC_BUTTONS_RIGHT_R_PULLDOWN) - 100,
|
||||
ADC_BUTTON_VALUE(ADC_BUTTONS_RIGHT_R_PULLDOWN) + 100, 1 + BLEN_KEYPAD_RIGHT }, // RIGHT (1948 ... 2148)
|
||||
{ ADC_BUTTON_VALUE(ADC_BUTTONS_UP_R_PULLDOWN) - 100,
|
||||
ADC_BUTTON_VALUE(ADC_BUTTONS_UP_R_PULLDOWN) + 100, 1 + BLEN_KEYPAD_UP }, // UP ( 618 ... 818)
|
||||
{ ADC_BUTTON_VALUE(ADC_BUTTONS_DOWN_R_PULLDOWN) - 100,
|
||||
ADC_BUTTON_VALUE(ADC_BUTTONS_DOWN_R_PULLDOWN) + 100, 1 + BLEN_KEYPAD_DOWN }, // DOWN (2686 ... 2886)
|
||||
{ ADC_BUTTON_VALUE(ADC_BUTTONS_MIDDLE_R_PULLDOWN) - 100,
|
||||
ADC_BUTTON_VALUE(ADC_BUTTONS_MIDDLE_R_PULLDOWN) + 100, 1 + BLEN_KEYPAD_MIDDLE }, // ENTER (1205 ... 1405)
|
||||
};
|
||||
|
||||
uint8_t get_ADC_keyValue(void) {
|
||||
@ -956,7 +986,8 @@ void MarlinUI::update() {
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // HAS_ADC_BUTTONS
|
||||
|
||||
#if HAS_ENCODER_ACTION
|
||||
|
||||
|
Reference in New Issue
Block a user