42 lines
998 B
C++
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);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|