current measurement

This commit is contained in:
hg
2014-01-18 15:51:27 +01:00
parent 6f9d7c6f9f
commit 2609f4c558
3 changed files with 36 additions and 12 deletions

View File

@ -37,6 +37,16 @@ uint16_t stringToUInt8(String i, uint8_t index) {
// =====================================================================================================
String MeasureCurrent::exec(String params) {
int currentInVal = analogRead(CURRENT_IN);
int current = currentInVal;
return String() + current;
}
String SendOctets::exec(String params) {
bool err = false;;
uint16_t sendBufLen = 0;
@ -101,7 +111,7 @@ void SendOctets::sendError(uint8_t code) {
// =====================================================================================================
MeterBusMaster::MeterBusMaster() : m_sendOctets(this),
MeterBusMaster::MeterBusMaster() : m_sendOctets(this), m_measureCurrent(this),
m_cmdReadyToSend(false), m_cmdReadyFromRecv(false), m_expectResponse(false),
m_sendBufLen(0), m_recvBufLen(0), m_retransmitCount(0), m_responseCallback(0) {
pinMode(RX_EN_PIN, OUTPUT);
@ -110,6 +120,12 @@ MeterBusMaster::MeterBusMaster() : m_sendOctets(this),
}
void MeterBusMaster::begin(CmdServer *cmdServer) {
m_sendOctets.registerYourself(cmdServer);
m_measureCurrent.registerYourself(cmdServer);
}
uint8_t *MeterBusMaster::getSendBuffer() {
return m_expectResponse ? 0 : m_sendBuffer;
}
@ -175,10 +191,6 @@ void MeterBusMaster::prepareResponse(bool err, uint8_t in) {
}
}
void MeterBusMaster::begin(CmdServer *cmdServer) {
m_sendOctets.registerYourself(cmdServer);
}
void MeterBusMaster::sample() {
if (! m_sampling) {
m_sampling = true;