mirror of
https://github.com/ttrftech/NanoVNA.git
synced 2025-12-06 03:31:59 +01:00
Add vbat_offset to config
Implement vbat_offset command (if defined ENABLE_VBAT_OFFSET_COMMAND) Reduce code size
This commit is contained in:
parent
bb7127fdd0
commit
fc6e090595
97
adc.c
97
adc.c
|
|
@ -28,80 +28,79 @@
|
||||||
#define ADC_SMPR_SMP_239P5 7U /**< @brief 252 cycles conversion time. */
|
#define ADC_SMPR_SMP_239P5 7U /**< @brief 252 cycles conversion time. */
|
||||||
#define ADC_CFGR1_RES_12BIT (0U << 3U)
|
#define ADC_CFGR1_RES_12BIT (0U << 3U)
|
||||||
|
|
||||||
|
#define VNA_ADC ADC1
|
||||||
|
|
||||||
void adc_init(void)
|
void adc_init(void)
|
||||||
{
|
{
|
||||||
rccEnableADC1(FALSE);
|
rccEnableADC1(FALSE);
|
||||||
|
|
||||||
/* Ensure flag states */
|
/* Ensure flag states */
|
||||||
ADC1->IER = 0;
|
VNA_ADC->IER = 0;
|
||||||
|
|
||||||
/* Calibration procedure.*/
|
/* Calibration procedure.*/
|
||||||
ADC->CCR = 0;
|
ADC->CCR = 0;
|
||||||
if (ADC1->CR & ADC_CR_ADEN) {
|
if (VNA_ADC->CR & ADC_CR_ADEN) {
|
||||||
ADC1->CR |= ~ADC_CR_ADDIS; /* Disable ADC */
|
VNA_ADC->CR |= ~ADC_CR_ADDIS; /* Disable ADC */
|
||||||
}
|
}
|
||||||
while (ADC1->CR & ADC_CR_ADEN)
|
while (VNA_ADC->CR & ADC_CR_ADEN)
|
||||||
;
|
;
|
||||||
ADC1->CFGR1 &= ~ADC_CFGR1_DMAEN;
|
VNA_ADC->CFGR1 &= ~ADC_CFGR1_DMAEN;
|
||||||
ADC1->CR |= ADC_CR_ADCAL;
|
VNA_ADC->CR |= ADC_CR_ADCAL;
|
||||||
while (ADC1->CR & ADC_CR_ADCAL)
|
while (VNA_ADC->CR & ADC_CR_ADCAL)
|
||||||
;
|
;
|
||||||
|
|
||||||
if (ADC1->ISR & ADC_ISR_ADRDY) {
|
if (VNA_ADC->ISR & ADC_ISR_ADRDY) {
|
||||||
ADC1->ISR |= ADC_ISR_ADRDY; /* clear ADRDY */
|
VNA_ADC->ISR |= ADC_ISR_ADRDY; /* clear ADRDY */
|
||||||
}
|
}
|
||||||
/* Enable ADC */
|
/* Enable ADC */
|
||||||
ADC1->CR |= ADC_CR_ADEN;
|
VNA_ADC->CR |= ADC_CR_ADEN;
|
||||||
while (!(ADC1->ISR & ADC_ISR_ADRDY))
|
while (!(VNA_ADC->ISR & ADC_ISR_ADRDY))
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint16_t adc_single_read(ADC_TypeDef *adc, uint32_t chsel)
|
uint16_t adc_single_read(uint32_t chsel)
|
||||||
{
|
{
|
||||||
/* ADC setup */
|
/* ADC setup */
|
||||||
adc->ISR = adc->ISR;
|
VNA_ADC->ISR = VNA_ADC->ISR;
|
||||||
adc->IER = 0;
|
VNA_ADC->IER = 0;
|
||||||
adc->TR = ADC_TR(0, 0);
|
VNA_ADC->TR = ADC_TR(0, 0);
|
||||||
adc->SMPR = ADC_SMPR_SMP_239P5;
|
VNA_ADC->SMPR = ADC_SMPR_SMP_239P5;
|
||||||
adc->CFGR1 = ADC_CFGR1_RES_12BIT;
|
VNA_ADC->CFGR1 = ADC_CFGR1_RES_12BIT;
|
||||||
adc->CHSELR = chsel;
|
VNA_ADC->CHSELR = chsel;
|
||||||
|
|
||||||
/* ADC conversion start.*/
|
/* ADC conversion start.*/
|
||||||
adc->CR |= ADC_CR_ADSTART;
|
VNA_ADC->CR |= ADC_CR_ADSTART;
|
||||||
|
|
||||||
while (adc->CR & ADC_CR_ADSTART)
|
while (VNA_ADC->CR & ADC_CR_ADSTART)
|
||||||
;
|
;
|
||||||
|
|
||||||
return adc->DR;
|
return VNA_ADC->DR;
|
||||||
}
|
}
|
||||||
|
|
||||||
int16_t adc_vbat_read(ADC_TypeDef *adc)
|
int16_t adc_vbat_read(void)
|
||||||
{
|
{
|
||||||
#define ADC_FULL_SCALE 3300
|
#define ADC_FULL_SCALE 3300
|
||||||
#define VBAT_DIODE_VF 500
|
|
||||||
#define VREFINT_CAL (*((uint16_t*)0x1FFFF7BA))
|
#define VREFINT_CAL (*((uint16_t*)0x1FFFF7BA))
|
||||||
|
adc_stop();
|
||||||
float vbat = 0;
|
float vbat = 0;
|
||||||
float vrefint = 0;
|
float vrefint = 0;
|
||||||
|
|
||||||
ADC->CCR |= ADC_CCR_VREFEN | ADC_CCR_VBATEN;
|
ADC->CCR |= ADC_CCR_VREFEN | ADC_CCR_VBATEN;
|
||||||
// VREFINT == ADC_IN17
|
// VREFINT == ADC_IN17
|
||||||
vrefint = adc_single_read(adc, ADC_CHSELR_CHSEL17);
|
vrefint = adc_single_read(ADC_CHSELR_CHSEL17);
|
||||||
// VBAT == ADC_IN18
|
// VBAT == ADC_IN18
|
||||||
// VBATEN enables resiter devider circuit. It consume vbat power.
|
// VBATEN enables resiter devider circuit. It consume vbat power.
|
||||||
vbat = adc_single_read(adc, ADC_CHSELR_CHSEL18);
|
vbat = adc_single_read(ADC_CHSELR_CHSEL18);
|
||||||
ADC->CCR &= ~(ADC_CCR_VREFEN | ADC_CCR_VBATEN);
|
ADC->CCR &= ~(ADC_CCR_VREFEN | ADC_CCR_VBATEN);
|
||||||
|
touch_start_watchdog();
|
||||||
uint16_t vbat_raw = (ADC_FULL_SCALE * VREFINT_CAL * vbat * 2 / (vrefint * ((1<<12)-1)));
|
uint16_t vbat_raw = (ADC_FULL_SCALE * VREFINT_CAL * vbat * 2 / (vrefint * ((1<<12)-1)));
|
||||||
if (vbat_raw < 100) {
|
if (vbat_raw < 100) {
|
||||||
// maybe D2 is not installed
|
// maybe D2 is not installed
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
return vbat_raw + config.vbat_offset;
|
||||||
return vbat_raw + VBAT_DIODE_VF;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void adc_start_analog_watchdogd(ADC_TypeDef *adc, uint32_t chsel)
|
void adc_start_analog_watchdogd(uint32_t chsel)
|
||||||
{
|
{
|
||||||
uint32_t cfgr1;
|
uint32_t cfgr1;
|
||||||
|
|
||||||
|
|
@ -111,38 +110,38 @@ void adc_start_analog_watchdogd(ADC_TypeDef *adc, uint32_t chsel)
|
||||||
|
|
||||||
/* ADC setup, if it is defined a callback for the analog watch dog then it
|
/* ADC setup, if it is defined a callback for the analog watch dog then it
|
||||||
is enabled.*/
|
is enabled.*/
|
||||||
adc->ISR = adc->ISR;
|
VNA_ADC->ISR = VNA_ADC->ISR;
|
||||||
adc->IER = ADC_IER_AWDIE;
|
VNA_ADC->IER = ADC_IER_AWDIE;
|
||||||
adc->TR = ADC_TR(0, TOUCH_THRESHOLD);
|
VNA_ADC->TR = ADC_TR(0, TOUCH_THRESHOLD);
|
||||||
adc->SMPR = ADC_SMPR_SMP_1P5;
|
VNA_ADC->SMPR = ADC_SMPR_SMP_1P5;
|
||||||
adc->CHSELR = chsel;
|
VNA_ADC->CHSELR = chsel;
|
||||||
|
|
||||||
/* ADC configuration and start.*/
|
/* ADC configuration and start.*/
|
||||||
adc->CFGR1 = cfgr1;
|
VNA_ADC->CFGR1 = cfgr1;
|
||||||
|
|
||||||
/* ADC conversion start.*/
|
/* ADC conversion start.*/
|
||||||
adc->CR |= ADC_CR_ADSTART;
|
VNA_ADC->CR |= ADC_CR_ADSTART;
|
||||||
}
|
}
|
||||||
|
|
||||||
void adc_stop(ADC_TypeDef *adc)
|
void adc_stop(void)
|
||||||
{
|
{
|
||||||
if (adc->CR & ADC_CR_ADEN) {
|
if (VNA_ADC->CR & ADC_CR_ADEN) {
|
||||||
if (adc->CR & ADC_CR_ADSTART) {
|
if (VNA_ADC->CR & ADC_CR_ADSTART) {
|
||||||
adc->CR |= ADC_CR_ADSTP;
|
VNA_ADC->CR |= ADC_CR_ADSTP;
|
||||||
while (adc->CR & ADC_CR_ADSTP)
|
while (VNA_ADC->CR & ADC_CR_ADSTP)
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* adc->CR |= ADC_CR_ADDIS;
|
/* VNA_ADC->CR |= ADC_CR_ADDIS;
|
||||||
while (adc->CR & ADC_CR_ADDIS)
|
while (VNA_ADC->CR & ADC_CR_ADDIS)
|
||||||
;*/
|
;*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void adc_interrupt(ADC_TypeDef *adc)
|
void adc_interrupt(void)
|
||||||
{
|
{
|
||||||
uint32_t isr = adc->ISR;
|
uint32_t isr = VNA_ADC->ISR;
|
||||||
adc->ISR = isr;
|
VNA_ADC->ISR = isr;
|
||||||
|
|
||||||
if (isr & ADC_ISR_OVR) {
|
if (isr & ADC_ISR_OVR) {
|
||||||
/* ADC overflow condition, this could happen only if the DMA is unable
|
/* ADC overflow condition, this could happen only if the DMA is unable
|
||||||
|
|
@ -159,7 +158,7 @@ OSAL_IRQ_HANDLER(STM32_ADC1_HANDLER)
|
||||||
{
|
{
|
||||||
OSAL_IRQ_PROLOGUE();
|
OSAL_IRQ_PROLOGUE();
|
||||||
|
|
||||||
adc_interrupt(ADC1);
|
adc_interrupt();
|
||||||
|
|
||||||
OSAL_IRQ_EPILOGUE();
|
OSAL_IRQ_EPILOGUE();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
31
main.c
31
main.c
|
|
@ -57,6 +57,7 @@ static char shell_line[VNA_SHELL_MAX_LENGTH];
|
||||||
//#define ENABLED_DUMP
|
//#define ENABLED_DUMP
|
||||||
//#define ENABLE_THREADS_COMMAND
|
//#define ENABLE_THREADS_COMMAND
|
||||||
//#define ENABLE_TIME_COMMAND
|
//#define ENABLE_TIME_COMMAND
|
||||||
|
#define ENABLE_VBAT_OFFSET_COMMAND
|
||||||
|
|
||||||
static void apply_error_term_at(int i);
|
static void apply_error_term_at(int i);
|
||||||
static void apply_edelay_at(int i);
|
static void apply_edelay_at(int i);
|
||||||
|
|
@ -79,9 +80,7 @@ static int32_t frequency_offset = 5000;
|
||||||
static uint32_t frequency = 10000000;
|
static uint32_t frequency = 10000000;
|
||||||
static int8_t drive_strength = DRIVE_STRENGTH_AUTO;
|
static int8_t drive_strength = DRIVE_STRENGTH_AUTO;
|
||||||
int8_t sweep_mode = SWEEP_ENABLE;
|
int8_t sweep_mode = SWEEP_ENABLE;
|
||||||
|
|
||||||
volatile uint8_t redraw_request = 0; // contains REDRAW_XXX flags
|
volatile uint8_t redraw_request = 0; // contains REDRAW_XXX flags
|
||||||
int16_t vbat = 0;
|
|
||||||
|
|
||||||
static THD_WORKING_AREA(waThread1, 640);
|
static THD_WORKING_AREA(waThread1, 640);
|
||||||
static THD_FUNCTION(Thread1, arg)
|
static THD_FUNCTION(Thread1, arg)
|
||||||
|
|
@ -104,19 +103,12 @@ static THD_FUNCTION(Thread1, arg)
|
||||||
ui_process();
|
ui_process();
|
||||||
|
|
||||||
if (sweep_mode&SWEEP_ENABLE) {
|
if (sweep_mode&SWEEP_ENABLE) {
|
||||||
if (vbat != -1) {
|
|
||||||
adc_stop(ADC1);
|
|
||||||
vbat = adc_vbat_read(ADC1);
|
|
||||||
touch_start_watchdog();
|
|
||||||
draw_battery_status();
|
|
||||||
}
|
|
||||||
|
|
||||||
// calculate trace coordinates and plot only if scan completed
|
// calculate trace coordinates and plot only if scan completed
|
||||||
if (completed) {
|
if (completed) {
|
||||||
if ((domain_mode & DOMAIN_MODE) == DOMAIN_TIME)
|
if ((domain_mode & DOMAIN_MODE) == DOMAIN_TIME)
|
||||||
transform_domain();
|
transform_domain();
|
||||||
plot_into_index(measured);
|
plot_into_index(measured);
|
||||||
redraw_request |= REDRAW_CELLS;
|
redraw_request |= REDRAW_CELLS|REDRAW_BATTERY;
|
||||||
|
|
||||||
if (uistat.marker_tracking) {
|
if (uistat.marker_tracking) {
|
||||||
int i = marker_search();
|
int i = marker_search();
|
||||||
|
|
@ -710,7 +702,8 @@ config_t config = {
|
||||||
.trace_color = { DEFAULT_TRACE_1_COLOR, DEFAULT_TRACE_2_COLOR, DEFAULT_TRACE_3_COLOR, DEFAULT_TRACE_4_COLOR },
|
.trace_color = { DEFAULT_TRACE_1_COLOR, DEFAULT_TRACE_2_COLOR, DEFAULT_TRACE_3_COLOR, DEFAULT_TRACE_4_COLOR },
|
||||||
// .touch_cal = { 693, 605, 124, 171 }, // 2.4 inch LCD panel
|
// .touch_cal = { 693, 605, 124, 171 }, // 2.4 inch LCD panel
|
||||||
.touch_cal = { 338, 522, 153, 192 }, // 2.8 inch LCD panel
|
.touch_cal = { 338, 522, 153, 192 }, // 2.8 inch LCD panel
|
||||||
.harmonic_freq_threshold = 300000000
|
.harmonic_freq_threshold = 300000000,
|
||||||
|
.vbat_offset = 500
|
||||||
};
|
};
|
||||||
|
|
||||||
properties_t current_props;
|
properties_t current_props;
|
||||||
|
|
@ -1942,9 +1935,20 @@ VNA_SHELL_FUNCTION(cmd_vbat)
|
||||||
{
|
{
|
||||||
(void)argc;
|
(void)argc;
|
||||||
(void)argv;
|
(void)argv;
|
||||||
shell_printf("%d mV\r\n", vbat);
|
shell_printf("%d mV\r\n", adc_vbat_read());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef ENABLE_VBAT_OFFSET_COMMAND
|
||||||
|
VNA_SHELL_FUNCTION(cmd_vbat_offset)
|
||||||
|
{
|
||||||
|
if (argc != 1) {
|
||||||
|
shell_printf("%d\r\n", config.vbat_offset);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
config.vbat_offset = (int16_t)my_atoi(argv[0]);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef ENABLE_THREADS_COMMAND
|
#ifdef ENABLE_THREADS_COMMAND
|
||||||
#if CH_CFG_USE_REGISTRY == FALSE
|
#if CH_CFG_USE_REGISTRY == FALSE
|
||||||
#error "Threads Requite enabled CH_CFG_USE_REGISTRY in chconf.h"
|
#error "Threads Requite enabled CH_CFG_USE_REGISTRY in chconf.h"
|
||||||
|
|
@ -2028,6 +2032,9 @@ static const VNAShellCommand commands[] =
|
||||||
{"edelay" , cmd_edelay , 0},
|
{"edelay" , cmd_edelay , 0},
|
||||||
{"capture" , cmd_capture , CMD_WAIT_MUTEX},
|
{"capture" , cmd_capture , CMD_WAIT_MUTEX},
|
||||||
{"vbat" , cmd_vbat , 0},
|
{"vbat" , cmd_vbat , 0},
|
||||||
|
#ifdef ENABLE_VBAT_OFFSET_COMMAND
|
||||||
|
{"vbat_offset" , cmd_vbat_offset , 0},
|
||||||
|
#endif
|
||||||
{"transform" , cmd_transform , 0},
|
{"transform" , cmd_transform , 0},
|
||||||
{"threshold" , cmd_threshold , 0},
|
{"threshold" , cmd_threshold , 0},
|
||||||
{"help" , cmd_help , 0},
|
{"help" , cmd_help , 0},
|
||||||
|
|
|
||||||
18
nanovna.h
18
nanovna.h
|
|
@ -218,8 +218,8 @@ typedef struct config {
|
||||||
int16_t touch_cal[4];
|
int16_t touch_cal[4];
|
||||||
int8_t reserved_1;
|
int8_t reserved_1;
|
||||||
uint32_t harmonic_freq_threshold;
|
uint32_t harmonic_freq_threshold;
|
||||||
|
uint16_t vbat_offset;
|
||||||
uint8_t _reserved[24];
|
uint8_t _reserved[22];
|
||||||
uint32_t checksum;
|
uint32_t checksum;
|
||||||
} config_t;
|
} config_t;
|
||||||
|
|
||||||
|
|
@ -234,7 +234,6 @@ void set_trace_refpos(int t, float refpos);
|
||||||
float get_trace_scale(int t);
|
float get_trace_scale(int t);
|
||||||
float get_trace_refpos(int t);
|
float get_trace_refpos(int t);
|
||||||
const char *get_trace_typename(int t);
|
const char *get_trace_typename(int t);
|
||||||
void draw_battery_status(void);
|
|
||||||
|
|
||||||
void set_electrical_delay(float picoseconds);
|
void set_electrical_delay(float picoseconds);
|
||||||
float get_electrical_delay(void);
|
float get_electrical_delay(void);
|
||||||
|
|
@ -282,10 +281,9 @@ int marker_search_right(int from);
|
||||||
#define REDRAW_FREQUENCY (1<<1)
|
#define REDRAW_FREQUENCY (1<<1)
|
||||||
#define REDRAW_CAL_STATUS (1<<2)
|
#define REDRAW_CAL_STATUS (1<<2)
|
||||||
#define REDRAW_MARKER (1<<3)
|
#define REDRAW_MARKER (1<<3)
|
||||||
|
#define REDRAW_BATTERY (1<<4)
|
||||||
extern volatile uint8_t redraw_request;
|
extern volatile uint8_t redraw_request;
|
||||||
|
|
||||||
extern int16_t vbat;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ili9341.c
|
* ili9341.c
|
||||||
*/
|
*/
|
||||||
|
|
@ -468,11 +466,11 @@ void enter_dfu(void);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void adc_init(void);
|
void adc_init(void);
|
||||||
uint16_t adc_single_read(ADC_TypeDef *adc, uint32_t chsel);
|
uint16_t adc_single_read(uint32_t chsel);
|
||||||
void adc_start_analog_watchdogd(ADC_TypeDef *adc, uint32_t chsel);
|
void adc_start_analog_watchdogd(uint32_t chsel);
|
||||||
void adc_stop(ADC_TypeDef *adc);
|
void adc_stop(void);
|
||||||
void adc_interrupt(ADC_TypeDef *adc);
|
void adc_interrupt(void);
|
||||||
int16_t adc_vbat_read(ADC_TypeDef *adc);
|
int16_t adc_vbat_read(void);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* misclinous
|
* misclinous
|
||||||
|
|
|
||||||
9
plot.c
9
plot.c
|
|
@ -6,6 +6,7 @@
|
||||||
#include "nanovna.h"
|
#include "nanovna.h"
|
||||||
|
|
||||||
static void cell_draw_marker_info(int x0, int y0);
|
static void cell_draw_marker_info(int x0, int y0);
|
||||||
|
static void draw_battery_status(void);
|
||||||
|
|
||||||
int16_t grid_offset;
|
int16_t grid_offset;
|
||||||
int16_t grid_width;
|
int16_t grid_width;
|
||||||
|
|
@ -1388,6 +1389,8 @@ draw_all(bool flush)
|
||||||
draw_frequencies();
|
draw_frequencies();
|
||||||
if (redraw_request & REDRAW_CAL_STATUS)
|
if (redraw_request & REDRAW_CAL_STATUS)
|
||||||
draw_cal_status();
|
draw_cal_status();
|
||||||
|
if (redraw_request & REDRAW_BATTERY)
|
||||||
|
draw_battery_status();
|
||||||
redraw_request = 0;
|
redraw_request = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1661,10 +1664,10 @@ draw_cal_status(void)
|
||||||
#define BATTERY_BOTTOM_LEVEL 3100
|
#define BATTERY_BOTTOM_LEVEL 3100
|
||||||
#define BATTERY_WARNING_LEVEL 3300
|
#define BATTERY_WARNING_LEVEL 3300
|
||||||
|
|
||||||
void
|
static void draw_battery_status(void)
|
||||||
draw_battery_status(void)
|
|
||||||
{
|
{
|
||||||
if (vbat<=0)
|
int16_t vbat = adc_vbat_read();
|
||||||
|
if (vbat <= 0)
|
||||||
return;
|
return;
|
||||||
uint8_t string_buf[16];
|
uint8_t string_buf[16];
|
||||||
// Set battery color
|
// Set battery color
|
||||||
|
|
|
||||||
20
ui.c
20
ui.c
|
|
@ -212,7 +212,7 @@ touch_measure_y(void)
|
||||||
palSetPad(GPIOA, 6);
|
palSetPad(GPIOA, 6);
|
||||||
|
|
||||||
chThdSleepMilliseconds(2);
|
chThdSleepMilliseconds(2);
|
||||||
v = adc_single_read(ADC1, ADC_CHSELR_CHSEL7);
|
v = adc_single_read(ADC_CHSELR_CHSEL7);
|
||||||
//chThdSleepMilliseconds(2);
|
//chThdSleepMilliseconds(2);
|
||||||
//v += adc_single_read(ADC1, ADC_CHSELR_CHSEL7);
|
//v += adc_single_read(ADC1, ADC_CHSELR_CHSEL7);
|
||||||
return v;
|
return v;
|
||||||
|
|
@ -232,7 +232,7 @@ touch_measure_x(void)
|
||||||
palClearPad(GPIOA, 7);
|
palClearPad(GPIOA, 7);
|
||||||
|
|
||||||
chThdSleepMilliseconds(2);
|
chThdSleepMilliseconds(2);
|
||||||
v = adc_single_read(ADC1, ADC_CHSELR_CHSEL6);
|
v = adc_single_read(ADC_CHSELR_CHSEL6);
|
||||||
//chThdSleepMilliseconds(2);
|
//chThdSleepMilliseconds(2);
|
||||||
//v += adc_single_read(ADC1, ADC_CHSELR_CHSEL6);
|
//v += adc_single_read(ADC1, ADC_CHSELR_CHSEL6);
|
||||||
return v;
|
return v;
|
||||||
|
|
@ -255,14 +255,14 @@ void
|
||||||
touch_start_watchdog(void)
|
touch_start_watchdog(void)
|
||||||
{
|
{
|
||||||
touch_prepare_sense();
|
touch_prepare_sense();
|
||||||
adc_start_analog_watchdogd(ADC1, ADC_CHSELR_CHSEL7);
|
adc_start_analog_watchdogd(ADC_CHSELR_CHSEL7);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
touch_status(void)
|
touch_status(void)
|
||||||
{
|
{
|
||||||
touch_prepare_sense();
|
touch_prepare_sense();
|
||||||
return adc_single_read(ADC1, ADC_CHSELR_CHSEL7) > TOUCH_THRESHOLD;
|
return adc_single_read(ADC_CHSELR_CHSEL7) > TOUCH_THRESHOLD;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
|
@ -302,7 +302,7 @@ touch_cal_exec(void)
|
||||||
{
|
{
|
||||||
int x1, x2, y1, y2;
|
int x1, x2, y1, y2;
|
||||||
|
|
||||||
adc_stop(ADC1);
|
adc_stop();
|
||||||
setForegroundColor(DEFAULT_FG_COLOR);
|
setForegroundColor(DEFAULT_FG_COLOR);
|
||||||
setBackgroundColor(DEFAULT_BG_COLOR);
|
setBackgroundColor(DEFAULT_BG_COLOR);
|
||||||
clearScreen();
|
clearScreen();
|
||||||
|
|
@ -338,7 +338,7 @@ touch_draw_test(void)
|
||||||
int x0, y0;
|
int x0, y0;
|
||||||
int x1, y1;
|
int x1, y1;
|
||||||
|
|
||||||
adc_stop(ADC1);
|
adc_stop();
|
||||||
|
|
||||||
setForegroundColor(DEFAULT_FG_COLOR);
|
setForegroundColor(DEFAULT_FG_COLOR);
|
||||||
setBackgroundColor(DEFAULT_BG_COLOR);
|
setBackgroundColor(DEFAULT_BG_COLOR);
|
||||||
|
|
@ -372,7 +372,7 @@ void
|
||||||
show_version(void)
|
show_version(void)
|
||||||
{
|
{
|
||||||
int x = 5, y = 5;
|
int x = 5, y = 5;
|
||||||
adc_stop(ADC1);
|
adc_stop();
|
||||||
setForegroundColor(DEFAULT_FG_COLOR);
|
setForegroundColor(DEFAULT_FG_COLOR);
|
||||||
setBackgroundColor(DEFAULT_BG_COLOR);
|
setBackgroundColor(DEFAULT_BG_COLOR);
|
||||||
|
|
||||||
|
|
@ -404,7 +404,7 @@ show_version(void)
|
||||||
void
|
void
|
||||||
enter_dfu(void)
|
enter_dfu(void)
|
||||||
{
|
{
|
||||||
adc_stop(ADC1);
|
adc_stop();
|
||||||
|
|
||||||
int x = 5, y = 5;
|
int x = 5, y = 5;
|
||||||
setForegroundColor(DEFAULT_FG_COLOR);
|
setForegroundColor(DEFAULT_FG_COLOR);
|
||||||
|
|
@ -2003,7 +2003,7 @@ static void
|
||||||
ui_process_keypad(void)
|
ui_process_keypad(void)
|
||||||
{
|
{
|
||||||
int status;
|
int status;
|
||||||
adc_stop(ADC1);
|
adc_stop();
|
||||||
|
|
||||||
kp_index = 0;
|
kp_index = 0;
|
||||||
while (TRUE) {
|
while (TRUE) {
|
||||||
|
|
@ -2145,7 +2145,7 @@ static
|
||||||
void ui_process_touch(void)
|
void ui_process_touch(void)
|
||||||
{
|
{
|
||||||
// awd_count++;
|
// awd_count++;
|
||||||
adc_stop(ADC1);
|
adc_stop();
|
||||||
|
|
||||||
int status = touch_check();
|
int status = touch_check();
|
||||||
if (status == EVT_TOUCH_PRESSED || status == EVT_TOUCH_DOWN) {
|
if (status == EVT_TOUCH_PRESSED || status == EVT_TOUCH_DOWN) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue