THB2/bthome_phy6222/source/logger.h
2024-01-26 00:18:00 +03:00

57 lines
1.2 KiB
C

/*
* logger.h
*
* Created on: 29.01.2021
* Author: pvvx
*/
#ifndef _LOGGER_H_
#define _LOGGER_H_
#include <string.h>
#include "config.h"
#if (DEV_SERVICES & SERVICE_HISTORY)
#include "flash.h"
#include "flash_eep.h"
#include "ble_ota.h"
#define MEMO_SEC_ID 0x55AAC0DE // sector head
#define FLASH_ADDR_START_MEMO ((FADDR_APP_SEC - FADDR_START_ADDR) + 0x20000 ) // + 128 kbytes
#define FLASH_ADDR_END_MEMO FMEMORY_SCFG_BASE_ADDR
typedef struct _memo_blk_t {
uint32_t time; // time (UTC)
int16_t temp; // x0.01 C
uint16_t humi; // x0.01 %
uint16_t vbat; // mV
}memo_blk_t, * pmemo_blk_t;
#define _memo_blk_size 10
typedef struct _memo_inf_t {
uint32_t faddr;
uint32_t cnt_cur_sec;
}memo_inf_t;
typedef struct _memo_rd_t {
memo_inf_t saved;
uint32_t cnt;
uint32_t cur;
}memo_rd_t;
typedef struct _memo_head_t {
uint32_t id; // = 0x55AAC0DE (MEMO_SEC_ID)
uint16_t flg; // = 0xffff - new sector, = 0 close sector
}memo_head_t;
#define _memo_head_size (4+2)
extern memo_rd_t rd_memo;
extern memo_inf_t memo;
void memo_init(void);
void clear_memo(void);
unsigned get_memo(uint32_t bnum, pmemo_blk_t p);
void write_memo(void);
int send_memo_blk(uint8_t * send_buf);
#endif // (DEV_SERVICES & SERVICE_HISTORY)
#endif /* _LOGGER_H_ */