diff options
author | Joel Challis <git@zvecr.com> | 2020-03-17 00:29:52 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-17 00:29:52 +0000 |
commit | 567bfc97ac4f5066e8a2302c46e3b375efe59792 (patch) | |
tree | 45eb64a6c294c91bea9934d32ae8f6b98b0ff7f6 /keyboards | |
parent | 7aff643031eec0b940b85d9f2a0d7a27fd6d4fa7 (diff) | |
download | qmk_firmware-567bfc97ac4f5066e8a2302c46e3b375efe59792.tar.gz qmk_firmware-567bfc97ac4f5066e8a2302c46e3b375efe59792.zip |
ARM - ADC cleanup (#8385)
* Update switch to array to allow custom values
* Add adc keymap
* update docs to reflect alignment of default 10 bit
* start conversion to USE_ADCVn
* samplerate is hella wrong...stub out for now
* basic f1 and f4 functionality
* Tidy up current changes
* Restore old pinToMux function
* Add back sample rate for supported platforms
* F0 compile fixes
* wordsmithery
Co-Authored-By: Ryan <fauxpark@gmail.com>
* Remove reference to avr only function
Co-authored-by: Ryan <fauxpark@gmail.com>
Diffstat (limited to 'keyboards')
-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 |