客户侧能力:RTC、开机锁键与 BLE 协议收敛
1、新增 usr_periph RTC,DEVICEINFO 自动对时;对外精简为 get_time(sys_time*),开发板 RTC 时钟改用 LRC 2、iokey 开机锁键改为公开 start/stop 接口,板级宏 TCFG_IOKEY_BOOT_LOCK_ENABLE 可关闭 3、对齐模组 BLE 收发/组包与公开 API,更新 libusr_le_code.a;Release 包命名调整为 JBao_JL7016_SOC_SDK_Vx.x.x
This commit is contained in:
+37
-30
@@ -222,106 +222,113 @@ int bleproto_appdata_encode(uint8_t *txbuf,
|
||||
int rc;
|
||||
uint16_t txbuf_size = size;
|
||||
|
||||
bleproto_appdata_t appdata;
|
||||
/*
|
||||
* appdata.data[] 在 SMALL 模式下约 2.3KB,供 JSON/OTA 编码中间缓冲。
|
||||
* JB 55AA 透传可走 bleproto_appdata_wrap_raw,不必经本函数。
|
||||
* 此处用 static,避免在调用方任务栈上临时分配。
|
||||
*/
|
||||
static bleproto_appdata_t s_enc_appdata;
|
||||
bleproto_appdata_t *appdata = &s_enc_appdata;
|
||||
|
||||
/* header */
|
||||
{
|
||||
appdata.header = desc->header;
|
||||
appdata->header = desc->header;
|
||||
}
|
||||
/* data */
|
||||
if (appdata.header.msgtype == BLEPROTO_APPDATA_MSGTYPE_REQ)
|
||||
if (appdata->header.msgtype == BLEPROTO_APPDATA_MSGTYPE_REQ)
|
||||
{
|
||||
switch (appdata.header.serviceid)
|
||||
switch (appdata->header.serviceid)
|
||||
{
|
||||
case E_BLEPROTO_SERVICE_ID_DEVICEINFO:
|
||||
rc = bleproto_encjson_deviceinfo_req(&desc->datast.deviceinfo_req,
|
||||
appdata.data);
|
||||
appdata->data);
|
||||
break;
|
||||
case E_BLEPROTO_SERVICE_ID_AUTHSETUP:
|
||||
rc = bleproto_encjson_authsetup_req(&desc->datast.authsetup_req,
|
||||
appdata.data);
|
||||
appdata->data);
|
||||
break;
|
||||
case E_BLEPROTO_SERVICE_ID_AUTHDELETE:
|
||||
rc = bleproto_encjson_authdelete_req(&desc->datast.authdelete_req,
|
||||
appdata.data);
|
||||
appdata->data);
|
||||
break;
|
||||
case E_BLEPROTO_SERVICE_ID_RUNCMD:
|
||||
rc = bleproto_encjson_runcmd_req(&desc->datast.runcmd_req,
|
||||
appdata.data);
|
||||
appdata->data);
|
||||
break;
|
||||
case E_BLEPROTO_SERVICE_ID_REPORTCMD:
|
||||
rc = bleproto_encjson_reportcmd_req(&desc->datast.reportcmd_req,
|
||||
appdata.data);
|
||||
appdata->data);
|
||||
break;
|
||||
case E_BLEPROTO_SERVICE_ID_DOACTION:
|
||||
rc = bleproto_encjson_doaction_req(&desc->datast.doaction_req,
|
||||
appdata.data);
|
||||
appdata->data);
|
||||
break;
|
||||
case E_BLEPROTO_SERVICE_ID_OTANOTIFY:
|
||||
rc = bleproto_encjson_otanotify_req(&desc->datast.otanotify_req,
|
||||
appdata.data);
|
||||
appdata->data);
|
||||
break;
|
||||
case E_BLEPROTO_SERVICE_ID_OTADATA:
|
||||
rc = bleproto_encjson_otadata_req(&desc->datast.otadata_req,
|
||||
appdata.data);
|
||||
appdata->data);
|
||||
break;
|
||||
case E_BLEPROTO_SERVICE_ID_RUNCMD_V2:
|
||||
rc = ble_proto_pack(&desc->datast.runcmd_v2_req, appdata.data, sizeof(appdata.data));
|
||||
rc = ble_proto_pack(&desc->datast.runcmd_v2_req, appdata->data, sizeof(appdata->data));
|
||||
break;
|
||||
case E_BLEPROTO_SERVICE_ID_REPORTCMD_V2:
|
||||
rc = ble_proto_pack(&desc->datast.reportcmd_v2_req, appdata.data, sizeof(appdata.data));
|
||||
rc = ble_proto_pack(&desc->datast.reportcmd_v2_req, appdata->data, sizeof(appdata->data));
|
||||
break;
|
||||
case E_BLEPROTO_SERVICE_ID_OTADATA_V2:
|
||||
rc = ble_proto_pack(&desc->datast.otadata_v2_req, appdata.data, sizeof(appdata.data));
|
||||
rc = ble_proto_pack(&desc->datast.otadata_v2_req, appdata->data, sizeof(appdata->data));
|
||||
break;
|
||||
default:
|
||||
/* unkown serviceid */
|
||||
return (-1);
|
||||
}
|
||||
}
|
||||
else if (appdata.header.msgtype == BLEPROTO_APPDATA_MSGTYPE_RSP)
|
||||
else if (appdata->header.msgtype == BLEPROTO_APPDATA_MSGTYPE_RSP)
|
||||
{
|
||||
switch (appdata.header.serviceid)
|
||||
switch (appdata->header.serviceid)
|
||||
{
|
||||
case E_BLEPROTO_SERVICE_ID_DEVICEINFO:
|
||||
rc = bleproto_encjson_deviceinfo_rsp(&desc->datast.deviceinfo_rsp,
|
||||
appdata.data);
|
||||
appdata->data);
|
||||
break;
|
||||
case E_BLEPROTO_SERVICE_ID_AUTHSETUP:
|
||||
rc = bleproto_encjson_authsetup_rsp(&desc->datast.authsetup_rsp,
|
||||
appdata.data);
|
||||
appdata->data);
|
||||
break;
|
||||
case E_BLEPROTO_SERVICE_ID_AUTHDELETE:
|
||||
rc = bleproto_encjson_authdelete_rsp(&desc->datast.authdelete_rsp,
|
||||
appdata.data);
|
||||
appdata->data);
|
||||
break;
|
||||
case E_BLEPROTO_SERVICE_ID_RUNCMD:
|
||||
rc = bleproto_encjson_runcmd_rsp(&desc->datast.runcmd_rsp,
|
||||
appdata.data);
|
||||
appdata->data);
|
||||
break;
|
||||
case E_BLEPROTO_SERVICE_ID_REPORTCMD:
|
||||
rc = bleproto_encjson_reportcmd_rsp(&desc->datast.reportcmd_rsp,
|
||||
appdata.data);
|
||||
appdata->data);
|
||||
break;
|
||||
case E_BLEPROTO_SERVICE_ID_DOACTION:
|
||||
rc = bleproto_encjson_doaction_rsp(&desc->datast.doaction_rsp,
|
||||
appdata.data);
|
||||
appdata->data);
|
||||
break;
|
||||
case E_BLEPROTO_SERVICE_ID_OTANOTIFY:
|
||||
rc = bleproto_encjson_otanotify_rsp(&desc->datast.otanotify_rsp,
|
||||
appdata.data);
|
||||
appdata->data);
|
||||
break;
|
||||
case E_BLEPROTO_SERVICE_ID_OTADATA:
|
||||
rc = bleproto_encbin_otadata_rsp(&desc->datast.otadata_rsp,
|
||||
appdata.data);
|
||||
appdata->data);
|
||||
break;
|
||||
case E_BLEPROTO_SERVICE_ID_RUNCMD_V2:
|
||||
rc = ble_proto_pack(&desc->datast.runcmd_v2_rsp, appdata.data, sizeof(appdata.data));
|
||||
rc = ble_proto_pack(&desc->datast.runcmd_v2_rsp, appdata->data, sizeof(appdata->data));
|
||||
break;
|
||||
case E_BLEPROTO_SERVICE_ID_REPORTCMD_V2:
|
||||
rc = ble_proto_pack(&desc->datast.reportcmd_v2_rsp, appdata.data, sizeof(appdata.data));
|
||||
rc = ble_proto_pack(&desc->datast.reportcmd_v2_rsp, appdata->data, sizeof(appdata->data));
|
||||
break;
|
||||
case E_BLEPROTO_SERVICE_ID_OTADATA_V2:
|
||||
rc = ble_proto_pack(&desc->datast.otadata_v2_rsp, appdata.data, sizeof(appdata.data));
|
||||
rc = ble_proto_pack(&desc->datast.otadata_v2_rsp, appdata->data, sizeof(appdata->data));
|
||||
break;
|
||||
default:
|
||||
/* unkown serviceid */
|
||||
@@ -340,10 +347,10 @@ int bleproto_appdata_encode(uint8_t *txbuf,
|
||||
}
|
||||
|
||||
/* datalen */
|
||||
appdata.header.datalen = (uint16_t)rc;
|
||||
appdata->header.datalen = (uint16_t)rc;
|
||||
|
||||
/* appdata_serialize */
|
||||
return bleproto_appdata_serialize(&appdata, packetlen, txbuf, txbuf_size);
|
||||
return bleproto_appdata_serialize(appdata, packetlen, txbuf, txbuf_size);
|
||||
}
|
||||
|
||||
int bleproto_appdata_decode(uint8_t *rxbuf,
|
||||
|
||||
Reference in New Issue
Block a user