Extend memory to fetch all eventlog entries
This commit is contained in:
parent
290932519c
commit
68fc0c2547
@ -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)
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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;
|
||||
};
|
||||
Loading…
Reference in New Issue
Block a user