From 31ed6685b81c467affdab860816af37b5841f707 Mon Sep 17 00:00:00 2001 From: Sergi Hernandez Juan <shernand@iri.upc.edu> Date: Mon, 6 Apr 2020 18:10:04 +0200 Subject: [PATCH] Solved a bug in the adc_start and adc_stop functions: the check was not done on the proper registers (ram_base_address missing). --- src/adc_dma.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/adc_dma.c b/src/adc_dma.c index f26af0a..f3bb3dc 100755 --- a/src/adc_dma.c +++ b/src/adc_dma.c @@ -320,7 +320,7 @@ uint8_t adc_init(TMemory *memory,TScheduler *scheduler,unsigned short int eeprom void adc_start(void) { - if((darwin_adc.memory->data[ADC_CONTROL_OFFSET]&ADC_RUNNING)==0x00) + if((darwin_adc.memory->data[darwin_adc.ram_base_address+ADC_CONTROL_OFFSET]&ADC_RUNNING)==0x00) { darwin_adc.memory->data[darwin_adc.ram_base_address+ADC_CONTROL_OFFSET]|=ADC_RUNNING; scheduler_enable_channel(darwin_adc.scheduler,SCHED_CH1); @@ -329,7 +329,7 @@ void adc_start(void) void adc_stop(void) { - if(darwin_adc.memory->data[ADC_CONTROL_OFFSET]&ADC_RUNNING) + if(darwin_adc.memory->data[darwin_adc.ram_base_address+ADC_CONTROL_OFFSET]&ADC_RUNNING) { darwin_adc.memory->data[darwin_adc.ram_base_address+ADC_CONTROL_OFFSET]&=(~ADC_RUNNING); scheduler_disable_channel(darwin_adc.scheduler,SCHED_CH1); -- GitLab