Added default settings to KMP communicator

This commit is contained in:
Gunnar Skjold
2024-11-06 18:22:56 +01:00
parent 118c633878
commit 70d6a8699b
3 changed files with 8 additions and 3 deletions

View File

@@ -31,8 +31,6 @@ public:
bool loop();
AmsData* getData(AmsData& meterState);
int getLastError();
bool isConfigChanged() { return false; }
void ackConfigChanged() {}
void getCurrentConfig(MeterConfig& meterConfig) {
meterConfig = this->meterConfig;
}

View File

@@ -20,7 +20,7 @@
#include "SoftwareSerial.h"
#endif
const uint32_t AUTO_BAUD_RATES[] = { 2400, 115200 };
const uint32_t AUTO_BAUD_RATES[] = { 2400, 9600, 115200 };
class PassiveMeterCommunicator : public MeterCommunicator {
public:

View File

@@ -12,12 +12,19 @@
void KmpCommunicator::configure(MeterConfig& meterConfig) {
this->meterConfig = meterConfig;
this->configChanged = false;
if(meterConfig.baud == 0) {
this->configChanged = true;
meterConfig.baud = 9600;
meterConfig.parity = 7;
meterConfig.invert = false;
}
setupHanPort(meterConfig.baud, meterConfig.parity, meterConfig.invert, false);
talker = new KmpTalker(hanSerial, hanBuffer, hanBufferSize);
}
bool KmpCommunicator::loop() {
uint64_t now = millis64();
bool ret = talker->loop();
int lastError = getLastError();
if(ret) {