mirror of
https://github.com/UtilitechAS/amsreader-firmware.git
synced 2026-03-27 18:49:49 +00:00
Heap memory improvements
This commit is contained in:
@@ -95,7 +95,9 @@ protected:
|
||||
uint64_t lastList2 = 0;
|
||||
uint8_t listType = 0, meterType = AmsTypeUnknown;
|
||||
time_t packageTimestamp = 0;
|
||||
String listId = "", meterId = "", meterModel = "";
|
||||
char listId[32] = {};
|
||||
char meterId[32] = {};
|
||||
char meterModel[65] = {};
|
||||
time_t meterTimestamp = 0;
|
||||
uint32_t activeImportPower = 0, reactiveImportPower = 0, activeExportPower = 0, reactiveExportPower = 0;
|
||||
float l1voltage = 0, l2voltage = 0, l3voltage = 0, l1current = 0, l2current = 0, l3current = 0;
|
||||
|
||||
@@ -88,10 +88,10 @@ void AmsData::apply(AmsData& other) {
|
||||
}
|
||||
this->counterEstimated = false;
|
||||
case 2:
|
||||
this->listId = other.getListId();
|
||||
this->meterId = other.getMeterId();
|
||||
strncpy(this->listId, other.listId, sizeof(this->listId) - 1);
|
||||
strncpy(this->meterId, other.meterId, sizeof(this->meterId) - 1);
|
||||
this->meterType = other.getMeterType();
|
||||
this->meterModel = other.getMeterModel();
|
||||
strncpy(this->meterModel, other.meterModel, sizeof(this->meterModel) - 1);
|
||||
this->reactiveImportPower = other.getReactiveImportPower();
|
||||
this->reactiveExportPower = other.getReactiveExportPower();
|
||||
this->l1current = other.getL1Current();
|
||||
@@ -119,7 +119,7 @@ void AmsData::apply(OBIS_code_t obis, double value) {
|
||||
if(obis.gr == 1) {
|
||||
if(obis.sensor == 96) {
|
||||
if(obis.tariff == 0) {
|
||||
meterId = String((long) value, 10);
|
||||
snprintf(meterId, sizeof(meterId), "%ld", (long) value);
|
||||
return;
|
||||
} else if(obis.tariff == 1) {
|
||||
return;
|
||||
@@ -278,11 +278,11 @@ uint8_t AmsData::getListType() {
|
||||
}
|
||||
|
||||
String AmsData::getListId() {
|
||||
return this->listId;
|
||||
return String(this->listId);
|
||||
}
|
||||
|
||||
String AmsData::getMeterId() {
|
||||
return this->meterId;
|
||||
return String(this->meterId);
|
||||
}
|
||||
|
||||
uint8_t AmsData::getMeterType() {
|
||||
@@ -290,7 +290,7 @@ uint8_t AmsData::getMeterType() {
|
||||
}
|
||||
|
||||
String AmsData::getMeterModel() {
|
||||
return this->meterModel;
|
||||
return String(this->meterModel);
|
||||
}
|
||||
|
||||
time_t AmsData::getMeterTimestamp() {
|
||||
|
||||
Reference in New Issue
Block a user