Browse Source

Continued programming for a bit ..

software_develop
Maximilian Stiefel 7 years ago
parent
commit
2e5f9a9d56
  1. 16
      software/app/application.cpp
  2. 12
      software/app/excitation_light.cpp
  3. 6
      software/app/excitation_light.h
  4. 2
      software/app/hardware.h

16
software/app/application.cpp

@ -2,7 +2,7 @@
#include <SmingCore/SmingCore.h>
#include <SmingCore/HardwareSerial.h>
#include "ads101x.h"
#include "dac101c085.h"
#include "excitation_light.h"
#include "sensor_hub.h"
#include "sensor_settings.h"
#include "double_buffer.h"
@ -13,9 +13,7 @@
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;
static const uint8_t DAC_ADDRESS = 0xC;
//static const uint8_t ADC_ADDRESS = 0x48;
using namespace rijnfel;
@ -24,9 +22,10 @@ void STADisconnect(String ssid, uint8_t ssid_len, uint8_t bssid[6],
void STAGotIP(IPAddress ip, IPAddress mask, IPAddress gateway);
Timer procTimer;
Timer rectangleTimer;
ads::cADS101x adc(0, ADC_ADDRESS);
uint8_t channel = 0;
dac::cDAC101C085 mydac(1, DAC_ADDRESS);
light::cExcitationLight mylight;
cSensorHub hub(HUB_PERIOD);
@ -84,11 +83,8 @@ void init() {
//procTimer.initializeMs(HUB_PERIOD, updateSensorHub).start();
//procTimer.initializeMs(5000, SettingsTest).start();
//mydac.CheckDev();
//Serial.println(mydac.ReadSettings());
Serial.println(mydac.ChangeSettings(dac::eOpMode::NORMAL, 1023));
Serial.println(mydac.ReadSettings());
mylight.SetCurrent(5000);
mylight.RectangleUpdate();
}
void STADisconnect(String ssid, uint8_t ssid_len, uint8_t bssid[6],

12
software/app/excitation_light.cpp

@ -19,7 +19,7 @@ namespace light {
//-------------------------------------Constructor----------------------------------------------------------------------------
cExcitationLight::cExcitationLight():
m_rectangleStatus(0), m_DAC_Rect_High(0)
m_rectangleStatus(0), m_DACRectHigh(0)
{
m_DAC = new dac::cDAC101C085(1, DAC1_ADDRESS);
}
@ -31,11 +31,13 @@ cExcitationLight::~cExcitationLight()
}
//-------------------------------------setCurrent-----------------------------------------------------------------------------
uint8_t cExcitationLight::setCurrent(uint16_t microamp)
uint8_t cExcitationLight::SetCurrent(uint16_t microamp)
{
uint16_t new_DACRectHigh = 0
if(microamp < CURR_MAX_UAMP)
{
m_DAC_Rect_High = R_SENSE * microamp;
new_DACRectHigh = microamp/R_SENSE_DIV_FACT;
Serial.println(m_DACRectHigh);
return 1;
}
else
@ -43,10 +45,10 @@ uint8_t cExcitationLight::setCurrent(uint16_t microamp)
}
//-------------------------------------rectangleUpdate------------------------------------------------------------------------
uint8_t cExcitationLight::rectangleUpdate()
uint8_t cExcitationLight::RectangleUpdate()
{
m_rectangleStatus ? m_DAC->ChangeSettings(dac::eOpMode::NORMAL, 0) : m_DAC->ChangeSettings(dac::eOpMode::NORMAL, m_DAC_Rect_High);
rectangle_Status ^= 0xFF;
m_rectangleStatus ^= 0xFF;
}

6
software/app/excitation_light.h

@ -30,12 +30,12 @@ class cExcitationLight
public:
cExcitationLight(); // Constructor
~cExcitationLight(); // Destructor
uint8_t setCurrent(uint16_t microamp);
uint8_t rectangleUpdate();
uint8_t SetCurrent(uint16_t microamp);
uint8_t RectangleUpdate();
private:
dac::cDAC101C085 *m_DAC;
uint8_t m_rectangleStatus;
uint16_t m_DAC_Rect_High;
uint16_t m_DACRectHigh;
};
}

2
software/app/hardware.h

@ -15,7 +15,7 @@
static const uint8_t ADC_ADDRESS = 0x48;
static const uint8_t DAC1_ADDRESS = 0xC;
#define R_SENSE (uint8_t) 100 // 100 Ohm sensing resistor
#define R_SENSE_DIV_FACT 100 // 100 Ohm sensing resistor
#define CURR_MAX_UAMP 10000 // 10 mA max.
#endif /* APP_HARDWARE_H_ */

Loading…
Cancel
Save