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/SmingCore.h>
#include <SmingCore/HardwareSerial.h> #include <SmingCore/HardwareSerial.h>
#include "ads101x.h" #include "ads101x.h"
#include "dac101c085.h" #include "excitation_light.h"
#include "sensor_hub.h" #include "sensor_hub.h"
#include "sensor_settings.h" #include "sensor_settings.h"
#include "double_buffer.h" #include "double_buffer.h"
@ -13,9 +13,7 @@
static const int HUB_PERIOD = 5; static const int HUB_PERIOD = 5;
static const int ADC_TIMEBASE = 250; static const int ADC_TIMEBASE = 250;
static const int ADC_PERIOD = 5; static const int ADC_PERIOD = 5;
static const uint8_t ADC_ADDRESS = 0x48; //static const uint8_t ADC_ADDRESS = 0x48;
static const uint8_t DAC_ADDRESS = 0xC;
using namespace rijnfel; 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); void STAGotIP(IPAddress ip, IPAddress mask, IPAddress gateway);
Timer procTimer; Timer procTimer;
Timer rectangleTimer;
ads::cADS101x adc(0, ADC_ADDRESS); ads::cADS101x adc(0, ADC_ADDRESS);
uint8_t channel = 0; uint8_t channel = 0;
dac::cDAC101C085 mydac(1, DAC_ADDRESS); light::cExcitationLight mylight;
cSensorHub hub(HUB_PERIOD); cSensorHub hub(HUB_PERIOD);
@ -84,11 +83,8 @@ void init() {
//procTimer.initializeMs(HUB_PERIOD, updateSensorHub).start(); //procTimer.initializeMs(HUB_PERIOD, updateSensorHub).start();
//procTimer.initializeMs(5000, SettingsTest).start(); //procTimer.initializeMs(5000, SettingsTest).start();
//mydac.CheckDev(); mylight.SetCurrent(5000);
//Serial.println(mydac.ReadSettings()); mylight.RectangleUpdate();
Serial.println(mydac.ChangeSettings(dac::eOpMode::NORMAL, 1023));
Serial.println(mydac.ReadSettings());
} }
void STADisconnect(String ssid, uint8_t ssid_len, uint8_t bssid[6], 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---------------------------------------------------------------------------- //-------------------------------------Constructor----------------------------------------------------------------------------
cExcitationLight::cExcitationLight(): cExcitationLight::cExcitationLight():
m_rectangleStatus(0), m_DAC_Rect_High(0) m_rectangleStatus(0), m_DACRectHigh(0)
{ {
m_DAC = new dac::cDAC101C085(1, DAC1_ADDRESS); m_DAC = new dac::cDAC101C085(1, DAC1_ADDRESS);
} }
@ -31,11 +31,13 @@ cExcitationLight::~cExcitationLight()
} }
//-------------------------------------setCurrent----------------------------------------------------------------------------- //-------------------------------------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) 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; return 1;
} }
else else
@ -43,10 +45,10 @@ uint8_t cExcitationLight::setCurrent(uint16_t microamp)
} }
//-------------------------------------rectangleUpdate------------------------------------------------------------------------ //-------------------------------------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); 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: public:
cExcitationLight(); // Constructor cExcitationLight(); // Constructor
~cExcitationLight(); // Destructor ~cExcitationLight(); // Destructor
uint8_t setCurrent(uint16_t microamp); uint8_t SetCurrent(uint16_t microamp);
uint8_t rectangleUpdate(); uint8_t RectangleUpdate();
private: private:
dac::cDAC101C085 *m_DAC; dac::cDAC101C085 *m_DAC;
uint8_t m_rectangleStatus; 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 ADC_ADDRESS = 0x48;
static const uint8_t DAC1_ADDRESS = 0xC; 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. #define CURR_MAX_UAMP 10000 // 10 mA max.
#endif /* APP_HARDWARE_H_ */ #endif /* APP_HARDWARE_H_ */

Loading…
Cancel
Save