Skip to content
Snippets Groups Projects
log.h 1.12 KiB
#pragma once

#include "ds1307.h"
#include "shell/shell.h"

#define EEPROM_SIZE 2048

struct log_entry_t{
	uint8_t event;         // 1
	
	date_t date;           // 7
	uint8_t door_status;   // 1
	uint8_t power_status;  // 1
	
	uint16_t param;        // 2
} typedef log_entry_t;     //12byte

#define LOG_DATA_OFFSET 1024
#define LOG_MAX_COUNT ((EEPROM_SIZE-2-LOG_DATA_OFFSET)/sizeof(log_entry_t)) 
#define LOG_START_POINTER_LOCATION ((void*)(EEPROM_SIZE-1))
#define LOG_END_POINTER_LOCATION   ((void*)(EEPROM_SIZE-2))

#define LOG_EVENT_STARTUP                 0x00
#define LOG_EVENT_ALARM_RAISED            0x01
#define LOG_EVENT_ALARM_CHANGED           0x02
#define LOG_EVENT_ALARM_LOGIN             0x03
#define LOG_EVENT_ALARM_DISABLED          0x04
#define LOG_EVENT_AC_FAIL                 0x05
#define LOG_EVENT_AC_RETURN               0x06
#define LOG_EVENT_MAIN_BATTERY_LOW        0x07
#define LOG_EVENT_KEYMATIC_BATTERY_LOW    0x08
#define LOG_EVENT_DOOR_COMMAND_TIMEOUT    0x09
#define LOG_EVENT_DOOR_COMMAND_RETRY_FAIL 0x0A

#define LOG_EVENT_NONE                 0xFF


void log_dump(void);
void log_append(uint8_t event, uint16_t param);