KDocs 研发资料库
  • 手表穿戴技术应用文档入口汇总
  • JL707N穿戴客述问题FAQ
  • 彩屏仓 硬件开发指南 与 量产作业流程规范
  • 彩屏仓 AC98N和JL701烧录升级注意事项
  • JL707 硬件开发资料
  • JL707 手表硬件设计注意事项 总结
  • 穿戴生产烧录OTA和key文件添加使用说明
  • JL707N-入门到进阶开发指导文档
  • 彩屏仓982相关
  • 彩屏仓耳机介绍
  • 杰理701_707双屏demo介绍
  • 707电子吧唧开发资料
  • GPIO相关
  • UART串口相关
  • SPI相关
  • nandflash相关
  • norflash相关
  • IIC相关
  • PWM相关
  • SD卡相关
  • 定时器TIMER
  • 文件系统接口设计说明文档
  • 音视频录像开发流程
  • rdec编码器
  • 穿戴功耗数据标准
  • 手表蓝牙开发文档
  • 701蓝牙PAN联网demo
  • BLE开发使用说明
  • 701手表2.0.0版本SDK EQ在线调试和离线调试方法 V1.1
  • JL707 手表喇叭输出声音大小评估方法 V1.0
  • JL707 手表音频EQ调试方法 V1.0
  • AC707N 手表通话写卡 软件配置方法
  • 录音功能
  • 701手表2.X.X系列SDK调试EQ配置方法及音频调试技巧V1.1
  • 701手表104版本SDK EQ在线调试和离线调试方法 V1.1
  • mic2dac示例
  • P11 SensorHub相关
  • 手表升级操作文档
  • AC707NGPU
  • DBI模块介绍
  • GPU模块介绍
  • 701N屏幕驱动配置说明
  • 701N_UI编辑工具用户手册
  • 支付宝资料
  • 支付宝硬件接入资料
  • 支付宝乘车码接入资料
  • CAT1 接入文档
  • 701N_WATCH_CAT1开发说明
  • Findmy功能
  • music模式相关
  • 707电池曲线
  • 707N内置FLASH挂载FAT文件系统251112_v1.2
  • AC707N_本地视频播放demo(AVI-MJPEG-PCM)
  • 光波导屏幕调试
  • 耳机研发和生产流程 指南
  • 707-NandFlash 代码和UI资源独立烧录方案
  • 彩屏仓时间同步补丁
  • 彩屏仓抖音点赞移植
  • 707LVGLv8双屏开发
  • 707N蓝牙互传图传demo
  • AVIPCM数据流接入AIVOICE
  • Flash分区操作demo
  • 手表发射问题
  • 701_707 双备份升级DEMO
  • 707_乘车码刷码失败问题_共性

新版支付宝移植说明

📎 原始文档:https://www.kdocs.cn/l/cb1gY25BCCqQ

新版支付宝移植说明

一、文件说明

701n_watch_release_v2.0.1_br28_20230302_alios_release_v1.5.1.rar —杰理测试固件701n_watch_release_v2.0.1_br28_20230302_alios_release_v1.5.1_patch —v2.0.1升级到新版支付宝补丁
HealthAide_ALi_IOT_V0.1.3(iOS).zip—ISO API移植SDK
HealthAide_ALi_IOT_V0.6.3.1(Android).zip—Android apk移植SDK

二、固件移植说明

1、删除旧版阿里云的SDK,添加新版阿里云sdk

rProblems 701_test 701_201_main 701_201_mainapps common payV已在pay
中
名称
修改日期
类型
大小
alios
2022/12/713:57
文件夹
image

