51 lines
1.8 KiB
C
51 lines
1.8 KiB
C
/******************************************************************************
|
|
* @file usr_prodcode.h
|
|
* @brief 产品码 / 品类码持久化与广播刷新
|
|
* @author cyWu <1917507415@qq.com>
|
|
* @date 2026.07.24
|
|
* @version V1.0.0
|
|
* @history
|
|
* - V1.0.0, 2026.07.24, cyWu, 首次发布
|
|
******************************************************************************/
|
|
|
|
#ifndef __USR_PRODCODE_H__
|
|
#define __USR_PRODCODE_H__
|
|
|
|
#include "system/includes.h"
|
|
#include "bleproto_packer.h"
|
|
|
|
/*============================================================================*/
|
|
/* 宏定义 */
|
|
/*============================================================================*/
|
|
|
|
#define USR_PRODCODE_LEN BLEPROTO_ADV_TLV_LENGTH_PRODCODE /* 4 */
|
|
#define USR_PCODE_LEN BLE_PROTO_ADV_LENGTH_PCODE /* 6 */
|
|
#define USR_PRODCODE_MAGIC 0xA5
|
|
|
|
/*============================================================================*/
|
|
/* 外部接口 */
|
|
/*============================================================================*/
|
|
|
|
/**
|
|
* @brief 上电从 flash 加载产品码,无则使用默认值
|
|
*/
|
|
void usr_prodcode_init(void);
|
|
|
|
/**
|
|
* @brief 获取当前产品码(RAM 缓存)
|
|
* @param prodcode 输出 4 字节品类/产品型号
|
|
* @param pcode 输出 6 字节 productCode
|
|
*/
|
|
void usr_prodcode_get(u8 prodcode[USR_PRODCODE_LEN], u8 pcode[USR_PCODE_LEN]);
|
|
|
|
/**
|
|
* @brief 写入产品码到 flash,并触发重新广播
|
|
* @param prodcode 4 字节
|
|
* @param pcode 6 字节
|
|
* @return 0 成功,其它失败
|
|
*/
|
|
int usr_prodcode_set_save_and_readv(const u8 prodcode[USR_PRODCODE_LEN],
|
|
const u8 pcode[USR_PCODE_LEN]);
|
|
|
|
#endif /* __USR_PRODCODE_H__ */
|