Browse Source

Merge branch 'software_develop' of github.com:s3xm3x/UppSense into software_develop

software_develop
Maximilian Stiefel 7 years ago
parent
commit
07f1ba7782
  1. 25
      software/Basic_Blink/app/application.cpp
  2. 8
      software/Basic_Blink/app/web_interface.cpp
  3. 3
      software/Basic_Blink/app/web_interface.h

25
software/Basic_Blink/app/application.cpp

@ -6,9 +6,14 @@
#include "sensor_settings.h"
#include "double_buffer.h"
#include "web_interface.h"
#include <stdint.h>
#define LED_PIN 2 // GPIO2
static const int HUB_PERIOD = 5;
static const int ADC_TIMEBASE = 250;
static const int ADC_PERIOD = 5;
static const uint8_t ADC_ADDRESS = 0x48;
using namespace rijnfel;
void STADisconnect(String ssid, uint8_t ssid_len, uint8_t bssid[6],
@ -16,22 +21,23 @@ void STADisconnect(String ssid, uint8_t ssid_len, uint8_t bssid[6],
void STAGotIP(IPAddress ip, IPAddress mask, IPAddress gateway);
Timer procTimer;
ads::cADS101x adc;
ads::cADS101x adc(0, ADC_ADDRESS);
uint8_t channel = 0;
cSensorHub hub(5);
cSensorHub hub(HUB_PERIOD);
int test = 0;
void updateSensorHub() {
hub.Update();
}
void adcCallback(cDoubleBuffer<ads::ads_sample_t> & buffer) {
cWebInterface::GetInstance()->UpdateAdc(adc, buffer);
adc.SetMux(static_cast<ads::eInputMux>(ads::eInputMux::AIN_0 + channel));
channel++;
if (channel > 3) {
channel = 0;
cWebInterface::GetInstance()->PrintValues();
}
cWebInterface::GetInstance()->UpdateAdc(adc, buffer);
adc.SetMux(static_cast<ads::eInputMux>(ads::eInputMux::AIN_0 + channel));
}
void init() {
@ -49,16 +55,17 @@ void init() {
hub.SetAdc(&adc);
cSensorSettings<ads::ads_sample_t> * adcSettings;
adcSettings = new cSensorSettings<ads::ads_sample_t>(&adcCallback, 250, 5);
adcSettings = new cSensorSettings<ads::ads_sample_t>(&adcCallback,
ADC_TIMEBASE, ADC_PERIOD);
hub.SetAdcSettings(adcSettings);
WifiEvents.onStationDisconnect(STADisconnect);
WifiEvents.onStationGotIP(STAGotIP);
/* WifiAccessPoint.setIP(IPAddress(10, 0, 0, 1)); //TODO
WifiAccessPoint.config("Sensus", "", AUTH_OPEN, false, 3);*/
/* WifiAccessPoint.setIP(IPAddress(10, 0, 0, 1)); //TODO
WifiAccessPoint.config("Sensus", "", AUTH_OPEN, false, 3);*/
cWebInterface::GetInstance()->Start();
procTimer.initializeMs(100, updateSensorHub).start();
procTimer.initializeMs(HUB_PERIOD, updateSensorHub).start();
}
void STADisconnect(String ssid, uint8_t ssid_len, uint8_t bssid[6],

8
software/Basic_Blink/app/web_interface.cpp

@ -98,11 +98,12 @@ void cWebInterface::UpdateAdc(cADC<ads::ads_sample_t, int32_t> & adc,
averageSample.rawSample = static_cast<int16_t>(average);
int pos = averageSample.mux - ads::eInputMux::AIN_0;
m_adc_value[pos] = adc.ConvertSample(averageSample);
Serial.printf("Current mux: %d pos: %d \n\r", averageSample.mux, pos);
Serial.printf("%d %d %d %d\n\r", m_adc_value[0], m_adc_value[1],
m_adc_value[2], m_adc_value[3]);
}
}
void cWebInterface::PrintValues() {
Serial.printf("%d %d %d %d\n\r", m_adc_value[0], m_adc_value[1],
m_adc_value[2], m_adc_value[3]);
}
void cWebInterface::UpdateTemp(cDoubleBuffer<uint32_t>& adcBuffer) {
}
@ -112,3 +113,4 @@ cWebInterface::~cWebInterface() {
}
} /* namespace rijnfel */

3
software/Basic_Blink/app/web_interface.h

@ -35,13 +35,14 @@ public:
void UpdateAdc(cADC<ads::ads_sample_t, int32_t> & adc,
cDoubleBuffer<ads::ads_sample_t> & adcBuffer);
void UpdateTemp(cDoubleBuffer<uint32_t> & adcBuffer);
void PrintValues();
virtual ~cWebInterface();
public:
void OnIndex(HttpRequest &request, HttpResponse &response);
void OnRefresh(HttpRequest &request, HttpResponse &response);
private:
bool m_serverStarted;
int16_t m_adc_value[4];
int32_t m_adc_value[4];
HttpServer server;
};

Loading…
Cancel
Save