新增电脑通过USB发送产品code,然后dongle根据新的code重新发起广播的功能

This commit is contained in:
2026-07-27 15:00:47 +08:00
parent c843fb24e0
commit df37ff1b23
51 changed files with 2326 additions and 1812 deletions
+50
View File
@@ -0,0 +1,50 @@
/******************************************************************************
* @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__ */