Extend memory to fetch all eventlog entries

This commit is contained in:
Thomas Basler 2022-09-25 16:53:57 +02:00
parent 290932519c
commit 68fc0c2547
4 changed files with 7 additions and 6 deletions

View File

@ -6,7 +6,7 @@ AlarmDataCommand::AlarmDataCommand(uint64_t target_address, uint64_t router_addr
{
setTime(time);
setDataType(0x11);
setTimeout(400);
setTimeout(500);
}
bool AlarmDataCommand::handleResponse(InverterAbstract* inverter, fragment_t fragment[], uint8_t max_fragment_id)

View File

@ -18,7 +18,7 @@ enum {
FRAGMENT_OK = 0
};
#define MAX_RF_FRAGMENT_COUNT 12
#define MAX_RF_FRAGMENT_COUNT 13
#define MAX_RETRANSMIT_COUNT 5
class CommandAbstract;

View File

@ -3,14 +3,14 @@
void AlarmLogParser::clearBuffer()
{
memset(_payloadAlarmLog, 0, ALARM_LOG_ENTRY_COUNT * ALARM_LOG_ENTRY_SIZE);
memset(_payloadAlarmLog, 0, ALARM_LOG_PAYLOAD_SIZE);
_alarmLogLength = 0;
}
void AlarmLogParser::appendFragment(uint8_t offset, uint8_t* payload, uint8_t len)
{
if (offset + len > (ALARM_LOG_ENTRY_COUNT * ALARM_LOG_ENTRY_SIZE)) {
Serial.printf("FATAL: (%s, %d) stats packet too large for buffer\n", __FILE__, __LINE__);
if (offset + len > ALARM_LOG_PAYLOAD_SIZE) {
Serial.printf("FATAL: (%s, %d) stats packet too large for buffer (%d > %d)\n", __FILE__, __LINE__, offset + len, ALARM_LOG_PAYLOAD_SIZE);
return;
}
memcpy(&_payloadAlarmLog[offset], payload, len);

View File

@ -5,6 +5,7 @@
#define ALARM_LOG_ENTRY_COUNT 15
#define ALARM_LOG_ENTRY_SIZE 12
#define ALARM_LOG_PAYLOAD_SIZE (ALARM_LOG_ENTRY_COUNT * ALARM_LOG_ENTRY_SIZE + 4)
struct AlarmLogEntry_t {
uint16_t MessageId;
@ -24,6 +25,6 @@ public:
private:
static int getTimezoneOffset();
uint8_t _payloadAlarmLog[ALARM_LOG_ENTRY_SIZE * ALARM_LOG_ENTRY_COUNT];
uint8_t _payloadAlarmLog[ALARM_LOG_PAYLOAD_SIZE];
uint8_t _alarmLogLength;
};