diff options
author | stein3 <stein3@gmail.com> | 2020-10-06 07:15:41 -0700 |
---|---|---|
committer | stein3 <stein3@gmail.com> | 2020-10-06 07:15:41 -0700 |
commit | 2e402741a89c5eec8cf30c966ce6f36d6ec9249b (patch) | |
tree | 3592e8c5e6bd19943ae55db7fc02a5f755afbb51 /drivers/avr | |
parent | 3e5e4f74272c610bb9fa737f674f8e65ed6100ca (diff) | |
parent | 2013f6313430b977e557e482d30daa279a46e75d (diff) |
Merge branch 'master' into meteor
Diffstat (limited to 'drivers/avr')
-rw-r--r-- | drivers/avr/analog.c | 10 | ||||
-rw-r--r-- | drivers/avr/ssd1306.c | 5 | ||||
-rw-r--r-- | drivers/avr/ssd1306.h | 2 |
3 files changed, 11 insertions, 6 deletions
diff --git a/drivers/avr/analog.c b/drivers/avr/analog.c index 9b8397b933..8d299ffdb9 100644 --- a/drivers/avr/analog.c +++ b/drivers/avr/analog.c @@ -97,10 +97,11 @@ uint8_t pinToMux(pin_t pin) { #endif // clang-format on } + return 0; } int16_t adc_read(uint8_t mux) { - uint8_t low; + uint16_t low; // Enable ADC and configure prescaler ADCSRA = _BV(ADEN) | ADC_PRESCALER; @@ -128,5 +129,10 @@ int16_t adc_read(uint8_t mux) { // Must read LSB first low = ADCL; // Must read MSB only once! - return (ADCH << 8) | low; + low |= (ADCH << 8); + + // turn off the ADC + ADCSRA &= ~(1 << ADEN); + + return low; } diff --git a/drivers/avr/ssd1306.c b/drivers/avr/ssd1306.c index 61d7a99531..1a09a2bcb7 100644 --- a/drivers/avr/ssd1306.c +++ b/drivers/avr/ssd1306.c @@ -5,15 +5,14 @@ # include <string.h> # include "print.h" # include "glcdfont.c" -# ifdef ADAFRUIT_BLE_ENABLE -# include "adafruit_ble.h" -# endif # ifdef PROTOCOL_LUFA # include "lufa.h" # endif # include "sendchar.h" # include "timer.h" +struct CharacterMatrix display; + // Set this to 1 to help diagnose early startup problems // when testing power-on with ble. Turn it off otherwise, // as the latency of printing most of the debug info messes diff --git a/drivers/avr/ssd1306.h b/drivers/avr/ssd1306.h index 9669d1b7e7..9131afcf61 100644 --- a/drivers/avr/ssd1306.h +++ b/drivers/avr/ssd1306.h @@ -66,7 +66,7 @@ struct CharacterMatrix { bool dirty; }; -struct CharacterMatrix display; +extern struct CharacterMatrix display; bool iota_gfx_init(void); void iota_gfx_task(void); |