From 7eef362df0ce87f0709b4e01f61c41c1cf7d14fe Mon Sep 17 00:00:00 2001
From: Sergi Hernandez Juan <shernand@iri.upc.edu>
Date: Tue, 7 Apr 2020 20:36:23 +0200
Subject: [PATCH] Solved a bug when processing the sensor data: the
 ram_base_address was missing when copying the data to memory.

---
 src/adc_dma.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/adc_dma.c b/src/adc_dma.c
index f3bb3dc..2ca78a2 100755
--- a/src/adc_dma.c
+++ b/src/adc_dma.c
@@ -140,18 +140,18 @@ void ADC_DMA_IRQHandler(void)
         if(i==5)
         {
           value=adc_convert_temperature(darwin_adc.data[i]&0x0000FFFF);
-          darwin_adc.memory->data[ADC_TEMP_OFFSET]=value%256;
-          darwin_adc.memory->data[ADC_TEMP_OFFSET+1]=value/256;
+          darwin_adc.memory->data[darwin_adc.ram_base_address+ADC_TEMP_OFFSET]=value%256;
+          darwin_adc.memory->data[darwin_adc.ram_base_address+ADC_TEMP_OFFSET+1]=value/256;
         }
         else
         {
           value=adc_convert_voltage(darwin_adc.data[i]&0x0000FFFF);
-          darwin_adc.memory->data[ADC_CH1_VOLTAGE_OFFSET+i*4]=value%256;
-          darwin_adc.memory->data[ADC_CH1_VOLTAGE_OFFSET+1+i*4]=value/256;
+          darwin_adc.memory->data[darwin_adc.ram_base_address+ADC_CH1_VOLTAGE_OFFSET+i*4]=value%256;
+          darwin_adc.memory->data[darwin_adc.ram_base_address+ADC_CH1_VOLTAGE_OFFSET+1+i*4]=value/256;
         }
         value=adc_convert_voltage((darwin_adc.data[i]&0xFFFF0000)>>16);
-        darwin_adc.memory->data[ADC_CH2_VOLTAGE_OFFSET+i*4]=value%256;
-        darwin_adc.memory->data[ADC_CH2_VOLTAGE_OFFSET+1+i*4]=value/256;
+        darwin_adc.memory->data[darwin_adc.ram_base_address+ADC_CH2_VOLTAGE_OFFSET+i*4]=value%256;
+        darwin_adc.memory->data[darwin_adc.ram_base_address+ADC_CH2_VOLTAGE_OFFSET+1+i*4]=value/256;
       }
     }
 }
-- 
GitLab