Files
stc32g128k/App/database.h

77 lines
3.3 KiB
C
Raw Normal View History

#ifndef __DATABASE_H__
#define __DATABASE_H__
#include "config.h"
2026-07-31 13:57:06 +08:00
#include "strings.h"
// 传感器类型简称的字符串 ID 表 (索引 0~4 对应门磁/PIR/烟感/燃气/水浸),供 UI 层按当前语言取用
extern const StringID sensor_type_name_ids[5];
/* ====== 底层 IAP (在应用编程 Flash) 读写驱动接口 ====== */
/**
* @brief IAP Flash
* @details Flash
* Flash
*/
void IAP_Disable(void);
/**
* @brief IAP Flash
* @param addr 16 Flash ()
* @return u8 8
*/
u8 IAP_ReadByte(u16 addr);
/**
* @brief IAP Flash
* @param addr 16 Flash
* @param dat 8
* @note STC32G EEPROM/IAP 1 0 0 1
*/
void IAP_WriteByte(u16 addr, u8 dat);
/**
* @brief Flash (512)
* @param addr ()
* @note STC32G EEPROM (512 ) 0xFF
*/
void IAP_EraseSector(u16 addr);
/* ====== 传感器数据库业务持久化接口 ====== */
/**
* @brief Flash 254 (0xFE0000) RAM
2026-07-31 13:57:06 +08:00
* @details EEPROM RAM `sensor_list`
* 1 `Lang_Init()`
*/
void Load_Database(void);
/**
* @brief RAM / Flash
2026-07-31 13:57:06 +08:00
* @details 254
* `sensor_list` (`Lang_Current()`)
*/
void Save_Database(void);
/**
* @brief
* @param addr 24 线 EV1527
* @param type (0:, 1:PIR, 2:, 3:, 4:)
* @param zone (1~99, 024)
* @details
* `Save_Database()` Flash
*/
void Add_Sensor_With_Zone(u32 addr, u8 type, u8 zone);
/**
* @brief
* @param addr 24 线
* @param out_slot_index `sensor_list` (0~15)
* @return bit 1 0 ()
*/
bit Check_Sensor_ID(u32 addr, u8 *out_slot_index);
#endif // __DATABASE_H__