From 567bfc97ac4f5066e8a2302c46e3b375efe59792 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 17 Mar 2020 00:29:52 +0000 Subject: 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 * Remove reference to avr only function Co-authored-by: Ryan --- keyboards/handwired/onekey/keymaps/adc/config.h | 1 + keyboards/handwired/onekey/keymaps/adc/keymap.c | 38 +++++++++++++++++++++++++ keyboards/handwired/onekey/keymaps/adc/rules.mk | 3 ++ 3 files changed, 42 insertions(+) create mode 100644 keyboards/handwired/onekey/keymaps/adc/config.h create mode 100644 keyboards/handwired/onekey/keymaps/adc/keymap.c create mode 100644 keyboards/handwired/onekey/keymaps/adc/rules.mk (limited to 'keyboards') 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 + +#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 -- cgit v1.2.3