ble测试存档

This commit is contained in:
lmx
2025-12-02 16:25:20 +08:00
parent ed475e870f
commit f63092fe87
13 changed files with 897 additions and 240 deletions

View File

@ -3,42 +3,55 @@
#include "typedef.h"
// 定义出厂信息数据结构
typedef struct {
char product_id[16]; // 产品ID
char serial_number[32]; // 序列号
u16 hw_version; // 硬件版本
u16 cal_data; // 某个校准数据
u32 manufacture_date; // 生产日期 (Unix时间戳)
} factory_info_t;
#define MAIN_BOARD_MAC_ADDR_LENGTH 6
/**
* @brief 将出厂信息写入Flash
* @brief 定义用于存储遥控器配对信息的数据结构
*/
typedef struct {
u8 main_board_mac[MAIN_BOARD_MAC_ADDR_LENGTH]; // 配对的主板MAC地址
// u8 reserved[2]; // 可选的保留字节,用于对齐或未来扩展
} rc_nvs_data_t;
/**
* @brief 将主板MAC地址写入Flash
*
* @param info 指向要写入的出厂信息结构体的指针
* @param mac_addr 指向要写入的MAC地址数组的指针
* @return 实际写入的长度, <0: 失败
*/
int nvs_write_factory_info(const factory_info_t *info);
int nvs_write_main_board_mac(const u8 *mac_addr);
/**
* @brief 从Flash读取出厂信息
* @brief 从Flash读取主板MAC地址
*
* @param info 指向用于存储读取数据的出厂信息结构体的指针
* @param mac_addr 指向用于存储读取数据的MAC地址数组的指针
* @return 实际读取的长度, <0: 失败 (例如尚未写入过)
*/
int nvs_read_main_board_mac(u8 *mac_addr);
// =================================================================================
// 以下为旧的通用出厂信息API已废弃不建议在新代码中使用
// =================================================================================
typedef struct {
char product_id[16];
char serial_number[32];
u16 hw_version;
u16 cal_data;
u32 manufacture_date;
} factory_info_t;
__attribute__((deprecated("Use nvs_write_main_board_mac instead")))
int nvs_write_factory_info(const factory_info_t *info);
__attribute__((deprecated("Use nvs_read_main_board_mac instead")))
int nvs_read_factory_info(factory_info_t *info);
/**
* @brief 清空Flash中的出厂信息
*
* @return 0: 成功, <0: 失败
*/
__attribute__((deprecated("This function is no longer needed")))
int nvs_clear_factory_info(void);
/**
* @brief 用于测试NVS读写功能的函数
*
*/
__attribute__((deprecated("This function is no longer needed")))
void nvs_test_factory_info(void);
#endif // __NVS_H__