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_乘车码刷码失败问题_共性

701N_WATCH_乘车码调试说明文档_v2.0

📎 原始文档:https://www.kdocs.cn/l/ceGgCjmPt4QN 701N_WATCH_乘车码调试说明_v1.2
珠海市杰理科技股份有限公司Zhuhai Jieli Technology Co.,LTD
版权所有,未经许可,禁止外传
image 修改记录

版本
更新日期
描述
1.02023/9/18701N watch乘车码调试说明
更新:●建立初始版本
●定义文档格式
1.22023/10/08调试说明细节撰写

image 目录
珠海市杰理科技股份有限公司……………………………………………………1
一、乘车码移植环境要求………………………………………………………4
1.移植环境要求……………………………………………………………………………………4
2. SDK版本…………………………………………………………………………………4
二、如何同步乘车码……………………………………………………………5

  1. 手表端……………………………………………………………………………………………5
  2. 手机端配置…………………………………………………………………………………5
    3.乘车码信息……………………………………………………………………………………5
    三、乘车码调试流程……………………………………………………………6
  3. 先调通支付宝部分,参考支付宝对应文档…………………………………………………7
  4. 网络调试………………………………………………………………………………………………7
  5. 同步调试………………………………………………………………………………………7
    4.重点使用接口……………………………………………………………………………………8
  6. ui交互接口………………………………………………………………………………………9
  7. 网络有关接口…………………………………………………………………………10
  8. 常见问题汇总(重要…………………………………………………………………………10
    四、附件:乘车码支付宝主要移植文件……………………………………12
    image

一、乘车码移植环境要求

1.移植环境要求

(1)JL701杰理平台

ROM和RAM占用情况统计如下:

接入方式平台硬件APPFlash占用RAM占用
外接加密芯片JL,平头哥需要重新
layout
不需要修改>800KB
(代码区)
>160KB(静态
60K+同步100K)

注:以上flash和ram占用情况为杰理测试数据(建议内置flash大于4M),外置flash存放乘车码信息预留1M。乘车码移植后占用约60K,同步过程消耗的ram约100KB,分辨率要求不小于360*360,请确认测试无误后再做移植。

(2)阿里平头哥加密芯片

乘车码需要手表外挂加密芯片,手表需要重新layout。同时向阿里申请时需要标明乘车码功能的加密芯片。
须知:乘车码是基于平头哥SE2.0以上(固件版本),在支付宝基础上延伸的功能。

2.SDK版本

乘车码需要基于sdk 2.1.1版本及以上才能够移植。
image

二、如何同步乘车码

1.手表端

首先乘车码是基于平头哥SE2.0芯片,手表支持乘车码是基于支付宝功能的。用户绑定支付宝后,获取乘车码需要连手机蓝牙网络来和阿里服务器通信。

2.手机端配置

在手表和手机蓝牙连接前需打开蓝牙网络共享。
image

3.乘车码信息

点击乘车码后执行对应逻辑,会联网获取所绑定支付宝乘车信息。
imageimage 乘车码根据支付宝APP中用户的->出行->管理->交通卡管理,所有的交通卡进行同步。
image 如图支付宝app中的乘车码会同步到手表中。同时只有对应城市的乘车码被下载后才能离线使用,如只获取了城市列表就断开网络乘车码无法离线使用。
注意:下载同步时间较长,可根据交互信息客户自定义ui动画。

三、乘车码调试流程

移植补丁参考附件:乘车码支付宝主要移植文件部分,该补丁包包括了支付宝功能。
image 1.先调通支付宝部分,参考支付宝对应文档
2.网络调试
显示Default network interface:BT这里蓝牙网络已经连接成功。或者直接搜ip4
[03:12:31.498]Default network interface:BT
[03:12:31.498]ip4 address:192.168.44.36
[03:12:31.499]gw address:192.168.44.1
[03:12:31.500]net mask :255.255.255.0
如果没有打印上面需要排查对应宏是否打开USER_SUPPORT_PROFILE_PAN和LWIP_USE_BT(在cbp已定义)

3.同步调试

支 付 宝 绑 定 完 成,连 接蓝 牙 网 络, 调 用local_transitcode_get_default_card_info。会出现如下打印
Line 758:[00:11:43.887]transitcode_task msg :1
Line 941:[00:11:44.079]transitcode_task msg :3
Line 968:[00:11:44.242]ransitcode task msg :4
Line 31923:[00:13:51.663]transitcode_task msg :2
Line 31958:[00:13:51.913]transitcode_task msg :5
可以看到获取默认卡片没有时候,会调用本地,本地没有存放会调用网络上的卡片列表。
[00:11:44.018]alipay_storage_read len_content:46
[00:11:44.018][ALIPAY][INF0]alipay_iothub_device_name_init[140]:"device name has existed,ignore init"
[00:11:44.019][ALIPAY][INF0]alipay_iothub_device_name_init[142]:"######TIME_TAKS:117 ms"
[00:11:44.020]alipay_open 8D1F1C83E64660D659923F4776703308
[00:11:44.022]storage/virfat_flash/C/9d7b⁰6f6.rsv
[00:11:44.023]file read find in
[00:11:44.023]rets 601209a ,alipay_read_rsvd_part 40ebd40136
[00:11:44.024]alipay_close_rsvd_part
[00:11:44.075][ALIPAY][INF0]transit_default_card_info_read[278]:"######TIME_TAKS:55ms"
[00:11:44.076][ALIPAY][INF0]alipay_transit_get_default_card_info[165]:"get_default_card_info success:-[00:11:44.078][ALIPAY][INF0]alipay_transit_get_default_card_info[166]:"######TIME_TAKS:58 ms"
中间有网络层和阿里js库的交互,文件读写也在进行。
image 0:T⁵Y⁰8.95Zjnew_rOW 4,rew_co¹1[00:13:08.952]-dynamic init 4355360338[00:13:08.953]min_show_col_index 0,max_show_col_index O,min_show_row_index 0,max_show_row_index 2339[00:13:08.954]max_row_index 3,max_col_index 0,min_row_index 0,min_col_index 0.4[00:13:08.987]cardNo 90012088412257513516341[00:13:08.988]cardType M⁰33100042[00:13:08.988]cardtitle343[00:13:08.989]cardNo AL5543171b⁰e4647bb344[00:13:08.989]cardType T0441900345[00:13:08.989]cardtitle
最后看到cardNo和cardType连读打印出,代表获取网络的卡片列表成功。
emo_cfg.h M·C transit taskc appscommonipayupay LheadyLtransitcode 4.M×C transit task.c chengce_potch sdk271L09781.C transt taske>transit code data callbackfint,int int alipay tansit CardBasTRANSITCODE_LOCAL_GET CARD_LIST:>LWP_USEBT无结果TRANSITCODE LOCALGET_CARD_LIST \n");card_list需要拷贝使用rdBasenum =card_num;(CardBasebuf)ardBasebuf=realloc(CardBasebuf,len_card_list);=zalloc(len_card_list);sebuf,card_list,len_card_list);//0直接显示二维码//1显示卡片列表//2显示进度
ui_show_transitcodes_list(1);for(int i=0;i<card_num;i++){​printf("cardNo %s\n",CardBasebuf[i].cardMo);printf("cardType %s\n",CardBasebuf[i].cardType);printf("cardtitle %s\n",CardBasebuf[i].title);
OLON

4.重点使用接口

非使用杰理文件系统方案的:
transit_other_adapation.c(需要额外适配)
客户重点接口:
//获取本地默认城市int local_transitcode_get_default_card_info()
//获取本地城市卡片int local_transitcode_cardlist_get()
//获取网上城市卡片int net_transitcode_cardlist_get()
//kill乘车码线程void transitcode_kill()
//获取二维码local_transitcode_get_qr_data
//消息回调int transit_code_data_callback(客户重点)
image

5.ui交互接口

客户可以自行适配自己ui
//0直接显示二维码
//1显示卡片列表
//2显示进度
//3显示选择界面
//4城市卡片获取失败
/15二维码卡片获取失败
//6乘车码未开通
int ui_show_transitcodes_list(u8 event)
//设置ui页面释放时候不释放线程void set_cardcode_no_release()//获取当前ui释放是否需要释放线程u8 cardcode_is_need_release()//清不释放线程变量void clear_cardcode_no_release()//获取用于ui显示的城市数量int alipay_tansit_num_get()
//获取用于ui显示的城市名称char *alipay_transit_name_get_by_index(intindex)
//获取当前获取了二维码的城市索引alipay transit get default card index//获取当前获取二维码的城市名称
alipay_transit_get_global_default_card_name
image

6.网络有关接口

与sniff有关接口//乘车码活跃时候不进sniffu8 transitcode_task_idle_query(void)
1/获取dhcp是否成功int net_get_dhcp_flag();//需要开启USER_SUPPORT_PROFILE_PAN

7.常见问题汇总(重要)

(1)方案商需向阿里申请公司名称和产品型号,申请文档参考《支付宝智能穿戴-送测说明》

#define TCFG_PAY_ALIOS_PRODUCT_MODEL"xxx_1"#define TCFG_PAY_ALIOS_COMPANY_NAME"JL_701"//需要客户申请

(2)加密芯片在绑定支付宝后会记录机器MAC,不能更换。

加密IC在首次绑定支付宝后,会记录产品型号,MAC,因此用户调试用的加密IC不能在机器上拆开交叉验证,否则会出现同步乘车码失败。
[0]526:Destroy 42ca50.
[00:01:25.398]
[00:01:25.399][0]527:<-=IOT_OBJ_destroy(obj=4377168)
[00:01:25.399][ALIPAY][INFO]alipay_send_rpc[381]:"#≠#共共#TIME_TAKS:1179 ms"
[00:01:25.400][ALIPAY][INEO]alipay_send_rpc_simple[774]:"-------send_success ---------"
[00:01:25.401][ALIPAY][INFO]alipay_send_rpc_simple[788]:ype_wait_response"######TIMB_TAR3:0ms"
[00:01:25.403][ALIPAY][ERRO]alipay_send_rpc_simple[801]:"RPC network error!error code=7002."
[00:01:25.404][ALIPAY][DBUG]alipay_send_rpc_simple[806]:"-------ret 1"
[00:01:25.404][ALIPAY][INEO]alipay_send_rpc_simple[807]:"手FFFFFTIME_TAKS:1214ms"
[00:01:25.406][ALIPAY][ERRO]
alipay_transit_get_card_list[246]:"alipay_send_rpc_simple error!ret=1."
[00:01:25.408][ALIPAY][INFO]
alipay_transit_get_card_list[248]:"######TIME_TAKS:1254 ms"
[00:01:25.409]alipay_transit_get_card_list ret 7,card_num 0,onlineFlag 1,len 4800
[00:01:25.410]RV_NETWORK_ERROR
[00:01:25.411]TRANSITCODE_LOCAL_GET_CARD_LIST
[00:01:25.411]***card_num:0
客户在初期调试需申请对应厂商、设备型号。

(3)支付宝绑定失败

a.手表端没有对时,在绑定前应该先连接app自动对时。
image b.支付宝使用profile与当前使用通道(抖音或者自定义服务)冲突。
c.卡在某个数据交换环节,log排查。

(4)主控与安全芯片通道IIC通信异常

查看是否ⅡC端口复用情况,驱动中映射的iic通道是否正确,用逻辑分析仪抓取波形排查,是否有ACK。Delay延时过小,公板测试使用120的延迟满足通信。
TCFG_PAY_ALIOS_ENABLE &&(TCFG_PAY_ALIOS_WAY_SEL==TCFG_PAY_ALIOS_WAY_T_HEAD)1 data
.scl =IO_PORTG_02,.sda =IO_PORTG_00,.delay =120|,.io_pu =1,#endif
image

四、附件:乘车码支付宝主要移植文件

1.AC701N.cbp文件

左侧为补丁文件,右侧为211 sdk文件。

(1)

会话*固★童肠Z+辛的9中旧目船

DAchengcemaY0918 sdksak 211 chengcema git 0918MC701Ncbp,DA-I701n_watch release v2.1.1codesdkAC701N.cbp
2023/9/1694944155,251字节<默认>UTF-8▼UNIX
2023/6/2720:01:39140.413字节<默认》UTF-8▼UNIX
(Add directory="include_1ib"12
<Add directory="inelude_1ib/driver"/.
<Add directory="include_1ib/driver/device"/
<Add directory=”include_lib/driver/cpu/br28"/
<Add directory="inelude_1ib/system"/
(Add directory="include_lib"/?
<Add directory="inelude_1ib/driver“/
《Add directory="include_lib/driver/device"/
<Add directory=”include_lib/driver/cpu/br28”1
<Add directory="inelude_11b/system"/
加
<Add directory="inelude_lib/system/generie"1>
<Add directorv="include 1ib/svstem/device"/
<Add directory="inelude_1ib/system/alipay_iot_tep"/>
<Add directory="include_1ib/system/quickjs"/5
<Add directory-“include_11b/net/mbedt1s_2_26_0”1>
《Add directory="inelude_lib/system/generic"/>
<Add directorv="include lib/svstem/device"1
添

(2)

<Add directory=”inelude_1ib/media/media_develop"7
<Add directory="include_1ib/media/media_develop/media"/>
<Add directory="include_1ib/media/media_develop/madia/cpu/br28"/)
<Add directory="inelude_1ib/media/media_develop/media/cpu/br2B/asm"
Add directory=”inelude_1ib/media/media_develop"/>
<Add directory="include_1ib/media/media_develop/med
<Add directory=”include_1ib/media/media_develop/med
<Add directory="inelude_1ib/media/media_develop/med
(Add directory="apps/uatch/include"/
<Add directory="apps/uatch/inelude/task_nanager"/>
<Add directory="apps/uatch/include/task_nanager/bt"
<Add directory="apps/uatch/inelude/user_api"/
<Add directory="apps/watch/include/sport_data"/
<Add directory="apps/common"/
<Add directory="apps/comnon/device"/>
<Add directory="include_1ib/net/luip_2_i_3/1wip/src/include"/
<Add directory="include_1ib/net/1udp_2_1_3/1wip/port"/>
<Add directory="include_1ib/net/1ip_2_1_3/1ip/app"1>
<Add directory="apps/uatch/include"7
<Add directory="apps/watch/inelude/task_manager"/
<Add directory="apps/watch/include/task_gnanager/bt"/S
<Add directory="apps/watch/inelude/user_api"/>
<Add directory="apps/watch/include/sport_data"/>
<Add directory="apps/comon"/
<Add directory="apps/comman/device"/>

(3)

《Ad directory="aps/watch/smartbox/sensors_data_opt/sport_data_info
<Add directory="inelude_1ib/system/ui_new/ui/epu/br28"/
(Ad directory="aps/watch/smartbox/sensors_data_op
<Add directory="inelude_1ib/system/uf_nen/ui/epu/br
.
(Add directory="cpu/br28/ui_driver"/2
Add directory="cpu/br28/audio_way"/>
cAdd directory="include_lib/net"/
《Add directory="inelude_1ib/net/1udp_2_1_3/1wip/sre/inelude/netif"/
cAdd directory="include_lib/net/1uip_2_1_3/1wip/port/arch"1
《Add directory="inelude_1ib/net/1uip_2_1_3/1wip/app/etp"/>
<Add directory="include_lib/net/1uip_2_1_3/1wip/app/edp"/
《Add directory="include_1ib/net/1wip_2_1_3/1wip/app/dhep_srv"1>
<Add directory="include_1ib/net/1uip_2_1_3/1wip/app/dtp"1.
《Add directory="include_1ib/net/1wip_2_1_3/1wip/app/sock_api"/
<Add directory="include_1ib/net/1uip_2_1_3/1wip/app/udtp⁻1
<Add directory="include_lib/net/1uip_2_1_3/1wip/src/include/1Mip"1
<Add directory="inelude_11b/net/1udp_2_1_3/1wip/app/mssdp"/>
cAdd directory="include_lib/net/1uip_2_1_3/1wip/app/ddns"1
《Add directory="inelude_1ib/net/1te_module1>
真dd directory-"cp(br28/ul driver"F
<Add directory="cpu/br2B/audio_way"/

<Add directory="cpu/br28/ui driver/1vgl"1>
<Add directory="cpu/br28/ui driver/1vg11>
(4)软解部分代码库不能和硬解库同时编译,建议客户先移初软解部分或者用宏控制好。
imageimage (5)对应库文件
<Add option="cpu/br28/1iba/1ib_pitch_speed a"/><Add option="cpu/br28/1iba/quickjs.a"/Add optiona"cpu/br28/1iba/alpay_iot_vendor.a"/><Add option="cpu/br28/1iba/1ibFFT_pi32v2_0nChip.a"/><Add option="cpu/br28/1iba/wtg_dec_11b.a1<Add option="cpu/br28/1ba/bfiiterfun_15b.a"/>
tion="cpu/br28/1iba/1ib_pitch_speed.a"7
tion=”cpu/br28/1iba/1ibFFT_pi32v2_0nChip,a"/>tion="cpu/br28/1iba/tg_dec_1ib.a"/tion="cpu/br28/1iba/bfilterfun_1ib.a"/

(6)库文件

爱话 * 养领 U国刨
DAchengcema0918 sdksdk 211_chengcema_git 0918AC701Ncbp
,Dchengcema'sdk_211701n_watch release_v2.1.1vode\sdkAC701Ncbp

2023/9/169:49:44155,251字节<默认》▼ UTF-8▼UNIX
2023/6/2720:01:39140413字节<默认》UTF-8▼UNIX
(Add option="cpu/br28/1iba/res_new.a"/>
<Add option="cpu/br28/1iba/ui_flash_vm.a"/
直接替换
/liba/res_new.a"/)
/liba/ui_flash_vm.a"/>
mon/pay/upay_aliyun/vendor/upay.a"/>
mon/pay/upay_aliyun/vendor/1ibierypto.a"/>
mon/pay/upay_aliyun/vendor/1ibid2.a"/>
mon/pay/upay_aliyun/vendor/1ibisst.a"/>
mon/pay/upay_alyun/vendor/1ibkm.a"/
mon/pay/upay_alyun/vendor/1ibls_alipay.a"1>
mon/pay/upay_alfyun/vendor/1ibprov.a"/
mon/pay/upay_alyun/vendor/1ibalipay_secure_cert.a"/>
mon/pay/upay_aliyun/vendor/pay.a”1
mon/pay/upay_t_head/1ib/JL/1ibalipay_crypto,a"1>
mon/pay/upay_t_head/lib/JL/1ibalipay_HAL,a”/
mon/pay/upay_t_head/1ib/JL/1ibalipay_IoTpay.a"1
mon/pay/upay_t_head/1ib/3L/1ibalipay_secure_cert.a“/1
mon/pay/upay_t_head/1ib/JL/1ibeJSON.a"/
mon/pay/upay_t_head/1ib/JL/1ibalipay_mbedt1s.a"/
mon/device/gSensor/silan/silan_data.a"/
mon/device/gSensor/silan/silan_motion_algo,a"/>
oup"/>
28/sdk.1d"/
r28/tools/sdk,maD"/
<Add option="cpu/br28/1iba/1Mip_2_1_3.a"1>
<Add option="cpu/br28/1iba/mbedt1s_2_26_0.a"/
<Add option="apps/common/pay/upay_t_head/1ib/JL/1ibadapt_for_se.a"1>
<Add option="apps/common/pay/upay_t_head/1ib/JL/1ibalipay_base.a"/
(Add option="apps/common/pay/upay_t_head/1ib/JL/libalipay_crypto,a"/2
<Add option="apps/common/pay/upay_t_head/1ib/JL/1ibalipay_framework,a"/
<Add option="apps/common/pay/upay_t_head/lib/JL/libalipay_pay.a"/
<Add option="apps/common/pay/upay_t_head/1ib/JL/1ibalipay_mbedt1s.a"/
<Add option="apps/common/pay/upay_t_head/1ib/JL/1ibalipay_secure_cert.a"1
<Add option="apps/common/pay/upay_t_head/lib/JL/1ibalipay_iot_device_name.a"/
《Add option="apps/common/pay/upay_t_head/1ib/L/1ibalipay_iot_netcore.a"/2
<Ad option="apps/comon/pay/upay_t_head/1ib/JL/1ibALIPAY_IoTPay_network.a"/2
<Add option="apps/common/pay/upay_t_head/1ib/JL/1ibalipay_iot_rpe.a"/
<Ad option="apps/comon/pay/upay_t_head/1ib/3L/1ibalipay_transit.a"1>
<Add option="apps/common/pay/upay_t_head/1b/JL/1ibprotobuf-c.a"/>
<Add option="apps/common/pay/upay t head/1b/JL/1ibalipay_sm2.a"/>
<Add option="apps/common/device/gSensor/silan/silan_data,a"/
<Add option="apps/common/device/gSensor/silan/silan_motion_algo,a"1>
<Add option="--end-group"/
<Add option="-Tepu/br28/sdk,1d"/)
699:43
默认文本
491:43
默认文本
<Unit·filename="apps/common/net/1wip_2_1_3/port/bt_ethernatif.c">3
<Unit·filename="apps/common/pay/upay_aliyun/include/aoS_system.h"·/>

<Add ootion="-=cDu/br28/tools/sdk.map"1S

(7)Cbp文件中apps/common/pay/upay_t_head中全部的都需要添加

</Unit>
<Unit filename="apps/common/music/music player.h"/><Unit filename="apps/common/net/1wip_2_1_3/port/LwIP.c"><Option compilerVar="CC"/></Unit>
<Unit filename="apps/common/net/1wip_2_1_3/port/bt_ethernetif.c"><Option compilerVar="Cc"1></Unit>
<Unit filename="apps/common/net/1wip_2_1_3/port/ext_wireless_ethernetif.c"><Option compilerVar="CC"1</Unit>
<Unit filename="apps/common/net/1wip_2_1_3/port/1te_ethernetif.c"><Option compilerVar="CC"/></Unit>
<Unit filename="apps/common/net/1wip_2_1_3/port/sys_arch.c"><Option compilerVar="CC"/></Unit>
开始:<Unit filename="apps/common/net/lwip_2_1_3/port/LwIP.c">
image 结尾:<Unit filename="apps/common/pay/upay_t_head/soc/softse/utils.h"/>都
需要添加
2023/9/16949:44155,251字节<默认>▼ UTF-B▼ UNIX
全部替换,左边是SE2,02名边是SE1节<默认>▼ UTF-8▼UNIX
<Unit filenane="apps/common/pay/upay_t_head/include/alipay.h"志P , nit f5lenaneaps/comon/pay/upay_t_head/include/alipay,h°/<Unit fi1ename=“apps/comron/pay/upay_t_head/J1_transitcode/transit_other_adapaticnit filename="apps/comman/pay/upay_t_head/inelude/a1 pay_com</Unit><option compilerVar="CC"/1
<unit filenme="aps/common/pay/upay_t_head/include/alipay_iot.
<Unit filenamne="apps/common/pay/upay_t_head/j1_transitcode/transit_task,c"><Option compilerVar="CC"/</Unit
<Unit filename="apps/common/pay/upay_t_head/soe/port/iotsec.h"
<Unit filename="apps/comon/pay/upay_t_head/soc/port/iotsec.h"/<Unit filenane="apps/comron/pay/upay_t_head/soc/se/JL/hsc32i1/hs_private.c"><Option compilerVar="CC"1></Unit
<Unit filename="apps/comon/pay/upay_t_head/soc/se/JL/hsc32i1/
<Unit filename="apps/comon/pay/upay_t_head/soc/se/JL/hsc32i¹/hs_private.h"/<Unit filenane="apps/comon/pay/upay_t_head/soc/se/JL/vendor_cache,c"><Optian compilerVar="CC"/</Unit
<Unit filename="apps/conmon/pay/upay_t_head/soc/se/JL/hsc32i1/<Unit filename="apps/comon/pay/upay_t_head/soc/se/3L/hsc321/<Unit fileame="aps/common/pay/upay_t_head/soc/se/3L/vendor_ci
<Unit filenane="apps/coron/pay/upay_t_head/soe/se/JL/vendor_crypto.c">option compilerVar="CC"/</Unit>
<Unit filename="apps/common/pay/upay_t_head/soc/se/JL/vendor_er
<Unit filanane="apps/comon/pay/upay_t_head/soc/se/3L/vendor_product.c"<Option compilerVar="CC"/</Unit>
<Unit filaname="apps/common/pay/upay_t_head/soc/se/JL/vendor_pr
<Unit filename="apps/comon/pay/upay_t_head/soc/se/JL/vendor_re
<Unit filenane="apps/common/pay/upay_t_head/soc/se/JL/vendor_rot.e"><Optian cmpilervara"Cc"7</Unit>
<Unit filename"apps/comron/pay/upay_t_head/soc/se/JL/vendor_ssp.c"><Option compilervar="cc"7></Unit>714:45默认文本<Unitfilenane="apps/comman/pay/upay t head/include/alipay.h°/29
<Unitfilename="aps/comon/pay/upay_t_head/soc/se/3L/vendor_s
50945
默认文本

(8)网络相关文件

安诂▼大 固 置地中忆+路3李旧时粗Dychengcema\0918 sdksdk 211_chengcema_git 0918AC701N.cbp·D.chengcema'sdk_211\701n_watch release_v2.1.1\code'sdkAC701Ncbp2023/9/169:49:44155,251字节<默认》▼UTF-8▼ UNIX<Unit filename="include_1ib/media/voiceChanger_api.h"/2蓝牙网络拳舒2014013e brmsevsecne-p.h“<Unit filenane="include_11b/net/1te_module/1te_module.h"/<Unit filename="include_1ib/net/1wip_2_1_3/1wip/port/arch/ce.h"/<Unit filename="include_lib/net/1wip_2_1_3/1wip/port/arch/cpu.h"/<Unit filenane="include_lib/net/1wip_2_1_3/1wip/port/arch/sys_arch.h"/<Unit filenane="include_1sb/net/1wip_2_1_3/1wip/port/1wip.h"12<Unit filename="inelude_1ib/net/1wip_2_1_3/1wip/port/lvipopts_bt.h"/<Unit filename="include_lib/net/1wip_2_1_3/1wip/src/include/1wip/_errno.h"/><Unit filename="include_lib/net/1wip_2_1_3/1wip/src/include/1wip/arch,h"1<Unit filenane="include_1ib/net/1wip_2_1_3/1wip/sre/inelude/1wip/autoip.h"1><Unit filename="inelude_1ib/net/1wip_2_1_3/1wip/sre/inelude/1wip/debug.h"/><Unit filename="include_1ib/net/1wip_2_1_3/1wip/sre/include/1wip/def."/<Unit filename="include_1ib/net/1wip_2_1_3/1wip/src/include/1wip/dhcp.h"/<Unit filenane="include_1ib/net/1wip_2_1_3/1wip/sre/include/1wip/dhep6.h"1><Unit filename="inelude_1b/net/1wip_2_1_3/1wip/sre/inelude/1wip/dns.h"1<Unit filename="include_1ib/net/1wip_2_1_3/1wip/src/include/1wip/err.h"1<Unit filename="include_lib/net/1wip_2_1_3/1wip/src/include/1wip/etharp.h"/<Unit filenane="include_lib/net/1wip_2_1_3/1wip/sre/include/1wip/ethip6.h"1><Unit filename="inelude_11b/net/1wip_2_1_3/1wip/sre/inelude/1wip/inet.h"1<Unit fllename="include_1ib/net/1wip_2_1_3/1wip/sre/inelude/1wip/ip.h"/><Unit filename="include_lib/net/1wip_2_1_3/1wip/src/include/1wip/ip4.h"1<Unit filenane="include_lib/net/1wip_2_1_3/1wip/sre/include/1wip/ip4_addr.h"/<Unit filenane="include_1ib/net/1wip_2_1_3/1wip/sre/inelude/1wip/ip6.h"/><Unit filename="include_1ib/net/1wip_2_1_3/1wip/sre/inelude/1wip/ip6_addr.h"/><Unit filename="include_lib/net/1wip_2_1_3/1wip/sre/include/1wip/ip_addr.h"/<Unit filename="include_1ib/net/1wip_2_1_3/1wip/src/include/1wip/mem.h"/<Unit filename"inelude_1ib/net/1wip_2_1_3/1wip/sre/include/1wip/memp.h"/<Unit filename="inelude lib/net/1wiD213/1wip/sre/inelude/1wip/netdb.h"13131:76
开始:<Unit filename="include_lib/net/lte_module/lte_module.h"/>
结尾:<Unit filename="include_lib/system/alipay_iot_tcp/iot_err.h"/>

(9)os_compat.h

-----y--mp *"__,--
<Unit filename="include_1ib/system/os/0s_api.h"/
<Unit filename="inelude_1ib/system/os/o5_cfg.h"1
--·
<Unit filenane="include_1ib/system/os/os_api.h"/
<Unit filenane="include_1ib/system/os/05_cfg.h"1
<Unit filename="inelude_1ib/systen/os/0s_conpat.h"1>
<Unit filename="include_lib/systen/os/05_cpu.h"/
<Unit filename="inelude_1ib/system/os/0s_error.h"/>
<Unit filename="inelude_1ib/systen/os/0s_type.h"/2
<Unit filename="inelude_lib/systen/os/ucos_ii.h"/
<unit filenama="includo_1lib/systan/power_manage.h"1
<Unit filanane=”include_1ib/system/os/05_epu.h"/
<Unit filenane="include_lib/system/os/0s_error.h"/>
<Unit filenane="include_1ib/system/os/o5_type.h"/2
<Unit filenane="include_lib/system/os/ucos_ii.h"/
<Unit filenane="includo_1ib/systam/power_manage.h"1S

(10)DLWIP_USE_BT宏

国m
三三
d eton”-4screte-btiel4-bL”
院5眩3
dd apton”-D5LPPOIT,B EKTES205
中
lonuar_sBT
Ad ootiom-”-DCNF16L0AJT_FLATEM8LE”
e
6Add optiom-°-DCONP10ELn5_FOnARD_EBL"力
fauue
陈监独驻时担
d t 9EE
Cedd aptlan”-DCDeEDT8J0OEIOLE”
ld epton”-DCMFTGLUCO5 FiWOLr1

Ae optacm”-DCONFIG_UCSDuLE”
image

2.新增加pan网络文件和乘车码文件

net
95,6912023/9/2517:24:20
白Iwip 213
95,6912023/9/2517:24:20
·0
■0
·0
0
os compat.h
1,1662023/9/521:17:24
alipay iot tcp
■iot_err.h9672023/9/521:17:26
alipay_transit.h6,2192023/9/521:17:26
alipay_iot_type.h3,7622023/9/521:17:26
alipay_iot_kal.h24,4222023/9/521:17:26
alipay_common.h4,2242023/9/521:17:26

全部移植

3.\include_liblsystemlevent.h

#define SY⁵_ADT_EVENT
xeB8e
#define SY5_UI_EVENT
Bx1888
#define SY5_ADT_EVENT
BxeB88
#define SY5_UI_EVENT
Bx188e
→#define SYS_BLE_EVENT
ex4eee
"--
#define SY5_BT_EVENT_
#define DEVICE_EVENT_
#define DEVICE_EVENT_
#define DEVICE_EVENT_
#define DEVICE_EVENTFRONLAZU
FORNAT
((
FRON_ADAPTER
(
FRONLEOARD_UART
(
I<24)¹
('A'<<24)
C'B'《24)
('U<24)
(A'《16)T
('D'<<16)
iD'<16)
I('2'<16)
CT《<8)!
!('A'<<8)
i (U8)
("A'<<8)
i
!
i
!
#define SY5_BT_EVENT_FORMLAT
((I<24)1(A《16)1CT<8)
#define DEVICE_EVENT_FROMLADAPTER
(('A'<e 24)!('D'<e 16)!C'A'C 8)
#define DEVTCE_EVENT_FROMLBOARD_UART
(('B'<24)i('D'《<16)i(u'<8)
FROMLU2A
(
enun{​
KEY_EVENT_cLICK,
KEY_EVENT_LONG,
KEY_EVENT_HOLD,
KEY_EVENT_P,
KEY_EVENT_DOUBLE_CLICK,
KEY EVENT TRTPLE_CLICK
enum[
KEY_EVENT_CLICK,
KEYEVENT_LONG,
KEY_EVENT_HOLD,
KEY_EVENT_UP,
KEY_EVENT_DOUBLE_CLICK,
KEY_EVENT_TRIPLE_CLICK,

!
i
VEV EET EninTue
Ev EuLT Einru ee

4.Net文件移植

net
白
wifi
17,909
2023/9/2517:24:20
白
mbedtls_2_26_0
247,635
Iwip_2_1_3
506,654
白
Ite_module
17:24:20

image

5.include_lib\driver\cpu\br28\asm\power\rtc_app.h

4 #aeTine uSL_x3ZE>(a)P53_LUN_SE(K3_UsL_UN,v,1,a)
45
→48
R3_TINE_CON
47 #define TINE_256HZ_EN(a)P33_CON_SET(R3_TIME_CON,θ,1,a)
48
49 #define TINE_64HZ_EN(a)P33_CON_SET(R3_TIME_CON,1,1,a)
50
51 #define TINE_2HZ_EN(a)P33_CON_SET(R3_TIME_CON,2,1,a)
52
53 #define TINE_1HZ_EN(a)
54
P33_CON_SET(R3_TIME_CON,3,1,a)
/*************
rAM cET/n3 TTLE rnNIn

include_lib\driverlcpu\br28lasm\power\p33_apph文件中所有

6.\include_lib\driver\cpu\br28\asm\rtc.h

◎chengce patch sdk21...artch

会话▼*
图童国中 的3回国卷
2211 chengcema git 0918chengce patch sdk2110918%include
D..Xsdck 211701n_watch release_v2.1.1vcode'sdkinclude libydrivercpubr28asmvtch
202379/810214:171,059字节C,C++,C#源代码▼ANSI UNIX
2023/6/2720.01:38833字节C,C++,C#源代码▼ANSI▼ UNIX
#ifndef_RTC_H_
#define二RTCH
#inelude "typedef.h"
#include"system/sys_time.h"
#inelude"rte_calculate.h"
struct rte_dev_platform_data
const struct sys_time *default_sys_time;
const struct sys_time *default_alarn;
fln
#inelude "typedef.h"
#include "system/sys_time.h"
#include "rtc_calculate.h"
struct rte_dev_platforn_data{​
const struct sys_time *default_sys_time;
const struct sys_time *default_alarm;
ved(ebfun)(u8)
u8 c1k_sel;
u8 x32xs;
u8 wkup_ihz_en;
u8 wkup_2hz_en;
u8 wkup_64hz_en;
u8 wkup_256hz_en;
void(fukup_1hz_handle)(void);
void(*ukup_2hz_handle)(void);
void("ukup_64hz_handle)(void);
void(*ukup_256hz_handle)(void);
vofd(ebfunY
u8 cl1k_sel;
u8 x32xs;
​};
u8);
#define RTC_DEV_PLATFORN_DATA_BEGIN(data)#define RTC_DEV_PLATFORMLDATA_BEGIN(data)
:1:1

7.\include_lib\driverlcpu\br28\asm\rdec_soft.h

直接移植

8.include_lib\btstack\third_party\rcsp\JL_rcsp_protocol.h

image 四
chengce patch sdk21.aL_rsp_protocol.h
+的3中口阻邑
会话▼*固★童心/
.glt 0918chengce patch sd22110918lnclude Ib'btstackthird partyArSDNL TCSp protocolL
,D.code'sdklnclude_lib\btstack'third partyvespULresp_protocolh
2023/9/810:14:257,365字节C,C++,C#源代码▼ UTF-8▼UNIX
2023/6/2720:01:367,331字节C,C++,C#源代码▼ UTF-8▼ UNIX
enum{​
enum
L_oPCODE_DATA=0x81,
L_OPCODE_DATA =Bxe1,
DL_OPCODE_GET_TARGET_FEATURE_MAP =8xe2,
JL_OPCODE_GET_TARGET_FEATURE_MAP =0x82,
L_OPCODE_GET_TARGET_FEATURE =0x83,
L_OPCODE_GET_TARGET_FEATURE =0x⁸3,
L_OPCODE_APP_RECORDING=8x@4,
//JL_OPCODESWITCH_DEVICE =0x84,
JL_OPCODE_APP_RECORD_END=0xe⁵,
DL_OPCODE_DISCONNECT_EDR =0x86,
JL_OPCODE_DISCONNECT_EDR =8x86,
L_OPCODE_SYS_INFO_GET =BxB7,
L_OPCODE_SYS_INFO_GET =x⁸7,
DL_oPCODE_sYS_INFO_SET =BxeB,
JL_OPCODE_SYS_INFOSET =8x8B,
L_OPCODE_sY5_INFO_AUTO_UPDATE =0xe9,
L_OPCODE_SY5_INFO_AUTO_UPDATE =8xe9,
JL_OPCODE_CALL_REQUEST =8xa,
JL_OPCODE_CALL_REQUEST =axa,
L_OPCODE_sHITCH_DEVICE =Bxeb,
pL_OPCODE_SMITCH_DEVICE =Dxeb,
DL_OPCODE_FILE_BROWSE_REQUEST_START =BxeC,
DL_OPCODE_FILE_BROMSE_REQUEST_START =8xeC,
L_oPCoDE_FILE_BROMSE_REQUEST_STOP=@xeD,
L_oPCODE_FLE_BROWSE_REQUEST_STOP =0xeD,
DL_OPCODE_FUNCTION_CHD =8x8E,
DL_OPCODE_FUNCTION_CHD =8x8E,
JL_OPCODE_SYS_OPEN_BT_SCAN =8x12,
JL_OPCODE_SYS_0PEN_BT_SCAN =8×12,
LoPcoDE sys UPDATE BT STATUS =8×13.
L OPCoDE SYS UPDATE BT STATUIS =8×13.

9.include_lib\btctrler\btcontroller_modules.h

会话▼
青+的急中l
鱼
D..chengce_patch sdk211_0918Uncude_libbtctrler'btcontroller modules.h
DLNsdk_211701n_watch release_v2.1.1\code\sdknclude_ib\btctrlervbtcontroller_modules.h1
2023/9/810:14349,325字节C,C++,C源代码▼ UTF-8▼UNIX
2023/6/2720:01:338,836字节C,C++,C源代码▼ UTF-8▼ UNIX
… --*/
gbrief ble_rf_adv_fixed_channel
eparan channel_index;指定信道定频;
range B~39 fixed freq,or exff·
*eparan pktent:
adv方式,1次发包的个数:range 1~3
·配置ble的adv状态定频
*/
bool ble_rf_advfixed_channel(u8 channeL_index,uB pktcnt);
…/
@brief bredr_get_rssi_for_addras5
@brief bredr_get_rssi_for_address
*获取已连接设备的r55i
*获取已连接设备的r5si
eparan address对方mac地址
eparan address对方mac地址
ereturn rssi值,range(-127~+127)
ereturn rssi值,range(-127~+127)

10.\cpu\br28\ui_driver\interface\ui_platform.c

③chengce patch_sdk21.@ui platform.e
会话★·固盘国→2+4的3李旧国包
lchencema qit0916cthenoce patch sdk2110919%PDbr28ui drivertinterfaceui platfoma
,D.Isdk_211701n_watch release_v21.1vcode'sdkicpubr28ui drverinterfacelui platformc ·
2023/9/810:14:50160,862字节C,C++,C*源代▼UTF-8▼UNIX
2023/6/27195948160,510字节C,C++,C#源代码▼UTF-8▼UNIX
/*RES_PATH“watchS/watch3.sty”,1
/RES_PATH“watch3/uatch3.sty”,1/
/RES_PATH"watch4/match4,sty",/
/"RES_PATH"watch4/uatch4,sty",!
SAT“atcs/atchs.t”,
/RES_PATH"wtch5/uatch5.sty",/
/”;/
#define WATCHLITEMS_LIMIT
#dafine WATCH_ITENS_LINIT
48
48
CHATCH_ITES_LIHIT+1e/确保>=MATCH_ITEHS_L
(MATCH_ITENS_LIHIT+18)//(确保>=MATCHL_ITEMS_L
#define BGP_ITEMS_LIMIT
#define BGP_ITEMS_LIHIT
#if TCF6_PAY_TRANSITCODE_ENABLE
#define ALIPAY_CARD_FILE
48
#else
define ALIPAY_CARD_FILE
#endif
struct_MATCHLSTYLE{​
struct_MATCHLSTYLE {​
u8 watch_style;
u8 watch_style;
s8 standby_watch_style;
58 standby_watch_style;
);
;
statie struct_MATCHLSTYLE dial_sty;
statie struct_MATCH_STYLE dial_sty;
static u8 watch_itens;
static uB watch_itens;
statie volatile u8 watch update over =0:
static volatile u8 watch update over =8:
prnT(TLe_num:an,T1e_num);
prinTT(T1le_num:o\n”,Tle_num);
if(file_num >=(BGP_ITEMS_LIMIT+ALIPAY_CARD_FLE))《
if(file_num =BGP_ITEMS_LIHIT)《
printf("file num overflow %d\n",file_num);
printf("file num overflow %d\n",file_num);
watch_free(fname_buf);
watch_free(fname_buf);
return-1;
return-1;
​}
I
for(i=0;i<file_num;i++)
for(i=8;i<file_num;i++)(
fname =&fname_buf[i
12];
fname =&fname_buf[i
12];
for(j=8;j<12;j++)
for(j =8;j<12;j++){​
if(fname[j]= i fname[j]='θ'){​
if(fname[j]
fname[j]'e';
fname[j]='e';
break;
break;
​}
image len =root_path_len +fname_len +1+fname_len +suffix_len;len =root_path_len +fname_len +1+fname_lenif(watch_items<MATCH_ITEMS_LIMIT)watch_res[watch_items]=watch_malloc(len+1);watch_res[watch_items]=watch_malloc(len +1);if(watch_res[watch_items]==NULL)if(watch_res[watch_items]==NULL)printf("\n\nmalloc watch list err\n\n");printf("\n\nmalloc watch list err\n\n");watch_free(fname_buf);watch_free(fname_buf);return-1;return -1;strepy(watch_res[watch_items],RES_PATH);strcpy(watch_res[watch_items],RES_PATH);strcpy(&watch_res[watch_items][root_path_len],fname);strepy(&watch_res[watch_items][root_path_len],+watch_res[watch_items][root_path_len+fname_len]/';watch_res[watch_items][root_path_len +fname_lerstrepy(&watch_res[watch_items][root_path_len +fname_len +1],fstrepy(&watch_res[watch_items][root_path_len ++strcpy(&watch_res[watch_items][root_path_len +fname_len +1+fstrepy(&watch_res[watch_itemsj[root_path_len ++watch_res[watch_items][len]=e';watch_res[watch_items][1en]=e';printf("watch list:%s,d,%d\n",watch_res[watch_items],watcprintf("watch list :%s,%d,%d\n",watch_res[wEwatch_items++;watch_items++;printf("watch_items overflow \n");
​}else if(strncmp(fname,"bgP_w",strlen("bgp_M"))-=θ){​​}else if(strncmp(fname,"bgp_w",strlen("bgp_w"))

11.cpubr28\libal下库文件

system.a,alpay_iot_vendor.a等所有库文件
12.appslwatch\ui\lcdlui_sys_param_api.c
image 13.appslwatch\task_manager\rtclalarm_api.c
image

chengce_patch sdk21...
aalarm_apic
会话
图盘地中2+的3旧目的
D:.…kchengce_patch_sdk211_0918appswatchtask_managervteclalam_apicD.sdk21701n_watch release v2.1.1ycode'sdkappswatchtask managerytecalarm_apic
2023/9/810:16.2929,687字节C,C++,C#源代码▼ UTF-8▼UNIX
2023/6/2719:59:1129,621字节C,C++,C#源代码▼ UTF-8▼ UNIX
#include "app_task.h"
#include "app_config.h"
#if TCFG_PAY_ALIOS_ENABLE
#if(TCFG_PAY_ALIO5_MAY_SEL==TCFG_PAY_ALIOS_MAY_ALIYUN)
#include upay.h"
#define ALIOS_SYMC_TIME_DONE()
upay_vendor_sync_time_done()
#else
#include "alipay.h"
#include "app_task.h".
#include"app_config,h"
#if TCFG_PAY_ALIOS_ENABLE
#if(TCF6_PAY_ALIO5_MAY_SEL ==TCFG_PAY_ALIO5_MAY_ALIYUN)
#include "upay.h"
#define ALIOS_SYNC_TIME_DONE()
upay_vendor_syne_time_done()
#else
#include"alipay.h"
#if ALIPAY_SE_FW_V2_e
#define ALIOS_SYMC_TIME_DONE()
#else
#define ALIOS_SYMC_TINE_DONE()
alipay_vendor_sync_time_done()
#define ALIOS_SYMC_TIME_DONE()
alipay_vendor_sync_time_done()
#endif
#endif
#endif
#if TCFG_APP_RTC_EN
#ifdef RTC_ALM_EN
/"#define ALARM_DEBUG_EN*/
#ifdef ALARM_DEBUG_EN
#define alarm_printf
printf
#define alarm_putchar
putchar
#define alarmLprintf_buf
put_buf
welse
#define alarn_printf(….)
#endif
#endif
#5f TCFG_APP_RTC_EN
#ifdef RTC_ALM_EN
/”#define ALARM_DEBUG_EN*/
#ifdef ALARM_DEBUG_EN
#define alarm_printf
printf
#define alarn_putchar
putchar
#define alarm_printf_buf
put_buf
else
#define alarm_printf(….)
1:1
编译器指示符
1:1
编译器指示符

并include:"svstem/includes.h"9

14.\appslwatch\task_manager\bt\bt_event_fun.c

chengce_patch sdk21.“1a bt event fun.c
imageimage

15.\appslwatch\task_manager\bt\bt.c

image 存在新
image 会话*·图童 2÷的34□目包
DA.kchengce_patch sdk211_0918appswatchtask_managerbtybtc
,Dxchengcema'sdk 211701n_watch releaseyV2.1.1code'sdkappswatchtask_managerbtbtc☑
2023/9/810:17:0943,016字节C,C++,C源代码▼UTF-8UNIX
2023/6/2719:59:1142,274字节C,C++,C源代码▼UTF-8▼ UNIX
1og_info("BT_STATUS_vDICE_RECOGNITION \n");
1og_info("BT_STATUS_voICE_RECOGNITION n");
bt_status_voice_recognition(bt);
bt_status_voice_recognition(bt);
break;
break;
case BT_STATUS_AVRCP_INCOME_OPID:
case BT_STATUS_AVRCP_INCOME_OPID:
1og_info("BT_STATUS_AVRCP_INCOME_OPID \n");
1og_info("BT_STATUS_AVRCP_IMCOME_OPID \n");
bt_status_avrep_incone_opid(bt);
bt_status_avrcp_income_opid(bt);
break;
break;
case BT_STATUS_RECONN_OR_CONN:
case BT_STATU5_RECONN_O_CONN:
1og_info("BT_STATUS_RECONN_OR_CONN \n");
1og_info("BT_STATUS_RECOWN_OR_CONN\n");
#if USER_SUPPORT_PROFILE_PBAP_LIST
#if USER_SUPPORT_PROFILE_PBAP_LIST
Usar_send_cnd_prepare(USER_CTRL_PBAP_CONNECT,e,NULL);
user_send_cnd_prepare(USER_CTRLPBA_CONNECT,θ,NULL);
#endif
t#endif
if defined USER_SUPPORT_PROFILE_PAN &&USER_SUPPORT_PROFILE_PAN
user_pan_send_cmd(NULL,2,e,MULL);
#endif
break;
break;
default:
default:
log_info(”BT STATUS DEFAULT\n");
log_info("BT STATUS DEFAULT\n");
break
break;
return e;
retrn e)
​}
​}


_this->cmd_flag■0;
_this->cmd_flag·8;
二this->call_flag=8;
this->call_flag=8;
​}
yoid bt_charge_f18g_set(void)
_this->cmd_f¹8g=1;
/**@brief
/**gbrief
蓝牙模式按键响应处理
蓝牙模式按键响应处理
event:按键
@param
event:按键
@param
ereturn
ereturn
1:事件处理B:事件无处理
1:事件处理8:事件无处理
@note
@note
int bt_key_event_handler(struct sys_event *event)
int bt_key_event_handler(struct sys_event *event)
适(5)又件(E)媒揖(E)搜索(B)查看(V)工具(①)碧助(上)
存在新版本
chengce patch scdk21-a btc
会话▼★固盘地→2◆÷的3中旧国箱
..chengce patch_sdk211_0918appswatchtask_manager btbt.c
D\chengcemasdk_211\701n_watch_release_v21.1\code'sdk\apps'watch\task_manager'btbtc 四·
2023/9/810:17.0943,016字节C,C++,CH源代码▼ UTF-8▼UNIX
2023/6/271959:1142,274字节C,C++,C井源代码▼ UTF-8▼ UNIX
void app_bt_task()
void app_bt_task()
{​
{​
int res;
int res;
int msg[32];
int msg[32];
uiupdate_status(STATUS_EXIT_LOMPOMER);
uf_update_status(STATUS_EXIT_LOMPOMER);
extern void setpoweron_idle(u8 idle);
extern int get_poueron_id¹e();
if(1_this->cnd_f1ag)(//鲨牙后台拉回盟牙模式不播放提示音
if(_this->cmd_flag)(//监牙后台拉回蓝牙模式不播放提示音
tone_play_by_path(tone_table[IDEX_TONE_BT_NODE],1);
tone_play_by_path(tone_table[IDEX_TONE_BT_HODE],1);
(P11_DT->CON &BIT(5))
#define WDT_IS_ENABLE()
printf("%s %d",func,MDT_IS_ENABLE());
bt_task_start();
bt_task_start();
if(CONFI6_VTSUAL_BT_F_POMER_LEVEL)
if(CONFIG_VISUAL_BT_RF_POMER_LEVEL)
test_timer =sys_timer_add(NULL,bt_test_timer,1eeee);
test_timer =sys_timer_add(NULL,bt_test_timer,10008);
​}
​}
Mhile(1){​
uhile(1){​
aPp_task_get_nsg(msg,ARRAY_SIZE(msg),1);
app_task_get_msg(msg,ARRAY_SIZE(mS),1);
switch (msg[e]){​
switch(msg[8]){​
case APPNSG 5Y5_EVENT:
case APP_M⁵6_SYS_EVENT:
1284:1
默认文本
126B:1
默认文本
printf("--
printf("

16.两个文件移植过去

image JIELI TECHNOLOGY

·att_over_bredr.c
6,6252023/9/521:15:10
app net event.c
9742023/9/521:15:10

17.\appslwatch\task_manager\app_common.c

会话▼★固盘地2+÷的3旧目6
D4.Ichengce patch sdk2110918appswatchtask managenapp_commonc
acemascdk 211V/D1n watch release v2.1.1vcode'sdkappswa
nagenapp commons
2023/9/810:17:5224,938字节C,C++,C源代码▼UTF-8UNIX
2023/6/271959:1124,390字节C,C++,C源代码▼UTF-8▼UNIX
return app_PoNer_event_handler(dev);
return app_power_event_handler(dev);
​}
static void app_comnon_device_event_handler(struct sys_event event)
static void app_common_device_event_handler(struct sys_event event)
(
int ret =0;
int ret =0;
const char
1ogo■ MULL;
const char
1ogo■ NULL;
const char usb_msg =NULL;
const char usb_msg =NULL;
u8 app =0xff;
u8 app =Qxff;
u8 alarm_flag=0;
u8 alarm_flag =8;
switch((u32)event->arg)
suitch((u32)event->arg)
#if TCFG_PAY_ALTOS_ENABLE 88(TCF6_PAY_ALIO5_MAY_SEL==TCF6_PAY_ALTOS_AY_T_HEAD)
case DEVICE_EVENT_FRON_U2A:
extern yoid upayzali_event_handler(struct sys_event·e);
upay2a1i_event_handler(event);
break;
case DEVICE_EVENT_FROM_A2U;
axtern void ali2upay_event_handler(struct sys_event·e);
a1i2upay_event_handler(event);
break;
#endif //TCFG_PAY_ALIPAY_ENABLE
w
□
chengce_patch sdk21.aapp_commone
会话 ▼·图
童国◆ 幸的3中口目的
D..chengce patch_sdk211_0918appswatchtask managerapp_commonc
rcemaYsck 211701n watch release V2.1.IccdesdkappswatchMlask managenapp conmean4
2023/9/810:175224,938字节C,C++,C#源代码▼UTF-8▼UNIX
2023/6/271959:1124,390字节C,C++,C#源代码▼ UTF-8▼ UNIX
key =&event->u.key;
key =&event-su,key;
if(key->type -■ KEY_DRIVER_TYPE_VOICE)[
if(key->type ■KEY_DRIVER_TYPE_VOICE){​
/语音消息/
/语音消息/
ret =jl_kus_voice_event_handle(event);
ret =jl_kws_voice_event_handle(event);
break;
break;
​}
​}
aPp_common_key_msg_deal(event);
app_conmon_key_nsg_deal(event);
break;
break;
case SYS_NET_EVENT:
extern int net_event_cb(struct sys_event·event);
net_evant_cb(evant);
break;
default:
defau1t:
printf("unknow event\n");
printf("unknow event\n");
break;
break;
#if自
#if e
//opp传输文件demo
//opp传输文件demo
static FILE
fp =NULL;
static FILE*fp =NULL;
attribute((weak))
attrihute((weak))

18.\appslwatch\log_configllib_net_config.c

全部移植
19.\appslwatch\includeluilstyle_JL_new.h乘车码对应的UI page和控件移植
20.appslwatch\common\task_table.c
image

nengce_parch_S⁰K²1m
a ta⁵K_aDlec
会话▼*★童心2年的急必回回的
D...chengce_patch_sdk211_0918\apps\watch\commontask table.c
D:chengcema\sdk211701n_watch release_v21.1\code\sdkappswatchcommontask ta
2023/9/810:18:543477字节C,C++,C#源代码▼UTF-8▼UNIX
2023/6/2719:59:103,337字节C,C++,C#源代码▼UTF-8▼UNIX
include "system/includes.h"#include "system/includes.h"
#inelude "app_config,h"
/任务列表/
const struct task_info task_info_table[]={​
#if TCFG_PAY_ALIOS_ENABLE 88(TCFG_PAY_ALIOS_MAY_SEL==TCFG_PAY_ALIOS
{​"app_core",
1,
θ,2848,1824 ​},
#else
"app_core",
1,
8,1024,1024 .
#endif
#inelude“app_config.h”
/任务列表/
const struct task_info task_info_table[]={​
#if TCFG_PAY_ALIO5_ENABLE (TCFG_PAY_ALIOS_MAY_SEL==TCFG_PAY_ALIOS_MAY_T_HEAD)
("app_core",
1,
e,2048,1824 ​},
#else
("app_core",
1,
0,1024,1024 ​},
#endif
//乘车码应用使用完要kill任务对栈占用厉害
"transitcode",
1,
e,2048+2848+2848+1024,512​},
{​"sys_event",
6,
0,
256,
e
,
"btctrler",
4,
0,
512,
512
,
("btencry",
1,
e,
512.
128 ,
"trs",
5,
8,
512
128
,
#if TCFG_PAY_ALIOS_ENABLE &&(TCFG_PAY_ALIOS_MAY_SEL==TCFG_PAY_ALIOS_MAY_ALTYUN)
("btstack",
3,
e,768+512,
512 ,
#else
{​"btstack",
3,
e,768,
512 ​},
#endif
{​“spo2read”,
1,
256,
​},
("heartrate",
11
8,
256,
a​}
("Esensor",
e,
768,
e ​},
{​"sys_event",
6,
,
256,
8
​},
{​"btctrler",
4,
512,
512
{​"btencry",
1,
8,
512,
128
,
{​"tws",
5,
8,
512,
128
​},
#if TCFG_PAY_ALIOS_ENABLE 8&(TCFG_PAY_ALIOS_wAY_SEL==TCFG_PAY_ALIOS
{​"btstack",
3,
e,768+512,
512 j,
#else
{​"btstack",
3,
θ,768,
512 ​},
#endif
{​"spo2read",
1,
8,
256,
e​},
"heartrate",
11
8,
256,
8​},
"gsensor",
8,
768,
e ​},

21.appslwatch\board\br28\board_701n_demo\board_701n_demo_cfg.h

image 网络控制开关
#define USER_SUPPORT_PROFLE_OPP

#define USER_SUPPORT_PROFILE_OPP 8
中
#ifdef LWrP_USE_BT
#define USER_SUPPORT_PROFILE_PAN 1
#else
#define USER_SUPPORT_PROFILE_PAN 8
#endif
#define TCFG_BLE_BRIDGE_EDR_ENALBE 1//ble 1次连接功能,桥接edr
#if TCFG_BLE_RIDGE_EDR_ENALBE
/ned sam idn
#define TCFG_BLE_BRIDGE_EDR_ENALBE 1//ble 1次连接功能,桥接edr
#if TCFG_BLE_BRIDGE_EDR_ENALBE
ned same aidn

22.appslcommon\third_party_profilelcommonlcustom_cfg.h

和\appslcommon\third_party_profilelcommonlcustom_cfg.c添加的部分。
23.appslcommon\paylupay_t_head下所有文件移植
24.Net文件移植
image 20w0J211J5784地·X北·BoonsC

会注操作 留旧搜索图音0工RD指物H
話…蓝P*·b世器:∵
小a Dthamgunk 21M0In wth nlamav0:1.IKedbydk
回
nid sarty pie
05172420
三
101 n08N010212
net所有
8凶
o
·h pathe ph
hkp
hag
m ne
pay
a
ieksetenstite
9
三
+tetenetic
96112023952:1433

25.appslcommonlconfig\bt_profile_config.c

会话▼*固如盘地 2++的急中回回邑
DA.Ichengce patch sdk2110918appscommonconfigybt profile configc
,DL.sdk_211\701n_watch_release_v21.1ycodelsdkappskcommoniconfig\bt profile configc
2023/981023427427字节C,C++,C#源代码▼UTF-8-UNIX
2023/6/271959487,055字节C,C++,C并源代码▼UTF-8▼UNIX
L8 map_profile_5upport:1;u8 map_profile_support:1;
SDP_RECORD_HANDLER_REGISTER(map_sdp_record_item)={​
,service_record=(u8*)sdp_map_mce_service_data,
.service_record_handle =0xeee10889,
insf
#if defined USER_SUPPORT_PROFILE_PAN 88(USER_SUPPORT_PROFILE_PAN==1)
extern const u8 sdp_pan_service_data[200];
u8 pan_profile_support =1;
const int IPV4_ADDR_CONFLICT_DETECT =0;
const int ntp_get_time_init=e;
SDP_RECORD_HONDLER_REGISTER(pan_sdp_record_item)={​
.service_record=(u8*)sdp_pan_sorvice_data,
.service_record_handle =8x⁸981889E,
enif
/*注意hid_conn_depend_on_dev_company置1之后,安卓手机会默认断开HID连接/
/注意hid_conn_depend_on_dev_conpany置2之后,默认不断开HID连接/
const u8 hid_conn_depend_on_dev_company =1;
SDP_RECORD_HANDLER_REGISTER(map_sdp_record_item)={​
.service_record=(u8*)sdp_map_mCe_service_data,
.service_recordhandle =0xBe810e99,
​};
endif
/*注意hid_conn_depend_on_dev_company置1之后,安卓手机会默认断开HTD连按/
/注意hid_conn_depend_on_dev_company置2之后,默认不断开HID连接/
const us hid_conn_depend_on_dev_conpany =1;

conet R edn aat ramota nnn infn-a
ronet iR edn aat ramnta nnn infn-a
除上述文件,可能会有遗漏部分,具体以移植补丁包为准。