NetMeterbusMaster/meterBusServer.cpp
2017-01-04 17:17:08 +01:00

42 lines
998 B
C++

#include "mBusDialog.h"
#include "meterBusServer.h"
#include <Streaming.h>
MeterBusServer::MeterBusServer(uint16_t port, RequestSender *meterBusMaster) :
m_server(port), m_client(255), m_meterBusMaster(meterBusMaster) {
}
void MeterBusServer::sendResponse(uint8_t *responseBuffer, uint16_t responseBufferLength, uint8_t token, char *name) {
m_server.write(responseBuffer, responseBufferLength);
}
void MeterBusServer::sendError(uint8_t code, uint16_t count, uint8_t token, char *name) {
}
void MeterBusServer::begin() {
m_server.begin();
}
void MeterBusServer::exec() {
m_client = m_server.available();
if (m_client) {
uint16_t sendBufLen = 0;
uint8_t *sendBuffer = m_meterBusMaster->getSendBuffer();
if (sendBuffer != 0) {
int chi;
while ((chi = m_client.read()) != -1) {
char ch = (char) chi;
*(sendBuffer + sendBufLen) = ch;
sendBufLen++;
}
m_meterBusMaster->sendBufferReady(sendBufLen, 1, 0, this);
}
}
}