diff options
Diffstat (limited to 'keyboards/handwired/onekey/keymaps/adc')
-rw-r--r-- | keyboards/handwired/onekey/keymaps/adc/config.h | 1 | ||||
-rw-r--r-- | keyboards/handwired/onekey/keymaps/adc/keymap.c | 38 | ||||
-rw-r--r-- | keyboards/handwired/onekey/keymaps/adc/rules.mk | 3 |
3 files changed, 42 insertions, 0 deletions
diff --git a/keyboards/handwired/onekey/keymaps/adc/config.h b/keyboards/handwired/onekey/keymaps/adc/config.h new file mode 100644 index 0000000000..6f70f09bee --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/adc/config.h @@ -0,0 +1 @@ +#pragma once diff --git a/keyboards/handwired/onekey/keymaps/adc/keymap.c b/keyboards/handwired/onekey/keymaps/adc/keymap.c new file mode 100644 index 0000000000..c5294bbc3d --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/adc/keymap.c @@ -0,0 +1,38 @@ +#include QMK_KEYBOARD_H +#include "analog.h" +#include <stdio.h> + +#ifndef ADC_PIN +# define ADC_PIN A0 +#endif + +enum custom_keycodes { + ADC_SAMPLE = SAFE_RANGE, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + LAYOUT(ADC_SAMPLE) // +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case ADC_SAMPLE: + if (record->event.pressed) { + int16_t val = analogReadPin(ADC_PIN); + + char buffer [50]; + sprintf(buffer, "ADC:%u\n", val); +#ifdef CONSOLE_ENABLE + printf(buffer); +#else + SEND_STRING(buffer); +#endif + } + break; + } + return false; +}; + +// adc_mux pinToMux(pin_t pin) { +// return TO_MUX( ADC_CHANNEL_IN1, 0 ); +// }; diff --git a/keyboards/handwired/onekey/keymaps/adc/rules.mk b/keyboards/handwired/onekey/keymaps/adc/rules.mk new file mode 100644 index 0000000000..a691d5488f --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/adc/rules.mk @@ -0,0 +1,3 @@ +SRC += analog.c + +CONSOLE_ENABLE = yes |