删除app目录下的阿里云文件
erProblems 701_test 701_201_main 701_201_main apps>common>pay
名称
修改日期
类型
大小
文件夹
upay_aliyun
2022/12/715:20
复制补丁中的新版阿里云文件
Bdev_manager.c [AC701N]-Code::Blocks 20.03
File Edit View Search Project Build Debug Fortran_wxSmith
Tools Tools Plugins DoxyBlocks Settings Help
日自t 品咱 R
卤Release
围
凸
喉
√
H○
Management
X
le_smartbox_module.c×dev_manager.c X
Workspace
1096
白
AC701N
1097
void dev_manager_var_init
Sources
白…
{​
1098
apps
1099
memset(__this,0,size
1100
INIT_LIST_HEAD(&__this
common
1101
os_mutex_create(&__th
aes
1102
​}
audio
田
1103
bt_common
十ii由…由1由1由田i
#endif/TCFGDEVMANAGER
1104
cJSON
……………………
1105
…
config
设条管理器初
1106
@brief
/
★6
debug
1107
@param
dev_manager
1108
@return
device
1109
@note
fat_nor
1110
1111
file_operate
田
移除工程中的旧版阿里云文件
void dev_manager_init(voi
1112
田
music
1113
扫{​
白
pay
#if(TCFG_DEV_MANAGER_ENAF
1114
田-
alios
dev_manager_var_init()
1115
temp_trim
+-
1116
十
third party_profile
1117
os_sem_create(&__this-
i十:
timestamp
1118
由
ui
1119
int err =task_create
A
田-
1120
if(err !=oS_NO_ERR)
update
由-
ASSERT(0,"志点k
1121
watch
1122
​}
田
cpu
1123
os_sem_pend(&__this->
□
Headers
1124
#else
V
田-k apps
devices_init();
1125
Projects Files FSymbols Resources
Logs &others
image 移除旧版阿里云头文
image

Multiple selection
口
×
Select the files to add to the project
☑D:\10 CustomerProblems\701_test\701_201_main\701_201_main\apps\common\pay\upay_aliyun\include\aos\kernel.h
☑D:10 CustomerProblems\701_test\701_201_main\701_201_main\apps\common\payupay_aliyunlincludelaos system.h
☑D:\10 CustomerProblems\701_test\701_201_main\701_201_main\apps\common\payupay_aliyun\include\bizbus_common.h
☑D:\10 CustomerProblems\701_test\701_201_main\701_201_main\apps\common\pay\upay_aliyun\include\upay.h
☑D:\10 CustomerProblems\701_test\701201_main\701_201_main\apps\common\paylupay_alyun\include\upay_common.h
☑D:\10 CustomerProblems\701_test\701_201_main\701201_main\apps\common\pay\upay_aliyuninclude\upay_vendor.h
☑D:10 CustomerProblems\701 test\701201_main\701201_main\apps\common\payupay_aliyun\srelaoslaos_memory.c
☑D:\10 CustomerProblems\701_test\701201main\701_201_main\apps\common\pay\upay_aliyun\src\aos\aos_mutex.c
☑D:\10 CustomerProblems\701_test\701201_main\701_201_main\apps\common\pay\upay_aliyun\src\aos\aos_queue.c
☑D:\10 CustomerProblems\701_test\701201_main\701201_main\apps\common\paylupay_aliyun\src\aoslaos_sem.c
☑D:\10 CustomerProblems\701_test\701_201_main\701201_main\apps\common\pay\upay_aliyun\src\aos\aos_system.c
☑D:\10 CustomerProblems\701_test\701201_main\701_201_main\apps\common\paylupay_aliyun\src\aoslaos_task.c
☑D:\10 CustomerProblems\701_test\701_201main\701_201_main\apps\common\pay\upay_aliyun\srelaoslaos_time.c
☑D:\10 CustomerProblems\701_test\701_201_main\701_201_main\apps\common\pay\upay_aliyun\srelaoslaos_timer.c
☑D:\10 CustomerProblems\701_test\701201_main\701201main\apps\common\payupay_aliyun\srclaos_api test.c
☑D:\10 CustomerProblems\701_test\701_201_main\701201_main\apps\common\pay\upay_aliyun\src\bizbus_hal.c
☑D:\10 CustomerProblems\701_test\701_201_main\701_201_main\apps\common\pay\upay_aliyun\sre\upay_demo.c
☑D:\10 CustomerProblems\701_test\701_201_main\701_201_main\apps\common\pay\upay_aliyun\sre\upay_storage.c
☑D:110 CustomerProblems\701_test\701201_main\701201_main\apps\common\paylupay_aliyun\srelupay_vendor.c
□D:\10 CustomerProblems\701_test\701_201_main\701_201main\apps\common\pay\upay_aliyun\vendor\ibicrypto.a
□D:\10 CustomerProblems\701_test\701_201_main\701_201_main\apps\common\pay\upay_aliyunlvendor\ibid2.a
□D:\10 CustomerProblems\701_test\701201_main\701201_main\appslcommon\paylupay_aliyunlvendorlibisst.a
□D:\10 CustomerProblems\701_test\701201_main\701_201_main\apps\common\paylupay_aliyun\vendor\ibkm.a
□D:\10 CustomerProblems\701_test\701_201main\701_201_main\apps\common\pay\upay_aliyun\vendor\libls_alipay.a
□D:\10 CustomerProblems\701_test\701_201main\701_201_main\apps\common\pay\upay_aliyun\vendor\libprov.a
□D:10 CustomerProblems\701_test\701_201_main\701_201_main\apps\commonpayupay_aliyunlvendor\upay.a
Wildcard select
Toggle selection
Select All
Deselect All
Selected:19
OK
Cancel

2、修改阿里云头文件的搜索路径

Project build options
口
×
AC701N
LRelease
Selected compiler
PI32V2 r3 large Ito Compiler
√
Compiler settings Linker setings Search directories Pre/post build steps Custom variables "Make"commands
Compiler Linker Resource compiler
Policy:Append target options to project options
apps\watch\smartbox\smartbox_update
apps\watch\smartbox\external_flash
apps\watch\smartbox\fle_transfer
apps\watch\smartbox\sensors_data_opt
apps\watch\smartbox\sensors_data_opt\sports_data_opt
apps\watch\smartbox\sensors_data_opt\sensors_info_opt
apps\watch\smartbox\sensors_dataopt\sport_data_info_opt
include_lib\system\ui_new\ui\cpu\br28
cpu\br28\ui_driver
cpu\br28\audio_way
cpu\br28\ui_driver\vgl
apps\common\ui\vgl_v810
apps\common\uivgl_v810\src\extra
apps\common\uilvgl_v810\sre\core
appslcommon\uig_v810\src\draw
appslcommon\uīvgl_v810\src\font
apps\common\uilvg_v810\sre\gpu
apps\common\ui\vgl_v810\src\hal
appslcommon\uivygl_v810\src\misc
apps\common\uiygl_v810\src\widgets
apps\common\ui\vgl_app\w_demos
include_lib\media\aispeech\asr\include
删除旧版阿里云头文件搜索路径
include lib\media\aispeech\encinclude
apps\common\payalioslinclude
apps\common\timestamp
Add
Edit
Delete
Clear
Copy t.…
金
J
OK
Cancel

image

3、连接阿里云的lib文件

Other linker options:
cpu/br28/liba/ibjlsp.a
cpu/br28/liba/drc.a
cpu/br28/iba/faudio_plc_lib.a
cpu/br28/liba/lib_esco_repair.a
cpu/br28/liba/pedometer.a
cpu/br28/liba/sleep.a
cpu/br28/liba/wrist_bright.a
cpu/br28/iba/Preprocess.a
cpu/br28/liba/fall_detection.a
cpu/br28/liba/motion_detection.a
cpu/br28/liba/HeartRate_Calc.a
cpu/br28/liba/sedentary.a
cpu/br28/liba/SPO2.a
cpu/br28/liba/vcHrAlgoV619ForCodeBlocks701N.a
cpu/br28/liba/vcSpo2AlgoV151Ic11s_B_v1.a
cpu/br28/liba/libjlsp_kws.a
cpu/br28/liba/lib_pitch_speed.a
cpu/br28/liba/libFFT_pi32v2_OnChip.a
cpu/br28/iba/wtg_dec_lib.a
cpu/br28/liba/bfilterfun_liba
cpu/br28/liba/crypto_toolbox_Osize.a
cpu/br28/liba/lib_dns.a
cpu/br28/liba/compressor.a
cpu/br28/liba/crossover_coff.a
cpu/br28/iba/limiter.a
cpu/br28/liba/update.a
cpu/br28/liba/ui_new.a
cpu/br28/liba/ui_draw_new.a
cpu/br28/liba/font_new.a
cpu/br28/liba/res_new.a
cpu/br28/liba/uiflash_vm.a
apps/common/pay/upay_aliyun/vendor/upay.a
apps/common/pay/upay_aliyun/vendor/libicrypto.a
apps/common/pay/upay_aliyun/vendor/libid2.a
apps/common/pay/upay_aliyun/vendor/libisst.a
apps/common/pay/upay_aliyun/vendor/libkm.a
apps/common/pay/upay_aliyun/vendor/libls_alipay.a
apps/common/pay/upay_aliyun/vendor/libprov.a
apps/common/pay/upay_aliyun/vendor/libalipay secure cert.a
apps/common/pay/upay aliyun/vendor/pay.a
--end-group
-Tcpu/br28/sdk.ld
-M=cpu/br28/tools/sdk.map

4、替换Cjson文件

基于规则的比较结果
=1645个相同文件
≈2个相似的文件
≠53个差异文件
≠apps\common\cJSON\cJSON.c
≠apps\common\cJSON\cJSON.h

5、添加mass_data.c文件加入工程

一

DATA(D:)>10 CustomerProblems >701_test 701201_main>701_201_main>apps >watch mass_data
image
A名称
修改日期
类型
大小
mass_data.c
2022/12/621:02
C文件
29 KB

7、应用修改代码对比

基于规则的比较结果
×
-=1766个相同文件
Y≠15个差异文件
≠appslcommon\cJSON\cJSON.c
≠apps\common\cJSON\cJSON.h
≠apps\common\fat nor\nor_fs.c
≠apps\watch\board\br28\board_701n_demo\board_701n_demo.c
≠apps\watch\board\br28\boad_701n_demo\board_701n_demo_cfg.h
≠apps\watch\common\user_cfg.c
≠apps\watchinclude\app_config.h
≠apps\watchinclude\macro_defaulth
≠apps\watch\smartbox\cmd_data_dealcmd_recieve.c
≠apps\watch\smartbox\cmd_data_deal\cmd_respone.c
≠apps\watchuiVlcd\STYLE_WATCH_NEWui_action_qrcode.c
≠cpubr28\tools\download\watch\download.bat
≠cpu\br28\toolslisd_config_rule.c
include_lib\btstack\third_party\rcspVL_rcsp_protocol.h
≠
include_lib\system\generic\log.h
6个左边独有文件
=30个右边独有文件
双击一个文件在相关的视图中打开它。

6、修改应用层代码

P1
口
20L_main -…ac70In_watch-AC701Nzat.
67 board⁷01n.demodc
李
阳
⑨
重
会话
全部
差剧
相网
次要
规则
植式
复制
上一部分
交换
E:A-Mmp)经常保存支付室新版板本mc7DTn_watch-AC7DIN atch_afolapeowtehbardbrzByboard.70Tn.demovboard_701
D10 CustemerProblems\701_tesf701_201_main\701_201_main'\appswatchboard be28board701n_demolboard701n_demo.e
G
2022/12/621:020048.726节CC++,Ce,ObjC源代码▼ UT-8▼UNIX
2022/12/5957:3148,794字节CC++,C#,ObjC源代码▼ UTF-8 UNIX
if(TCFO8 SEMS0R EUABLE|ITCFO_05e1SCR_MBLE||ITCF0_SP025EMSOR_EMBLE|ITCFOBPP280_ENBLE)
if(TCFO_版SENSOR EABLE|ITCFO_05ENSOR EMJBLE||TCF0_58P025ENSOR_EMBLE|ITCFO_BVP28e_EMABLE)
extern int wotch sensor_open(vold);
extern int wstch sensor _open(void)
Mstch_sensor_open();
Match_sen5or_open();
endif //TCF6_xxSENSOR_ENABLE
n EIHLE
fendif
修改初始化
1f TCFGPAY_AL105_EABLE
#Lf TCFG_PAY_ALI05_ENABLE
extern int upay_init(const char usr_name);
vold aliyun_upay_init(woid);
中
Py_init("UPAY);
aliyun_pwy_init();
upsy_ble_regiest_recv_handle(upoy_recv_data_handle);
tendif#if TCF6_PAYALTO5_EMABLE7
tendif/#if
ENABLE
/”进软关机之前默认将1口都设置成高阻状态,需要保图原来状态的请修改该函数/
/”进软关机之前默认将10口都设置成高阻状态,需要保留原来状态的请修改该函数/
extern oid doc power_off(vpid);
extern woid dscpower_off(vpid);
wold board_set_soft_poweroff(void)
vold board_set_softpoweroff(void)
a7 bord.701n.dmo cgh
7701201 man…ac70ln_mabhAC701N watL.

空
塑别
规则
措式
赁制
下一区殿
上一分
交换
重银
DA10 GustomeProbems7D1 ten701201 maln701201 maimappswatchbondbeZB/board,7DTn demovbond.oDTn demo dgh
D
EL.常湿停支付宝新通本C701n watch-AC701N watch alostappswatchybordybr2B/beand.70Tn demoiboard.701n,demo.cfgh
2022712714:194360.292本节CC++CRobjc源代码▼ UTF-8▼ UNIX
2027/12/79:322860806李节CC++,CeObc源代码▼ UTF-8 UNX
afine TCFo_CMCE_ITRICEnE_M
Adefine TCP⁰_CHRnR_TRICKLEA
CHRR__20
CHRE_A_28
-- 844 ..99
*
LEO配置
LED配重
-……… ………
… … ·
DTSABLETHTS MOUDLE
define TCF6PMLED_EHL8LE
DTSABLE_THIS_OUOLE
//是否支持PM LE印挫灯模块
aefine TCF6PNLED ELABLE
//是否支持PM LED推灯模块
LEO_CnE_t0_CDE
Adefine TCFG_PLED_10coE
/LeD模式,单□还是两个10推灯
aafine TCH6_PPLED_IoroDE
//LED模式,单工口还是两个1D胜灯
LED_CNE_Io_NCDE
define TCTO_pwD[PTM
To_FoRT_0
//LD使用的口
fine TC76RMPLrDPTN
To_FcnTD_g
//LEp使用的o□
//……
… …/
/· …/
poy配翼
pay配置
-… ……
… …-惨改板级配置文件
1//DTSABLE
define TCF6_PAY_ALIOSElLBLE
efine TCF⁶PAYALD0S_EMABLE
1//DISA8LE
婴系
aefine TCF6_PAYL105HY_LTY四
#efine TCF6_PAY_ALI05Y_THEA
fine TcPa_PY A105_YL
TCPo_PAY_ALICS_Y_ALTYM
“DOT TEST180-
#define TCF6_PAY_ALTOS_PROOUCT_HOOEL
"] //ox-x00X-"
#efine TCF6_PAYALT0SPROOUCT MCOEL
efine TCF6PAY AL105 CGPpAIY_HLNE
"//°xXx-sxx-"
4-7/“xxx-x-
afine TCG_PAYA⁰S_VERST0N
7T-//“x0X-300-”
aefine TCF6_PAYALI0S_VEMDOR
//°zxxx"
#efine TCF⁶_PAYAL105 PE
sdafine TCF5_PAY_AL105ps
a D”//°xoxxx
sefine TCF6_PAYAL105ID2PK
"ev DeE'//°xO⁰0X
image Bt_randee_nutar(bt_ac_addr_far_taatbex,6);二 Bt_randot_naber(bt_mc_add-_for_testbex,6);yscfgLurlte(CF6 BT_FACADOR,Dt uc_ader_for_testhox,6);Sysctg ite(CF6BT NCADDR,bt ac_adr_ftor_testbox,6);eniloginfo(">>>ndt msc sddr1IMn");log_info(">>init sac addr1II\n");ensilog_infe("=mc:");log_info("msc;");1og_infohesup(mae_buf,sizeof(mebuf));leg_info headusp(cacbuf,sizeof(cac_uf));EBpy(bt_ctg.aC_addr,ac_but,6)eEcpy(bt_cfg.Caddr,ac_but,6);Aif BcuBLE_BT_SANE_uc

meEcpy(eac_buf_tap,(wold )bt_get_mB_addr(),6);telse
组fb_make_ble_adrss(ce bof_tp,(oid“)bt_gt_EaC_addr()》;
le_controller_set_aac((woid Jasc_buf_tap);#Lf(CCMFI6_BT FGCE !-BT_NCRNAL)4if(CDMFI6_BT_H0DE !-BT_HOPAL)coast ua dutnae AC69Bx DUT”;Const u8 dut_name[]“AC693x_DUT”;const u dut_addr[6={​0x12,Bx34,x56,56, 4,12​};const u dut_addr[6]={​0x12,0×34,056,056,8x34,BW12​};spy(bt_efg-edr_nanedut_rare,sizef(dut_nane));NEcpy(ht_fg·ed_nm,dut_na,Sizeof(dat_nem));Ecpy(bt_ctg.ac_addr,dut_addr,6);eEcpy(bt_cfg.C_addr,dut_addr,6);tendiftendlf
5 cmd recieea
四
9701L201main -ac70liLwotch-aC70INLm%
盒
空
页
次要
会话
娜
差别
相
上下文
格式
复制
编罐
下一区酸
一分
交换
重数
A,
DA10 Customeroblems701 test701201Lmain01201Lmainapslwsthysmrtboncmd dtadeahcomd recieve
EnMDestotmp盘聚薛净支付新画本1a2701a soth-AC7D1N wothzafosopswothoartbovcmd dota dcahcmd rcieec
2022/12/59573216,355李节CC++.CeObC源代露▼ UTF-8▼ UNIX
2022712/621020016,560李节CC++,C,CbjC逐代码▼ UTF-8·UNIX
break;
break;
case L_OPCOCe_cIE_IILETRJIS_HLCK:
case L_OPCOCE_OIEFILE_TEJS_ACK:
f11etransback_opt(prlv,OpCode_SH,data,len);
flle tras back opt(prlv,Opcoe SH,dsta,len);
reak;
break;
case LOPC0CC_ITLE_LLK_TRSFER;
case L_OPCOCC_LE_K_TRUSPER;
flle blu trans grepare(peiv,opCade_S%,data,len);
flle bluk trans_prepore(prtv,opCade_S,dsta,len)
break;
Break;
case L_OPC0CE_STPPLrFILE_TRAS;
case L_OPCDCe_STPPLrIILE_TRJNS:
e⁵02ifi1cery,oco.9,dabe,Lm
f11e slaple_transter_for_58l1_f1le(priv,OpCodeSN,data,Ien);
Break;
case JLOFCCE_REQUEST_EXCEPTION_JNF01
case JL_OFCOCE_REQUEST_EXCEPTINL_TMF0n
Lhox_rquest_exceptian_info(priv,GpCade,OCode_SH,data,len);
ra cpitmliocert pcede,ocde.5,dt,Ien
break;
case JLOPTCODE_DEVICE_CDMFI6_6ET:
case JL_OPTCCOE_DEVICE_CDMFI6_6ET:
e-5feotb,oicd,ocdes⁵,drt.,L)
get device_config(priv,Qicode,Opcode_sH,deta,lan);
break;
Ease L_oPCCe_55_DATA;
extern weld a855data_recfeve(vod “orsv,uB OpCode,u8 OpcodeS,uB·data,u161en);
ass_data_recleve(priv,OpCade,OpCde_SH,data,len);
break;
m1L
defanlt:
e dncr
67701201_mains->ac701Tn_wzbch-AC701NLwt。

⑨
命
*
主页
塑到
相间
次要
复制
下一区阳
上一分
交换
重
全部
格式
编维
EADektoplmp经保存支付室新版奉事az701a oath-AC7DINy wath afosapowathyumrtbeckcemd dta dedyemd respenet
·日
D10 Cusomerroblem7DL eat70L20Lmarn(701201 maimhapprwbdsmartbarymd dana deahmd reporee
2022/1275957321.164李节CC++,C,Obc源代码▼ UTF-B▼ UNIX
2022/72/521:02001,32亭节CC++,CeobCc源代码▼ UTF-B▼UNX
Winclude aeartbax/cenfig.h
include "seartbax/eent.h"
#inlude "searthox_update,h"
tinclude "saartbax_update.h"
#InClude “file_transfer.h”
#Include "f11e_transfer.h"
=EY (defined COMF16 DEEU6_RECORDEMABLE 8 CCMFI6DEBL6_AEC0K0_EHLABLE)
#if(defised COMFI6_DEBL6 AECOKD_EHABLE 88 CCMFI6_DE8U6_ECORD_EMABLE)
Ainciuhe ane/debugrecerea.h"
inelude "aa/debug_recard."
enif
fendif
/// 设备楼收到上报给APP端合令的回复
//2 722设各接收到上报给APP端会令的回复
wid cnd_respene(wuid “prlv,u8 opcodeus status,u8“data,u16 len)
obd cnd_respone(voidpeiv,uB OpCade,u8 status,u8“data,ut61en)
printf("cndrespene;%x(n",OpCede);
printf("end_raspon:x\n",Dpcodn);
=sf RCSPUPDATELEM
aif CSP_UPATE_EN
if(9--Lrcsp_updste_cnd_recelve_resp(prlv,OpCde,status,data,len)){​
1f(一LFCSp_update_cnd_receive_resp(prlv,OpCode,status,dsta,1en))《
retura;
return;
fendif
sditch (OpCode)(
sHtc (0pcode)(
case LOPCo0E FlLE_TLANSFER_EMO:
case JLOPCD0 FLE_TRAUSFEL_EH的:
file_tranafer_onlead_md(atatua,data,Lm);
filetraafar_danload_and(atatus,data,lan);
break;
break;
case JLOPCOE_FTLE_TRANSFER_CAMCEL:
case JLOPCOOCFILE_TRAUSFER_CACEL;
f1letranster_oomleadsctive_cancel_response(status,data,len);
file_trasfer_download_active_cancel_response{​status,data,len)
break;
break;
cae zLPcoe rLLEEEANE:
case L_□PcDce_FTLE_aEnA2:
flli_trasfer_file_renaee(status,data,len);
flī_transfer_file_renae(status,data,lan);
break;
break;
case 3LOPCOE_REOUST_EXCEPTIONL EMF01
case JLOPCODEREQUEST_EKCEPTIONLINFO1
=L平(defined CDM-16DEU6 RECOHD EABLE 8L COMFI6_DEBu6_AECOKD_EHBLE)
#if (defised COMFI6_DEBL6 AECOHD_ELBLE 8B COMF16_DE8U6_RECCRD_ENABLE)
if (atatu pRO STATUs gccEss)(
if (tata LFRD_STATUS suCCEs5)(
user_dab-g_record_info_elear();
user_debu_recard_info_clear();
]
genfif
tendif
reak;
break;
caae JL_□PCDEe_55_DATA:
extīrn wela mas_data_rapoe(oid "p-lw,uB OpCade,唱status,u
data,u16 lan);
5855_datu_respone(prlv,opCode,status,dsta,len);
brekJ
defanlt:
default:
break;
break;
51_201main …>ac701n_watch-AC701N_wat-*
5LrspprotocolLh
次要
下一区段上一部分
交换
会话
全部
塑别
相同
上下文
规则
格式
复制
编姆
重就
D:10 CustomerProblems\701Ltest701201_main701_201_maininclude libtstackthird partyvespVLresp_protocol.h
EDesktoptmp经常保存支付宝新版本\ac701n_watch-AC701N_watch afiosinclude libybtstackthird
2022/12/621:02:007,331字节C.C++,C#,ObjC源代码▼ UTF-8▼ UNIX
2022/12/59:58:297.298字节CC++,C#,ObjC源代码UTF-8▼ UNIX
L_OPCDE STVPLEFLE_TRAJS -Bx28,
L_OPCODE_STYPLE_FLE_TRAIS-0x28,
L_OPCODE_REQUEST_EXCEPTIOML_INF0-0×29,
L_OPCODE_REQUEST_EXCEPTIONLINF0-0×29,
3L_OPCODEMASS_DATA-0×30,
中
L_OPCODESPORTS_DATA_INF06ET·DxA0,
jL_OPCODE_SPORTS_DATA_INF06ET=0A0,
JLOPCODE SPORTS_DMTA_INF05ET -BxA1,
JL_OPCODE_SPORTS_DATA_INF0_SET■ DxA1,
L_OPCODESPORTS_DATA_INFO_AUTO_UPDATE-BxA2,
L_OPCODESPORTS_DATA_INFOAUTO_UPDATE-BxA2,
JL_OPCODE_SENSOR_L05_DATA_AUTO_UPDATE-0A3,
JL_OPCODE_SENS0R_L06_DATA_AUTO_UPDATE ■ 0A3,
JLOPCODE SENSOR_NFCFUIKCTION_OPT -Ox4,
JLOPCODE SENSOR_NFC[FUNCTIONL OPT -Ox4,
JLOPCODE_SPORTSDATA_INF0_OPT =BxA5,
JL_OPCODE_SPORTS_DATA_INF0_OPT =0xA5,
DL_oPCDE_SPORTS_DMTA_SYC=8x6,
3L_OPCODESPORTS_DATA_SuC=0xA6,
JL_OPCODE_NOTIFY_MTU =BxDI,
3L_OPCODE NOTIFY MTU=OxD1,
L_oPCDE_6ET_05-BD4,
JL_OPCODE_6ET_N05=BxD4,
11 npronF inu I△TFACY PARaN a n5.
nPro0F I IATFHMCY PARN ■ fn5.
image

D:yjlhj/701n_watch.release_v2.0.1code'sdkappswatchuivledSTYLE_WATCH_NEWui_ation_grcode.c
▼日
D..701.201_main\apswatchuivedSTYLEWATCH_NEWui_action_qrcode.c
G
2022/12/5957:299.224李书C.C++,C9,ObjC源代码▼ UTF-B▼ UNIX
2022/1271709:1039,532字书C.C++,C,ObjC源代码▼ UTF-8 UNIX
中log_info("Bind OKIn");
alipay_check_status-2;
alipay_check_cnt =0;
ui_hide(UPAY_BIMD_QRCODE_LAYOUT);
ui_hide(UPAY_BIHDTNG_LAYOUT);
ui shon(UPAY BIMD SUCCEEDLAYOUT);
log_info("Bind OKIVn");
alipay_check_status 2;
alipay_check_ent =0;
ui_hide(UPAY_BIND_QRCODE_LAYOUT);
ui_hide(UPAY_BINDIHG_LAYOUT);
ui_show(UPAY_BIND_SUCCEED_LAYOUT);
#if(TCF6_PAYALI05_MAY_5EL==TCF6_PAY_ALIO5MAY_ALIYUN)
e1se if((UPAY_STATUS_BIMDIN6_FAL ==status)Ⅱ(alipay_check_cnt >ALIPAY_CHECK_TIME_OUT
log_info("Bind FAILIn");
alipay_check_status =3;
alipay_check_cnt =0;
ui_hide(UPAYETMD_QRCODE_LAYOUT);
ui_hide(UPAY_BIMDIMGLAYOUT);
ui_shon(UPAY_BIMD_FAIL_LAYDUT);
​}else(

D:yjlhjy701n_watch release_v2.0.1\code'sdkappswatchuilcd\STYLE_WATCH_NEWuiaction_qrcode.c

image复制imageimage
image
2022/12/59:57:2939,224字节C.C++,C#,ObjC源代码▼ UTF-8 UNIXD:…701_201_maimapps\watchuilcdSTYLE_WATCH_NEWui_action_qrcode.c
2022/12717:09:1039,532字节C,C++,C共,Objc薄代码▼ UTF-8▼ UNIX
→alipay_check_status-0;
ui_auto_shut_domn_disable();
printf("Before init ,status is X0ZX'n",upay _eet_binding_status();
extern char upay_get_version();
printf("upay ver:sn",upay get_version();
Upay_retval_t ret;
中alipay_check_status-θ;
ui_auto_shut_doun_disable();
printf("Before init ,status is 92X\n",upay_get_binding_status());
extern char *upay_get_version();
printf("upay ver:5n",upay get_verslion();
upay_retval_t ret;
ret·upay_env_init();//环境初始化,此时状态应该为STATUS_START_BINDTM
printf(After init,status is 2X,ret:d\n",upay get_binding_status(),ret);
upay_ble_node_enable(1);
u32msg_len =sizeof(alipay_QRcode_ness);
ret =upay_eet_binding_string(alipay_Hicode_ness,Bnse_len); //获取绑定码
printf(“upay_get_binding_string,len:%d,ret:%d\n”,msg_len,ret);
alipay_time_id =sys_timer_add(MULL,upay_check_binding_tine,ALIPAY_CHECK_TINE_H5);
#endif/"#if TCFG_PAYALIO5_ENABLE/

#endif/°#if TCFGPAY_ALIOSEMABLE/
hc-k·
alipay_tine_id =sys_timer_add(NULL,upay_check_binding_tine,ALIPAY_CHECK_TIHE_MS);
printf("upay_get_binding_string,len:%d,ret:%n",ns8_1en,ret);
u32 nsg_len =sizeof(alipay_QRcode_mess);
Lpay_ble_mode_enable(1);
printf("After init ,status is期2X,ret:d n",upay_eet_binding_status(),ret);
ret-upay_env_init(UPAY_MATCH,TCFG_PAY_ALIOS_PRODUCT_NODEL,2);//环境初始化,此时
ret =upay_get_bindine_string(alipay_QRcode_mess,Bnse_len); //获取绑定码
hcb-

imageimageimage
image
D:yjihjy/701n_watch release v20.1code'sdkappswatchuiledSTYLEWATCH NEWui action_grcode.cD.701201.mainappswatchuilcdSTYLE_WATCH NEWui action_gqrcodec
3
2022/12/59:57:2939,224字节C,C++.C#,ObjC源代码▼ UTF-8▼ UNDX
2022/1271709:1039,532字节C.C++,C4,ObjC源代码▼ UTF-8▼ UNIX
switch(e->event)(
case ELLEVENT_TOUCH_DOMN:
return true;
break;
case ELLEVENT_TOUCH_UP:
#if TCF6_PAY_ALIO5ENABLE
switch(e->event)(
case ELMLEVENT_TOUCH_DOMN:
return true;
break;
ease ELMLEVENT_TOUCH_UP:
#if TCFG_PAY_ALIOS_ENABLE
#if(TCFG_PAY_ALIOS_MAY_SEL--TCFG_PAY_ALTOS_MAY_ALIYLN)
upay_unbinding();upay_unbinding();
a05_hal_kv_nv_flush();
#endif /"#if(TCFG_PAY_ALIOS_HAY_SEL-=TCFG_PAY_ALIOS_HAY_ALIYLN)/
tendif /#if TCFG_PAY_ALIOS_ENABLE/
ul_hide(UPAY_LNBINDACK_LAYOUT);
ui_showUPAY_LNBIND_MARN_LAYOUT);
return true;
break;
defau1t:
return false;
break;
#endif/#if TCFG_PAY_ALIOS_ENBLE*/
ui_hide(UPAY_UNBINDACK_LAYOUT);
ui_show(UPAY_LNBIND_MARN_LAYOUT);
return true;
break;
defau1t:
return false;
break;

image

201_main-…sdkimageimageimage
imageimage
DA10 CustomerProblems\701 test701201_main701201_mainkappswatchsmartbo&bt manageybt trans_datale_smartbaox module.c
G日
FN公版SDK701\701n_watch releaseyv2.0.1ycode'sdkjappswatchsmartboarbt_manegebt transdatale_s
2022/12/2111:12:2844,743字节C,C++,C#,ObjC源代码▼ UTF-8 PC
2022/12/5957:3243,009李节C.C+.C=,Objc源代码▼ UTF-8▼ UNIX
break;
中
#1f TCFG_PAY_ALIOS_ENAELE
case ATT_CHARACTERISTIC_4a82_01_LNKDLM_DESCRIPTION_HaNDLE!
att_value_len=6;
break;
#if TCFG_PAY_ALT05EMABLE
if(buffer){​
u8 tnp_data[6];
le_controller_get_mac(trp_data);
SMapx(tap_data,&buffer[e],6);
eak ;
#endif
#if TCFG_PAY_ALIOS_EABLE

case ATT_CHARACTERISTIC_4a82_e1_CLIENT_CONFIGLRATION_HAJDLE:
case ATT_CHARACTERISTIC_4a82_81_CLIENT_CDNFIGURATION_HHNDLE:
#andf
andif

DATO Customer?roblems/701Ltet701201Lmain₇01201Lmainapswatchsmartbonsbt maragevbt tran datale_gmartbor medue.hF公展SDK70T701n_wathgelese_y20.Tecede'sadkapswathsmatbexybt managesbtrans datale imartboxmoduleh
2022/12/2111:11:1610,436李节CC++,C#DbjC源代化码UTF-B▼ PC
2022/12/59:57:329.839李节CC++/C=,Dbjc源代码▼ UTF-8▼UNIX
8x5,BKBB,Qx1s,BM07,B32,00e,BxB2,Bcla,
/Bx8033 CLIENT_CHARACTERISTIC_COMPTOURATION
xs,Bw00,Qxes,0x01,B33,Cnee,0w02,Bx29,0x00,B00,
8x05,BB,0x13,BxB1,32,Bxo0,BB2,0x4a,
//08033 CLIENT_CHARACTERISTIC_COMIOURATION
BxDs,Gee,ans,B01,Qx33,0o0,BB2,Oz9,Bxo0,GBe,
/"08054 CHRACTERISTIC_JSR_DESRIPTIOM,RED i RITe IDYLetre,"
xs,0x00,Gxa,0wā1,0×34,Cxs0,0x02,04b,
fendif
! II
fendif
//

F公版5DK7OT70In watch relesey2.0.1yode'sdkiappsvwatchsmartboxvbtmarnage)btrans.datile smartbo
DA10 CustomerProblema\701_tes701,201_min701_201_mainappswatchsmartbox\bt_manage\bt_trans_datale_smartbox_moduleh B·
2022/12/2111:11:1610,436字节C,C++,C#,ObjC源代码,UTF-8 PC
2022/12/59:57:329,839字节CC++,C#,ObjC源代码 UTF-8 UNIX
Bnad,BnBe,BxB2z,Bxee,B×31,Bxe8,B83,B2B,Bx1a,Bx32,Bxee,Bx82,Bx43,
BMRd,BxB,Bx82,Bae,Bx31,BxBe,BxB3,Bx28,Bx13,Bx32,Bxae,Bxez,ax48,
//0×8032 VALUE 4882 READ|MRITE |NOTIFY |DYMANIC
//D8032 VALLUE 4802 READ |MRITE |NOTIFY |DYMAMIC
BnaB,Bxee,Bx13,Bxe1,Bx32,Baxee,Ba2,Bx43,
Bxes,Bxee,B×1a,Be1,Bx32,BxBe,exe2,Bx43,
//0x8053 CLIENT_OHARACTERISTIC_COAFIOURATION
//8b833 CLIENT_CHMRACTERISTIC_CONFIGURATION
exes,Bxce,eseB,Gne1,G×33,8xee,9xe2,Qx29,exce,enoe,
exea,Gx8e,axBa,axe1,ax×33,Bx08,Bn2,G×29,axee,axee,
/*axB034 CHARACTERISTIC_uSER_DESCRIPTIOM,READ |MRITE |DYNMANIC,“/
&x8B,Gx80,0x8a,0x01,0×34,8x09,8x02,8x4b,
//END
//END
Bxe,exee,
exee,exee,
​};
​};
#endif
tendif
//
characteristics4-->handles
characteristics<-->handles
//
#define ATT_CHARACTERISTIC_4382_e1_vaLUE_HaIOLE EnaB32
#define ATT_CHARACTERISTIC_4a82_81_VALUE_HZADLE BxBe32
Adefine ATTLCHaRACTERISTIC408201CLIENT_COMFIGURATION HADLE 0x0033
define ATT_CHARACTERISTIC_4802_0LCLIEnT_CNFI6URATION HNDLE 0833
#define ATT_CHARACTERTSTIC_4a82_01_LNECOMN_DESCRIPTION_HAJMDLE ea034
中
tendif
#endif

Bps/uatch/comon/task_table.c:ec2c1092典apps/uatch/cormon/task_toble.c:acdb9593
2 #Lnclude:“ap_config.h°
4
5/"任务列表/
6 const:struct task_info task_info_table[]{​
7…
("app_core", -1, 0,1824,1024·,
8…
sys_event“,…………6,……·,…256,……,
9·
("btctrler",…………4,… ·,…512,…512-,
10
”btenery”,……………1,… ·,…512,…128·,
11
("tas", …5,…8,…512,…128-j,
9#inClude:"ap_config.h“↵
13 const struct-task_info task_info_table[]-={​
14…("app_core", 1,……·,1024,…1024),
15…("sys_event",…………6,……0256,…·……
16…“btctrler”,… 4,……·,512,…512·),
17…"btencry",… 1,……8,512,…128·,
1B…{​"tns",……………5,……·,…512,…128··​},
+19
…{​·btstack”,… …3,……·,…768+512,…5121,
12
”btstack”,
3,…0,…768,…512·j,

13
2a

opsluatch/ui/lkd/STYLE_MTCILMWui_action_grcode,c:ecze1092spps/uatch/u/Lcd/STYLMATCLREM/aLaoctiou_grcode.ci;acdb9593
348#if·TCP0_PAY_ALT05_LLE
541……lipy_check_cnt;
542……alipy_check_status-0;
543 L_guto_shut_don_disable();
84……printf(Before-Init,status 1s-92Xn",upy_get_bindlng_status())3
845-……extern·char·"upayget_verslon()
846-……printt(upy veri·\n”,UPay_get_versien())4
8404if TCFo_PAY_AL10SENABLE
B41… lipy_chack_ent·0;
B42… alipy_check_status8;
B43……Lsto_shut_down_disable();
844… printf(Before init-,status 1s:502xn°,upy_get_binding_status())
845… extern char-"upy get_yerslon()
846… printf("pay-veri-,upay_get_verslon(
+847… upay_rct ret;
848… ret-upay_ew_inLt();…·//环境初始化,此时状态应读为5TATUS_STAAT_BIMDIHG
-847………upay FetvbLt-ret;
848-……Pet-upay_env_Init();…·//环境初始化,此时状志应该为STATUS_START_BIMOIMG

BrintfC AFter init,status:1502x,ret:n”,upv Ret binding status(),ret);
PrLntrCAier inie:,status-L52X,et: ,upey Ret bininR sitatus),ret);e
8、新版支付宝需要20K的flash空间,并且这块区域升级的时候不能被擦,被擦掉后需要找支付宝重置地址。
注意:
UPAY_ADR的地址需要自己去填,第一次用强升工具烧入配置为UPAY_ADR=AUTO由配置编译工具自动分配;然后把分配后的地址替换AUTO例如:UPAY_ADR=0x1f8000,地址一旦固定不能改变,否则会导致支付宝数据丢失支付宝功能异常。

cpu/br2B/tools/isd_cenfig rule-e:Te2042fcu/br2B/tools/isd_e
enfig_rule-e:chfe832
45//-
516//
17/7-=操作符说明T:
318//-一1下数代恐时接除指店区域
319//-二:下数博时不地作指要区城
za// 2:下蚁代码时给指定区域加上保护
15//-
a换作符说明OPT:
318//-一 下戴代恐过接除指店区域
下数代码时不换作指足区域
→2:下贬代再时给指定区域茄上保护
21//-aaaaaaaaaaaaaaaeaaeaaeaae5217/-aerarar rrarareenarerarerarara
+32277 sUPAY ACR韵地址满要自己去嗅,第一次用强开工具烧入配置为UPAY ADA-UTO主配置遍译工其自动分配:
:UPAY_LDR-8x1+3000,地址一且国定不能改变,否则会导数支付宝数掘丢失
541支得量纷能算常
525 EfTCH⁶PAY AitoS_EnMLE
327P断_08 ·00003
+328
MLEM
529 LPAY_PT-1;
338 mendit
+331
32z2 [RESERVrD_cDMT0]
25 STI9_DR:CCNFID_ETIF_ADOR;
324BTJFLEMCCHFI6 BTIFTLEN;
3258TJF OPT·-CONFIG BTIF OPT:
532[RBSEaVED_CDN TC]
533ETI_ADCCMrfo gTIF_ADDR;
334BTJF LEM--COHFI⁶BTIFLEH;

335 BTJFOPT·-CONMFIG BTIF QPT:
Gu/br28/tools/isad eomfig rule.:76e29842f
cpu/br2B/tools/isad comfig rule.e:cbfor82
445DFDUG JADR·COM₁0 DTGADOR;
455 DFD JDR·CM0DUFGOR;
4580DE 0 0;
457 DEBU6 OPT·CCnF16DEU6 OPT;
448aendsF-J·#if-(defise-CONF16DEE6_RECORD_EHLBLE-88-COMFJGDEBG_BECORD_ELBLE)-74
458 endLF-/"·#5-(define-COMFI6_DEEU6_RECORD_EMABLE-88-COMFIG_DEEJ6_RECO8D_EHABLE)-4
449
459
450 Wif TCFG_AY_ALTD5_[NLF
451[ESERVED_ExDAMD_CDM16]
-452UPAYADRAJTO
-453 UPAY_LEN01890;
454 UPAY_□PT·1;
455第endif
46
456
461 [BUFNER_COMFI61
457 [EUFNER_CONFI6]
4551ZE--COM10_UFNR_JnrO_sz;
4525TZE·=COMF10_DUENIR_IHrOSTZ7;
45
464
460

upay_vendor.h [AC701N]-Code::Blocks 20.03
File Edit View Search Project Build Debug Fortran wxSmith Tools Tools+Plugins DoxyBlo
image
image
if (user_val->not_p∨
Release
imageimage
Mansgement
X
le_smartbox_module.c×dev_manager.c×cm
Workspace
image
白
AC701N
72
73
Sources
image
74offse
Headers
image
75size:
ASM Sources
image
76return:
success
77-1:fail
78
79
EXTERNC int hal secure
80
81
82
83
84
85offse
86
87buffe
88
89fail
90
91
Projects Files FSymbols Resources92
image
Logs &others
Code::BlocksX Search results×
Build messages× Cscope X Debu
*测试盒BLE升级
*BLE RCSP升级
*外挂FLASH升级
ISDdownload
-FLASH INFO-
PID:JL701N
VID:0.01
FLASH_BIN_SIZE:0x12d000
FLASH_NEED_SIZE:0x1ff000
FLASH_REAL_SIZE:0x200000
VW_REAL_SIZE:0xcb000
VW_START_ADDR:0x12d000
V_END_ADDR:0x1f8000
UPAY_RESERVED_START:0x118000□
UPAY_RESERVED_END :0x1fd000
BTIF_RESERVED_START:0x1fd000
BTIF_RESERVED_END:0x1fe000
EXIF_RESERVED_START:0x1fe000
EXIF_RESERVED_END:0x1ff000
LAVE_SIZE:0xe3000
ENTRY_ADDR:0x6000120
ERASE MODE:NONE
UBOOT VERSION:2022-10-3114:35:18,UBOOT-S-@2022103
OTA VERSION:2022-11-1720:02:03,OTA_LOADER-S-@2022
-3293fb59
117-S9862728
开始下载……
nnn

image

9、调试阶段固定mac测试,生产的时候需要注释掉这段代码

image

三、阿里云app到手表数据传输说明

1、对比旧版本,新版本需要各厂商自己的app先激活设备,才可以使用支付宝软件进行绑定设备。
2、杰理提供的demo默认是走杰理的协议的,如果想走自己的协议,重新实现这两个接口就可以
user_cfg.cbizbus_hal.c 2× C board_701n_demo_cfg.h 1C macro_default.h 1C ui_actiopps>common>pay>upay_aliyun>src>C bizbus_hal.c>bizbus_hal_recv(uint8_t*,uint32_t)You,2小时前|1 author (You)1/2345#include <string.h>6
7 #include "bizbus common.h"8
9 #include "app_config.h"10
11 #if TCFG_PAY_ALIOS_ENABLE &&(TCFGPAY_ALIOS_WAY_SEL==TCFG_PAY_ALIOS_WAY_ALIYUN)12
13 extern int aliyun_bt_data_send(u8data,u16 len);1415bizbus_ret_t bizbus_hal_send(char sid,uint8_tdata,uint32_t data_len)16{​
17//TODO:发送蓝牙数据数据发送接口18int ret =aliyun_bt_data_send(data,data_len);19if(ret ==false){​20return BIZBUS_ERR_FAILED;21​}22return BIZBUS_sUCCESS;23​}2425bizbus_ret_t bizbus_hal_recv(uint8_t
data,uint32_t data_len)26 You,2小时前·aliyun绑定支付 27/printf("recv len-%d",data_len)28return bizbus_recv(data,data_len);29包3031void aliyun_upay_recv(voidpriv,u8*data,int len)32{​33bizbus_ret_t ret =bizbus_recv(data,len);34if(ret){​35printf("aliyun_upay_recv err:%d \n",ret);3637​}3820
注意:对于2023年3月2之后使用的设备,需要修改使用新的dn码(增加如下代码)。

63
6
79
88
8
82
83
5
87
9
9
92
94
96
9B
180
apa/cmcon/pay/upy_aliyun/re/upay_deso.e:Bcazen1aps/cmcon/eay/pay_aliyun/vre/upaye.e:22f1a247
externvoidalfyun_bt_reev_register(void·"cb_peiv,woid-("eb)(void·"prlv,u8"data,Int·1en));
estern voaid:a1iyunLupey_re(Vderiv,uBdata,int 1en);
oid-alyu_upy_init(vwid)
sbtfoutye
…strcpy(param,Ps_str,一一TCF_PMYAL105S);
…strepy(param,vVers1on_str,→TCFG_PAYAL105VERSTON);
·…strepy(parm,vendor_str,→TCFG_PAY_ALI05_VEMDOR);
…sprintf(pBrat,BBC_str,020590205025028828502x
-… …BC[5],BC[4],Eac[3],翻c[2],-图C[1],-图C[e])
cep(Po,cp²2m²)
63 extern woid·aliyun_bt_recv_register(woid-"ebpeiv,wld:(“cb)(weid·“priv,8 "data,int·1en));
64 extern woid·aliyun_upay_reev(oid:“prlv,u8-data,int Len);
65
66 woid alyun_upey_init(veid)
extern int alyn_stornge_init(veid);
69…llyun_storage_init();
71-…uB-mac[6]
72…1e_controller_get_uB(sBc);
73…y_peintf("mac:)
传r_buf(cac,6);
2iuinit_are_t paran…0;
78…trepy(Farm,pk_tr, TCFo_pAYL10S_PK);
79……strepy(par,s_str,→→TCFO_PAY_AL105_PS);
38…strepy(param,Verston_str,TCF_PAYL105_VERSION);
81…strepy(par8,Vendor_str,一TCF5PAYLI0SVENDOR);
82…sprintf(par,C_str,M920582x502x₅92
sprinerlpar 22222 2
Bc[5],BaC[4],ac[3],图3c[2],-图B[1],图B[e])
strcepcore.i²R,Gs Pi
中。
86
param.ch_without_prefix·1;
87
88
printf("pk:%°,prm.pk_tr);
90
prin+f(-p:%,parm:PS_str);
printf(version=K-n”,parm,versionstr);
91
printf("vendor;%s°,pr8.vendor_str);
92
pritf(rac:-n”,par,买BEstr);
93_
prlntfi Ld2.pk1影-,pran Id2 pk)
94
printf(“pk:%an”,parm.Pk_str);
printf(ps=Kn,parm,Ps_str);
printf(version:5-n”,paran,version_str);
printf(vedor;影:n”,parm,vendor_str);
printf(rac;第-n",param,BCstr);
prlntfi Ld2.pkT影-,param,Id2.pk)
bizbusinit(&Bperan)
/:aliyun
alyun_bt_rev_register(HULL,alyun_upy_rev);
//·upag
upy ble reaiest rery_handle(upyrey_dsta_handle);
/void clear_pay_dats(wodd);
95·
bizbusinit(Bparan)
96
97
…//:aliyun
98
…alyun_bt_raev_ragister(uL,alyun_upay_reev);
99
100
…//upy
18
py_ble reziest_rey hendle(upy_rev_data_handle);
…void clear_ucay_data(woid);

181
/·clear ucv data();
…//-clenr upsv dsta();