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

@ -9,17 +9,18 @@
const unsigned long RESPONSE_TIMEOUT = 2000; // millisecond
#define RX_EN_PIN 2
#define RX_ENABLE LOW
#define RX_DISABLE HIGH
const uint8_t RX_EN_PIN = 2;
const uint8_t RX_ENABLE = LOW;
const uint8_t RX_DISABLE = HIGH;
const uint8_t CURRENT_IN = A0;
class SendOctets : public Cmd, public ResponseCallback {
public:
SendOctets(RequestSender *meterBusMaster) : m_meterBusMaster(meterBusMaster) {}
virtual String getCmdName() { return "SO"; }
virtual String getHelp() { return "Send octets, len first"; }
virtual String getHelp() { return "Send octets"; }
virtual String exec(String params);
virtual void sendResponse(uint8_t *responseBuffer, uint16_t responseBufferLength);
virtual void sendError(uint8_t code);
@ -27,6 +28,16 @@ private:
RequestSender *m_meterBusMaster;
};
class MeasureCurrent : public Cmd {
public:
MeasureCurrent(RequestSender *meterBusMaster) : m_meterBusMaster(meterBusMaster) {}
virtual String getCmdName() { return "MC"; }
virtual String getHelp() { return "Measure current"; }
virtual String exec(String params);
private:
RequestSender *m_meterBusMaster;
};
const uint8_t SEND_BUFFER_SIZE = 30;
const uint8_t RECEIVE_BUFFER_SIZE = 180;
@ -40,6 +51,7 @@ public:
void sendBufferReady(uint16_t bufLen, ResponseCallback *responseCallback);
private:
SendOctets m_sendOctets;
MeasureCurrent m_measureCurrent;
bool m_cmdReadyToSend;
bool m_cmdReadyFromRecv;
bool m_expectResponse;