From 7f34a930672bf21260b69019da86cc2bae1e70c9 Mon Sep 17 00:00:00 2001 From: DiSlord Date: Sun, 2 Aug 2020 11:30:01 +0300 Subject: [PATCH] Simple start analog wathdog Add 900kHz i2c setting --- adc.c | 4 ++-- main.c | 4 ++++ nanovna.h | 2 +- ui.c | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/adc.c b/adc.c index f3d4fda..a13e6df 100644 --- a/adc.c +++ b/adc.c @@ -108,14 +108,14 @@ int16_t adc_vbat_read(void) return vbat_raw + config.vbat_offset; } -void adc_start_analog_watchdogd(uint32_t chsel) +void adc_start_analog_watchdogd(void) { // ADC setup, if it is defined a callback for the analog watch dog then it is enabled. VNA_ADC->ISR = VNA_ADC->ISR; VNA_ADC->IER = ADC_IER_AWDIE; VNA_ADC->TR = ADC_TR(0, TOUCH_THRESHOLD); VNA_ADC->SMPR = ADC_SMPR_SMP_1P5; - VNA_ADC->CHSELR = chsel; + VNA_ADC->CHSELR = ADC_TOUCH_Y; /* ADC configuration and start.*/ VNA_ADC->CFGR1 = ADC_CFGR1_RES_12BIT | ADC_CFGR1_AWDEN diff --git a/main.c b/main.c index bdb01aa..8c59fc4 100644 --- a/main.c +++ b/main.c @@ -2549,6 +2549,10 @@ static const I2CConfig i2ccfg = { STM32_TIMINGR_PRESC(0U) | STM32_TIMINGR_SCLDEL(10U) | STM32_TIMINGR_SDADEL(10U) | STM32_TIMINGR_SCLH(30U) | STM32_TIMINGR_SCLL(50U), + // 900kHz @ SYSCLK 48MHz, manually get values, x2 I2C speed +// STM32_TIMINGR_PRESC(0U) | +// STM32_TIMINGR_SCLDEL(10U) | STM32_TIMINGR_SDADEL(10U) | +// STM32_TIMINGR_SCLH(23U) | STM32_TIMINGR_SCLL(30U), #else #error "Need Define STM32_I2C1SW and set correct TIMINGR settings" #endif diff --git a/nanovna.h b/nanovna.h index 215e2e0..187f447 100644 --- a/nanovna.h +++ b/nanovna.h @@ -646,7 +646,7 @@ void enter_dfu(void); void adc_init(void); uint16_t adc_single_read(uint32_t chsel); -void adc_start_analog_watchdogd(uint32_t chsel); +void adc_start_analog_watchdogd(void); void adc_stop(void); int16_t adc_vbat_read(void); diff --git a/ui.c b/ui.c index 8c43dd1..bbde7d6 100644 --- a/ui.c +++ b/ui.c @@ -338,7 +338,7 @@ void touch_start_watchdog(void) { touch_prepare_sense(); - adc_start_analog_watchdogd(ADC_TOUCH_Y); + adc_start_analog_watchdogd(); } static inline int