#include "mBusDialog.h" #include "meterBusServer.h" #include 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) { m_server.write(responseBuffer, responseBufferLength); } void MeterBusServer::sendError(uint8_t code) { } 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, this); } } }