From 343dc35727e93d9c447074871244940e98ec6151 Mon Sep 17 00:00:00 2001 From: Elmar van Rijnswou Date: Thu, 24 Aug 2017 13:27:22 +0200 Subject: [PATCH] Try the faster adc --- software/app/application.cpp | 12 ++++++------ software/app/signal_process.cpp | 3 ++- software/app/web_interface.cpp | 2 +- software/include/hardware.h | 6 +++--- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/software/app/application.cpp b/software/app/application.cpp index c674405..9b490ea 100644 --- a/software/app/application.cpp +++ b/software/app/application.cpp @@ -69,7 +69,7 @@ void init() { pinMode(LED_PIN, OUTPUT); digitalWrite(LED_PIN, 1); ads1015.SetMux(ads::eInputMux::AIN_0); - ads1015.SetSampleSpeed(ads::eSampleSpeed::SPS_3300); + ads1015.SetSampleSpeed(ads::eSampleSpeed::SPS_2400); ads1015.SetGain(ads::eGainAmplifier::FSR_4_096); ads1015.SetOneShot(false); hub.SetAdc(&ads1015); @@ -83,17 +83,17 @@ void init() { // Channel one and two are getting processed adsConverter->m_convertedSamples[0].Connect(&signalProcess[0].m_incommingData); adsConverter->m_convertedSamples[1].Connect(&signalProcess[1].m_incommingData); - signalProcess[0].m_processedData.Connect(&cWebInterface::GetInstance()->m_adc_0); - signalProcess[1].m_processedData.Connect(&cWebInterface::GetInstance()->m_adc_1); + //signalProcess[0].m_processedData.Connect(&cWebInterface::GetInstance()->m_adc_0); + //signalProcess[1].m_processedData.Connect(&cWebInterface::GetInstance()->m_adc_1); // Channel three and four are not - adsConverter->m_convertedSamples[2].Connect(&cWebInterface::GetInstance()->m_adc_2); - adsConverter->m_convertedSamples[3].Connect(&cWebInterface::GetInstance()->m_adc_3); + //adsConverter->m_convertedSamples[2].Connect(&cWebInterface::GetInstance()->m_adc_2); + //adsConverter->m_convertedSamples[3].Connect(&cWebInterface::GetInstance()->m_adc_3); WifiEvents.onStationDisconnect(STADisconnect); WifiEvents.onStationGotIP(STAGotIP); cWebInterface::GetInstance()->StartServer(); - procTimer.initializeMs(HUB_PERIOD, updateSensorHub).start(); + procTimer.initializeUs(HUB_PERIOD, updateSensorHub).start(); mylight.SetCurrent(500); mylight.RectangleUpdate(); } diff --git a/software/app/signal_process.cpp b/software/app/signal_process.cpp index 240c22e..f817681 100644 --- a/software/app/signal_process.cpp +++ b/software/app/signal_process.cpp @@ -7,7 +7,7 @@ #include "signal_process.h" #include - +#include #include //TODO remove this @@ -33,6 +33,7 @@ void cSignalProcess::ReceiveCallback(void* i_data, cDataReceiver* i_provider) { } void cSignalProcess::process(uint32_t* io_array, size_t size) { + Serial.printf("Size:%d\n", size); //Do whatever here really } diff --git a/software/app/web_interface.cpp b/software/app/web_interface.cpp index 2685736..902cc3d 100644 --- a/software/app/web_interface.cpp +++ b/software/app/web_interface.cpp @@ -61,7 +61,7 @@ void wsDisconnected(WebSocketConnection& socket) { cWebInterface::cWebInterface() : m_serverStarted(false), m_adc_0(this), m_adc_1(this), m_adc_2(this), m_adc_3(this), m_connectedUser(NULL), m_sendWebsocket( - false) { + false) { for (int i = 0; i < 4; i++) { m_adc_value_average[i] = 0; } diff --git a/software/include/hardware.h b/software/include/hardware.h index 0aa1a0a..d49db20 100644 --- a/software/include/hardware.h +++ b/software/include/hardware.h @@ -22,9 +22,9 @@ static const uint16_t CURR_MAX_UAMP = 10000; // 10 mA max. static const uint16_t VREF_DAC = 3300; // in mV static const uint16_t RESOLUTION_DAC = 1024; -static const int HUB_PERIOD = 5; -static const int ADC_TIMEBASE = 250; -static const int ADC_PERIOD = 5; +static const int HUB_PERIOD = 800; +static const int ADC_TIMEBASE = 800; +static const int ADC_PERIOD = 800; #define LED_PIN 2 // GPIO2