Files
BLE-USB_Dongle/apps/usr_le_code/usr_prodcode.h
T

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__ */