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);
|
setTime(time);
|
||||||
setDataType(0x11);
|
setDataType(0x11);
|
||||||
setTimeout(400);
|
setTimeout(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AlarmDataCommand::handleResponse(InverterAbstract* inverter, fragment_t fragment[], uint8_t max_fragment_id)
|
bool AlarmDataCommand::handleResponse(InverterAbstract* inverter, fragment_t fragment[], uint8_t max_fragment_id)
|
||||||
|
|||||||
@ -18,7 +18,7 @@ enum {
|
|||||||
FRAGMENT_OK = 0
|
FRAGMENT_OK = 0
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MAX_RF_FRAGMENT_COUNT 12
|
#define MAX_RF_FRAGMENT_COUNT 13
|
||||||
#define MAX_RETRANSMIT_COUNT 5
|
#define MAX_RETRANSMIT_COUNT 5
|
||||||
|
|
||||||
class CommandAbstract;
|
class CommandAbstract;
|
||||||
|
|||||||
@ -3,14 +3,14 @@
|
|||||||
|
|
||||||
void AlarmLogParser::clearBuffer()
|
void AlarmLogParser::clearBuffer()
|
||||||
{
|
{
|
||||||
memset(_payloadAlarmLog, 0, ALARM_LOG_ENTRY_COUNT * ALARM_LOG_ENTRY_SIZE);
|
memset(_payloadAlarmLog, 0, ALARM_LOG_PAYLOAD_SIZE);
|
||||||
_alarmLogLength = 0;
|
_alarmLogLength = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AlarmLogParser::appendFragment(uint8_t offset, uint8_t* payload, uint8_t len)
|
void AlarmLogParser::appendFragment(uint8_t offset, uint8_t* payload, uint8_t len)
|
||||||
{
|
{
|
||||||
if (offset + len > (ALARM_LOG_ENTRY_COUNT * ALARM_LOG_ENTRY_SIZE)) {
|
if (offset + len > ALARM_LOG_PAYLOAD_SIZE) {
|
||||||
Serial.printf("FATAL: (%s, %d) stats packet too large for buffer\n", __FILE__, __LINE__);
|
Serial.printf("FATAL: (%s, %d) stats packet too large for buffer (%d > %d)\n", __FILE__, __LINE__, offset + len, ALARM_LOG_PAYLOAD_SIZE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
memcpy(&_payloadAlarmLog[offset], payload, len);
|
memcpy(&_payloadAlarmLog[offset], payload, len);
|
||||||
|
|||||||
@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
#define ALARM_LOG_ENTRY_COUNT 15
|
#define ALARM_LOG_ENTRY_COUNT 15
|
||||||
#define ALARM_LOG_ENTRY_SIZE 12
|
#define ALARM_LOG_ENTRY_SIZE 12
|
||||||
|
#define ALARM_LOG_PAYLOAD_SIZE (ALARM_LOG_ENTRY_COUNT * ALARM_LOG_ENTRY_SIZE + 4)
|
||||||
|
|
||||||
struct AlarmLogEntry_t {
|
struct AlarmLogEntry_t {
|
||||||
uint16_t MessageId;
|
uint16_t MessageId;
|
||||||
@ -24,6 +25,6 @@ public:
|
|||||||
private:
|
private:
|
||||||
static int getTimezoneOffset();
|
static int getTimezoneOffset();
|
||||||
|
|
||||||
uint8_t _payloadAlarmLog[ALARM_LOG_ENTRY_SIZE * ALARM_LOG_ENTRY_COUNT];
|
uint8_t _payloadAlarmLog[ALARM_LOG_PAYLOAD_SIZE];
|
||||||
uint8_t _alarmLogLength;
|
uint8_t _alarmLogLength;
|
||||||
};
|
};
|
||||||
Loading…
Reference in New Issue
Block a user