From f70040e5f3ff36762cf9672782d6659b46f8daca Mon Sep 17 00:00:00 2001 From: LiJie <1366947981@qq.com> Date: Mon, 14 Apr 2025 13:21:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=95=8C=E9=9D=A2=E6=97=A0?= =?UTF-8?q?=E8=81=9A=E7=84=A6=E5=AF=BC=E8=87=B4=E7=9A=84=E6=8C=89=E9=94=AE?= =?UTF-8?q?=E6=97=A0=E6=95=88=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../libcpu-amt630hv100/source/uart.c | 10 +- .../libcpu-amt630hv100/source/uart_and_can.c | 654 +- .../design/default/strings/en_US.bin | Bin 4735 -> 4535 bytes .../design/default/strings/strings.xml | 18 +- .../design/default/strings/zh_CN.bin | Bin 4344 -> 4168 bytes .../MOTO_A270T/design/default/ui/new.bin | Bin 8988 -> 8975 bytes .../MOTO_A270T/design/default/ui/new.xml | 2 +- .../awtk-examples/MOTO_A270T/manifest.json | 2 +- .../res/assets/default/raw/strings/en_US.bin | Bin 4735 -> 4535 bytes .../res/assets/default/raw/strings/zh_CN.bin | Bin 4344 -> 4168 bytes .../res/assets/default/raw/ui/new.bin | Bin 8988 -> 8975 bytes .../awtk/awtk-examples/MOTO_A270T/res/rom.bin | Bin 1875904 -> 1875584 bytes .../MOTO_A270T/src/common/moto_config.h | 54 +- .../MOTO_A270T/src/common/universal.c | 27 +- .../MOTO_A270T/src/pages/ui_demo1.c | 35 +- .../MOTO_A270T/src/window_main.c | 8 +- MXC_A27-PCB4.5-270T/proj/amt630hv100.dep | 40912 ++++++++-------- MXC_A27-PCB4.5-270T/proj/awtk.dep | 14490 +++--- .../proj/settings/amt630hv100.dbgdt | 2 +- .../proj/settings/amt630hv100.dnx | 2 +- .../proj/settings/amt630hv100.wsdt | 8 +- .../libcpu-amt630hv100/source/uart.c | 10 +- .../libcpu-amt630hv100/source/uart_and_can.c | 653 +- .../MOTO_A270S/src/common/moto_config.h | 2 + 24 files changed, 28481 insertions(+), 28408 deletions(-) diff --git a/MXC_A27-PCB4.5-270T/ArkmicroFiles/libcpu-amt630hv100/source/uart.c b/MXC_A27-PCB4.5-270T/ArkmicroFiles/libcpu-amt630hv100/source/uart.c index 0a5f66a0..227271e9 100644 --- a/MXC_A27-PCB4.5-270T/ArkmicroFiles/libcpu-amt630hv100/source/uart.c +++ b/MXC_A27-PCB4.5-270T/ArkmicroFiles/libcpu-amt630hv100/source/uart.c @@ -1065,11 +1065,11 @@ static void uart_rx_demo_thread(void *param) //打印 if(len!=0){ - printf("uart2>>>>>>"); - for(uint8_t i=0;i>>>>>"); + // for(uint8_t i=0;i UART3 115200.\n"); + TaskHandle_t tx_task_handle; - vUartInit(uap, 115200, 0); + if (!uap) { + printf("open uart %d fail.\n", UART_BT_PORT); + vTaskDelete(NULL); + return; + } + printf("MXC => UART3 115200.\n"); - if (xTaskCreate(protocol_uart_tx_thread, "uartsend", configMINIMAL_STACK_SIZE, uap, - configMAX_PRIORITIES / 3, NULL) != pdPASS) { - printf("create uart tx demo task fail.\n"); - vTaskDelete(NULL); - return; - } - extern uint8_t system_flag; - system_flag++; - if(system_flag>=2) - Send_software_version(); + vUartInit(uap, 115200, 0); - for (;;) { - len = iUartRead(uap, uartrx, BUFFER_LEN, pdMS_TO_TICKS(10)); + if (xTaskCreate(protocol_uart_tx_thread, "uartsend", configMINIMAL_STACK_SIZE, uap, + configMAX_PRIORITIES / 3, &tx_task_handle) != pdPASS) { + printf("create uart tx demo task fail.\n"); + vTaskDelete(NULL); + return; + } + extern uint8_t system_flag; + system_flag++; + if(system_flag>=2) + Send_software_version(); - // if(len){ - // printf("uart2>"); - // for(i=0;i"); + // for(i=0;i data_len+1){ - upgrade_state++; - } - break; - case 6: - if (uartrx[i] == 0x0a){ - - sum = calculate_cumulative_sum(tlv_data_value); - if(sum != tlv_data_value[str_len-1]){ - printf("CHECKSUM ERROR ,sum = %x ,tlv_data_value=%x \n",sum,tlv_data_value[str_len-1]); - if(flag <5){ - flag ++; - printf("str_len=%d data_len =%d ,",str_len,data_len); - for(j=0;j data_len+1){ + upgrade_state++; + } + break; + case 6: + if (uartrx[i] == 0x0a){ - if(timeout) - timeout=0; + sum = calculate_cumulative_sum(tlv_data_value); + if(sum != tlv_data_value[str_len-1]){ + printf("CHECKSUM ERROR ,sum = %x ,tlv_data_value=%x \n",sum,tlv_data_value[str_len-1]); + if(flag <5){ + flag ++; + printf("str_len=%d data_len =%d ,",str_len,data_len); + for(j=0;j UUP_PACKET_A27_SIZE + 2)) { //4096 + 2 - printf("Invalid uup_rx_data_len %d\n", uup_rx_data_len); - uup_rx_state = 0; - } else { + + #endif + } + + #if 1 + }else{//升级逻辑 + timeout ++; + uart_state = 3; + for (i = 0; i < len; i++) { + switch (uup_rx_state) { + case 0: + if (uartrx[i] == 0x55) { + uup_rx_state++; + uup_rx_rev_len = 0; + uup_rx_ptr = &uup_rx_buf[uup_rx_head][0]; + } + break; + case 1: + if (uartrx[i] == 0x81) + uup_rx_state++; + else + uup_rx_state = 0; + *uup_rx_ptr++ = uartrx[i]; + break; + case 2: + if (uartrx[i] == 0xc6) + uup_rx_state++; + else + uup_rx_state = 0; + *uup_rx_ptr++ = uartrx[i]; + break; + case 3: + uup_rx_data_len = uartrx[i]; + //uup_rx_data_len = (uartrx[i]<<8); uup_rx_state++; *uup_rx_ptr++ = uartrx[i]; + break; + case 4: + //uup_rx_data_len |= uartrx[i]; + uup_rx_data_len = (uartrx[i]<<8) | uup_rx_data_len; + if((uup_rx_data_len > UUP_PACKET_A27_SIZE + 2)) { //4096 + 2 + printf("Invalid uup_rx_data_len %d\n", uup_rx_data_len); + uup_rx_state = 0; + } else { + uup_rx_state++; + *uup_rx_ptr++ = uartrx[i]; + } + break; + case 5: + *uup_rx_ptr++ = uartrx[i]; + if (++uup_rx_rev_len == uup_rx_data_len) + uup_rx_state++; + break; + case 6: + *uup_rx_ptr++ = uartrx[i]; + uup_rx_head = (uup_rx_head + 1) % UUP_RX_FRAME_NUM; + uup_rx_state = 0; + break; } - break; - case 5: - *uup_rx_ptr++ = uartrx[i]; - if (++uup_rx_rev_len == uup_rx_data_len) - uup_rx_state++; - break; - case 6: - *uup_rx_ptr++ = uartrx[i]; - uup_rx_head = (uup_rx_head + 1) % UUP_RX_FRAME_NUM; - uup_rx_state = 0; - break; - } + } + + if (uup_rx_tail != uup_rx_head) { + unsigned char *buf; + unsigned char checksum = 0; + + buf = &uup_rx_buf[uup_rx_tail][0]; + //len = (buf[2]<<8)+buf[3]; + len = buf[2]; + len = buf[3]<<8 | len; + for (i = 0; i < len + 4; i++) + checksum ^= buf[i]; + //printf("checksum = 0x%x , buf[len + 4] = 0x%x\n",checksum,buf[len + 4]); + if (checksum == buf[len + 4]) { + timeout =0; + uup_ota_update(uap, buf + 4, len); + } else { + printf("rev frame checksum err.\r\n"); + } + uup_rx_tail = (uup_rx_tail + 1) % UUP_RX_FRAME_NUM; } - if (uup_rx_tail != uup_rx_head) { - unsigned char *buf; - unsigned char checksum = 0; - - buf = &uup_rx_buf[uup_rx_tail][0]; - //len = (buf[2]<<8)+buf[3]; - len = buf[2]; - len = buf[3]<<8 | len; - for (i = 0; i < len + 4; i++) - checksum ^= buf[i]; - //printf("checksum = 0x%x , buf[len + 4] = 0x%x\n",checksum,buf[len + 4]); - if (checksum == buf[len + 4]) { - timeout =0; - uup_ota_update(uap, buf + 4, len); - } else { - printf("rev frame checksum err.\r\n"); + if(timeout >= 3000){//超时退出升级 大约40s + printf("exit ota sj.\n"); + Set_sys_power_on_self_test(100); + Set_sys_upgrade_Flag(2); + printf("UART3_Type_regression .\n"); + extern void UART3_Type_regression(void); + UART3_Type_regression(); + timeout = 0; } - uup_rx_tail = (uup_rx_tail + 1) % UUP_RX_FRAME_NUM; + #endif } - if(timeout >= 3000){//超时退出升级 大约40s - printf("exit ota sj.\n"); - Set_sys_power_on_self_test(100); - Set_sys_upgrade_Flag(2); - printf("UART3_Type_regression .\n"); - extern void UART3_Type_regression(void); - UART3_Type_regression(); - timeout = 0; - } - #endif + //收不到蓝牙心跳信息 复位串口 + if(uart_flag==1) { + break; } - - //收不到蓝牙心跳信息 复位串口 - if(uart_flag==1){ - uart_flag = 2; - printf("reset uart.\r\n"); - UART3_Modification_Type(); - vUartClose(uap); - uap = xUartOpen(UART_BT_PORT); - UART3_Type_regression(); - vUartInit(uap,115200,0); - bt_communication_heartbeat = 10; + } - + uart_flag = 2; + printf("reset uart.\r\n"); + + //关闭发送任务 + vTaskDelete(tx_task_handle); + //关闭Uart + vUartClose(uap); + //配置为GPIO + UART3_Modification_Type(); + //延时100 + vTaskDelay(pdMS_TO_TICKS(100)); + //配置为Uart + UART3_Type_regression(); + //重置心跳检测 + bt_communication_heartbeat = 5; + } } diff --git a/MXC_A27-PCB4.5-270T/lib/awtk/awtk-examples/MOTO_A270T/design/default/strings/en_US.bin b/MXC_A27-PCB4.5-270T/lib/awtk/awtk-examples/MOTO_A270T/design/default/strings/en_US.bin index e2be7f55bb3ad155c8225f71d19b4d86c0a584e0..3ab51e388bcb1b9146182d57ad06002a4dfb6869 100644 GIT binary patch delta 539 zcmXxfPbk9y0LAgQKiD7aw^F+}h`DIuphcl}!by@6N>ZaZs9knY^XFm*hqXj22PLJ< zWontIAqQj0L7MzIj*E-NLCyE#)#vrDuk1}XMWkN+nxqM{l*gz=dPBe}9iXK`x<;^4 zGODC$WYKPu&f&95C%D8d9`Fn~q*ipG3jy?F1ml=R$f1aq8S6-37a0`rffD4DtZ<_l zKD5D)ZVX@$lbA;cVMMWwB#v=`8x&B)C%&BgZ>yFzu!juXHPR+rwNeg`D53<5i(@e0 zK|MMV!~zzviZ#TLz&_GA!xi$l$1C0=)HlqAWQPY{_|bzt3}FmYm_ryVh$4n9?BEb7 oWROJ;PxwKjTN*|ZNBB>w&U|W%zc?CFGftN^9(UcPmW;CL4|p delta 647 zcmZwCPe{`N0LAe)n}1sSqbsPGhml1_!;9Ia4i!lfT?Sp&NgWG?+>Ev%teRK~A}#0# zg~}QuqzE+hN2r-BLJ;&69zszB+iXR82!!aMe(!boJl^FU-ek?*$)t2yM@pn9Hqm)N z`h$Q~n!}Y+X#)?-q}p;Rfn_vRNGrH{P+Gz&3fRUDj@hI}+<+eeG@}Fe(2W6`k{YCp zU;-bp4)-Cc0d45QW2Ep58JPHhSxQIsFL@VwhnI!s$$0b~c9|1I@9dRVkgMJuzg->w)Bs^{@hWl>ww`IP< z;mc1wDLj2w%)Q)9jTqB5?|Gj$7H(<16Y@qQ-e4pg4h5si&%7;W-xQ7X_x{1cQuickly arrange 快排功能 - - 仪表蓝牙已关闭,不可连接 - Instrument Bluetooth turned off, unable to connect - 热点: Hotspot: @@ -230,17 +226,9 @@ 4.After successful connection, allow Carplay to connect and start using the Carplay function. 4.连接成功后,允许Carplay连接,就可以开始使用CarPlay功能了。 - - Hotspot Name: - 热点名称: - - - Quickly arrange - 快排功能 - - - 仪表蓝牙已关闭,不可连接 - Instrument Bluetooth turned off, unable to connect + + 仪表蓝牙已关闭 + Instrument Bluetooth turned off 1. Unlock your smartphone, find and enter the "Settings" menu, and make sure the Bluetooth function is turned on. diff --git a/MXC_A27-PCB4.5-270T/lib/awtk/awtk-examples/MOTO_A270T/design/default/strings/zh_CN.bin b/MXC_A27-PCB4.5-270T/lib/awtk/awtk-examples/MOTO_A270T/design/default/strings/zh_CN.bin index 95b05df20933b0141182702a632897fb9a853c05..a87077cc4ab01c27eead79fe1c305929d5743f1b 100644 GIT binary patch delta 539 zcmXxgPbk9y7{>8u#@KIcOHwXt4v3bvn@NhaB5KJ+rnJIE{@iJ52ijr&OmdowR&vsB z2Sr+`aiDf^&~`z}PIj^!R(vns`n)~2r}zEoeDKDkVbv^Bq)xg)$SM^OsFx1mZjh4b zvq^b$G)gNdVWLUO!ef_u;71UnSi~;&aEvrEFpA_EgS6!3~qeBl>vhvbDHgBZg!7O;#}2lt;7KJX1&vowz^d@a%$E^&)T6!C^K zDyX8>DfMFjqZmgRvxs5?+t@)8$4KJ>S20!|&nV#?71UsLNe0^BK^J@oB7`Z-U=C5N pVH0sAaD+6j@dCS>FJJ`!W46`xHl_BBcGEQC)>PPeX9isNmOqj?PV)c& delta 617 zcmb8o%PRu_0LSqk^V(*kB@Tq$$PPp!iaZi2aTB5_DUS`!6_re*OAgey8a_c9&GDgm9@JezX{*AgUvzHDp9e%P5PI?vWEM zjpGAtG13K`MyUihg!;~qhLA>1q( z5sxIKA`1nmLIYaSfkC)2hgEFh0B5*1^Z!73hCNnlMh`}C1&2lQBE>3Y!ijR!p#|OO z!w^Q{h8M>;gC93|#2Y?gh?8uvBilvfqZpN_MH4zPfN@M<77JL15BoU5C9ZIb7kuLv z5%H24Hl)FUToj@LwdjJyP3++nAzvsgFUI0{+MNtcZw8O%pQn~Qai+xoFTNtvn8D+< K-1*wAfv`UZ`gjNc diff --git a/MXC_A27-PCB4.5-270T/lib/awtk/awtk-examples/MOTO_A270T/design/default/ui/new.bin b/MXC_A27-PCB4.5-270T/lib/awtk/awtk-examples/MOTO_A270T/design/default/ui/new.bin index 67584a0103ebe8b313178a1f9a346c65e9c78f8c..9f5d2616bae5a1d4b5624f007bc9f576a9ee7541 100644 GIT binary patch delta 33 ncmbQ^*6+4qwg{&OBLhP|5SvV1B666Sfq`LSzuM-xqV>E0ps)#5 delta 46 zcmeBoo8z`&wg{&MBLhPu5W7rXB63(j=gE%Vr~T_+?4S3nZz%%#*N B5)}Xd diff --git a/MXC_A27-PCB4.5-270T/lib/awtk/awtk-examples/MOTO_A270T/design/default/ui/new.xml b/MXC_A27-PCB4.5-270T/lib/awtk/awtk-examples/MOTO_A270T/design/default/ui/new.xml index 690a9f91..9ace48b4 100644 --- a/MXC_A27-PCB4.5-270T/lib/awtk/awtk-examples/MOTO_A270T/design/default/ui/new.xml +++ b/MXC_A27-PCB4.5-270T/lib/awtk/awtk-examples/MOTO_A270T/design/default/ui/new.xml @@ -29,7 +29,7 @@