You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

39 lines
680 B

#include "logging.h"
void logEvent(uint8_t eventCode, const char *data, size_t num)
{
struct logData event;
noInterrupts();
event.unixTime = time(nullptr);
event.eventCode = eventCode;
memset(event.data, 0, LOG_DATA_LENGTH);
for (uint8_t i = 0; i < LOG_DATA_LENGTH; i++) {
if (i >= num) break;
event.data[i] = data[i];
}
if (logPosition < LOG_SIZE) {
eventLog[logPosition++] = event;
}
interrupts();
}
void removeLogRecords(uint8_t num)
{
// shift records down by num because they've been sent
if (num > logPosition) return;
noInterrupts();
for (int i = 0; i < num; i++) {
eventLog[i] = eventLog[i + num];
}
logPosition -= num;
interrupts();
}