From 2ebb8217f43b69f491620423ea4d5d5944d1f91d Mon Sep 17 00:00:00 2001 From: yincheng.zhong <634916154@qq.com> Date: 星期六, 05 七月 2025 22:43:58 +0800 Subject: [PATCH] 格式化部分代码 --- keil/include/drivers/mk_trace.c | 2 keil/include/components/hal/UART.c | 82 keil/include/src/GPS.c | 296 +- keil/include/components/internet/src/AIR780ESocket.c | 508 +- keil/include/drivers/WS2812.c | 40 keil/Objects/uwb_simple_example.build_log.htm | 25 keil/include/src/OTA.c | 184 keil/include/components/internet/src/NTRIPClient.c | 154 keil/include/components/internet/src/TTS.c | 2 keil/include/components/internet/src/Internet.c | 14 keil/include/components/internet/src/Socket.c | 94 keil/include/drivers/Shell.c | 184 keil/include/drivers/DBG.c | 16 keil/include/components/internet/src/HTTPClient.c | 340 +- keil/include/components/internet/src/TONE.c | 2 keil/Listings/uwb_simple_example.map | 32 keil/include/drivers/mk_misc.c | 107 keil/include/components/internet/src/AIR780EFSM.c | 1564 ++++++------ keil/Objects/uwb_simple_example.htm | 2 keil/include/components/internet/src/AIR780EDriver.c | 90 keil/uwb_simple_example.uvguix.zhyin | 109 keil/include/drivers/global_param.c | 16 keil/Objects/uwb_simple_example_MK8000 Release.dep | 60 keil/include/drivers/dps310.c | 488 +- keil/include/drivers/lis3dh_driver.c | 282 + keil/include/src/gps.c.orig | 978 ++++++ keil/include/components/internet/src/AIR780ECSQ.c | 70 keil/include/drivers/dps368_test.c | 122 keil/include/src/NTRIPApp.c | 80 keil/include/src/TCPClient.c | 343 +- keil/include/src/TCPClient.c.orig | 812 +++++ keil/include/components/internet/src/Module.c | 64 keil/include/src/SPIV1.07.c | 2 keil/include/drivers/serial_at_cmd_app.c | 32 keil/include/drivers/PCA9555.c | 496 +- keil/include/drivers/Usart.c | 2 keil/include/src/TCPClient_1.c | 80 37 files changed, 4,674 insertions(+), 3,100 deletions(-) diff --git a/keil/Listings/uwb_simple_example.map b/keil/Listings/uwb_simple_example.map index f11428e..d2c1b8b 100644 --- a/keil/Listings/uwb_simple_example.map +++ b/keil/Listings/uwb_simple_example.map @@ -11647,17 +11647,17 @@ Code (inc. data) RO Data RW Data ZI Data Debug Object Name 212 52 11 16 4 4317 air780ecsq.o - 984 140 2501 0 3832 8990 air780edriver.o - 3212 882 675 48 101 18159 air780efsm.o - 1712 480 199 0 28 10435 air780esocket.o + 984 140 2501 0 3832 8992 air780edriver.o + 3212 882 675 48 101 18155 air780efsm.o + 1712 480 199 0 28 10437 air780esocket.o 626 52 0 0 104 8500 board.o 44 4 512 0 0 1894 crc.o 736 48 0 8 1580 6998 dbg.o 320 32 0 0 200 1832 global_param.o - 698 142 9 0 142 9203 gps.o - 48 4 0 0 0 2687 internet.o + 698 142 9 0 142 9197 gps.o + 48 4 0 0 0 2685 internet.o 0 0 0 0 4 284 libc.o - 2260 24 0 1 18 41763 lis3dh_driver.o + 2260 24 0 1 18 41483 lis3dh_driver.o 3422 500 208 75 173 16481 main.o 944 156 57 0 32 12548 mk_adc.o 520 96 25 64 0 18740 mk_aes.o @@ -11668,7 +11668,7 @@ 6128 420 368 124 0 40273 mk_flash.o 732 32 0 84 0 9506 mk_gpio.o 156 8 0 0 0 4064 mk_io.o - 724 56 91 0 24 15686 mk_misc.o + 724 56 91 0 24 15549 mk_misc.o 832 84 0 0 24 16270 mk_power.o 296 156 26 0 0 4082 mk_reset.o 1000 84 0 24 0 14054 mk_rtc.o @@ -11679,25 +11679,25 @@ 372 72 0 16 0 6450 mk_wdt.o 312 24 0 0 270 7195 module.o 136 8 0 0 1 2965 pal_flash.o - 2492 36 0 0 66 16857 pca9555.o + 2492 36 0 0 66 16829 pca9555.o 254 24 0 0 0 2052 pin_config.o - 936 108 0 3 1136 5884 serial_at_cmd_app.o - 3686 524 639 0 0 12109 shell.o + 936 108 0 3 1136 5882 serial_at_cmd_app.o + 3686 524 639 0 0 12105 shell.o 424 36 0 0 2 6406 sn74hc595.o 1300 144 0 0 10092 11369 socket.o 466 0 0 0 0 6338 spiv1.07.o 42 8 344 0 0 2980 startup_mk800x.o 16 8 0 4 0 652 system_mk800x.o - 3480 616 155 20 5158 12576 tcpclient.o - 380 104 0 4 1508 2894 tcpclient_1.o + 3480 616 155 20 5158 12578 tcpclient.o + 380 104 0 4 1508 2896 tcpclient_1.o 1252 60 112 0 248 9764 uart.o 112 4 0 0 1044 3177 usart.o 1568 164 6 22 1074 12856 uwb_app.o - 260 8 0 0 24 6021 ws2812.o + 260 8 0 0 24 6019 ws2812.o 184 8 0 0 12 4210 wsf_nvm.o ---------------------------------------------------------------------- - 55640 7546 7849 788 43362 506081 Object Totals + 55640 7546 7849 788 43362 505624 Object Totals 0 0 32 0 14336 0 (incl. Generated) 28 0 2 11 45 0 (incl. Padding) @@ -11812,8 +11812,8 @@ Code (inc. data) RO Data RW Data ZI Data Debug - 87412 10166 11968 2108 49676 750199 Grand Totals - 87412 10166 11968 592 49676 750199 ELF Image Totals (compressed) + 87412 10166 11968 2108 49676 749742 Grand Totals + 87412 10166 11968 592 49676 749742 ELF Image Totals (compressed) 87412 10166 11968 592 0 0 ROM Totals ============================================================================== diff --git a/keil/Objects/uwb_simple_example.build_log.htm b/keil/Objects/uwb_simple_example.build_log.htm index 5143cb7..31859e9 100644 --- a/keil/Objects/uwb_simple_example.build_log.htm +++ b/keil/Objects/uwb_simple_example.build_log.htm @@ -27,7 +27,28 @@ <h2>Output:</h2> *** Using Compiler 'V6.14', folder: 'D:\Keil_v5\ARM\ARMCLANG\Bin' Build target 'MK8000 Release' -compiling main.c... +compiling mk_misc.c... +compiling WS2812.c... +compiling Usart.c... +compiling global_param.c... +compiling serial_at_cmd_app.c... +compiling PCA9555.c... +compiling TCPClient_1.c... +compiling AIR780ECSQ.c... +compiling SPIV1.07.c... +compiling DBG.c... +compiling TCPClient.c... +compiling mk_trace.c... +compiling lis3dh_driver.c... +compiling GPS.c... +compiling Shell.c... +compiling AIR780EDriver.c... +compiling AIR780ESocket.c... +compiling Internet.c... +compiling Module.c... +compiling AIR780EFSM.c... +compiling Socket.c... +compiling UART.c... linking... .\include\devices\MK800X\Source\ARM\MK800X_ac6_copy.sct(25): warning: L6314W: No section matches pattern *(.XIP_SECTION). Program Size: Code=87412 RO-data=11968 RW-data=2108 ZI-data=49676 @@ -48,7 +69,7 @@ D:\Users\zhyin\AppData\Local\Arm\Packs\MKSEMI\MK800X_DFP\1.0.3\Device\Include <h2>Collection of Component Files used:</h2> -Build Time Elapsed: 00:00:03 +Build Time Elapsed: 00:00:04 </pre> </body> </html> diff --git a/keil/Objects/uwb_simple_example.htm b/keil/Objects/uwb_simple_example.htm index 427e301..285ea55 100644 --- a/keil/Objects/uwb_simple_example.htm +++ b/keil/Objects/uwb_simple_example.htm @@ -3,7 +3,7 @@ <title>Static Call Graph - [.\Objects\uwb_simple_example.axf]</title></head> <body><HR> <H1>Static Call Graph for image .\Objects\uwb_simple_example.axf</H1><HR> -<BR><P>#<CALLGRAPH># ARM Linker, 6140002: Last Updated: Sat Jul 5 22:37:35 2025 +<BR><P>#<CALLGRAPH># ARM Linker, 6140002: Last Updated: Sat Jul 5 22:43:32 2025 <BR><P> <H3>Maximum Stack Usage = 1620 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3> Call chain for Maximum Stack Depth:</H3> diff --git a/keil/Objects/uwb_simple_example_MK8000 Release.dep b/keil/Objects/uwb_simple_example_MK8000 Release.dep index 1af63ed..36ee5bb 100644 --- a/keil/Objects/uwb_simple_example_MK8000 Release.dep +++ b/keil/Objects/uwb_simple_example_MK8000 Release.dep @@ -238,7 +238,7 @@ I (D:\Keil_v5\ARM\ARMCLANG\include\arm_acle.h)(0x5E0CC318) I (include\devices\MK800X\Include\system_MK800X.h)(0x681DA63F) I (..\user_config.h)(0x6867A4E5) -F (.\include\drivers\mk_misc.c)(0x68672F5E)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/drivers -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/mk_misc.o -MD) +F (.\include\drivers\mk_misc.c)(0x686939A7)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/drivers -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/mk_misc.o -MD) I (include\drivers\mk_misc.h)(0x681DA644) I (include\drivers\mk_common.h)(0x681DA642) I (D:\Keil_v5\ARM\ARMCLANG\include\stddef.h)(0x5DDFFD72) @@ -357,7 +357,7 @@ I (D:\Keil_v5\ARM\ARMCLANG\include\stdarg.h)(0x5DDFFD72) I (include\drivers\mk_clock.h)(0x681DA642) I (include\drivers\mk_power.h)(0x681DA645) -F (.\include\drivers\mk_trace.c)(0x685CE6BC)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/drivers -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/mk_trace.o -MD) +F (.\include\drivers\mk_trace.c)(0x686939A7)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/drivers -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/mk_trace.o -MD) I (include\drivers\mk_trace.h)(0x681DA647) I (include\drivers\mk_common.h)(0x681DA642) I (D:\Keil_v5\ARM\ARMCLANG\include\stddef.h)(0x5DDFFD72) @@ -481,7 +481,7 @@ I (include\drivers\mk_io.h)(0x681DA644) F (.\sn74hc595.h)(0x685CE6BC)() F (.\mk_4G.h)(0x685CE6BC)() -F (.\include\drivers\PCA9555.c)(0x6867A394)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/drivers -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/pca9555.o -MD) +F (.\include\drivers\PCA9555.c)(0x686939A7)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/drivers -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/pca9555.o -MD) I (include\drivers\PCA9555.h)(0x685CE6BC) I (include\board\board.h)(0x685CE6BC) I (include\drivers\mk_common.h)(0x681DA642) @@ -507,7 +507,7 @@ I (include\drivers\DBG.h)(0x685CE6BC) I (include\components\hido\Include\HIDO_TypeDef.h)(0x685CE6BC) F (.\include\drivers\PCA9555.h)(0x685CE6BC)() -F (.\include\drivers\WS2812.c)(0x685CE6BC)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/drivers -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/ws2812.o -MD) +F (.\include\drivers\WS2812.c)(0x686939A7)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/drivers -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/ws2812.o -MD) I (include\drivers\WS2812.h)(0x685CE6BC) I (include\board\board.h)(0x685CE6BC) I (include\drivers\mk_common.h)(0x681DA642) @@ -551,7 +551,7 @@ I (..\user_config.h)(0x6867A4E5) I (include\drivers\mk_uart.h)(0x681DA647) I (D:\Keil_v5\ARM\ARMCLANG\include\stdio.h)(0x5DDFFD72) -F (.\include\drivers\Usart.c)(0x68679626)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/board -I ../keil -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/usart.o -MD) +F (.\include\drivers\Usart.c)(0x686939A7)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/board -I ../keil -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/usart.o -MD) I (include\drivers\Usart.h)(0x6869010D) I (D:\Keil_v5\ARM\ARMCLANG\include\stdint.h)(0x5DDFFD72) I (D:\Keil_v5\ARM\ARMCLANG\include\string.h)(0x5DDFFD6C) @@ -597,7 +597,7 @@ I (include\drivers\mk_io.h)(0x681DA644) I (include\drivers\global_param.h)(0x6867BAD4) I (..\keil\sn74hc595.h)(0x685CE6BC) -F (.\include\drivers\lis3dh_driver.c)(0x68672F5E)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/board -I ../keil -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/lis3dh_driver.o -MD) +F (.\include\drivers\lis3dh_driver.c)(0x686939A7)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/board -I ../keil -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/lis3dh_driver.o -MD) I (include\drivers\lis3dh_driver.h)(0x685CE6BC) I (D:\Keil_v5\ARM\ARMCLANG\include\math.h)(0x5DDFFD6C) I (D:\Keil_v5\ARM\ARMCLANG\include\stdint.h)(0x5DDFFD72) @@ -647,7 +647,7 @@ I (include\drivers\mk_trace.h)(0x681DA647) I (D:\Keil_v5\ARM\ARMCLANG\include\stdarg.h)(0x5DDFFD72) I (include\drivers\global_param.h)(0x6867BAD4) -F (.\include\drivers\global_param.c)(0x6867A238)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/board -I ../keil -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/global_param.o -MD) +F (.\include\drivers\global_param.c)(0x686939A7)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/board -I ../keil -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/global_param.o -MD) I (include\drivers\global_param.h)(0x6867BAD4) I (D:\Keil_v5\ARM\ARMCLANG\include\stdint.h)(0x5DDFFD72) I (include\drivers\mk_flash.h)(0x681DA643) @@ -666,7 +666,7 @@ I (..\user_config.h)(0x6867A4E5) I (include\drivers\mk_dma.h)(0x681DA643) I (include\drivers\mk_misc.h)(0x681DA644) -F (.\include\drivers\serial_at_cmd_app.c)(0x685CE6BC)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/drivers -I ./include/board -I ../keil -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/serial_at_cmd_app.o -MD) +F (.\include\drivers\serial_at_cmd_app.c)(0x686939A7)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/drivers -I ./include/board -I ../keil -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/serial_at_cmd_app.o -MD) I (include\drivers\serial_at_cmd_app.h)(0x685CE6BC) I (D:\Keil_v5\ARM\ARMCLANG\include\stdint.h)(0x5DDFFD72) I (include\drivers\global_param.h)(0x6867BAD4) @@ -806,7 +806,7 @@ I (include\drivers\PCA9555.h)(0x685CE6BC) I (include\drivers\WS2812.h)(0x685CE6BC) I (include\drivers\DBG.h)(0x685CE6BC) -F (.\include\src\TCPClient.c)(0x6867A4E5)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/board -I ../keil -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/tcpclient.o -MD) +F (.\include\src\TCPClient.c)(0x686939D2)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/board -I ../keil -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/tcpclient.o -MD) I (include\src\TCPClient.h)(0x685CE6BC) I (include\components\hido\Include\HIDO_TYpeDef.h)(0x685CE6BC) I (include\components\internet\inc\Socket.h)(0x685CE6BC) @@ -914,7 +914,7 @@ I (include\drivers\mk_gpio.h)(0x681DA643) I (include\drivers\mk_io.h)(0x681DA644) I (include\drivers\mk_calib.h)(0x681DA642) -F (.\include\src\GPS.c)(0x686936A9)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/board -I ../keil -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/gps.o -MD) +F (.\include\src\GPS.c)(0x686939D2)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/board -I ../keil -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/gps.o -MD) I (D:\Keil_v5\ARM\ARMCLANG\include\stdio.h)(0x5DDFFD72) I (D:\Keil_v5\ARM\ARMCLANG\include\stdarg.h)(0x5DDFFD72) I (D:\Keil_v5\ARM\ARMCLANG\include\stdlib.h)(0x5DDFFD6A) @@ -948,8 +948,8 @@ I (include\drivers\mk_gpio.h)(0x681DA643) I (include\drivers\mk_io.h)(0x681DA644) I (include\drivers\global_param.h)(0x6867BAD4) -F (.\include\src\NTRIPApp.c)(0x685CE6BC)() -F (.\include\drivers\DBG.c)(0x686904E9)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/board -I ../keil -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/dbg.o -MD) +F (.\include\src\NTRIPApp.c)(0x686939D2)() +F (.\include\drivers\DBG.c)(0x686939A7)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/board -I ../keil -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/dbg.o -MD) I (D:\Keil_v5\ARM\ARMCLANG\include\stdio.h)(0x5DDFFD72) I (D:\Keil_v5\ARM\ARMCLANG\include\stdarg.h)(0x5DDFFD72) I (D:\Keil_v5\ARM\ARMCLANG\include\string.h)(0x5DDFFD6C) @@ -977,7 +977,7 @@ I (include\drivers\mk_dma.h)(0x681DA643) I (include\drivers\DBG.h)(0x685CE6BC) I (include\drivers\Usart.h)(0x6869010D) -F (.\include\drivers\Shell.c)(0x6867A238)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/board -I ../keil -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/shell.o -MD) +F (.\include\drivers\Shell.c)(0x686939A7)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/board -I ../keil -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/shell.o -MD) I (D:\Keil_v5\ARM\ARMCLANG\include\stdlib.h)(0x5DDFFD6A) I (D:\Keil_v5\ARM\ARMCLANG\include\string.h)(0x5DDFFD6C) I (include\drivers\Shell.h)(0x685CE6BC) @@ -1012,7 +1012,7 @@ I (..\user_config.h)(0x6867A4E5) I (include\drivers\mk_dma.h)(0x681DA643) I (include\drivers\global_param.h)(0x6867BAD4) -F (.\include\src\TCPClient_1.c)(0x68692FD9)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/board -I ../keil -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/tcpclient_1.o -MD) +F (.\include\src\TCPClient_1.c)(0x686939D2)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/board -I ../keil -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/tcpclient_1.o -MD) I (include\src\TCPClient_1.h)(0x685CE6BC) I (include\components\hido\Include\HIDO_TYpeDef.h)(0x685CE6BC) I (include\components\internet\inc\Socket.h)(0x685CE6BC) @@ -1041,8 +1041,8 @@ I (include\devices\MK800X\Include\system_MK800X.h)(0x681DA63F) I (..\user_config.h)(0x6867A4E5) I (include\drivers\mk_dma.h)(0x681DA643) -F (.\include\src\OTA.c)(0x685CE6BC)() -F (.\include\src\SPIV1.07.c)(0x685CE6BC)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/board -I ../keil -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/spiv1.07.o -MD) +F (.\include\src\OTA.c)(0x686939D2)() +F (.\include\src\SPIV1.07.c)(0x686939D2)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/board -I ../keil -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/spiv1.07.o -MD) I (D:\Keil_v5\ARM\ARMCLANG\include\stdbool.h)(0x5DDFFD72) I (include\drivers\mk_gpio.h)(0x681DA643) I (include\drivers\mk_common.h)(0x681DA642) @@ -1060,8 +1060,8 @@ I (..\user_config.h)(0x6867A4E5) I (include\drivers\mk_io.h)(0x681DA644) I (include\components\hido\Include\HIDO_TypeDef.h)(0x685CE6BC) -F (.\include\drivers\dps310.c)(0x68672F5E)() -F (.\include\drivers\dps368_test.c)(0x68672F5E)() +F (.\include\drivers\dps310.c)(0x686939A7)() +F (.\include\drivers\dps368_test.c)(0x686939A7)() F (.\include\components\wsf\sources\port\baremetal\wsf_assert.c)(0x681DA63E)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I ./include/components/wsf/include/platform -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/wsf_assert.o -MD) I (include\components\wsf\include\wsf_assert.h)(0x681DA63C) I (include\components\wsf\include\wsf_trace.h)(0x681DA63E) @@ -1372,7 +1372,7 @@ I (include\components\hido\Include\HIDO_TypeDef.h)(0x685CE6BC) I (D:\Keil_v5\ARM\ARMCLANG\include\stdlib.h)(0x5DDFFD6A) I (D:\Keil_v5\ARM\ARMCLANG\include\string.h)(0x5DDFFD6C) -F (.\include\components\internet\src\AIR780ECSQ.c)(0x685CE6BC)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/air780ecsq.o -MD) +F (.\include\components\internet\src\AIR780ECSQ.c)(0x686939F1)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/air780ecsq.o -MD) I (include\components\internet\inc\AIR780ECSQ.h)(0x685CE6BC) I (include\components\hido\Include\HIDO_TypeDef.h)(0x685CE6BC) I (include\components\hido\Include\HIDO_ATLite.h)(0x685CE6BC) @@ -1410,7 +1410,7 @@ I (include\components\hido\Include\HIDO_Timer.h)(0x685CE6BC) I (include\components\hido\Include\HIDO_Debug.h)(0x685CE6BC) I (include\components\internet\inc\ATConfig.h)(0x685CE6BC) -F (.\include\components\internet\src\AIR780EDriver.c)(0x686932C7)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/air780edriver.o -MD) +F (.\include\components\internet\src\AIR780EDriver.c)(0x686939F1)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/air780edriver.o -MD) I (include\components\internet\inc\AIR780EDriver.h)(0x685CE6BC) I (include\components\internet\inc\Socket.h)(0x685CE6BC) I (include\components\hido\Include\HIDO_TypeDef.h)(0x685CE6BC) @@ -1447,7 +1447,7 @@ I (include\components\hido\Include\HIDO_Debug.h)(0x685CE6BC) I (include\components\hido\Include\HIDO_Log.h)(0x685CE6BC) I (include\drivers\DBG.h)(0x685CE6BC) -F (.\include\components\internet\src\AIR780EFSM.c)(0x68690C4B)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/air780efsm.o -MD) +F (.\include\components\internet\src\AIR780EFSM.c)(0x686939F1)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/air780efsm.o -MD) I (include\components\internet\inc\AIR780EFSM.h)(0x685CE6BC) I (include\components\hido\Include\HIDO_TypeDef.h)(0x685CE6BC) I (include\components\hido\Include\HIDO_ATLite.h)(0x685CE6BC) @@ -1486,7 +1486,7 @@ I (include\components\hido\Include\HIDO_Debug.h)(0x685CE6BC) I (include\components\internet\inc\ATConfig.h)(0x685CE6BC) I (include\components\hal\UART.h)(0x685CE6BC) -F (.\include\components\internet\src\AIR780ESocket.c)(0x685CE6BC)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/air780esocket.o -MD) +F (.\include\components\internet\src\AIR780ESocket.c)(0x686939F1)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/air780esocket.o -MD) I (include\components\internet\inc\Socket.h)(0x685CE6BC) I (include\components\hido\Include\HIDO_TypeDef.h)(0x685CE6BC) I (include\components\hido\Include\HIDO_VLQueue.h)(0x68672F5E) @@ -1524,7 +1524,7 @@ I (include\components\hido\Include\HIDO_Debug.h)(0x685CE6BC) I (include\components\internet\inc\Module.h)(0x685CE6BC) I (include\components\internet\inc\ATConfig.h)(0x685CE6BC) -F (.\include\components\internet\src\Internet.c)(0x685CE6BC)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/internet.o -MD) +F (.\include\components\internet\src\Internet.c)(0x686939F2)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/internet.o -MD) I (include\components\internet\inc\Internet.h)(0x685CE6BC) I (include\components\hido\Include\HIDO_TypeDef.h)(0x685CE6BC) I (include\components\hido\Include\HIDO_VLQueue.h)(0x68672F5E) @@ -1557,12 +1557,12 @@ I (include\components\internet\inc\AIR780EFSM.h)(0x685CE6BC) I (include\components\hido\Include\HIDO_ATLite.h)(0x685CE6BC) I (include\components\hido\Include\HIDO_FSM.h)(0x685CE6BC) -F (.\include\components\internet\src\Module.c)(0x685CE6BC)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/module.o -MD) +F (.\include\components\internet\src\Module.c)(0x686939F2)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/module.o -MD) I (include\components\internet\inc\Module.h)(0x685CE6BC) I (include\components\hido\Include\HIDO_TypeDef.h)(0x685CE6BC) I (D:\Keil_v5\ARM\ARMCLANG\include\string.h)(0x5DDFFD6C) I (include\components\hido\Include\HIDO_Util.h)(0x685CE6BC) -F (.\include\components\internet\src\Socket.c)(0x68672F5E)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/socket.o -MD) +F (.\include\components\internet\src\Socket.c)(0x686939F2)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/socket.o -MD) I (D:\Keil_v5\ARM\ARMCLANG\include\string.h)(0x5DDFFD6C) I (include\components\internet\inc\Socket.h)(0x685CE6BC) I (include\components\hido\Include\HIDO_TypeDef.h)(0x685CE6BC) @@ -1571,12 +1571,12 @@ I (include\components\hido\Include\HIDO_Util.h)(0x685CE6BC) I (include\components\hido\Include\HIDO_Debug.h)(0x685CE6BC) I (include\components\hido\Include\HIDO_ArraryQueue.h)(0x685CE6BC) -F (.\include\components\internet\src\NTRIPClient.c)(0x685CE6BC)() -F (.\include\components\internet\src\HTTPClient.c)(0x685CE6BC)() +F (.\include\components\internet\src\NTRIPClient.c)(0x686939F2)() +F (.\include\components\internet\src\HTTPClient.c)(0x686939F2)() F (.\include\components\internet\src\Audio.c)(0x685CE6BC)() -F (.\include\components\internet\src\TONE.c)(0x685CE6BC)() -F (.\include\components\internet\src\TTS.c)(0x685CE6BC)() -F (.\include\components\hal\UART.c)(0x685CE6BC)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/uart.o -MD) +F (.\include\components\internet\src\TONE.c)(0x686939F2)() +F (.\include\components\internet\src\TTS.c)(0x686939F2)() +F (.\include\components\hal\UART.c)(0x686939F9)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -w -I .. -I ./include/board -I ./include/CMSIS/Include -I ./include/components/algo/inc -I ./include/components/crc -I ./include/components/libc -I ./include/components/wsf/include -I ./include/components/wsf/include/platform -I ./include/devices/MK800X/Include -I ./include/drivers -I ./include/components/hido/Include -I ./include/components/internet/inc -I ./include/components/hal -I ../keil -I ./include/src -I ./include/components/internet/src -Wno-declaration-after-statement -Wno-double-promotion -Wno-extra-semi-stmt -Wno-gnu-zero-variadic-macro-arguments -Wno-padded -Wno-unused-parameter -I./RTE/_MK8000_Release -ID:/Users/zhyin/AppData/Local/Arm/Packs/MKSEMI/MK800X_DFP/1.0.3/Device/Include -ID:/Keil_v5/ARM/CMSIS/Include -D__UVISION_VERSION="530" -D_RTE_ -DUWB_EN -DSTD_LIBC -o ./objects/uart.o -MD) I (D:\Keil_v5\ARM\ARMCLANG\include\string.h)(0x5DDFFD6C) I (D:\Keil_v5\ARM\ARMCLANG\include\stdio.h)(0x5DDFFD72) I (include\components\hido\Include\HIDO_Util.h)(0x685CE6BC) diff --git a/keil/include/components/hal/UART.c b/keil/include/components/hal/UART.c index b409785..795a75d 100644 --- a/keil/include/components/hal/UART.c +++ b/keil/include/components/hal/UART.c @@ -69,7 +69,7 @@ { enum UART_BAUD_T baud; HIDO_UINT32 u32Baud; -} baud_map[] = +} baud_map[] = { {BAUD_1200, 1200}, {BAUD_2400, 2400}, @@ -99,7 +99,7 @@ return baud_map[i].baud; } } - + return BAUD_115200; } @@ -108,11 +108,11 @@ *******************************************************************************/ /******************************************************************************* - * Function Name : - * Description : - * Input : - * Output : - * Return : + * Function Name : + * Description : + * Input : + * Output : + * Return : * Author : 杜键 * Modified Date: : 2018年4月24日 *******************************************************************************/ @@ -120,7 +120,7 @@ { /* 初始化参数 */ HIDO_UtilBzero(&l_astUartInfo[_eUartID], sizeof(ST_UartInfo)); - + l_astUartInfo[_eUartID].m_eUartPort = _ePort; return HIDO_OK; @@ -145,7 +145,7 @@ #ifdef _USE_OS_ l_astUartInfo[_eUartID].m_mutexLock = osMutexCreate(HIDO_NULL); #endif - + struct UART_CFG_T uart_cfg = { .parity = UART_PARITY_NONE, @@ -169,35 +169,35 @@ if(UART_RX_MODE_DMA == _pstInit->m_eRxMode) { HIDO_ArraryQueueInit( - &l_astUartInfo[_eUartID].m_stRxArraryQueue, - _pstInit->m_pu8RxBuf, - _pstInit->m_u32RxBufSize, - sizeof(HIDO_UINT8)); - return HIDO_OK; + &l_astUartInfo[_eUartID].m_stRxArraryQueue, + _pstInit->m_pu8RxBuf, + _pstInit->m_u32RxBufSize, + sizeof(HIDO_UINT8)); + return HIDO_OK; } else if(UART_RX_MODE_INT == _pstInit->m_eRxMode) { HIDO_ArraryQueueInit( - &l_astUartInfo[_eUartID].m_stRxArraryQueue, - _pstInit->m_pu8RxBuf, - _pstInit->m_u32RxBufSize, - sizeof(HIDO_UINT8)); + &l_astUartInfo[_eUartID].m_stRxArraryQueue, + _pstInit->m_pu8RxBuf, + _pstInit->m_u32RxBufSize, + sizeof(HIDO_UINT8)); } l_astUartInfo[_eUartID].m_pu8TxBuf = _pstInit->m_pu8TxBuf; l_astUartInfo[_eUartID].m_u32TxBufSize = _pstInit->m_u32TxBufSize; l_astUartInfo[_eUartID].m_fnRxISR = _pstInit->m_fnRxISR; l_astUartInfo[_eUartID].m_u32TxQueueMemberCnt = _pstInit->m_u32TxQueueMemberCnt; - + uart_open(l_astUartInfo[_eUartID].m_eUartPort, &uart_cfg); if((UART_TX_MODE_DMA == _pstInit->m_eTxMode) || (UART_TX_MODE_INT == _pstInit->m_eTxMode)) { HIDO_VLQInit( - &(l_astUartInfo[_eUartID].m_stTxVLQueue), - _pstInit->m_pu8TxBuf, - _pstInit->m_u32TxBufSize, - _pstInit->m_u32TxQueueMemberCnt); + &(l_astUartInfo[_eUartID].m_stTxVLQueue), + _pstInit->m_pu8TxBuf, + _pstInit->m_u32TxBufSize, + _pstInit->m_u32TxQueueMemberCnt); } if (UART_RX_MODE_INT == _pstInit->m_eRxMode) @@ -228,19 +228,19 @@ else if(UART_RX_MODE_INT == l_astUartInfo[_eUartID].m_eRxMode) { HIDO_ArraryQueueInit( - &l_astUartInfo[_eUartID].m_stRxArraryQueue, - l_astUartInfo[_eUartID].m_pu8RxBuf, - l_astUartInfo[_eUartID].m_u32RxBufSize, - sizeof(HIDO_UINT8)); + &l_astUartInfo[_eUartID].m_stRxArraryQueue, + l_astUartInfo[_eUartID].m_pu8RxBuf, + l_astUartInfo[_eUartID].m_u32RxBufSize, + sizeof(HIDO_UINT8)); } if((UART_TX_MODE_DMA == l_astUartInfo[_eUartID].m_eTxMode) || (UART_TX_MODE_INT == l_astUartInfo[_eUartID].m_eTxMode)) { HIDO_VLQInit( - &(l_astUartInfo[_eUartID].m_stTxVLQueue), - l_astUartInfo[_eUartID].m_pu8TxBuf, - l_astUartInfo[_eUartID].m_u32TxBufSize, - l_astUartInfo[_eUartID].m_u32TxQueueMemberCnt); + &(l_astUartInfo[_eUartID].m_stTxVLQueue), + l_astUartInfo[_eUartID].m_pu8TxBuf, + l_astUartInfo[_eUartID].m_u32TxBufSize, + l_astUartInfo[_eUartID].m_u32TxQueueMemberCnt); } uart_receive(l_astUartInfo[_eUartID].m_eUartPort, &l_astUartInfo[_eUartID].m_u8RxValue, 1, uart_receive_callback); @@ -274,7 +274,7 @@ .int_rx = true, .int_tx = false, }; - + uart_open(l_astUartInfo[_eUartID].m_eUartPort, &uart_cfg); return HIDO_OK; @@ -342,7 +342,7 @@ static void uart_receive_callback(void *dev, uint32_t err_code) { E_UartID eUartID = UART_ID_4G; - + HIDO_UINT8 u8RecvByte = l_astUartInfo[eUartID].m_u8RxValue; HIDO_ArraryQueueIn(&l_astUartInfo[eUartID].m_stRxArraryQueue, &u8RecvByte); @@ -375,15 +375,15 @@ switch(l_astUartInfo[_eUartID].m_eRxMode) { - case UART_RX_MODE_INT: - case UART_RX_MODE_DMA: + case UART_RX_MODE_INT: + case UART_RX_MODE_DMA: + { + if (HIDO_ArraryQueueOut(&l_astUartInfo[_eUartID].m_stRxArraryQueue, _pu8Char) == HIDO_OK) { - if (HIDO_ArraryQueueOut(&l_astUartInfo[_eUartID].m_stRxArraryQueue, _pu8Char) == HIDO_OK) - { - i32Result = HIDO_OK; - } - break; + i32Result = HIDO_OK; } + break; + } } #ifdef _USE_OS_ @@ -447,7 +447,7 @@ memcpy(pstMember->m_pDataAddr, _pu8Data, _u32Len); pstMember = HIDO_VLQGetDequeueMember(&(l_astUartInfo[_eUartID].m_stTxVLQueue)); HIDO_UnLock(); - + uart_send(l_astUartInfo[_eUartID].m_eUartPort, pstMember->m_pDataAddr, pstMember->m_u32DataLen, uart_send_callback); } } diff --git a/keil/include/components/internet/src/AIR780ECSQ.c b/keil/include/components/internet/src/AIR780ECSQ.c index 8571343..54f7b82 100644 --- a/keil/include/components/internet/src/AIR780ECSQ.c +++ b/keil/include/components/internet/src/AIR780ECSQ.c @@ -57,46 +57,46 @@ switch (_u32Event) { - case HIDO_EVENT_ENTRY: + case HIDO_EVENT_ENTRY: + { + HIDO_StateArgStruct *pstStateArg = (HIDO_StateArgStruct *)_pArg; + + l_pstAfterState = pstStateArg->m_pstAfterState; + + HIDO_ATLiteCmdSend(_pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CSQ\r\n"); + break; + } + case HIDO_EVENT_EXIT: + { + HIDO_ATLiteCmdSendOver(_pstATDevice); + break; + } + case HIDO_AT_EVENT_OK: + case HIDO_AT_EVENT_ERROR: + { + HIDO_FSMStateChange(_pstFSM, l_pstAfterState, HIDO_NULL); + break; + } + case AIR780E_EVENT_CSQ: + { + /* +CSQ: 0,31 */ + HIDO_UINT32 u32CSQResult = 0; + HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; + + if (HIDO_UtilParseFormat((HIDO_UINT8 *) pstData->m_pData, pstData->m_u32Len, "+CSQ: %d,%*\r\n", + &u32CSQResult)!= 2) { - HIDO_StateArgStruct *pstStateArg = (HIDO_StateArgStruct *)_pArg; - - l_pstAfterState = pstStateArg->m_pstAfterState; - - HIDO_ATLiteCmdSend(_pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CSQ\r\n"); break; } - case HIDO_EVENT_EXIT: - { - HIDO_ATLiteCmdSendOver(_pstATDevice); - break; - } - case HIDO_AT_EVENT_OK: - case HIDO_AT_EVENT_ERROR: - { - HIDO_FSMStateChange(_pstFSM, l_pstAfterState, HIDO_NULL); - break; - } - case AIR780E_EVENT_CSQ: - { - /* +CSQ: 0,31 */ - HIDO_UINT32 u32CSQResult = 0; - HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; - if (HIDO_UtilParseFormat((HIDO_UINT8 *) pstData->m_pData, pstData->m_u32Len, "+CSQ: %d,%*\r\n", - &u32CSQResult)!= 2) - { - break; - } + Module_SignalIntensityResult(u32CSQResult); - Module_SignalIntensityResult(u32CSQResult); - - break; - } - default: - { - return HIDO_EVENT_NO_PROC; - } + break; + } + default: + { + return HIDO_EVENT_NO_PROC; + } } return HIDO_EVENT_OK; diff --git a/keil/include/components/internet/src/AIR780EDriver.c b/keil/include/components/internet/src/AIR780EDriver.c index ea10c74..93bc095 100644 --- a/keil/include/components/internet/src/AIR780EDriver.c +++ b/keil/include/components/internet/src/AIR780EDriver.c @@ -112,7 +112,7 @@ { "9", AIR780E_EVENT_NUM_9 }, }; -static const HIDO_CHAR * const l_apcEventName[AIR780E_EVENT_LAST]={ +static const HIDO_CHAR * const l_apcEventName[AIR780E_EVENT_LAST]= { HIDO_EVENT_ENTRY_NAME, HIDO_EVENT_EXIT_NAME, "HIDO_AT_EVENT_OK", @@ -167,7 +167,7 @@ "AIR780E_EVENT_QMTSTAT", "AIR780E_EVENT_RDY", - "AIR780E_EVENT_QTTS", + "AIR780E_EVENT_QTTS", "AIR780E_EVENT_QLTONE", "AIR780E_EVENT_RECEIVE", @@ -238,8 +238,8 @@ _pstATDevice->m_pcLineBuf[_pstATDevice->m_u32LineLen++] = cCh; _pstATDevice->m_pcLineBuf[_pstATDevice->m_u32LineLen] = '\0'; - - /* +RECEIVE, */ + + /* +RECEIVE, */ if (9 == _pstATDevice->m_u32LineLen && memcmp("+RECEIVE,", _pstATDevice->m_pcLineBuf, 9) == 0) { l_u8Mode = 1; @@ -262,7 +262,7 @@ /* 获取真实需要接收的长度 */ if (HIDO_UtilParseFormat((HIDO_UINT8 *) _pstATDevice->m_pcLineBuf, _pstATDevice->m_u32LineLen, "+RECEIVE,%*,%d:", - &u32ReqLen) != 2) + &u32ReqLen) != 2) { break; } @@ -334,14 +334,14 @@ { if((_pstATDevice->m_u32LineLen > 0) && (_pstATDevice->m_pcLineBuf[_pstATDevice->m_u32LineLen - 1] == '\n')) { - if(log_4g_enable_flag&&DBG_GetMode() == DBG_MODE_SHELL) - LOG_INFO(TRACE_MODULE_APP, "[AT Recv] %s", _pstATDevice->m_pcLineBuf);//修改4G + if(log_4g_enable_flag&&DBG_GetMode() == DBG_MODE_SHELL) + LOG_INFO(TRACE_MODULE_APP, "[AT Recv] %s", _pstATDevice->m_pcLineBuf);//修改4G //HIDO_Debug( "[AT Recv] %s", _pstATDevice->m_pcLineBuf); } else { - if(log_4g_enable_flag&&DBG_GetMode() == DBG_MODE_SHELL) - LOG_INFO(TRACE_MODULE_APP, "[AT Recv] %s\r\n", _pstATDevice->m_pcLineBuf);//修改4G + if(log_4g_enable_flag&&DBG_GetMode() == DBG_MODE_SHELL) + LOG_INFO(TRACE_MODULE_APP, "[AT Recv] %s\r\n", _pstATDevice->m_pcLineBuf);//修改4G //HIDO_Debug("[AT Recv] %s\r\n", _pstATDevice->m_pcLineBuf); } } @@ -361,26 +361,26 @@ * Modified Date: : 2018年5月22日 *******************************************************************************/ static HIDO_INT32 AIR780E_Output(HIDO_ATLiteDeviceStruct *_pstATDevice, HIDO_UINT8 *_pu8Data, - HIDO_UINT32 _u32Len) + HIDO_UINT32 _u32Len) { - if(HIDO_UtilIsAsciiString(_pu8Data, _u32Len) == HIDO_TRUE) - { - if(_pu8Data[_u32Len] == '\0') - { - if((_u32Len > 0) && (_pu8Data[_u32Len - 1] == '\n')) - { - // HIDO_Debug("[AT Send] %s", _pu8Data); - if(log_4g_enable_flag&&DBG_GetMode() == DBG_MODE_SHELL) - LOG_INFO(TRACE_MODULE_APP, "[AT Send] %s", _pu8Data);//修改4G - } - else - { - // HIDO_Debug("[AT Send] %s\r\n", _pu8Data); - if(log_4g_enable_flag&&DBG_GetMode() == DBG_MODE_SHELL) - LOG_INFO(TRACE_MODULE_APP, "[AT Send] %s", _pu8Data);//修改4G - } - } - } + if(HIDO_UtilIsAsciiString(_pu8Data, _u32Len) == HIDO_TRUE) + { + if(_pu8Data[_u32Len] == '\0') + { + if((_u32Len > 0) && (_pu8Data[_u32Len - 1] == '\n')) + { + // HIDO_Debug("[AT Send] %s", _pu8Data); + if(log_4g_enable_flag&&DBG_GetMode() == DBG_MODE_SHELL) + LOG_INFO(TRACE_MODULE_APP, "[AT Send] %s", _pu8Data);//修改4G + } + else + { + // HIDO_Debug("[AT Send] %s\r\n", _pu8Data); + if(log_4g_enable_flag&&DBG_GetMode() == DBG_MODE_SHELL) + LOG_INFO(TRACE_MODULE_APP, "[AT Send] %s", _pu8Data);//修改4G + } + } + } return Uart_Send(UART_ID_4G, _pu8Data, _u32Len); } @@ -391,10 +391,10 @@ /******************************************************************************* * Function Name : AIR780E_PinRegister - * Description : - * Input : - * Output : - * Return : + * Description : + * Input : + * Output : + * Return : * Author : 杜键 * Modified Date: : 2018年5月22日 *******************************************************************************/ @@ -512,7 +512,7 @@ HIDO_INT32 AIR780EDriver_SetConnectLen(HIDO_UINT32 _u32ConnectLen) { l_u32ConnectLen = _u32ConnectLen; - + return HIDO_OK; } @@ -531,12 +531,12 @@ HIDO_CHAR acBuff[384]; vsnprintf(acBuff, sizeof(acBuff), _pcFmt, _ap); - - // HIDO_Log(HIDO_LOG_LEVEL_DEBUG, "%s", acBuff); + + // HIDO_Log(HIDO_LOG_LEVEL_DEBUG, "%s", acBuff); //HIDO_Debug(acBuff); -if(log_4g_enable_flag&&DBG_GetMode() == DBG_MODE_SHELL) - LOG_INFO(TRACE_MODULE_APP, acBuff);//修改4G - + if(log_4g_enable_flag&&DBG_GetMode() == DBG_MODE_SHELL) + LOG_INFO(TRACE_MODULE_APP, acBuff);//修改4G + return HIDO_OK; } @@ -552,7 +552,7 @@ HIDO_INT32 AIR780EDriver_Reset(void) { HIDO_FSMEventExecute(HIDO_FSM(AIR780E), HIDO_AT_EVENT_TIMEOUT, HIDO_NULL); - + return HIDO_OK; } @@ -571,7 +571,7 @@ #ifdef _4G_115200 void AIR780EUartInit(void) { - ST_UartInit stUartInit; + ST_UartInit stUartInit; /* 串口初始化 */ stUartInit.m_eRxMode = UART_RX_MODE_INT; @@ -584,7 +584,7 @@ stUartInit.m_u32BaudRate = 115200; if(Uart_Init(UART_ID_4G, &stUartInit) != HIDO_OK) { - + } } HIDO_INT32 AIR780EDriver_Init(void) @@ -634,7 +634,7 @@ /* 状态机初始化 */ HIDO_FSMRegister(HIDO_FSM(AIR780E), HIDO_FSM_STATE(AIR780E), "AIR780E", l_apcEventName, &l_stAIR780EDevice, - HIDO_FSM_DBG_FLAG_ON); + HIDO_FSM_DBG_FLAG_ON); HIDO_FSMRegisterDebugFunc(HIDO_FSM(AIR780E), AIR780EDriver_FSMDebug); @@ -643,7 +643,7 @@ #else void AIR780EUartInit(void) { - ST_UartInit stUartInit; + ST_UartInit stUartInit; /* 串口初始化 */ stUartInit.m_eRxMode = UART_RX_MODE_INT; @@ -656,7 +656,7 @@ stUartInit.m_u32BaudRate = 9600; if(Uart_Init(UART_ID_4G, &stUartInit) != HIDO_OK) { - + } } HIDO_INT32 AIR780EDriver_Init(void) @@ -706,7 +706,7 @@ /* 状态机初始化 */ HIDO_FSMRegister(HIDO_FSM(AIR780E), HIDO_FSM_STATE(AIR780E), "AIR780E", l_apcEventName, &l_stAIR780EDevice, - HIDO_FSM_DBG_FLAG_ON); + HIDO_FSM_DBG_FLAG_ON); HIDO_FSMRegisterDebugFunc(HIDO_FSM(AIR780E), AIR780EDriver_FSMDebug); diff --git a/keil/include/components/internet/src/AIR780EFSM.c b/keil/include/components/internet/src/AIR780EFSM.c index c70ccd5..e7a793f 100644 --- a/keil/include/components/internet/src/AIR780EFSM.c +++ b/keil/include/components/internet/src/AIR780EFSM.c @@ -76,64 +76,64 @@ { switch (_u32Event) { - case HIDO_EVENT_ENTRY: + case HIDO_EVENT_ENTRY: + { + break; + } + case HIDO_EVENT_EXIT: + { + break; + } + case HIDO_AT_EVENT_TIMEOUT: + { + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EInit), HIDO_NULL); + break; + } + case AIR780E_EVENT_RECEIVE: + { + HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; + HIDO_UINT32 u32ID = 0; + HIDO_UINT8 *pu8Data = HIDO_NULL; + HIDO_UINT32 u32Len = 0; + + if (HIDO_UtilParseFormat((HIDO_UINT8 *) pstData->m_pData, pstData->m_u32Len, "+RECEIVE,%d,%d:\r\n%e", &u32ID, &u32Len, &pu8Data) + != 3) { break; } - case HIDO_EVENT_EXIT: + + Socket_RecvData(u32ID, pu8Data, u32Len); + Socket_OnRecv(u32ID); + break; + } + case AIR780E_EVENT_NUM_0: + case AIR780E_EVENT_NUM_1: + case AIR780E_EVENT_NUM_2: + case AIR780E_EVENT_NUM_3: + case AIR780E_EVENT_NUM_4: + case AIR780E_EVENT_NUM_5: + { + HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; + HIDO_UINT32 u32ConnectID = 0; + HIDO_DataStruct stEvent; + + if (HIDO_UtilParseFormat((HIDO_UINT8 *) pstData->m_pData, pstData->m_u32Len, "%d, %p\r\n", + &u32ConnectID, &stEvent) != 2) { break; } - case HIDO_AT_EVENT_TIMEOUT: + + if (strncmp(stEvent.m_pData, "CLOSED", stEvent.m_u32Len) == 0) { - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EInit), HIDO_NULL); - break; + Socket_OnClosed(u32ConnectID); } - case AIR780E_EVENT_RECEIVE: - { - HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; - HIDO_UINT32 u32ID = 0; - HIDO_UINT8 *pu8Data = HIDO_NULL; - HIDO_UINT32 u32Len = 0; - if (HIDO_UtilParseFormat((HIDO_UINT8 *) pstData->m_pData, pstData->m_u32Len, "+RECEIVE,%d,%d:\r\n%e", &u32ID, &u32Len, &pu8Data) - != 3) - { - break; - } - - Socket_RecvData(u32ID, pu8Data, u32Len); - Socket_OnRecv(u32ID); - break; - } - case AIR780E_EVENT_NUM_0: - case AIR780E_EVENT_NUM_1: - case AIR780E_EVENT_NUM_2: - case AIR780E_EVENT_NUM_3: - case AIR780E_EVENT_NUM_4: - case AIR780E_EVENT_NUM_5: - { - HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; - HIDO_UINT32 u32ConnectID = 0; - HIDO_DataStruct stEvent; - - if (HIDO_UtilParseFormat((HIDO_UINT8 *) pstData->m_pData, pstData->m_u32Len, "%d, %p\r\n", - &u32ConnectID, &stEvent) != 2) - { - break; - } - - if (strncmp(stEvent.m_pData, "CLOSED", stEvent.m_u32Len) == 0) - { - Socket_OnClosed(u32ConnectID); - } - - break; - } - default: - { - return HIDO_EVENT_NO_PROC; - } + break; + } + default: + { + return HIDO_EVENT_NO_PROC; + } } return HIDO_EVENT_OK; @@ -150,25 +150,25 @@ { switch (_u32Event) { - case HIDO_EVENT_ENTRY: - { - break; - } - case HIDO_EVENT_EXIT: - { - break; - } - case HIDO_AT_EVENT_TIMEOUT: - { - /* AT命令相应超时,重新初始化 */ - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EInit), HIDO_NULL); + case HIDO_EVENT_ENTRY: + { + break; + } + case HIDO_EVENT_EXIT: + { + break; + } + case HIDO_AT_EVENT_TIMEOUT: + { + /* AT命令相应超时,重新初始化 */ + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EInit), HIDO_NULL); - break; - } - default: - { - return HIDO_EVENT_NO_PROC; - } + break; + } + default: + { + return HIDO_EVENT_NO_PROC; + } } return HIDO_EVENT_OK; @@ -185,34 +185,34 @@ { switch (_u32Event) { - case HIDO_EVENT_ENTRY: + case HIDO_EVENT_ENTRY: + { + AIR780EDriver_PowerOff(); + Module_PowerEvent(MODULE_MAIN, MODULE_STATE_POWER_OFF); + break; + } + case HIDO_EVENT_EXIT: + { + break; + } + case AIR780E_EVENT_POLL: + { + if(Module_NeedPowerOff(MODULE_MAIN) == HIDO_TRUE) { - AIR780EDriver_PowerOff(); Module_PowerEvent(MODULE_MAIN, MODULE_STATE_POWER_OFF); - break; } - case HIDO_EVENT_EXIT: - { - break; - } - case AIR780E_EVENT_POLL: - { - if(Module_NeedPowerOff(MODULE_MAIN) == HIDO_TRUE) - { - Module_PowerEvent(MODULE_MAIN, MODULE_STATE_POWER_OFF); - } - - if(Module_NeedPowerOn(MODULE_MAIN) == HIDO_TRUE) - { - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EPowerOn), HIDO_NULL); - } - break; - } - default: + if(Module_NeedPowerOn(MODULE_MAIN) == HIDO_TRUE) { - return HIDO_EVENT_NO_PROC; + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EPowerOn), HIDO_NULL); } + + break; + } + default: + { + return HIDO_EVENT_NO_PROC; + } } return HIDO_EVENT_OK; @@ -238,66 +238,66 @@ switch (_u32Event) { - case HIDO_EVENT_ENTRY: + case HIDO_EVENT_ENTRY: + { + pstATDevice->m_u32LineLen = 0; + while (pstATDevice->m_fnReadLine(pstATDevice) == HIDO_OK) { - pstATDevice->m_u32LineLen = 0; - while (pstATDevice->m_fnReadLine(pstATDevice) == HIDO_OK) - { - ; - } - pstATDevice->m_u32LineLen = 0; + ; + } + pstATDevice->m_u32LineLen = 0; - l_eAIR780ESubState = AIR780E_SUB_STATE_POWER_OFF; - AIR780EDriver_PowerOff(); - HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(1), _pstFSM, AIR780E_EVENT_DELAY); + l_eAIR780ESubState = AIR780E_SUB_STATE_POWER_OFF; + AIR780EDriver_PowerOff(); + HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(1), _pstFSM, AIR780E_EVENT_DELAY); + break; + } + case HIDO_EVENT_EXIT: + { + /* 退出初始化 */ + HIDO_TimerCancel(u32FSMTimerID); + + break; + } + case AIR780E_EVENT_DELAY: + { + switch(l_eAIR780ESubState) + { + case AIR780E_SUB_STATE_POWER_OFF: + { + l_eAIR780ESubState = AIR780E_SUB_STATE_POWER_ON; + AIR780EDriver_PowerOn(); + HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(5), _pstFSM, AIR780E_EVENT_DELAY); break; } - case HIDO_EVENT_EXIT: - { - /* 退出初始化 */ - HIDO_TimerCancel(u32FSMTimerID); - - break; - } - case AIR780E_EVENT_DELAY: - { - switch(l_eAIR780ESubState) - { - case AIR780E_SUB_STATE_POWER_OFF: - { - l_eAIR780ESubState = AIR780E_SUB_STATE_POWER_ON; - AIR780EDriver_PowerOn(); - HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(5), _pstFSM, AIR780E_EVENT_DELAY); - break; - } - case AIR780E_SUB_STATE_POWER_ON: - { - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EATCmdTest), HIDO_NULL); - //Uart_ReConfigBaudRate(UART_ID_4G, 115200); - //HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+IPR=9600;&W\r\n"); - //Uart_ReConfigBaudRate(UART_ID_4G, 9600); - break; - } - } - - break; - } - case AIR780E_EVENT_RDY: + case AIR780E_SUB_STATE_POWER_ON: { HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EATCmdTest), HIDO_NULL); + //Uart_ReConfigBaudRate(UART_ID_4G, 115200); + //HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+IPR=9600;&W\r\n"); + //Uart_ReConfigBaudRate(UART_ID_4G, 9600); break; } - case HIDO_AT_EVENT_OK: - case HIDO_AT_EVENT_ERROR: - case HIDO_AT_EVENT_TIMEOUT: - { - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EATCmdTest), HIDO_NULL); - break; } - default: - { - return HIDO_EVENT_NO_PROC; - } + + break; + } + case AIR780E_EVENT_RDY: + { + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EATCmdTest), HIDO_NULL); + break; + } + case HIDO_AT_EVENT_OK: + case HIDO_AT_EVENT_ERROR: + case HIDO_AT_EVENT_TIMEOUT: + { + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EATCmdTest), HIDO_NULL); + break; + } + default: + { + return HIDO_EVENT_NO_PROC; + } } return HIDO_EVENT_OK; @@ -312,48 +312,48 @@ *******************************************************************************/ HIDO_FSM_STATE_IMPLEMENT(AIR780EATCmdTest, HIDO_FSM_STATE(AIR780EInit), HIDO_NULL) { - static HIDO_UINT32 l_u32TimeoutCnt = 0; + static HIDO_UINT32 l_u32TimeoutCnt = 0; HIDO_ATLiteDeviceStruct *pstATDevice = (HIDO_ATLiteDeviceStruct *) _pstFSM->m_pPrivateData; switch (_u32Event) { - case HIDO_EVENT_ENTRY: - { - HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "ATE0\r\n"); - break; - } - case HIDO_EVENT_EXIT: - { - HIDO_ATLiteCmdSendOver(pstATDevice); - break; - } - case HIDO_AT_EVENT_OK: - { - /* 上电成功 */ - Module_PowerEvent(MODULE_MAIN, MODULE_STATE_POWER_ON); - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EWaitSimCardReady), HIDO_NULL); + case HIDO_EVENT_ENTRY: + { + HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "ATE0\r\n"); + break; + } + case HIDO_EVENT_EXIT: + { + HIDO_ATLiteCmdSendOver(pstATDevice); + break; + } + case HIDO_AT_EVENT_OK: + { + /* 上电成功 */ + Module_PowerEvent(MODULE_MAIN, MODULE_STATE_POWER_ON); + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EWaitSimCardReady), HIDO_NULL); - break; - } - case HIDO_AT_EVENT_ERROR: + break; + } + case HIDO_AT_EVENT_ERROR: + { + break; + } + case HIDO_AT_EVENT_TIMEOUT: + { + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EPowerOn), HIDO_NULL); + l_u32TimeoutCnt++; + if (3 == l_u32TimeoutCnt) { - break; + AIR780E_Reset_usart(); } - case HIDO_AT_EVENT_TIMEOUT: - { - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EPowerOn), HIDO_NULL); - l_u32TimeoutCnt++; - if (3 == l_u32TimeoutCnt) - { - AIR780E_Reset_usart(); - } - - break; - } - default: - { - return HIDO_EVENT_NO_PROC; - } + + break; + } + default: + { + return HIDO_EVENT_NO_PROC; + } } return HIDO_EVENT_OK; @@ -374,61 +374,61 @@ switch (_u32Event) { - case HIDO_EVENT_ENTRY: + case HIDO_EVENT_ENTRY: + { + u32RetryCnt = 0; + HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CPIN?\r\n"); + break; + } + case HIDO_EVENT_EXIT: + { + HIDO_ATLiteCmdSendOver(pstATDevice); + HIDO_TimerCancel(u32FSMTimerID); + break; + } + case HIDO_AT_EVENT_OK: + { + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EATCmdInit), HIDO_NULL); + break; + } + case HIDO_AT_EVENT_ERROR: + { + HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(1), + _pstFSM, AIR780E_EVENT_DELAY); + break; + } + case HIDO_AT_EVENT_TIMEOUT: + { + break; + } + case AIR780E_EVENT_DELAY: + { + if(u32RetryCnt < 10) { - u32RetryCnt = 0; + u32RetryCnt++; HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CPIN?\r\n"); - break; } - case HIDO_EVENT_EXIT: + else { - HIDO_ATLiteCmdSendOver(pstATDevice); - HIDO_TimerCancel(u32FSMTimerID); - break; + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIdle), HIDO_NULL); } - case HIDO_AT_EVENT_OK: + break; + } + case AIR780E_EVENT_POLL: + { + if(Module_NeedPowerOff(MODULE_MAIN) == HIDO_TRUE) { - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EATCmdInit), HIDO_NULL); - break; - } - case HIDO_AT_EVENT_ERROR: - { - HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(1), - _pstFSM, AIR780E_EVENT_DELAY); - break; - } - case HIDO_AT_EVENT_TIMEOUT: - { - break; - } - case AIR780E_EVENT_DELAY: - { - if(u32RetryCnt < 10) - { - u32RetryCnt++; - HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CPIN?\r\n"); - } - else - { - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIdle), HIDO_NULL); - } - break; - } - case AIR780E_EVENT_POLL: - { - if(Module_NeedPowerOff(MODULE_MAIN) == HIDO_TRUE) - { - HIDO_FSMStateChange(HIDO_FSM(AIR780E), HIDO_FSM_STATE(AIR780EPowerOff), HIDO_NULL); - - break; - } + HIDO_FSMStateChange(HIDO_FSM(AIR780E), HIDO_FSM_STATE(AIR780EPowerOff), HIDO_NULL); break; } - default: - { - return HIDO_EVENT_NO_PROC; - } + + break; + } + default: + { + return HIDO_EVENT_NO_PROC; + } } return HIDO_EVENT_OK; @@ -452,7 +452,7 @@ { "AT+CIMI\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK }, { "AT+CCID\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK }, { "ATI\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK }, - { "AT+CFGRI=1\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK }, + { "AT+CFGRI=1\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK }, // { "AT+CTTSPARAM=100,0,50,50,0,2,25,1500,150,1,0,1\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK }, }; @@ -461,50 +461,28 @@ switch (_u32Event) { - case HIDO_EVENT_ENTRY: - { - l_u32CmdIndex = 0; - l_u32RetryCnt = 0; - HIDO_ATLiteCmdSend(pstATDevice, astInitCmdList[l_u32CmdIndex].m_u32TimeOut, astInitCmdList[l_u32CmdIndex].m_pcATCmd); - l_u32RetryCnt++; + case HIDO_EVENT_ENTRY: + { + l_u32CmdIndex = 0; + l_u32RetryCnt = 0; + HIDO_ATLiteCmdSend(pstATDevice, astInitCmdList[l_u32CmdIndex].m_u32TimeOut, astInitCmdList[l_u32CmdIndex].m_pcATCmd); + l_u32RetryCnt++; - break; - } - case HIDO_EVENT_EXIT: + break; + } + case HIDO_EVENT_EXIT: + { + HIDO_ATLiteCmdSendOver(pstATDevice); + HIDO_TimerCancel(u32FSMTimerID); + break; + } + case HIDO_AT_EVENT_OK: + case HIDO_AT_EVENT_ERROR: + case HIDO_AT_EVENT_TIMEOUT: + { + if(HIDO_AT_EVENT_TIMEOUT == _u32Event) { - HIDO_ATLiteCmdSendOver(pstATDevice); - HIDO_TimerCancel(u32FSMTimerID); - break; - } - case HIDO_AT_EVENT_OK: - case HIDO_AT_EVENT_ERROR: - case HIDO_AT_EVENT_TIMEOUT: - { - if(HIDO_AT_EVENT_TIMEOUT == _u32Event) - { - if(astInitCmdList[l_u32CmdIndex].m_u32Result & AT_CMD_RESULT_TIMEOUT) - { - l_u32RetryCnt = 0; - l_u32CmdIndex++; - if (l_u32CmdIndex >= HIDO_ARRARY_COUNT(astInitCmdList)) - { - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EReady), HIDO_NULL); - } - else - { - HIDO_ATLiteCmdSend(pstATDevice, astInitCmdList[l_u32CmdIndex].m_u32TimeOut, astInitCmdList[l_u32CmdIndex].m_pcATCmd); - } - - break; - } - else - { - return HIDO_EVENT_NO_PROC; - } - } - - if (astInitCmdList[l_u32CmdIndex].m_u32Result - & (HIDO_AT_EVENT_OK == _u32Event ? AT_CMD_RESULT_OK : AT_CMD_RESULT_ERROR)) + if(astInitCmdList[l_u32CmdIndex].m_u32Result & AT_CMD_RESULT_TIMEOUT) { l_u32RetryCnt = 0; l_u32CmdIndex++; @@ -516,83 +494,105 @@ { HIDO_ATLiteCmdSend(pstATDevice, astInitCmdList[l_u32CmdIndex].m_u32TimeOut, astInitCmdList[l_u32CmdIndex].m_pcATCmd); } - } - else - { - l_u32RetryCnt++; - if (l_u32RetryCnt >= 3) - { - /* 重试超限 */ - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EPowerOn), HIDO_NULL); - } - else - { - /* 不是期待的结果,10后再次尝试 */ - HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(10), _pstFSM, - AIR780E_EVENT_DELAY); - } - } - - break; - } - case AIR780E_EVENT_DELAY: - { - HIDO_ATLiteCmdSend(pstATDevice, astInitCmdList[l_u32CmdIndex].m_u32TimeOut, astInitCmdList[l_u32CmdIndex].m_pcATCmd); - break; - } - case AIR780E_EVENT_NUM_0: - case AIR780E_EVENT_NUM_1: - case AIR780E_EVENT_NUM_2: - case AIR780E_EVENT_NUM_3: - case AIR780E_EVENT_NUM_4: - case AIR780E_EVENT_NUM_5: - case AIR780E_EVENT_NUM_6: - case AIR780E_EVENT_NUM_7: - case AIR780E_EVENT_NUM_8: - case AIR780E_EVENT_NUM_9: - { - HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; - - switch(l_u32CmdIndex) - { - case 0: - { - Module_SetIMEI((HIDO_CHAR *)pstData->m_pData, pstData->m_u32Len); - break; - } - case 1: - { - Module_SetIMSI((HIDO_CHAR *)pstData->m_pData, pstData->m_u32Len); - break; - } - case 2: - { - Module_SetCCID((HIDO_CHAR *)pstData->m_pData, pstData->m_u32Len); - break; - } - default: - { - break; - } - } - - break; - } - case AIR780E_EVENT_POLL: - { - if(Module_NeedPowerOff(MODULE_MAIN) == HIDO_TRUE) - { - HIDO_FSMStateChange(HIDO_FSM(AIR780E), HIDO_FSM_STATE(AIR780EPowerOff), HIDO_NULL); break; } + else + { + return HIDO_EVENT_NO_PROC; + } + } + if (astInitCmdList[l_u32CmdIndex].m_u32Result + & (HIDO_AT_EVENT_OK == _u32Event ? AT_CMD_RESULT_OK : AT_CMD_RESULT_ERROR)) + { + l_u32RetryCnt = 0; + l_u32CmdIndex++; + if (l_u32CmdIndex >= HIDO_ARRARY_COUNT(astInitCmdList)) + { + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EReady), HIDO_NULL); + } + else + { + HIDO_ATLiteCmdSend(pstATDevice, astInitCmdList[l_u32CmdIndex].m_u32TimeOut, astInitCmdList[l_u32CmdIndex].m_pcATCmd); + } + } + else + { + l_u32RetryCnt++; + if (l_u32RetryCnt >= 3) + { + /* 重试超限 */ + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EPowerOn), HIDO_NULL); + } + else + { + /* 不是期待的结果,10后再次尝试 */ + HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(10), _pstFSM, + AIR780E_EVENT_DELAY); + } + } + + break; + } + case AIR780E_EVENT_DELAY: + { + HIDO_ATLiteCmdSend(pstATDevice, astInitCmdList[l_u32CmdIndex].m_u32TimeOut, astInitCmdList[l_u32CmdIndex].m_pcATCmd); + break; + } + case AIR780E_EVENT_NUM_0: + case AIR780E_EVENT_NUM_1: + case AIR780E_EVENT_NUM_2: + case AIR780E_EVENT_NUM_3: + case AIR780E_EVENT_NUM_4: + case AIR780E_EVENT_NUM_5: + case AIR780E_EVENT_NUM_6: + case AIR780E_EVENT_NUM_7: + case AIR780E_EVENT_NUM_8: + case AIR780E_EVENT_NUM_9: + { + HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; + + switch(l_u32CmdIndex) + { + case 0: + { + Module_SetIMEI((HIDO_CHAR *)pstData->m_pData, pstData->m_u32Len); + break; + } + case 1: + { + Module_SetIMSI((HIDO_CHAR *)pstData->m_pData, pstData->m_u32Len); + break; + } + case 2: + { + Module_SetCCID((HIDO_CHAR *)pstData->m_pData, pstData->m_u32Len); break; } default: { - return HIDO_EVENT_NO_PROC; + break; } + } + + break; + } + case AIR780E_EVENT_POLL: + { + if(Module_NeedPowerOff(MODULE_MAIN) == HIDO_TRUE) + { + HIDO_FSMStateChange(HIDO_FSM(AIR780E), HIDO_FSM_STATE(AIR780EPowerOff), HIDO_NULL); + + break; + } + + break; + } + default: + { + return HIDO_EVENT_NO_PROC; + } } return HIDO_EVENT_OK; @@ -611,24 +611,24 @@ switch (_u32Event) { - case HIDO_EVENT_ENTRY: - { - break; - } - case HIDO_EVENT_EXIT: - { - break; - } - case AIR780E_EVENT_POLL: - { - AIR780E_Poll(pstATDevice); + case HIDO_EVENT_ENTRY: + { + break; + } + case HIDO_EVENT_EXIT: + { + break; + } + case AIR780E_EVENT_POLL: + { + AIR780E_Poll(pstATDevice); - break; - } - default: - { - return HIDO_EVENT_NO_PROC; - } + break; + } + default: + { + return HIDO_EVENT_NO_PROC; + } } return HIDO_EVENT_OK; @@ -645,18 +645,18 @@ { switch (_u32Event) { - case HIDO_EVENT_ENTRY: - { - break; - } - case HIDO_EVENT_EXIT: - { - break; - } - default: - { - return HIDO_EVENT_NO_PROC; - } + case HIDO_EVENT_ENTRY: + { + break; + } + case HIDO_EVENT_EXIT: + { + break; + } + default: + { + return HIDO_EVENT_NO_PROC; + } } return HIDO_EVENT_OK; @@ -687,143 +687,143 @@ switch (_u32Event) { - case HIDO_EVENT_ENTRY: + case HIDO_EVENT_ENTRY: + { + l_eAIR780ESubState = AIR780E_SUB_STATE_CGREG; + l_u32Cnt = 0; + l_u32RespCode = 0; + l_bATBusy = HIDO_TRUE; + + HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CGREG?\r\n"); + break; + } + case HIDO_EVENT_EXIT: + { + HIDO_ATLiteCmdSendOver(pstATDevice); + HIDO_TimerCancel(u32FSMTimerID); + break; + } + case HIDO_AT_EVENT_OK: + { + if (AIR780E_SUB_STATE_CREG == l_eAIR780ESubState) { - l_eAIR780ESubState = AIR780E_SUB_STATE_CGREG; - l_u32Cnt = 0; - l_u32RespCode = 0; - l_bATBusy = HIDO_TRUE; - - HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CGREG?\r\n"); - break; - } - case HIDO_EVENT_EXIT: - { - HIDO_ATLiteCmdSendOver(pstATDevice); - HIDO_TimerCancel(u32FSMTimerID); - break; - } - case HIDO_AT_EVENT_OK: - { - if (AIR780E_SUB_STATE_CREG == l_eAIR780ESubState) + l_bATBusy = HIDO_FALSE; + + if (1 == l_u32RespCode || 5 == l_u32RespCode) { - l_bATBusy = HIDO_FALSE; - - if (1 == l_u32RespCode || 5 == l_u32RespCode) - { - l_eAIR780ESubState = AIR780E_SUB_STATE_CGREG; - l_u32Cnt = 0; - l_u32RespCode = 0; - l_bATBusy = HIDO_TRUE; - HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CGREG?\r\n"); - } - else - { - l_u32Cnt++; - - if (l_u32Cnt > 100) - { - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EInit), HIDO_NULL); - break; - } - else - { - HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(2), _pstFSM, - AIR780E_EVENT_DELAY); - } - } - } - else if (AIR780E_SUB_STATE_CGREG == l_eAIR780ESubState) - { - l_bATBusy = HIDO_FALSE; - - if (1 == l_u32RespCode || 5 == l_u32RespCode) - { - l_u32ReadyCnt++; - } - else - { - l_u32ReadyCnt = 0; - l_u32Cnt++; - } - - if (l_u32ReadyCnt >= 1) - { - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIPInit), HIDO_NULL); - } - else - { - HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(2), _pstFSM, - AIR780E_EVENT_DELAY); - } - - if (l_u32Cnt > 100) - { - /* TODO网络出错 */ - } - } - - break; - } - case AIR780E_EVENT_CREG: - { - HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; - - if (AIR780E_SUB_STATE_CREG == l_eAIR780ESubState) - { - if (HIDO_UtilParseFormat((HIDO_UINT8 *) pstData->m_pData, pstData->m_u32Len, "+CREG: %*,%d", - &l_u32RespCode) != 2) - { - break; - } - } - - break; - } - case AIR780E_EVENT_CGREG: - { - HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; - - if (AIR780E_SUB_STATE_CGREG == l_eAIR780ESubState) - { - if (HIDO_UtilParseFormat((HIDO_UINT8 *) pstData->m_pData, pstData->m_u32Len, "+CGREG: %*,%d", - &l_u32RespCode) != 2) - { - break; - } - } - break; - } - case AIR780E_EVENT_DELAY: - { - if (AIR780E_SUB_STATE_CREG == l_eAIR780ESubState) - { - l_u32RespCode = 0; - l_bATBusy = HIDO_TRUE; - HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CREG?\r\n"); - } - else if (AIR780E_SUB_STATE_CGREG == l_eAIR780ESubState) - { + l_eAIR780ESubState = AIR780E_SUB_STATE_CGREG; + l_u32Cnt = 0; l_u32RespCode = 0; l_bATBusy = HIDO_TRUE; HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CGREG?\r\n"); } - - break; - } - case AIR780E_EVENT_POLL: - { - if (HIDO_FALSE == l_bATBusy) + else { - AIR780E_Poll(pstATDevice); + l_u32Cnt++; + + if (l_u32Cnt > 100) + { + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EInit), HIDO_NULL); + break; + } + else + { + HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(2), _pstFSM, + AIR780E_EVENT_DELAY); + } + } + } + else if (AIR780E_SUB_STATE_CGREG == l_eAIR780ESubState) + { + l_bATBusy = HIDO_FALSE; + + if (1 == l_u32RespCode || 5 == l_u32RespCode) + { + l_u32ReadyCnt++; + } + else + { + l_u32ReadyCnt = 0; + l_u32Cnt++; } - break; + if (l_u32ReadyCnt >= 1) + { + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIPInit), HIDO_NULL); + } + else + { + HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(2), _pstFSM, + AIR780E_EVENT_DELAY); + } + + if (l_u32Cnt > 100) + { + /* TODO网络出错 */ + } } - default: + + break; + } + case AIR780E_EVENT_CREG: + { + HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; + + if (AIR780E_SUB_STATE_CREG == l_eAIR780ESubState) { - return HIDO_EVENT_NO_PROC; + if (HIDO_UtilParseFormat((HIDO_UINT8 *) pstData->m_pData, pstData->m_u32Len, "+CREG: %*,%d", + &l_u32RespCode) != 2) + { + break; + } } + + break; + } + case AIR780E_EVENT_CGREG: + { + HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; + + if (AIR780E_SUB_STATE_CGREG == l_eAIR780ESubState) + { + if (HIDO_UtilParseFormat((HIDO_UINT8 *) pstData->m_pData, pstData->m_u32Len, "+CGREG: %*,%d", + &l_u32RespCode) != 2) + { + break; + } + } + break; + } + case AIR780E_EVENT_DELAY: + { + if (AIR780E_SUB_STATE_CREG == l_eAIR780ESubState) + { + l_u32RespCode = 0; + l_bATBusy = HIDO_TRUE; + HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CREG?\r\n"); + } + else if (AIR780E_SUB_STATE_CGREG == l_eAIR780ESubState) + { + l_u32RespCode = 0; + l_bATBusy = HIDO_TRUE; + HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CGREG?\r\n"); + } + + break; + } + case AIR780E_EVENT_POLL: + { + if (HIDO_FALSE == l_bATBusy) + { + AIR780E_Poll(pstATDevice); + } + + break; + } + default: + { + return HIDO_EVENT_NO_PROC; + } } return HIDO_EVENT_OK; @@ -848,18 +848,18 @@ const ST_ATCmd astInitCmdList[] = { - { "AT+CIPRXF=1\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK }, - { "AT+CIPMUX=1\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK }, - { "AT*I\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK }, + { "AT+CIPRXF=1\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK }, + { "AT+CIPMUX=1\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK }, + { "AT*I\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK }, // { "AT+CSTT=\"%s\",\"\",\"\"\r\n", 60000, AT_CMD_RESULT_OK | AT_CMD_RESULT_ERROR }, // { "AT+CIICR\r\n", 60000, AT_CMD_RESULT_OK | AT_CMD_RESULT_ERROR }, // { "AT+CIFSR\r\n", 1000, AT_CMD_RESULT_OK | AT_CMD_RESULT_TIMEOUT }, #ifdef _4G_115200 -#else - { "AT+POWERMODE=\"PRO\"\r\n", 5000, AT_CMD_RESULT_OK | AT_CMD_RESULT_TIMEOUT }, - { "AT+POWERMODE?\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK }, -#endif +#else + { "AT+POWERMODE=\"PRO\"\r\n", 5000, AT_CMD_RESULT_OK | AT_CMD_RESULT_TIMEOUT }, + { "AT+POWERMODE?\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK }, +#endif }; pcIMSI = Module_GetIMSI(); @@ -882,50 +882,28 @@ switch (_u32Event) { - case HIDO_EVENT_ENTRY: - { - l_u32CmdIndex = 0; - l_u32RetryCnt = 0; - HIDO_ATLiteCmdSend(pstATDevice, astInitCmdList[l_u32CmdIndex].m_u32TimeOut, astInitCmdList[l_u32CmdIndex].m_pcATCmd); - l_u32RetryCnt++; + case HIDO_EVENT_ENTRY: + { + l_u32CmdIndex = 0; + l_u32RetryCnt = 0; + HIDO_ATLiteCmdSend(pstATDevice, astInitCmdList[l_u32CmdIndex].m_u32TimeOut, astInitCmdList[l_u32CmdIndex].m_pcATCmd); + l_u32RetryCnt++; - break; - } - case HIDO_EVENT_EXIT: + break; + } + case HIDO_EVENT_EXIT: + { + HIDO_ATLiteCmdSendOver(pstATDevice); + HIDO_TimerCancel(u32FSMTimerID); + break; + } + case HIDO_AT_EVENT_OK: + case HIDO_AT_EVENT_ERROR: + case HIDO_AT_EVENT_TIMEOUT: + { + if(HIDO_AT_EVENT_TIMEOUT == _u32Event) { - HIDO_ATLiteCmdSendOver(pstATDevice); - HIDO_TimerCancel(u32FSMTimerID); - break; - } - case HIDO_AT_EVENT_OK: - case HIDO_AT_EVENT_ERROR: - case HIDO_AT_EVENT_TIMEOUT: - { - if(HIDO_AT_EVENT_TIMEOUT == _u32Event) - { - if(astInitCmdList[l_u32CmdIndex].m_u32Result & AT_CMD_RESULT_TIMEOUT) - { - l_u32RetryCnt = 0; - l_u32CmdIndex++; - if (l_u32CmdIndex >= HIDO_ARRARY_COUNT(astInitCmdList)) - { - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIPReady), HIDO_NULL); - } - else - { - HIDO_ATLiteCmdSend(pstATDevice, astInitCmdList[l_u32CmdIndex].m_u32TimeOut, astInitCmdList[l_u32CmdIndex].m_pcATCmd, acAPN); - } - - break; - } - else - { - return HIDO_EVENT_NO_PROC; - } - } -ok: - if((HIDO_AT_EVENT_OK == _u32Event && (astInitCmdList[l_u32CmdIndex].m_u32Result & AT_CMD_RESULT_OK)) - || (HIDO_AT_EVENT_ERROR == _u32Event && (astInitCmdList[l_u32CmdIndex].m_u32Result & AT_CMD_RESULT_ERROR))) + if(astInitCmdList[l_u32CmdIndex].m_u32Result & AT_CMD_RESULT_TIMEOUT) { l_u32RetryCnt = 0; l_u32CmdIndex++; @@ -937,56 +915,78 @@ { HIDO_ATLiteCmdSend(pstATDevice, astInitCmdList[l_u32CmdIndex].m_u32TimeOut, astInitCmdList[l_u32CmdIndex].m_pcATCmd, acAPN); } + + break; } else { - l_u32RetryCnt++; - if (l_u32RetryCnt >= 3) - { - /* 重试超限 */ - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780E), HIDO_NULL); - } - else - { - /* 不是期待的结果,10后再次尝试 */ - HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(10), _pstFSM, - AIR780E_EVENT_DELAY); - } + return HIDO_EVENT_NO_PROC; } - - break; } - case AIR780E_EVENT_DELAY: +ok: + if((HIDO_AT_EVENT_OK == _u32Event && (astInitCmdList[l_u32CmdIndex].m_u32Result & AT_CMD_RESULT_OK)) + || (HIDO_AT_EVENT_ERROR == _u32Event && (astInitCmdList[l_u32CmdIndex].m_u32Result & AT_CMD_RESULT_ERROR))) { - HIDO_ATLiteCmdSend(pstATDevice, astInitCmdList[l_u32CmdIndex].m_u32TimeOut, astInitCmdList[l_u32CmdIndex].m_pcATCmd, acAPN); - break; - } - case AIR780E_EVENT_POLL: - { - break; - } - case AIR780E_EVENT_NUM_0: - case AIR780E_EVENT_NUM_1: - case AIR780E_EVENT_NUM_2: - case AIR780E_EVENT_NUM_3: - case AIR780E_EVENT_NUM_4: - case AIR780E_EVENT_NUM_5: - case AIR780E_EVENT_NUM_6: - case AIR780E_EVENT_NUM_7: - case AIR780E_EVENT_NUM_8: - case AIR780E_EVENT_NUM_9: - { - if(l_u32CmdIndex == 4) + l_u32RetryCnt = 0; + l_u32CmdIndex++; + if (l_u32CmdIndex >= HIDO_ARRARY_COUNT(astInitCmdList)) { - _u32Event = HIDO_AT_EVENT_OK; - goto ok; + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIPReady), HIDO_NULL); } - break; + else + { + HIDO_ATLiteCmdSend(pstATDevice, astInitCmdList[l_u32CmdIndex].m_u32TimeOut, astInitCmdList[l_u32CmdIndex].m_pcATCmd, acAPN); + } } - default: + else { - return HIDO_EVENT_NO_PROC; + l_u32RetryCnt++; + if (l_u32RetryCnt >= 3) + { + /* 重试超限 */ + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780E), HIDO_NULL); + } + else + { + /* 不是期待的结果,10后再次尝试 */ + HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(10), _pstFSM, + AIR780E_EVENT_DELAY); + } } + + break; + } + case AIR780E_EVENT_DELAY: + { + HIDO_ATLiteCmdSend(pstATDevice, astInitCmdList[l_u32CmdIndex].m_u32TimeOut, astInitCmdList[l_u32CmdIndex].m_pcATCmd, acAPN); + break; + } + case AIR780E_EVENT_POLL: + { + break; + } + case AIR780E_EVENT_NUM_0: + case AIR780E_EVENT_NUM_1: + case AIR780E_EVENT_NUM_2: + case AIR780E_EVENT_NUM_3: + case AIR780E_EVENT_NUM_4: + case AIR780E_EVENT_NUM_5: + case AIR780E_EVENT_NUM_6: + case AIR780E_EVENT_NUM_7: + case AIR780E_EVENT_NUM_8: + case AIR780E_EVENT_NUM_9: + { + if(l_u32CmdIndex == 4) + { + _u32Event = HIDO_AT_EVENT_OK; + goto ok; + } + break; + } + default: + { + return HIDO_EVENT_NO_PROC; + } } return HIDO_EVENT_OK; @@ -1003,79 +1003,79 @@ { switch (_u32Event) { - case HIDO_EVENT_ENTRY: - { - break; - } - case HIDO_EVENT_EXIT: - { - Socket_ClosedAll(); + case HIDO_EVENT_ENTRY: + { + break; + } + case HIDO_EVENT_EXIT: + { + Socket_ClosedAll(); #ifdef __AIR780E_MQTT__ - MQTT_ClosedAll(); + MQTT_ClosedAll(); #endif - break; - } - case AIR780E_EVENT_POLL: - { - break; - } - case HIDO_AT_EVENT_TIMEOUT: - { - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EInit), HIDO_NULL); - break; - } - case AIR780E_EVENT_CLOSE: - { - HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; - HIDO_UINT32 u32ID = 0; + break; + } + case AIR780E_EVENT_POLL: + { + break; + } + case HIDO_AT_EVENT_TIMEOUT: + { + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EInit), HIDO_NULL); + break; + } + case AIR780E_EVENT_CLOSE: + { + HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; + HIDO_UINT32 u32ID = 0; - if (HIDO_UtilParseFormat((HIDO_UINT8 *) pstData->m_pData, pstData->m_u32Len, "+QIURC: \"closed\",%d\r\n", &u32ID) != 1) - { - break; - } - - Socket_OnClosed(u32ID); - - break; - } - case AIR780E_EVENT_PDPDEACT: + if (HIDO_UtilParseFormat((HIDO_UINT8 *) pstData->m_pData, pstData->m_u32Len, "+QIURC: \"closed\",%d\r\n", &u32ID) != 1) { - l_bDeact = HIDO_TRUE; break; } + + Socket_OnClosed(u32ID); + + break; + } + case AIR780E_EVENT_PDPDEACT: + { + l_bDeact = HIDO_TRUE; + break; + } #ifdef __AIR780E_MQTT__ - case AIR780E_EVENT_QMTSTAT: + case AIR780E_EVENT_QMTSTAT: + { + HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; + HIDO_UINT32 u32Err = 0; + HIDO_UINT32 u32ClientID = 0; + + if (HIDO_UtilParseFormat((HIDO_UINT8 *) pstData->m_pData, pstData->m_u32Len, "+QMTSTAT: %d,%d\r\n", + &u32ClientID, &u32Err) != 2) { - HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; - HIDO_UINT32 u32Err = 0; - HIDO_UINT32 u32ClientID = 0; - - if (HIDO_UtilParseFormat((HIDO_UINT8 *) pstData->m_pData, pstData->m_u32Len, "+QMTSTAT: %d,%d\r\n", - &u32ClientID, &u32Err) != 2) - { - break; - } - - if(u32Err != 0) - { - MQTT_OnClosed(u32ClientID); - - break; - } - - break; + break; } - case AIR780E_EVENT_QMTPUBEX: + + if(u32Err != 0) { - AIR780EMQTT_SendAck((HIDO_DataStruct *) _pArg); + MQTT_OnClosed(u32ClientID); break; } + + break; + } + case AIR780E_EVENT_QMTPUBEX: + { + AIR780EMQTT_SendAck((HIDO_DataStruct *) _pArg); + + break; + } #endif - default: - { - return HIDO_EVENT_NO_PROC; - } + default: + { + return HIDO_EVENT_NO_PROC; + } } return HIDO_EVENT_OK; @@ -1094,34 +1094,34 @@ switch (_u32Event) { - case HIDO_EVENT_ENTRY: + case HIDO_EVENT_ENTRY: + { + break; + } + case HIDO_EVENT_EXIT: + { + break; + } + case AIR780E_EVENT_POLL: + { + if (HIDO_TRUE == l_bDeact) { + l_bDeact = HIDO_FALSE; + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EReady), HIDO_NULL); break; } - case HIDO_EVENT_EXIT: - { - break; - } - case AIR780E_EVENT_POLL: - { - if (HIDO_TRUE == l_bDeact) - { - l_bDeact = HIDO_FALSE; - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EReady), HIDO_NULL); - break; - } - if(AIR780E_PollOnIPReady(pstATDevice) == HIDO_OK) - { - break; - } - + if(AIR780E_PollOnIPReady(pstATDevice) == HIDO_OK) + { break; } - default: - { - return HIDO_EVENT_NO_PROC; - } + + break; + } + default: + { + return HIDO_EVENT_NO_PROC; + } } return HIDO_EVENT_OK; @@ -1141,45 +1141,45 @@ switch (_u32Event) { - case HIDO_EVENT_ENTRY: + case HIDO_EVENT_ENTRY: + { + l_u32CGATT = 0; + HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CGATT?\r\n"); + break; + } + case HIDO_EVENT_EXIT: + { + HIDO_ATLiteCmdSendOver(pstATDevice); + break; + } + case HIDO_AT_EVENT_OK: + { + if (1 == l_u32CGATT) { - l_u32CGATT = 0; - HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CGATT?\r\n"); - break; + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIPPoll), HIDO_NULL); } - case HIDO_EVENT_EXIT: + else { - HIDO_ATLiteCmdSendOver(pstATDevice); - break; + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EReady), HIDO_NULL); } - case HIDO_AT_EVENT_OK: - { - if (1 == l_u32CGATT) - { - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIPPoll), HIDO_NULL); - } - else - { - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EReady), HIDO_NULL); - } - break; - } - case AIR780E_EVENT_CGATT: + break; + } + case AIR780E_EVENT_CGATT: + { + HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; + + if (HIDO_UtilParseFormat((HIDO_UINT8 *) pstData->m_pData, pstData->m_u32Len, "+CGATT: %d", &l_u32CGATT) == 1) { - HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; - if (HIDO_UtilParseFormat((HIDO_UINT8 *) pstData->m_pData, pstData->m_u32Len, "+CGATT: %d", &l_u32CGATT) == 1) - { - - } - - break; } - default: - { - return HIDO_EVENT_NO_PROC; - } + + break; + } + default: + { + return HIDO_EVENT_NO_PROC; + } } return HIDO_EVENT_OK; @@ -1198,28 +1198,28 @@ switch (_u32Event) { - case HIDO_EVENT_ENTRY: - { - HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "%s\r\n", Module_GetRunATCmd()); - break; - } - case HIDO_EVENT_EXIT: - { - HIDO_ATLiteCmdSendOver(pstATDevice); - break; - } - case HIDO_AT_EVENT_OK: - case HIDO_AT_EVENT_ERROR: - case HIDO_AT_EVENT_TIMEOUT: - { - Module_RunATCmdResult((HIDO_DataStruct *)_pArg); - HIDO_FSMStateChange(_pstFSM, l_stStateArg.m_pstAfterState, HIDO_NULL); - break; - } - default: - { - return HIDO_EVENT_NO_PROC; - } + case HIDO_EVENT_ENTRY: + { + HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "%s\r\n", Module_GetRunATCmd()); + break; + } + case HIDO_EVENT_EXIT: + { + HIDO_ATLiteCmdSendOver(pstATDevice); + break; + } + case HIDO_AT_EVENT_OK: + case HIDO_AT_EVENT_ERROR: + case HIDO_AT_EVENT_TIMEOUT: + { + Module_RunATCmdResult((HIDO_DataStruct *)_pArg); + HIDO_FSMStateChange(_pstFSM, l_stStateArg.m_pstAfterState, HIDO_NULL); + break; + } + default: + { + return HIDO_EVENT_NO_PROC; + } } return HIDO_EVENT_OK; @@ -1238,27 +1238,27 @@ switch (_u32Event) { - case HIDO_EVENT_ENTRY: - { - HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CFUN=0\r\n"); - break; - } - case HIDO_EVENT_EXIT: - { - HIDO_ATLiteCmdSendOver(pstATDevice); - break; - } - case HIDO_AT_EVENT_OK: - case HIDO_AT_EVENT_ERROR: - { - Module_PowerEvent(MODULE_GSM, MODULE_STATE_POWER_OFF); - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIdle), HIDO_NULL); - break; - } - default: - { - return HIDO_EVENT_NO_PROC; - } + case HIDO_EVENT_ENTRY: + { + HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CFUN=0\r\n"); + break; + } + case HIDO_EVENT_EXIT: + { + HIDO_ATLiteCmdSendOver(pstATDevice); + break; + } + case HIDO_AT_EVENT_OK: + case HIDO_AT_EVENT_ERROR: + { + Module_PowerEvent(MODULE_GSM, MODULE_STATE_POWER_OFF); + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIdle), HIDO_NULL); + break; + } + default: + { + return HIDO_EVENT_NO_PROC; + } } return HIDO_EVENT_OK; @@ -1277,27 +1277,27 @@ switch (_u32Event) { - case HIDO_EVENT_ENTRY: - { - HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CFUN=1\r\n"); - break; - } - case HIDO_EVENT_EXIT: - { - HIDO_ATLiteCmdSendOver(pstATDevice); - break; - } - case HIDO_AT_EVENT_OK: - case HIDO_AT_EVENT_ERROR: - { - Module_PowerEvent(MODULE_GSM, MODULE_STATE_POWER_ON); - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EReady), HIDO_NULL); - break; - } - default: - { - return HIDO_EVENT_NO_PROC; - } + case HIDO_EVENT_ENTRY: + { + HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CFUN=1\r\n"); + break; + } + case HIDO_EVENT_EXIT: + { + HIDO_ATLiteCmdSendOver(pstATDevice); + break; + } + case HIDO_AT_EVENT_OK: + case HIDO_AT_EVENT_ERROR: + { + Module_PowerEvent(MODULE_GSM, MODULE_STATE_POWER_ON); + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EReady), HIDO_NULL); + break; + } + default: + { + return HIDO_EVENT_NO_PROC; + } } return HIDO_EVENT_OK; @@ -1339,17 +1339,17 @@ *******************************************************************************/ static HIDO_INT32 AIR780E_RunATCmdPoll(HIDO_ATLiteDeviceStruct *_pstATDevice) { - if(Module_RunATCmdEnable() == HIDO_TRUE) - { - l_stStateArg.m_pArg = HIDO_NULL; - l_stStateArg.m_pstAfterState = _pstATDevice->m_pstFSM->m_pstCurrentState; - HIDO_FSM_DETACHED_STATE_SETTLE(AIR780ERunATCmd, _pstATDevice->m_pstFSM->m_pstCurrentState->m_pstParent, HIDO_NULL); - HIDO_FSMStateChange(_pstATDevice->m_pstFSM, HIDO_FSM_STATE(AIR780ERunATCmd), HIDO_NULL); + if(Module_RunATCmdEnable() == HIDO_TRUE) + { + l_stStateArg.m_pArg = HIDO_NULL; + l_stStateArg.m_pstAfterState = _pstATDevice->m_pstFSM->m_pstCurrentState; + HIDO_FSM_DETACHED_STATE_SETTLE(AIR780ERunATCmd, _pstATDevice->m_pstFSM->m_pstCurrentState->m_pstParent, HIDO_NULL); + HIDO_FSMStateChange(_pstATDevice->m_pstFSM, HIDO_FSM_STATE(AIR780ERunATCmd), HIDO_NULL); - return HIDO_OK; - } + return HIDO_OK; + } - return HIDO_ERR; + return HIDO_ERR; } /******************************************************************************* @@ -1363,17 +1363,17 @@ *******************************************************************************/ static HIDO_INT32 AIR780E_CloseWirelessPoll(HIDO_ATLiteDeviceStruct *_pstATDevice) { - if(Module_NeedPowerOff(MODULE_GSM) == HIDO_TRUE) - { - l_stStateArg.m_pArg = HIDO_NULL; - l_stStateArg.m_pstAfterState = _pstATDevice->m_pstFSM->m_pstCurrentState; - HIDO_FSM_DETACHED_STATE_SETTLE(AIR780ECloseWireless, _pstATDevice->m_pstFSM->m_pstCurrentState->m_pstParent, HIDO_NULL); - HIDO_FSMStateChange(_pstATDevice->m_pstFSM, HIDO_FSM_STATE(AIR780ECloseWireless), HIDO_NULL); + if(Module_NeedPowerOff(MODULE_GSM) == HIDO_TRUE) + { + l_stStateArg.m_pArg = HIDO_NULL; + l_stStateArg.m_pstAfterState = _pstATDevice->m_pstFSM->m_pstCurrentState; + HIDO_FSM_DETACHED_STATE_SETTLE(AIR780ECloseWireless, _pstATDevice->m_pstFSM->m_pstCurrentState->m_pstParent, HIDO_NULL); + HIDO_FSMStateChange(_pstATDevice->m_pstFSM, HIDO_FSM_STATE(AIR780ECloseWireless), HIDO_NULL); - return HIDO_OK; - } + return HIDO_OK; + } - return HIDO_ERR; + return HIDO_ERR; } /******************************************************************************* @@ -1387,17 +1387,17 @@ *******************************************************************************/ static HIDO_INT32 AIR780E_OpenWirelessPoll(HIDO_ATLiteDeviceStruct *_pstATDevice) { - if(Module_NeedPowerOn(MODULE_GSM) == HIDO_TRUE) - { - l_stStateArg.m_pArg = HIDO_NULL; - l_stStateArg.m_pstAfterState = _pstATDevice->m_pstFSM->m_pstCurrentState; - HIDO_FSM_DETACHED_STATE_SETTLE(AIR780EOpenWireless, _pstATDevice->m_pstFSM->m_pstCurrentState->m_pstParent, HIDO_NULL); - HIDO_FSMStateChange(_pstATDevice->m_pstFSM, HIDO_FSM_STATE(AIR780EOpenWireless), HIDO_NULL); + if(Module_NeedPowerOn(MODULE_GSM) == HIDO_TRUE) + { + l_stStateArg.m_pArg = HIDO_NULL; + l_stStateArg.m_pstAfterState = _pstATDevice->m_pstFSM->m_pstCurrentState; + HIDO_FSM_DETACHED_STATE_SETTLE(AIR780EOpenWireless, _pstATDevice->m_pstFSM->m_pstCurrentState->m_pstParent, HIDO_NULL); + HIDO_FSMStateChange(_pstATDevice->m_pstFSM, HIDO_FSM_STATE(AIR780EOpenWireless), HIDO_NULL); - return HIDO_OK; - } + return HIDO_OK; + } - return HIDO_ERR; + return HIDO_ERR; } /******************************************************************************* @@ -1432,7 +1432,7 @@ return HIDO_OK; } #endif - + /* CSQ */ if (AIR780ECSQ_Poll(_pstATDevice) == HIDO_OK) { @@ -1486,7 +1486,7 @@ } #ifdef __AIR780E_GNSS__ - /* GNSS */ + /* GNSS */ if(AIR780EGNSS_Poll(_pstATDevice) == HIDO_OK) { return HIDO_OK; @@ -1500,7 +1500,7 @@ return HIDO_OK; } #endif - + /* Socket */ if (AIR780ESocket_Poll(_pstATDevice) == HIDO_OK) { @@ -1536,7 +1536,7 @@ return HIDO_OK; } #endif - + /* RunATCmd */ if (AIR780E_RunATCmdPoll(_pstATDevice) == HIDO_OK) { @@ -1553,7 +1553,7 @@ { return HIDO_OK; } - + #ifdef __AIR780E_FILE__ if (AIR780EFile_Poll(_pstATDevice) == HIDO_OK) { diff --git a/keil/include/components/internet/src/AIR780ESocket.c b/keil/include/components/internet/src/AIR780ESocket.c index 400b4cc..f2bb948 100644 --- a/keil/include/components/internet/src/AIR780ESocket.c +++ b/keil/include/components/internet/src/AIR780ESocket.c @@ -71,28 +71,28 @@ switch (_u32Event) { - case HIDO_EVENT_ENTRY: - { - l_i32SocketID = (HIDO_INT32) _pArg; - HIDO_ATLiteCmdSend(pstATDevice, HIDO_TIMER_TICK_S(30), "AT^HEARTCONFIG=1,%d,%u\r\n", l_i32SocketID, Socket_GetHeartbeatFreq(l_i32SocketID)); - break; - } - case HIDO_EVENT_EXIT: - { - HIDO_ATLiteCmdSendOver(pstATDevice); - break; - } - case HIDO_AT_EVENT_ERROR: - case HIDO_AT_EVENT_OK: - { + case HIDO_EVENT_ENTRY: + { + l_i32SocketID = (HIDO_INT32) _pArg; + HIDO_ATLiteCmdSend(pstATDevice, HIDO_TIMER_TICK_S(30), "AT^HEARTCONFIG=1,%d,%u\r\n", l_i32SocketID, Socket_GetHeartbeatFreq(l_i32SocketID)); + break; + } + case HIDO_EVENT_EXIT: + { + HIDO_ATLiteCmdSendOver(pstATDevice); + break; + } + case HIDO_AT_EVENT_ERROR: + case HIDO_AT_EVENT_OK: + { - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780ESocketHeartbeat), HIDO_NULL); - break; - } - default: - { - return HIDO_EVENT_NO_PROC; - } + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780ESocketHeartbeat), HIDO_NULL); + break; + } + default: + { + return HIDO_EVENT_NO_PROC; + } } return HIDO_EVENT_OK; @@ -112,29 +112,29 @@ switch (_u32Event) { - case HIDO_EVENT_ENTRY: - { - l_i32SocketID = (HIDO_INT32) _pArg; - HIDO_ATLiteCmdSend(pstATDevice, HIDO_TIMER_TICK_S(30), "AT^HEARTBEATHEX=%d,%u,%s\r\n", l_i32SocketID, - strlen(Socket_GetHeartbeatData(l_i32SocketID)) / 2, Socket_GetHeartbeatData(l_i32SocketID)); - break; - } - case HIDO_EVENT_EXIT: - { - HIDO_ATLiteCmdSendOver(pstATDevice); - break; - } - case HIDO_AT_EVENT_ERROR: - case HIDO_AT_EVENT_OK: - { + case HIDO_EVENT_ENTRY: + { + l_i32SocketID = (HIDO_INT32) _pArg; + HIDO_ATLiteCmdSend(pstATDevice, HIDO_TIMER_TICK_S(30), "AT^HEARTBEATHEX=%d,%u,%s\r\n", l_i32SocketID, + strlen(Socket_GetHeartbeatData(l_i32SocketID)) / 2, Socket_GetHeartbeatData(l_i32SocketID)); + break; + } + case HIDO_EVENT_EXIT: + { + HIDO_ATLiteCmdSendOver(pstATDevice); + break; + } + case HIDO_AT_EVENT_ERROR: + case HIDO_AT_EVENT_OK: + { - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIPPoll), HIDO_NULL); - break; - } - default: - { - return HIDO_EVENT_NO_PROC; - } + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIPPoll), HIDO_NULL); + break; + } + default: + { + return HIDO_EVENT_NO_PROC; + } } return HIDO_EVENT_OK; @@ -157,108 +157,108 @@ switch (_u32Event) { - case HIDO_EVENT_ENTRY: + case HIDO_EVENT_ENTRY: + { + l_i32SocketID = (HIDO_INT32) _pArg; + HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CIPSTART=%d,\"%s\",\"%s\",%u\r\n", l_i32SocketID, + Socket_GetType(l_i32SocketID) == SOCKET_TYPE_TCP ? "TCP" : "UDP", + Socket_GetRemoteAddr(l_i32SocketID), Socket_GetRemotePort(l_i32SocketID)); + + HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(180), _pstFSM, AIR780E_EVENT_DELAY); + break; + } + case HIDO_EVENT_EXIT: + { + HIDO_ATLiteCmdSendOver(pstATDevice); + HIDO_TimerCancel(u32FSMTimerID); + break; + } + case HIDO_AT_EVENT_OK: + { + break; + } + case HIDO_AT_EVENT_ERROR: + { + Socket_OnConnectFailed(l_i32SocketID); + + l_u32FailedCnt++; + if(l_u32FailedCnt >= 3) { - l_i32SocketID = (HIDO_INT32) _pArg; - HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CIPSTART=%d,\"%s\",\"%s\",%u\r\n", l_i32SocketID, - Socket_GetType(l_i32SocketID) == SOCKET_TYPE_TCP ? "TCP" : "UDP", - Socket_GetRemoteAddr(l_i32SocketID), Socket_GetRemotePort(l_i32SocketID)); - - HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(180), _pstFSM, AIR780E_EVENT_DELAY); - break; + l_u32FailedCnt = 0; + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780E), HIDO_NULL); } - case HIDO_EVENT_EXIT: - { - HIDO_ATLiteCmdSendOver(pstATDevice); - HIDO_TimerCancel(u32FSMTimerID); - break; - } - case HIDO_AT_EVENT_OK: - { - break; - } - case HIDO_AT_EVENT_ERROR: - { - Socket_OnConnectFailed(l_i32SocketID); - - l_u32FailedCnt++; - if(l_u32FailedCnt >= 3) - { - l_u32FailedCnt = 0; - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780E), HIDO_NULL); - } - else - { - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIPPoll), HIDO_NULL); - } - break; - } - case AIR780E_EVENT_NUM_0: - case AIR780E_EVENT_NUM_1: - case AIR780E_EVENT_NUM_2: - case AIR780E_EVENT_NUM_3: - case AIR780E_EVENT_NUM_4: - case AIR780E_EVENT_NUM_5: - { - HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; - HIDO_UINT32 u32ConnectID = 0; - HIDO_DataStruct stEvent; - - if (HIDO_UtilParseFormat((HIDO_UINT8 *) pstData->m_pData, pstData->m_u32Len, "%d, %p\r\n", - &u32ConnectID, &stEvent) != 2) - { - break; - } - - if (l_i32SocketID == u32ConnectID) - { - if (strncmp(stEvent.m_pData, "ALREADY CONNECT", stEvent.m_u32Len) == 0 - || strncmp(stEvent.m_pData, "CONNECT OK", stEvent.m_u32Len) == 0) - { - l_u32FailedCnt = 0; - Socket_OnConnected(l_i32SocketID); - - if(Socket_UseHeartbeat(l_i32SocketID)) - { - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780ESocketHeartConfig), HIDO_NULL); - - } - else - { - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIPPoll), HIDO_NULL); - } - - break; - } - else if (strncmp(stEvent.m_pData, "CONNECT FAIL", stEvent.m_u32Len) == 0) - { - Socket_OnConnectFailed(l_i32SocketID); - - l_u32FailedCnt++; - if (l_u32FailedCnt >= 3) - { - l_u32FailedCnt = 3; - Socket_Destroy(l_i32SocketID); - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIPPoll), HIDO_NULL); - } - else - { - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIPPoll), HIDO_NULL); - } - } - } - - break; - } - case AIR780E_EVENT_DELAY: + else { HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIPPoll), HIDO_NULL); + } + break; + } + case AIR780E_EVENT_NUM_0: + case AIR780E_EVENT_NUM_1: + case AIR780E_EVENT_NUM_2: + case AIR780E_EVENT_NUM_3: + case AIR780E_EVENT_NUM_4: + case AIR780E_EVENT_NUM_5: + { + HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; + HIDO_UINT32 u32ConnectID = 0; + HIDO_DataStruct stEvent; + + if (HIDO_UtilParseFormat((HIDO_UINT8 *) pstData->m_pData, pstData->m_u32Len, "%d, %p\r\n", + &u32ConnectID, &stEvent) != 2) + { break; } - default: + + if (l_i32SocketID == u32ConnectID) { - return HIDO_EVENT_NO_PROC; + if (strncmp(stEvent.m_pData, "ALREADY CONNECT", stEvent.m_u32Len) == 0 + || strncmp(stEvent.m_pData, "CONNECT OK", stEvent.m_u32Len) == 0) + { + l_u32FailedCnt = 0; + Socket_OnConnected(l_i32SocketID); + + if(Socket_UseHeartbeat(l_i32SocketID)) + { + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780ESocketHeartConfig), HIDO_NULL); + + } + else + { + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIPPoll), HIDO_NULL); + } + + break; + } + else if (strncmp(stEvent.m_pData, "CONNECT FAIL", stEvent.m_u32Len) == 0) + { + Socket_OnConnectFailed(l_i32SocketID); + + l_u32FailedCnt++; + if (l_u32FailedCnt >= 3) + { + l_u32FailedCnt = 3; + Socket_Destroy(l_i32SocketID); + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIPPoll), HIDO_NULL); + } + else + { + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIPPoll), HIDO_NULL); + } + } } + + break; + } + case AIR780E_EVENT_DELAY: + { + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIPPoll), HIDO_NULL); + break; + } + default: + { + return HIDO_EVENT_NO_PROC; + } } return HIDO_EVENT_OK; @@ -278,55 +278,55 @@ switch (_u32Event) { - case HIDO_EVENT_ENTRY: + case HIDO_EVENT_ENTRY: + { + l_i32SocketID = (HIDO_INT32) _pArg; + HIDO_ATLiteCmdSend(pstATDevice, HIDO_TIMER_TICK_S(30), "AT+CIPCLOSE=%d\r\n", l_i32SocketID); + break; + } + case HIDO_EVENT_EXIT: + { + HIDO_ATLiteCmdSendOver(pstATDevice); + break; + } + case HIDO_AT_EVENT_ERROR: + case HIDO_AT_EVENT_OK: + case HIDO_AT_EVENT_TIMEOUT: + { + Socket_OnClosed(l_i32SocketID); + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIPPoll), HIDO_NULL); + break; + } + case AIR780E_EVENT_NUM_0: + case AIR780E_EVENT_NUM_1: + case AIR780E_EVENT_NUM_2: + case AIR780E_EVENT_NUM_3: + case AIR780E_EVENT_NUM_4: + case AIR780E_EVENT_NUM_5: + { + HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; + HIDO_UINT32 u32ConnectID = 0; + HIDO_DataStruct stEvent; + + if (HIDO_UtilParseFormat((HIDO_UINT8 *) pstData->m_pData, pstData->m_u32Len, "%d, %p\r\n", + &u32ConnectID, &stEvent) != 2) { - l_i32SocketID = (HIDO_INT32) _pArg; - HIDO_ATLiteCmdSend(pstATDevice, HIDO_TIMER_TICK_S(30), "AT+CIPCLOSE=%d\r\n", l_i32SocketID); break; } - case HIDO_EVENT_EXIT: - { - HIDO_ATLiteCmdSendOver(pstATDevice); - break; - } - case HIDO_AT_EVENT_ERROR: - case HIDO_AT_EVENT_OK: - case HIDO_AT_EVENT_TIMEOUT: + + if (strncmp(stEvent.m_pData, "CLOSE OK", stEvent.m_u32Len) == 0) { Socket_OnClosed(l_i32SocketID); HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIPPoll), HIDO_NULL); break; } - case AIR780E_EVENT_NUM_0: - case AIR780E_EVENT_NUM_1: - case AIR780E_EVENT_NUM_2: - case AIR780E_EVENT_NUM_3: - case AIR780E_EVENT_NUM_4: - case AIR780E_EVENT_NUM_5: - { - HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; - HIDO_UINT32 u32ConnectID = 0; - HIDO_DataStruct stEvent; - if (HIDO_UtilParseFormat((HIDO_UINT8 *) pstData->m_pData, pstData->m_u32Len, "%d, %p\r\n", - &u32ConnectID, &stEvent) != 2) - { - break; - } - - if (strncmp(stEvent.m_pData, "CLOSE OK", stEvent.m_u32Len) == 0) - { - Socket_OnClosed(l_i32SocketID); - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIPPoll), HIDO_NULL); - break; - } - - break; - } - default: - { - return HIDO_EVENT_NO_PROC; - } + break; + } + default: + { + return HIDO_EVENT_NO_PROC; + } } return HIDO_EVENT_OK; @@ -349,95 +349,95 @@ switch (_u32Event) { - case HIDO_EVENT_ENTRY: + case HIDO_EVENT_ENTRY: + { + l_i32SocketID = (HIDO_INT32) _pArg; + + pstSendQueue = Socket_GetSocketSendQueue(l_i32SocketID); + if(HIDO_NULL == pstSendQueue) { - l_i32SocketID = (HIDO_INT32) _pArg; - - pstSendQueue = Socket_GetSocketSendQueue(l_i32SocketID); - if(HIDO_NULL == pstSendQueue) - { - break; - } - - l_pstMember = HIDO_VLQGetDequeueMember(pstSendQueue); - if(HIDO_NULL == l_pstMember) - { - break; - } - - HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CIPSEND=%d,%u\r\n", l_i32SocketID, l_pstMember->m_u32DataLen); break; } - case HIDO_EVENT_EXIT: - { - l_pstMember = HIDO_NULL; - HIDO_ATLiteCmdSendOver(pstATDevice); - break; - } - case HIDO_AT_EVENT_OK: - { - //HIDO_Debug("OK\r\n"); - break; - } - case HIDO_AT_EVENT_ERROR: - { - Socket_OnClosed(l_i32SocketID); - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIPPoll), HIDO_NULL); - break; - } - case AIR780E_EVENT_ACK: - { - if(HIDO_ATLiteGetDebugFlag() == HIDO_TRUE) - { - HIDO_DebugHex((HIDO_UINT8 *)l_pstMember->m_pDataAddr, l_pstMember->m_u32DataLen); - } - HIDO_ATLiteDataSend(pstATDevice, 20000, (HIDO_UINT8 *)l_pstMember->m_pDataAddr, l_pstMember->m_u32DataLen); + l_pstMember = HIDO_VLQGetDequeueMember(pstSendQueue); + if(HIDO_NULL == l_pstMember) + { break; } - case AIR780E_EVENT_NUM_0: - case AIR780E_EVENT_NUM_1: - case AIR780E_EVENT_NUM_2: - case AIR780E_EVENT_NUM_3: - case AIR780E_EVENT_NUM_4: - case AIR780E_EVENT_NUM_5: - { - HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; - HIDO_UINT32 u32ConnectID = 0; - HIDO_DataStruct stEvent; - if (HIDO_UtilParseFormat((HIDO_UINT8 *) pstData->m_pData, pstData->m_u32Len, "%d, %p\r\n", - &u32ConnectID, &stEvent) != 2) - { - break; - } + HIDO_ATLiteCmdSend(pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CIPSEND=%d,%u\r\n", l_i32SocketID, l_pstMember->m_u32DataLen); + break; + } + case HIDO_EVENT_EXIT: + { + l_pstMember = HIDO_NULL; + HIDO_ATLiteCmdSendOver(pstATDevice); + break; + } + case HIDO_AT_EVENT_OK: + { + //HIDO_Debug("OK\r\n"); + break; + } + case HIDO_AT_EVENT_ERROR: + { + Socket_OnClosed(l_i32SocketID); + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIPPoll), HIDO_NULL); + break; + } + case AIR780E_EVENT_ACK: + { + if(HIDO_ATLiteGetDebugFlag() == HIDO_TRUE) + { + HIDO_DebugHex((HIDO_UINT8 *)l_pstMember->m_pDataAddr, l_pstMember->m_u32DataLen); + } - if (l_i32SocketID == u32ConnectID) + HIDO_ATLiteDataSend(pstATDevice, 20000, (HIDO_UINT8 *)l_pstMember->m_pDataAddr, l_pstMember->m_u32DataLen); + break; + } + case AIR780E_EVENT_NUM_0: + case AIR780E_EVENT_NUM_1: + case AIR780E_EVENT_NUM_2: + case AIR780E_EVENT_NUM_3: + case AIR780E_EVENT_NUM_4: + case AIR780E_EVENT_NUM_5: + { + HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg; + HIDO_UINT32 u32ConnectID = 0; + HIDO_DataStruct stEvent; + + if (HIDO_UtilParseFormat((HIDO_UINT8 *) pstData->m_pData, pstData->m_u32Len, "%d, %p\r\n", + &u32ConnectID, &stEvent) != 2) + { + break; + } + + if (l_i32SocketID == u32ConnectID) + { + if (strncmp(stEvent.m_pData, "SEND OK", stEvent.m_u32Len) == 0) { - if (strncmp(stEvent.m_pData, "SEND OK", stEvent.m_u32Len) == 0) + pstSendQueue = Socket_GetSocketSendQueue(l_i32SocketID); + if (NULL == pstSendQueue) { - pstSendQueue = Socket_GetSocketSendQueue(l_i32SocketID); - if (NULL == pstSendQueue) - { - break; - } + break; + } - HIDO_VLQDequeue(pstSendQueue, l_pstMember); - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIPPoll), NULL); - } - else if (strncmp(stEvent.m_pData, "SEND FAIL", stEvent.m_u32Len) == 0) - { - Socket_OnClosed(l_i32SocketID); - HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EInit), NULL); - } + HIDO_VLQDequeue(pstSendQueue, l_pstMember); + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EIPPoll), NULL); } + else if (strncmp(stEvent.m_pData, "SEND FAIL", stEvent.m_u32Len) == 0) + { + Socket_OnClosed(l_i32SocketID); + HIDO_FSMStateChange(_pstFSM, HIDO_FSM_STATE(AIR780EInit), NULL); + } + } - break; - } - default: - { - return HIDO_EVENT_NO_PROC; - } + break; + } + default: + { + return HIDO_EVENT_NO_PROC; + } } return HIDO_EVENT_OK; @@ -468,7 +468,7 @@ else if (SOCKET_STATE_CLOSE == Socket_GetSocketState(i32SocketIndex)) { HIDO_FSMStateChange(_pstATDevice->m_pstFSM, HIDO_FSM_STATE(AIR780ESocketClose), - (HIDO_VOID *) (HIDO_UINT32) i32SocketIndex); + (HIDO_VOID *) (HIDO_UINT32) i32SocketIndex); return HIDO_OK; } diff --git a/keil/include/components/internet/src/HTTPClient.c b/keil/include/components/internet/src/HTTPClient.c index 2bdcdef..23b5be5 100644 --- a/keil/include/components/internet/src/HTTPClient.c +++ b/keil/include/components/internet/src/HTTPClient.c @@ -112,7 +112,7 @@ else { HIDO_DebugString((HIDO_CHAR *)_pu8Data, _u32Len); - + if(l_fnHTTPResponseCallback != HIDO_NULL) { l_fnHTTPResponseCallback(_u32RespCode, _pu8Data, _u32Len, l_pHTTPArg); @@ -152,110 +152,136 @@ { switch (_eEvent) { - case SOCKET_EVENT_CONNECT_FAILED: + case SOCKET_EVENT_CONNECT_FAILED: + { + if(HTTP_CLIENT_STATE_CONNECTING == l_eHTTPClientState) { - if(HTTP_CLIENT_STATE_CONNECTING == l_eHTTPClientState) + if(l_u32HTTPTryCnt < 3) { - if(l_u32HTTPTryCnt < 3) - { - l_u32HTTPTryCnt++; - Socket_Connect(l_i32HTTPClientSockID, l_acHTTPHost, l_u32HTTPPort); - } - else - { - l_eHTTPClientState = HTTP_CLIENT_STATE_IDLE; - HTTPClient_Response(408, HIDO_NULL, 0); - } - } - - break; - } - case SOCKET_EVENT_CONNECTED: - { - if(HTTP_CLIENT_STATE_CONNECTING == l_eHTTPClientState) - { - l_eHTTPClientState = HTTP_CLIENT_STATE_CONNECTED; - l_eHTTPRecvState = HTTP_RECV_STATE_HEAD; - l_u32HTTPRecvBuffLen = 0; - - if(l_eHTTPMethod != HTTP_METHOD_POST_FILE) - { - Socket_Send(l_i32HTTPClientSockID, (HIDO_UINT8 *)l_acHTTPSendBuff, l_u32HTTPSendBuffLen); - } - } - - break; - } - case SOCKET_EVENT_CLOSED: - { - if(l_eHTTPClientState != HTTP_CLIENT_STATE_IDLE) - { - HIDO_TimerCancel(l_u32HTTPClientTimerID); - l_eHTTPClientState = HTTP_CLIENT_STATE_IDLE; - - HTTPClient_Response(l_u32HTTPRespCode, l_pu8HTTPRespBody, l_u32HTTPContentLength); + l_u32HTTPTryCnt++; + Socket_Connect(l_i32HTTPClientSockID, l_acHTTPHost, l_u32HTTPPort); } else { - HIDO_TimerCancel(l_u32HTTPClientTimerID); + l_eHTTPClientState = HTTP_CLIENT_STATE_IDLE; + HTTPClient_Response(408, HIDO_NULL, 0); + } + } + + break; + } + case SOCKET_EVENT_CONNECTED: + { + if(HTTP_CLIENT_STATE_CONNECTING == l_eHTTPClientState) + { + l_eHTTPClientState = HTTP_CLIENT_STATE_CONNECTED; + l_eHTTPRecvState = HTTP_RECV_STATE_HEAD; + l_u32HTTPRecvBuffLen = 0; + + if(l_eHTTPMethod != HTTP_METHOD_POST_FILE) + { + Socket_Send(l_i32HTTPClientSockID, (HIDO_UINT8 *)l_acHTTPSendBuff, l_u32HTTPSendBuffLen); + } + } + + break; + } + case SOCKET_EVENT_CLOSED: + { + if(l_eHTTPClientState != HTTP_CLIENT_STATE_IDLE) + { + HIDO_TimerCancel(l_u32HTTPClientTimerID); + l_eHTTPClientState = HTTP_CLIENT_STATE_IDLE; + + HTTPClient_Response(l_u32HTTPRespCode, l_pu8HTTPRespBody, l_u32HTTPContentLength); + } + else + { + HIDO_TimerCancel(l_u32HTTPClientTimerID); + } + + break; + } + case SOCKET_EVENT_RECV_DATA: + { + HIDO_INT32 i32Ret = 0; + HIDO_UINT32 u32RecvLen = 0; + + do + { + if (l_u32HTTPRecvBuffLen >= HTTP_RECV_BUFF_SIZE) + { + Socket_Close(l_i32HTTPClientSockID); + + break; } - break; - } - case SOCKET_EVENT_RECV_DATA: - { - HIDO_INT32 i32Ret = 0; - HIDO_UINT32 u32RecvLen = 0; + i32Ret = Socket_Recv(l_i32HTTPClientSockID, (HIDO_UINT8 *)(l_acHTTPRecvBuff + l_u32HTTPRecvBuffLen), + HTTP_RECV_BUFF_SIZE - l_u32HTTPRecvBuffLen, &u32RecvLen); - do + if ((i32Ret != HIDO_OK) || (0 == u32RecvLen)) { - if (l_u32HTTPRecvBuffLen >= HTTP_RECV_BUFF_SIZE) + break; + } + + l_u32HTTPRecvBuffLen += u32RecvLen; + + if (HTTP_RECV_STATE_HEAD == l_eHTTPRecvState) + { + /* 收到"\r\n\r\n */ + l_pu8HTTPRespBody = (HIDO_UINT8 *)HIDO_UtilStrnstr(l_acHTTPRecvBuff, "\r\n\r\n", u32RecvLen); + if (l_pu8HTTPRespBody != HIDO_NULL) { - Socket_Close(l_i32HTTPClientSockID); + HIDO_CHAR *pcKeyName = HIDO_NULL; + HIDO_UINT32 u32Range0 = 0; + HIDO_UINT32 u32Range1 = 0; + HIDO_UINT32 u32RangeAll = 0; - break; - } + l_pu8HTTPRespBody += 4; - i32Ret = Socket_Recv(l_i32HTTPClientSockID, (HIDO_UINT8 *)(l_acHTTPRecvBuff + l_u32HTTPRecvBuffLen), - HTTP_RECV_BUFF_SIZE - l_u32HTTPRecvBuffLen, &u32RecvLen); - - if ((i32Ret != HIDO_OK) || (0 == u32RecvLen)) - { - break; - } - - l_u32HTTPRecvBuffLen += u32RecvLen; - - if (HTTP_RECV_STATE_HEAD == l_eHTTPRecvState) - { - /* 收到"\r\n\r\n */ - l_pu8HTTPRespBody = (HIDO_UINT8 *)HIDO_UtilStrnstr(l_acHTTPRecvBuff, "\r\n\r\n", u32RecvLen); - if (l_pu8HTTPRespBody != HIDO_NULL) + if (HIDO_UtilParseFormat((HIDO_UINT8 *) l_acHTTPRecvBuff, u32RecvLen, "HTTP/1.1 %d %*\r\n", + &l_u32HTTPRespCode) != 2) { - HIDO_CHAR *pcKeyName = HIDO_NULL; - HIDO_UINT32 u32Range0 = 0; - HIDO_UINT32 u32Range1 = 0; - HIDO_UINT32 u32RangeAll = 0; + Socket_Close(l_i32HTTPClientSockID); - l_pu8HTTPRespBody += 4; + break; + } - if (HIDO_UtilParseFormat((HIDO_UINT8 *) l_acHTTPRecvBuff, u32RecvLen, "HTTP/1.1 %d %*\r\n", - &l_u32HTTPRespCode) != 2) + pcKeyName = HIDO_UtilStrnstr(l_acHTTPRecvBuff, "Content-Length: ", u32RecvLen); + if (pcKeyName != HIDO_NULL) + { + if (HIDO_UtilParseFormat((HIDO_UINT8 *) pcKeyName, + u32RecvLen - (pcKeyName - l_acHTTPRecvBuff), "Content-Length: %d\r\n", + &l_u32HTTPContentLength) != 1) { Socket_Close(l_i32HTTPClientSockID); - + break; } + } + else + { + Socket_Close(l_i32HTTPClientSockID); - pcKeyName = HIDO_UtilStrnstr(l_acHTTPRecvBuff, "Content-Length: ", u32RecvLen); + break; + } + + /* 获取文件分片信息 */ + if(HTTP_METHOD_GET_FILE == l_eHTTPMethod) + { + HIDO_DataStruct stETag; + + memset(&l_stHTTPGetFileResponse, 0, sizeof(l_stHTTPGetFileResponse)); + + pcKeyName = HIDO_UtilStrnstr(l_acHTTPRecvBuff, "Content-Range: ", u32RecvLen); if (pcKeyName != HIDO_NULL) { if (HIDO_UtilParseFormat((HIDO_UINT8 *) pcKeyName, - u32RecvLen - (pcKeyName - l_acHTTPRecvBuff), "Content-Length: %d\r\n", - &l_u32HTTPContentLength) != 1) + u32RecvLen - (pcKeyName - l_acHTTPRecvBuff), "Content-Range: bytes %d-%d/%d\r\n", + &u32Range0, &u32Range1, &u32RangeAll) != 3) { Socket_Close(l_i32HTTPClientSockID); - + break; } } @@ -266,85 +292,59 @@ break; } - /* 获取文件分片信息 */ - if(HTTP_METHOD_GET_FILE == l_eHTTPMethod) + l_stHTTPGetFileResponse.m_u32RangeBegin = u32Range0; + l_stHTTPGetFileResponse.m_u32RangeEnd = u32Range1; + l_stHTTPGetFileResponse.m_u32RangeTotal = u32RangeAll; + + pcKeyName = HIDO_UtilStrnstr(l_acHTTPRecvBuff, "ETag: ", u32RecvLen); + if (pcKeyName != HIDO_NULL) { - HIDO_DataStruct stETag; - - memset(&l_stHTTPGetFileResponse, 0, sizeof(l_stHTTPGetFileResponse)); - - pcKeyName = HIDO_UtilStrnstr(l_acHTTPRecvBuff, "Content-Range: ", u32RecvLen); - if (pcKeyName != HIDO_NULL) - { - if (HIDO_UtilParseFormat((HIDO_UINT8 *) pcKeyName, - u32RecvLen - (pcKeyName - l_acHTTPRecvBuff), "Content-Range: bytes %d-%d/%d\r\n", - &u32Range0, &u32Range1, &u32RangeAll) != 3) - { - Socket_Close(l_i32HTTPClientSockID); - - break; - } - } - else + if (HIDO_UtilParseFormat((HIDO_UINT8 *) pcKeyName, + u32RecvLen - (pcKeyName - l_acHTTPRecvBuff), "ETag: %p\r\n", &stETag) != 1) { Socket_Close(l_i32HTTPClientSockID); break; } - - l_stHTTPGetFileResponse.m_u32RangeBegin = u32Range0; - l_stHTTPGetFileResponse.m_u32RangeEnd = u32Range1; - l_stHTTPGetFileResponse.m_u32RangeTotal = u32RangeAll; - - pcKeyName = HIDO_UtilStrnstr(l_acHTTPRecvBuff, "ETag: ", u32RecvLen); - if (pcKeyName != HIDO_NULL) - { - if (HIDO_UtilParseFormat((HIDO_UINT8 *) pcKeyName, - u32RecvLen - (pcKeyName - l_acHTTPRecvBuff), "ETag: %p\r\n", &stETag) != 1) - { - Socket_Close(l_i32HTTPClientSockID); - - break; - } - } - else - { - Socket_Close(l_i32HTTPClientSockID); - - break; - } - - if((stETag.m_u32Len + 1) < sizeof(l_stHTTPGetFileResponse.m_acETag)) - { - memcpy(l_stHTTPGetFileResponse.m_acETag, stETag.m_pData, stETag.m_u32Len); - } } - - l_u32HTTPRecvTotalLen = l_pu8HTTPRespBody - (HIDO_UINT8 *)l_acHTTPRecvBuff + l_u32HTTPContentLength; - l_eHTTPRecvState = HTTP_RECV_STATE_BODY; - - if (l_u32HTTPRecvBuffLen >= l_u32HTTPRecvTotalLen) + else { Socket_Close(l_i32HTTPClientSockID); + + break; + } + + if((stETag.m_u32Len + 1) < sizeof(l_stHTTPGetFileResponse.m_acETag)) + { + memcpy(l_stHTTPGetFileResponse.m_acETag, stETag.m_pData, stETag.m_u32Len); } } - } - else - { + + l_u32HTTPRecvTotalLen = l_pu8HTTPRespBody - (HIDO_UINT8 *)l_acHTTPRecvBuff + l_u32HTTPContentLength; + l_eHTTPRecvState = HTTP_RECV_STATE_BODY; + if (l_u32HTTPRecvBuffLen >= l_u32HTTPRecvTotalLen) { Socket_Close(l_i32HTTPClientSockID); } } } - while(HIDO_TRUE); + else + { + if (l_u32HTTPRecvBuffLen >= l_u32HTTPRecvTotalLen) + { + Socket_Close(l_i32HTTPClientSockID); + } + } + } + while(HIDO_TRUE); - break; - } - default: - { - break; - } + break; + } + default: + { + break; + } } } @@ -358,7 +358,7 @@ * Modified Date: : 2020年7月1日 *******************************************************************************/ HIDO_INT32 HTTPClient_ParseUrl(HIDO_CHAR *_pcUrl, HIDO_CHAR *_pcHost, HIDO_UINT32 _u32HostSize, - HIDO_CHAR *_pcPath, HIDO_UINT32 _u32PathSize, HIDO_UINT32 *_pu32Port) + HIDO_CHAR *_pcPath, HIDO_UINT32 _u32PathSize, HIDO_UINT32 *_pu32Port) { HIDO_DataStruct stHost; HIDO_DataStruct stPath; @@ -467,15 +467,15 @@ HIDO_UtilSnprintf(l_acHTTPUrl, sizeof(l_acHTTPUrl), _pcUrl); l_u32HTTPSendBuffLen = HIDO_UtilSnprintf(l_acHTTPSendBuff, sizeof(l_acHTTPSendBuff), - "POST /%s HTTP/1.1\r\n" - "Host: %s\r\n" - "User-Agent: QUECTEL_MODULE\r\n" - "Connection: Keep-Alive\r\n" - "Content-Type: application/json\r\n" - "Accept: */*\r\n" - "Content-Length: %u\r\n" - "\r\n" - "%s" , l_acHTTPPath, l_acHTTPHost, _u32BodyLen, _pcBody); + "POST /%s HTTP/1.1\r\n" + "Host: %s\r\n" + "User-Agent: QUECTEL_MODULE\r\n" + "Connection: Keep-Alive\r\n" + "Content-Type: application/json\r\n" + "Accept: */*\r\n" + "Content-Length: %u\r\n" + "\r\n" + "%s" , l_acHTTPPath, l_acHTTPHost, _u32BodyLen, _pcBody); l_fnHTTPResponseCallback = _fnResponseCallback; l_pHTTPArg = _pArg; @@ -522,12 +522,12 @@ HIDO_UtilSnprintf(l_acHTTPUrl, sizeof(l_acHTTPUrl), _pcUrl); l_u32HTTPSendBuffLen = HIDO_UtilSnprintf(l_acHTTPSendBuff, sizeof(l_acHTTPSendBuff), - "GET /%s HTTP/1.1\r\n" - "Host: %s\r\n" - "User-Agent: QUECTEL_MODULE\r\n" - "Connection: Keep-Alive\r\n" - "Accept: */*\r\n" - "\r\n" , l_acHTTPPath, l_acHTTPHost); + "GET /%s HTTP/1.1\r\n" + "Host: %s\r\n" + "User-Agent: QUECTEL_MODULE\r\n" + "Connection: Keep-Alive\r\n" + "Accept: */*\r\n" + "\r\n" , l_acHTTPPath, l_acHTTPHost); l_fnHTTPResponseCallback = _fnResponseCallback; l_pHTTPArg = _pArg; @@ -582,24 +582,24 @@ HIDO_UtilSnprintf(l_acHTTPUrl, sizeof(l_acHTTPUrl), _pcUrl); l_u32HTTPSendBuffLen = HIDO_UtilSnprintf(l_acHTTPSendBuff, sizeof(l_acHTTPSendBuff), - "GET /%s HTTP/1.1\r\n" - "Host: %s\r\n" - "User-Agent: QUECTEL_MODULE\r\n" - "Connection: Keep-Alive\r\n" - "Accept: */*\r\n" - "Range: bytes=%u-%u\r\n", - l_acHTTPPath, l_acHTTPHost, _pstOpt->m_u32RangeBegin, _pstOpt->m_u32RangeEnd); + "GET /%s HTTP/1.1\r\n" + "Host: %s\r\n" + "User-Agent: QUECTEL_MODULE\r\n" + "Connection: Keep-Alive\r\n" + "Accept: */*\r\n" + "Range: bytes=%u-%u\r\n", + l_acHTTPPath, l_acHTTPHost, _pstOpt->m_u32RangeBegin, _pstOpt->m_u32RangeEnd); if(strlen(_pstOpt->m_acIfRange) != 0) { l_u32HTTPSendBuffLen += HIDO_UtilSnprintf(l_acHTTPSendBuff + l_u32HTTPSendBuffLen, sizeof(l_acHTTPSendBuff) - l_u32HTTPSendBuffLen, - "If-Range: \"%s\"\r\n" - "\r\n" , _pstOpt->m_acIfRange); + "If-Range: \"%s\"\r\n" + "\r\n" , _pstOpt->m_acIfRange); } else { l_u32HTTPSendBuffLen += HIDO_UtilSnprintf(l_acHTTPSendBuff + l_u32HTTPSendBuffLen, sizeof(l_acHTTPSendBuff) - l_u32HTTPSendBuffLen, - "\r\n"); + "\r\n"); } l_fnHTTPGetFileCallback = _fnGetFileCallback; @@ -628,7 +628,7 @@ * Modified Date: : 2021年5月3日 *******************************************************************************/ HIDO_INT32 HTTPClient_PostFile(HIDO_CHAR *_pcUrl, FN_HTTPPostDataCallback _fnPostDataCallback, FN_HTTPResponseCallback _fnResponseCallback, - HIDO_VOID *_pArg) + HIDO_VOID *_pArg) { if(l_eHTTPClientState != HTTP_CLIENT_STATE_IDLE) { @@ -721,13 +721,13 @@ if(Socket_Create(&l_i32HTTPClientSockID, SOCKET_TYPE_TCP, HTTPClient_SocketEventProc, HIDO_NULL) != HIDO_OK) { - + return HIDO_ERR; } if(HIDO_TimerCreate(&l_u32HTTPClientTimerID) != HIDO_OK) { - + return HIDO_ERR; } diff --git a/keil/include/components/internet/src/Internet.c b/keil/include/components/internet/src/Internet.c index 475dbb7..09adf4b 100644 --- a/keil/include/components/internet/src/Internet.c +++ b/keil/include/components/internet/src/Internet.c @@ -38,16 +38,16 @@ /******************************************************************************* * Function Name : Internet_Poll - * Description : - * Input : - * Output : - * Return : + * Description : + * Input : + * Output : + * Return : * Author : 杜键 * Modified Date: : 2018年5月26日 *******************************************************************************/ HIDO_INT32 Internet_Poll(void) { - HIDO_FSMEventExecute(HIDO_FSM(AIR780E), AIR780E_EVENT_POLL, HIDO_NULL); + HIDO_FSMEventExecute(HIDO_FSM(AIR780E), AIR780E_EVENT_POLL, HIDO_NULL); return HIDO_OK; } @@ -114,11 +114,11 @@ return HIDO_ERR; } #if 0 - if (TTS_Init() != HIDO_OK) + if (TTS_Init() != HIDO_OK) { return HIDO_ERR; } - + if (TONE_Init() != HIDO_OK) { return HIDO_ERR; diff --git a/keil/include/components/internet/src/Module.c b/keil/include/components/internet/src/Module.c index c95a292..e291a81 100644 --- a/keil/include/components/internet/src/Module.c +++ b/keil/include/components/internet/src/Module.c @@ -125,7 +125,7 @@ /******************************************************************************* * Function Name : Module_LBSLocationResult - * Description : + * Description : * Input : _u32SignalIntensity 信号强度 * Output : None * Return : None @@ -146,7 +146,7 @@ /******************************************************************************* * Function Name : Module_GetLBSLocationAsync - * Description : + * Description : * Input : _fnGetSignalIntensity 异步通知回调 * Output : None * Return : None @@ -164,7 +164,7 @@ /******************************************************************************* * Function Name : Module_LBSLocationNeedRequest - * Description : + * Description : * Input : None * Output : None * Return : None @@ -210,9 +210,9 @@ { return HIDO_ERR; } - + _u32IMEILen -= 2; - + if(_u32IMEILen < MODULE_IMEI_SIZE) { memcpy(l_acIMEI, _pcIMEI, _u32IMEILen); @@ -253,9 +253,9 @@ { return HIDO_ERR; } - + _u32IMSILen -= 2; - + if(_u32IMSILen < MODULE_IMSI_SIZE) { memcpy(l_acIMSI, _pcIMSI, _u32IMSILen); @@ -311,8 +311,8 @@ *******************************************************************************/ HIDO_INT32 Module_SetPowerEventCallback(FN_PowerEventCallback _fnPowerCallback, HIDO_VOID *_pArg) { - l_fnPowerEventCallback = _fnPowerCallback; - l_pPowerEventArg = _pArg; + l_fnPowerEventCallback = _fnPowerCallback; + l_pPowerEventArg = _pArg; return HIDO_OK; } @@ -328,8 +328,8 @@ *******************************************************************************/ HIDO_INT32 Module_Sleep(E_Module _eModule) { - l_abModuleNeedSleep[_eModule] = HIDO_TRUE; - l_abModuleNeedWakeUp[_eModule] = HIDO_FALSE; + l_abModuleNeedSleep[_eModule] = HIDO_TRUE; + l_abModuleNeedWakeUp[_eModule] = HIDO_FALSE; return HIDO_OK; } @@ -345,15 +345,15 @@ *******************************************************************************/ HIDO_INT32 Module_WakeUp(E_Module _eModule) { - l_abModuleNeedWakeUp[_eModule] = HIDO_TRUE; - l_abModuleNeedSleep[_eModule] = HIDO_FALSE; + l_abModuleNeedWakeUp[_eModule] = HIDO_TRUE; + l_abModuleNeedSleep[_eModule] = HIDO_FALSE; return HIDO_OK; } /******************************************************************************* * Function Name : Module_PowerEvent - * Description : + * Description : * Input : * Output : None * Return : None @@ -378,8 +378,8 @@ *******************************************************************************/ HIDO_INT32 Module_PowerOff(E_Module _eModule) { - l_abModuleNeedPowerOff[_eModule] = HIDO_TRUE; - l_abModuleNeedPowerOn[_eModule] = HIDO_FALSE; + l_abModuleNeedPowerOff[_eModule] = HIDO_TRUE; + l_abModuleNeedPowerOn[_eModule] = HIDO_FALSE; return HIDO_OK; } @@ -395,8 +395,8 @@ *******************************************************************************/ HIDO_INT32 Module_PowerOn(E_Module _eModule) { - l_abModuleNeedPowerOn[_eModule] = HIDO_TRUE; - l_abModuleNeedPowerOff[_eModule] = HIDO_FALSE; + l_abModuleNeedPowerOn[_eModule] = HIDO_TRUE; + l_abModuleNeedPowerOff[_eModule] = HIDO_FALSE; return HIDO_OK; } @@ -412,9 +412,9 @@ *******************************************************************************/ HIDO_BOOL Module_NeedSleep(E_Module _eModule) { - HIDO_BOOL bState = l_abModuleNeedSleep[_eModule]; + HIDO_BOOL bState = l_abModuleNeedSleep[_eModule]; - l_abModuleNeedSleep[_eModule] = HIDO_FALSE; + l_abModuleNeedSleep[_eModule] = HIDO_FALSE; return bState; } @@ -430,9 +430,9 @@ *******************************************************************************/ HIDO_BOOL Module_NeedWakeUp(E_Module _eModule) { - HIDO_BOOL bState = l_abModuleNeedWakeUp[_eModule]; + HIDO_BOOL bState = l_abModuleNeedWakeUp[_eModule]; - l_abModuleNeedWakeUp[_eModule] = HIDO_FALSE; + l_abModuleNeedWakeUp[_eModule] = HIDO_FALSE; return bState; } @@ -448,9 +448,9 @@ *******************************************************************************/ HIDO_BOOL Module_NeedPowerOff(E_Module _eModule) { - HIDO_BOOL bState = l_abModuleNeedPowerOff[_eModule]; + HIDO_BOOL bState = l_abModuleNeedPowerOff[_eModule]; - l_abModuleNeedPowerOff[_eModule] = HIDO_FALSE; + l_abModuleNeedPowerOff[_eModule] = HIDO_FALSE; return bState; } @@ -466,9 +466,9 @@ *******************************************************************************/ HIDO_BOOL Module_NeedPowerOn(E_Module _eModule) { - HIDO_BOOL bState = l_abModuleNeedPowerOn[_eModule]; + HIDO_BOOL bState = l_abModuleNeedPowerOn[_eModule]; - l_abModuleNeedPowerOn[_eModule] = HIDO_FALSE; + l_abModuleNeedPowerOn[_eModule] = HIDO_FALSE; return bState; } @@ -544,13 +544,13 @@ *******************************************************************************/ HIDO_INT32 Module_RunATCmd(HIDO_CHAR *_pcATCmd) { - if(HIDO_NULL == _pcATCmd) - { - return HIDO_ERR; - } + if(HIDO_NULL == _pcATCmd) + { + return HIDO_ERR; + } - l_bRunATCmd = HIDO_TRUE; - HIDO_UtilSnprintf(l_acRunATCmdBuff, sizeof(l_acRunATCmdBuff), _pcATCmd); + l_bRunATCmd = HIDO_TRUE; + HIDO_UtilSnprintf(l_acRunATCmdBuff, sizeof(l_acRunATCmdBuff), _pcATCmd); return HIDO_OK; } diff --git a/keil/include/components/internet/src/NTRIPClient.c b/keil/include/components/internet/src/NTRIPClient.c index e88fecf..b5747a8 100644 --- a/keil/include/components/internet/src/NTRIPClient.c +++ b/keil/include/components/internet/src/NTRIPClient.c @@ -35,13 +35,13 @@ typedef enum { CLIENT_STATE_IDLE, - CLIENT_STATE_CONNECT_SOUCE_LIST_SERVER, + CLIENT_STATE_CONNECT_SOUCE_LIST_SERVER, CLIENT_STATE_GET_SOUCE_LIST, - CLIENT_STATE_GET_RTCM_DATA, + CLIENT_STATE_GET_RTCM_DATA, CLIENT_STATE_CONNECT_RTCM_DATA_SERVER, - CLIENT_STATE_GET_RTCM_DATA_SUCCESS, + CLIENT_STATE_GET_RTCM_DATA_SUCCESS, - CLIENT_STATE_MAX, + CLIENT_STATE_MAX, } E_ClientState; typedef enum @@ -268,12 +268,12 @@ static HIDO_INT32 SendGetSourceTableRequest(void) { l_u32SendBuffLen = HIDO_UtilSnprintf(l_acSendBuff, sizeof(l_acSendBuff), - "GET / HTTP/1.0\r\n" \ - "User-Agent: NTRIP LefebureNTRIPClient/20131124\r\n" \ - "Accept: */*\r\n" \ - "Connection: close\r\n" \ - "Authorization: Basic %s\r\n" \ - "\r\n", l_acAuthorization); + "GET / HTTP/1.0\r\n" \ + "User-Agent: NTRIP LefebureNTRIPClient/20131124\r\n" \ + "Accept: */*\r\n" \ + "Connection: close\r\n" \ + "Authorization: Basic %s\r\n" \ + "\r\n", l_acAuthorization); return Socket_Send(l_i32SockID, (HIDO_UINT8 *)l_acSendBuff, l_u32SendBuffLen); } @@ -290,12 +290,12 @@ static HIDO_INT32 SendGetRTCMDataRequest(void) { l_u32SendBuffLen = HIDO_UtilSnprintf(l_acSendBuff, sizeof(l_acSendBuff), - "GET /%s HTTP/1.0\r\n" \ - "User-Agent: NTRIP LefebureNTRIPClient/20131124\r\n" \ - "Accept: */*\r\n" \ - "Connection: close\r\n" \ - "Authorization: Basic %s\r\n" \ - "\r\n", l_stMountpointAttrib.m_acName, l_acAuthorization); + "GET /%s HTTP/1.0\r\n" \ + "User-Agent: NTRIP LefebureNTRIPClient/20131124\r\n" \ + "Accept: */*\r\n" \ + "Connection: close\r\n" \ + "Authorization: Basic %s\r\n" \ + "\r\n", l_stMountpointAttrib.m_acName, l_acAuthorization); return Socket_Send(l_i32SockID, (HIDO_UINT8 *)l_acSendBuff, l_u32SendBuffLen); } @@ -383,7 +383,7 @@ do { i32Ret = Socket_Recv(l_i32SockID, (HIDO_UINT8 *) (l_acRecvBuff + l_u32RecvLen), - RECV_BUFF_SIZE - l_u32RecvLen, &u32RecvLen); + RECV_BUFF_SIZE - l_u32RecvLen, &u32RecvLen); if ((i32Ret != HIDO_OK) || (0 == u32RecvLen)) { break; @@ -395,7 +395,7 @@ HandleError(__debug_info__); break; } - + if(CLIENT_STATE_GET_RTCM_DATA_SUCCESS == l_eClientState) { HandleRecvData((HIDO_UINT8 *)l_acRecvBuff, l_u32RecvLen); @@ -408,12 +408,12 @@ if (l_pu8HTTPRespBody != HIDO_NULL) { if (HIDO_UtilParseFormat((HIDO_UINT8 *) l_acRecvBuff, u32RecvLen, "%* %d %*\r\n", - &l_u32HTTPRespCode) != 3) + &l_u32HTTPRespCode) != 3) { HandleError(__debug_info__); break; } - + HandleRecvData(HIDO_NULL, 0); } } @@ -429,7 +429,7 @@ l_pu8HTTPRespBody += 4; if (HIDO_UtilParseFormat((HIDO_UINT8 *) l_acRecvBuff, u32RecvLen, "%* %d %*\r\n", - &l_u32HTTPRespCode) != 3) + &l_u32HTTPRespCode) != 3) { HandleError(__debug_info__); break; @@ -443,9 +443,9 @@ { pcKeyName++; } - + if (HIDO_UtilParseFormat((HIDO_UINT8 *) pcKeyName, u32RecvLen - (pcKeyName - l_acRecvBuff), - "%d\r\n", &l_u32HTTPContentLength) != 1) + "%d\r\n", &l_u32HTTPContentLength) != 1) { HandleError(__debug_info__); break; @@ -494,63 +494,63 @@ { switch (_eEvent) { - case SOCKET_EVENT_CONNECT_FAILED: + case SOCKET_EVENT_CONNECT_FAILED: + { + if((CLIENT_STATE_CONNECT_SOUCE_LIST_SERVER == l_eClientState) + || (CLIENT_STATE_CONNECT_RTCM_DATA_SERVER == l_eClientState)) { - if((CLIENT_STATE_CONNECT_SOUCE_LIST_SERVER == l_eClientState) - || (CLIENT_STATE_CONNECT_RTCM_DATA_SERVER == l_eClientState)) - { - SetClientState(CLIENT_STATE_IDLE); - ClientCallback(NTRIP_CODE_CONNECT_FAILED, HIDO_NULL, 0); - } - - break; + SetClientState(CLIENT_STATE_IDLE); + ClientCallback(NTRIP_CODE_CONNECT_FAILED, HIDO_NULL, 0); } - case SOCKET_EVENT_CONNECTED: + + break; + } + case SOCKET_EVENT_CONNECTED: + { + l_u32RecvLen = 0; + if(CLIENT_STATE_CONNECT_SOUCE_LIST_SERVER == l_eClientState) { - l_u32RecvLen = 0; - if(CLIENT_STATE_CONNECT_SOUCE_LIST_SERVER == l_eClientState) - { - SendGetSourceTableRequest(); - l_eRecvState = RECV_STATE_HEAD; - SetClientState(CLIENT_STATE_GET_SOUCE_LIST); - HIDO_TimerStart(l_u32TimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(30), TimeOutCallback, HIDO_NULL); - } - else if(CLIENT_STATE_CONNECT_RTCM_DATA_SERVER == l_eClientState) - { - SendGetRTCMDataRequest(); - l_eRecvState = RECV_STATE_HEAD; - SetClientState(CLIENT_STATE_GET_RTCM_DATA); - HIDO_TimerStart(l_u32TimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(30), TimeOutCallback, HIDO_NULL); - } - - break; + SendGetSourceTableRequest(); + l_eRecvState = RECV_STATE_HEAD; + SetClientState(CLIENT_STATE_GET_SOUCE_LIST); + HIDO_TimerStart(l_u32TimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(30), TimeOutCallback, HIDO_NULL); } - case SOCKET_EVENT_CLOSED: + else if(CLIENT_STATE_CONNECT_RTCM_DATA_SERVER == l_eClientState) { - if(CLIENT_STATE_CONNECT_RTCM_DATA_SERVER == l_eClientState) - { - break; - } - - HIDO_TimerCancel(l_u32TimerID); - - if(l_eClientState != CLIENT_STATE_IDLE) - { - SetClientState(CLIENT_STATE_IDLE); - ClientCallback(NTRIP_CODE_DISCONNECT, HIDO_NULL, 0); - } - - break; + SendGetRTCMDataRequest(); + l_eRecvState = RECV_STATE_HEAD; + SetClientState(CLIENT_STATE_GET_RTCM_DATA); + HIDO_TimerStart(l_u32TimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(30), TimeOutCallback, HIDO_NULL); } - case SOCKET_EVENT_RECV_DATA: - { - OnRecvData(); - break; - } - default: + + break; + } + case SOCKET_EVENT_CLOSED: + { + if(CLIENT_STATE_CONNECT_RTCM_DATA_SERVER == l_eClientState) { break; } + + HIDO_TimerCancel(l_u32TimerID); + + if(l_eClientState != CLIENT_STATE_IDLE) + { + SetClientState(CLIENT_STATE_IDLE); + ClientCallback(NTRIP_CODE_DISCONNECT, HIDO_NULL, 0); + } + + break; + } + case SOCKET_EVENT_RECV_DATA: + { + OnRecvData(); + break; + } + default: + { + break; + } } } @@ -571,7 +571,7 @@ * Modified Date: : 2021年5月3日 *******************************************************************************/ HIDO_INT32 NTRIPClient_Connect(HIDO_CHAR *_pcHost, HIDO_UINT16 _u16Port, HIDO_CHAR *_pcUsername, HIDO_CHAR *_pcPassword, - HIDO_CHAR *_pcSourceName, FN_NTRIPClientCallback _fnCallback, HIDO_VOID *_pArg) + HIDO_CHAR *_pcSourceName, FN_NTRIPClientCallback _fnCallback, HIDO_VOID *_pArg) { HIDO_UINT32 u32Len = 0; @@ -610,12 +610,12 @@ *******************************************************************************/ HIDO_INT32 NTRIPClient_ReportGGA(HIDO_UINT8 *_pu8Data, HIDO_UINT32 _u32Len) { - if(CLIENT_STATE_GET_RTCM_DATA_SUCCESS == l_eClientState) - { - Socket_Send(l_i32SockID, _pu8Data, _u32Len); - } + if(CLIENT_STATE_GET_RTCM_DATA_SUCCESS == l_eClientState) + { + Socket_Send(l_i32SockID, _pu8Data, _u32Len); + } - return HIDO_OK; + return HIDO_OK; } /******************************************************************************* diff --git a/keil/include/components/internet/src/Socket.c b/keil/include/components/internet/src/Socket.c index 5fe031e..83bac03 100644 --- a/keil/include/components/internet/src/Socket.c +++ b/keil/include/components/internet/src/Socket.c @@ -50,7 +50,7 @@ HIDO_BOOL m_bUseHeartbeat; HIDO_UINT32 m_u32HeartbeatFreq; HIDO_CHAR m_acHeartbeatData[128]; -}ST_SocketData; +} ST_SocketData; /******************************************************************************* * Local Variable * @@ -311,23 +311,23 @@ switch (pstSocketData->m_eState) { - case SOCKET_STATE_CONNECT: - case SOCKET_STATE_CLOSE_BEFORE_CONNECT: - case SOCKET_STATE_CONNECTED: - { - pstSocketData->m_bHasRecvData = HIDO_FALSE; - pstSocketData->m_eState = SOCKET_STATE_CLOSED; + case SOCKET_STATE_CONNECT: + case SOCKET_STATE_CLOSE_BEFORE_CONNECT: + case SOCKET_STATE_CONNECTED: + { + pstSocketData->m_bHasRecvData = HIDO_FALSE; + pstSocketData->m_eState = SOCKET_STATE_CLOSED; - if (pstSocketData->m_fnEventProc != HIDO_NULL) - { - pstSocketData->m_fnEventProc(i32SockID, SOCKET_EVENT_CLOSED, pstSocketData->m_pArg); - } - break; - } - default: + if (pstSocketData->m_fnEventProc != HIDO_NULL) { - break; + pstSocketData->m_fnEventProc(i32SockID, SOCKET_EVENT_CLOSED, pstSocketData->m_pArg); } + break; + } + default: + { + break; + } } } @@ -384,19 +384,19 @@ /* 重置队列 */ #if 0 HIDO_VLQInit(&pstSocketData->m_stSendQueue, pstSocketData->l_au8SendQueueBuf, - SOCKET_SEND_QUEUE_BUF_SIZE, SOCKET_SEND_QUEUE_MEMBER_CNT); + SOCKET_SEND_QUEUE_BUF_SIZE, SOCKET_SEND_QUEUE_MEMBER_CNT); if(SOCKET_TYPE_TCP == pstSocketData->m_eType) { HIDO_ArraryQueueInit(&pstSocketData->m_stTCPRecvQueue, pstSocketData->l_au8RecvQueueBuf, - SOCKET_RECV_QUEUE_BUF_SIZE, sizeof(HIDO_UINT8)); + SOCKET_RECV_QUEUE_BUF_SIZE, sizeof(HIDO_UINT8)); } else { HIDO_VLQInit(&pstSocketData->m_stRecvQueue, pstSocketData->l_au8RecvQueueBuf, - SOCKET_RECV_QUEUE_BUF_SIZE, SOCKET_RECV_QUEUE_MEMBER_CNT); + SOCKET_RECV_QUEUE_BUF_SIZE, SOCKET_RECV_QUEUE_MEMBER_CNT); } #endif - + /* 通知上层 */ if(pstSocketData->m_fnEventProc != HIDO_NULL) { @@ -426,7 +426,7 @@ if(SOCKET_STATE_CLOSE_BEFORE_CONNECT == pstSocketData->m_eState) { - return HIDO_ERR; + return HIDO_ERR; } pstSocketData->m_eState = SOCKET_STATE_CLOSED; @@ -463,15 +463,15 @@ { for(i = 0; i < _u32Len; i++) { - if(HIDO_ArraryQueueIn(&(pstSocketData->m_stTCPRecvQueue), &_pu8Data[i]) != HIDO_OK) - { - return HIDO_ERR; - } + if(HIDO_ArraryQueueIn(&(pstSocketData->m_stTCPRecvQueue), &_pu8Data[i]) != HIDO_OK) + { + return HIDO_ERR; + } } } else { - HIDO_VLQMemberStruct *pstMember = HIDO_NULL; + HIDO_VLQMemberStruct *pstMember = HIDO_NULL; pstMember = HIDO_VLQGetEnqueueMember(&l_astSocketData[_i32SockID].m_stRecvQueue, _u32Len); if (pstMember != HIDO_NULL) @@ -543,19 +543,19 @@ pstSocketData->m_eState = SOCKET_STATE_CREATED; pstSocketData->m_fnEventProc = _fnEventProc; pstSocketData->m_pArg = _pArg; - + HIDO_VLQInit(&pstSocketData->m_stSendQueue, pstSocketData->l_au8SendQueueBuf, - SOCKET_SEND_QUEUE_BUF_SIZE, SOCKET_SEND_QUEUE_MEMBER_CNT); - + SOCKET_SEND_QUEUE_BUF_SIZE, SOCKET_SEND_QUEUE_MEMBER_CNT); + if(SOCKET_TYPE_TCP == _eSocketType) { - HIDO_ArraryQueueInit(&pstSocketData->m_stTCPRecvQueue, pstSocketData->l_au8RecvQueueBuf, - SOCKET_RECV_QUEUE_BUF_SIZE, sizeof(HIDO_UINT8)); + HIDO_ArraryQueueInit(&pstSocketData->m_stTCPRecvQueue, pstSocketData->l_au8RecvQueueBuf, + SOCKET_RECV_QUEUE_BUF_SIZE, sizeof(HIDO_UINT8)); } else { HIDO_VLQInit(&pstSocketData->m_stRecvQueue, pstSocketData->l_au8RecvQueueBuf, - SOCKET_RECV_QUEUE_BUF_SIZE, SOCKET_RECV_QUEUE_MEMBER_CNT); + SOCKET_RECV_QUEUE_BUF_SIZE, SOCKET_RECV_QUEUE_MEMBER_CNT); } *_pi32SockID = i32SockID; @@ -725,13 +725,13 @@ } if(SOCKET_STATE_CLOSED == pstSocketData->m_eState || SOCKET_STATE_IDLE == pstSocketData->m_eState - || SOCKET_STATE_CONNECT_FAILED == pstSocketData->m_eState || SOCKET_STATE_CREATED == pstSocketData->m_eState) + || SOCKET_STATE_CONNECT_FAILED == pstSocketData->m_eState || SOCKET_STATE_CREATED == pstSocketData->m_eState) { - *_pbResult = HIDO_TRUE; + *_pbResult = HIDO_TRUE; } else { - *_pbResult = HIDO_FALSE; + *_pbResult = HIDO_FALSE; } return HIDO_OK; @@ -855,22 +855,22 @@ if(SOCKET_TYPE_TCP == pstSocketData->m_eType) { - HIDO_UINT32 i = 0; - HIDO_UINT32 u32RecvLen = 0; + HIDO_UINT32 i = 0; + HIDO_UINT32 u32RecvLen = 0; - for(i = 0; i < _u32RecvBuffSize; i++) - { - if(HIDO_ArraryQueueOut(&pstSocketData->m_stTCPRecvQueue, &_pu8RecvBuff[i]) != HIDO_OK) - { - *_pu32RecvLen = u32RecvLen; - return HIDO_OK; - } + for(i = 0; i < _u32RecvBuffSize; i++) + { + if(HIDO_ArraryQueueOut(&pstSocketData->m_stTCPRecvQueue, &_pu8RecvBuff[i]) != HIDO_OK) + { + *_pu32RecvLen = u32RecvLen; + return HIDO_OK; + } - u32RecvLen++; - } + u32RecvLen++; + } - *_pu32RecvLen = u32RecvLen; - i32Result = HIDO_OK; + *_pu32RecvLen = u32RecvLen; + i32Result = HIDO_OK; } else { diff --git a/keil/include/components/internet/src/TONE.c b/keil/include/components/internet/src/TONE.c index 7f5892b..e766dec 100644 --- a/keil/include/components/internet/src/TONE.c +++ b/keil/include/components/internet/src/TONE.c @@ -58,7 +58,7 @@ { // GPIOD->BSRR = 0x0004; //打开TONE电源 //// delay_ms(800); //必要延时,延时是为了避免说不出来第一个字,蜂鸣就不用延时了 -// +// // if((0 == _u32Len) || (HIDO_NULL == _pu8Data)) // { // return HIDO_ERR; diff --git a/keil/include/components/internet/src/TTS.c b/keil/include/components/internet/src/TTS.c index e318f2b..f3cd249 100644 --- a/keil/include/components/internet/src/TTS.c +++ b/keil/include/components/internet/src/TTS.c @@ -58,7 +58,7 @@ { PCA9555_Set_One_Value_Output(TTS_ENABLE,1); delay_ms(800); //必要延时,延时是为了避免说不出来第一个字 - + if((0 == _u32Len) || (HIDO_NULL == _pu8Data)) { return HIDO_ERR; diff --git a/keil/include/drivers/DBG.c b/keil/include/drivers/DBG.c index 4ae524b..8816310 100644 --- a/keil/include/drivers/DBG.c +++ b/keil/include/drivers/DBG.c @@ -173,7 +173,7 @@ } Uart_Send(UART_ID_DBG_GPS, (HIDO_UINT8 *) acOutputBuf, u32Len); - + return HIDO_OK; } HIDO_INT32 HIDO_Debug2(const HIDO_CHAR *_pcFmt, ...) @@ -196,7 +196,7 @@ } Uart_Send(UART_ID_DBG_GPS, (HIDO_UINT8 *) acOutputBuf, u32Len); - + return HIDO_OK; } @@ -226,7 +226,7 @@ // u32Len = HIDO_UtilSnprintf(acOutputBuf, sizeof(acOutputBuf), "%04u-%02u-%02u %02u:%02u:%02u.%03u ", // stRTCDateTime.m_u16Year, stRTCDateTime.m_u8Month, stRTCDateTime.m_u8Day, stRTCDateTime.m_u8Hour, // stRTCDateTime.m_u8Min, stRTCDateTime.m_u8Sec, HAL_GetTick() % 1000); -// +// Uart_Send(UART_ID_DBG_GPS, (HIDO_UINT8 *) acOutputBuf, u32Len); va_start(ap, _pcFmt); @@ -239,7 +239,7 @@ } Uart_Send(UART_ID_DBG_GPS, (HIDO_UINT8 *) acOutputBuf, u32Len); - + return HIDO_OK; } @@ -315,9 +315,9 @@ /* 输出日志格式 */ RTC_GetDateTime(&stRTCDateTime); u32Len = HIDO_UtilSnprintf(acOutputBuf, sizeof(acOutputBuf), "%04u-%02u-%02u %02u:%02u:%02u.%03u ", - stRTCDateTime.m_u16Year, stRTCDateTime.m_u8Month, stRTCDateTime.m_u8Day, stRTCDateTime.m_u8Hour, - stRTCDateTime.m_u8Min, stRTCDateTime.m_u8Sec, HAL_GetTick() % 1000); - + stRTCDateTime.m_u16Year, stRTCDateTime.m_u8Month, stRTCDateTime.m_u8Day, stRTCDateTime.m_u8Hour, + stRTCDateTime.m_u8Min, stRTCDateTime.m_u8Sec, HAL_GetTick() % 1000); + Uart_Send(UART_ID_DBG_GPS, (HIDO_UINT8 *) acOutputBuf, u32Len); #endif return Uart_Send(UART_ID_DBG_GPS, (HIDO_UINT8 *) _pu8String, _u32StringLen); @@ -457,6 +457,6 @@ l_stSerialInput.m_fnPutc = DBG_SerialPutChar; l_stSerialInput.m_fnPuts = DBG_SerialPutString; HIDO_InputRegister(&l_stSerialInput); - + Shell_Init(); } diff --git a/keil/include/drivers/PCA9555.c b/keil/include/drivers/PCA9555.c index 88588f8..027d629 100644 --- a/keil/include/drivers/PCA9555.c +++ b/keil/include/drivers/PCA9555.c @@ -12,7 +12,7 @@ io_pin_mux_set(SCL_PIN, IO_FUNC0); gpio_pin_set_dir(SDA_PIN , GPIO_DIR_OUT, 1); - //io_open_drain_set(SDA_PIN, 1); + //io_open_drain_set(SDA_PIN, 1); io_pull_set(SDA_PIN , IO_PULL_UP, IO_PULL_UP_LEVEL2);//输出高阻态 gpio_pin_set_dir(SCL_PIN , GPIO_DIR_OUT, 1); @@ -29,8 +29,8 @@ // delay_us(10); // SDA_0;//START:when CLK is high,DATA change form high to low // delay_us(10); - - // IIC2_SDA_OUT(); //sda线输出 + + // IIC2_SDA_OUT(); //sda线输出 SDA_1; // delay_us(10); SCL_1; @@ -41,31 +41,31 @@ } void IIC_pca_Ready(void) { - - SCL_1; - delay_us(10); - SDA_1; - delay_us(10); + + SCL_1; + delay_us(10); + SDA_1; + delay_us(10); } //产生IIC停止信号 void IIC2_pca_Stop(void) { // SDA_0;//STOP:when CLK is high DATA change form low to high -// +// // delay_us(10); // SCL_1; // delay_us(10); // SDA_1;//发送I2C总线结束信号 // delay_us(10); - - SCL_0; - SDA_0;//sToP:when ClK is high DATA change form low to high - delay_us(10); - SCL_1; - //delay_us(10); - SDA_1;//7发送I2C总线结束信号 - delay_us(10); + + SCL_0; + SDA_0;//sToP:when ClK is high DATA change form low to high + delay_us(10); + SCL_1; + //delay_us(10); + SDA_1;//7发送I2C总线结束信号 + delay_us(10); } //等待应答信号到来 //返回值:1,接收应答失败 @@ -73,16 +73,16 @@ uint8_t IIC2_Wait_pca_Ack(void) { uint8_t ucErrTime=0; -// IIC2_SDA_IN(); - - gpio_pin_set_dir(SDA_PIN,GPIO_DIR_IN,1); //SDA设置为输入等待接收端的应答信号 - SDA_1; - delay_us(6); - SCL_1; - delay_us(6); +// IIC2_SDA_IN(); + + gpio_pin_set_dir(SDA_PIN,GPIO_DIR_IN,1); //SDA设置为输入等待接收端的应答信号 + SDA_1; + delay_us(6); + SCL_1; + delay_us(6); // SDA_1; // delay_us(6); - + while(IIC2_READ_SDA) { @@ -90,14 +90,14 @@ if(ucErrTime>250) { IIC2_pca_Stop(); - gpio_pin_set_dir(SDA_PIN , GPIO_DIR_OUT, 1); + gpio_pin_set_dir(SDA_PIN , GPIO_DIR_OUT, 1); return 1; } } gpio_pin_set_dir(SDA_PIN , GPIO_DIR_OUT, 0); SCL_0;//时钟输出0 return 0; - + } //产生ACK应答 void IIC2_pca_send_Ack(void) @@ -106,8 +106,8 @@ SDA_0;//读取SDA电平为低则有应答 delay_us(10); SCL_1; - delay_us(10); - SCL_0; + delay_us(10); + SCL_0; } //不产生ACK应答 void IIC2_pca_send_NAck(void) @@ -116,8 +116,8 @@ SDA_1;//读取SDA电平为高则无应答信号 delay_us(10); SCL_1; - delay_us(10); - SCL_0; + delay_us(10); + SCL_0; } //IIC发送一个字节,WRITE //返回从机有无应答 @@ -156,7 +156,7 @@ uint8_t IIC2_Read_pca_Byte(unsigned char ack) { unsigned char i,receive=0,bit=0; - gpio_pin_set_dir(SDA_PIN,GPIO_DIR_IN,0); //设置为输入读取电平 + gpio_pin_set_dir(SDA_PIN,GPIO_DIR_IN,0); //设置为输入读取电平 // io_pull_set(SDA_PIN , IO_HIGH_Z, IO_PULL_UP_NONE); for(i=0; i<8; i++ ) { @@ -164,19 +164,19 @@ delay_us(6);//修改时间 SCL_1; //receive<<=1; - if(IIC2_READ_SDA){ - bit=1<<i; - receive|=bit; - } + if(IIC2_READ_SDA) { + bit=1<<i; + receive|=bit; + } delay_us(5); } - SCL_0; - if(ack==2){ - gpio_pin_set_dir(SDA_PIN,GPIO_DIR_OUT,0); //设置为输出恢复ACK - }else{ - gpio_pin_set_dir(SDA_PIN,GPIO_DIR_OUT,1); //设置为输出恢复ACK - } - + SCL_0; + if(ack==2) { + gpio_pin_set_dir(SDA_PIN,GPIO_DIR_OUT,0); //设置为输出恢复ACK + } else { + gpio_pin_set_dir(SDA_PIN,GPIO_DIR_OUT,1); //设置为输出恢复ACK + } + // io_pull_set(SDA_PIN , IO_PULL_UP, IO_PULL_UP_LEVEL2);//输出高阻态 // if (!ack) // IIC2_pca_send_NAck();//发送nACK @@ -196,17 +196,17 @@ int temp_ack3,temp_ack4,temp_ack5,temp_ack6; void IIC_Write_Pca9555(unsigned char addr,unsigned char reg_addr,unsigned char low_byte,unsigned char high_byte) { - IIC2_pca_Start(); - IIC2_Send_pca_Byte(addr & 0xfe); - temp_ack3=IIC2_Wait_pca_Ack(); - IIC2_Send_pca_Byte(reg_addr); - temp_ack4=IIC2_Wait_pca_Ack(); - IIC2_Send_pca_Byte(low_byte); - temp_ack5=IIC2_Wait_pca_Ack(); - IIC2_Send_pca_Byte(high_byte); - temp_ack6=IIC2_Wait_pca_Ack(); - IIC2_pca_Stop(); - + IIC2_pca_Start(); + IIC2_Send_pca_Byte(addr & 0xfe); + temp_ack3=IIC2_Wait_pca_Ack(); + IIC2_Send_pca_Byte(reg_addr); + temp_ack4=IIC2_Wait_pca_Ack(); + IIC2_Send_pca_Byte(low_byte); + temp_ack5=IIC2_Wait_pca_Ack(); + IIC2_Send_pca_Byte(high_byte); + temp_ack6=IIC2_Wait_pca_Ack(); + IIC2_pca_Stop(); + // IIC2_Start(); // IIC2_Send_Byte(addr & 0xfe); //发送写命令 // temp_ack3=IIC2_Wait_pca_Ack(); @@ -232,45 +232,45 @@ // IIC2_Stop();//产生一个停止条件 */ int temp_ack,temp_ack1,temp_ack2; - uint8_t temp=0; +uint8_t temp=0; void IIC_Read_Pca9555(uint8_t addr,uint8_t reg_addr,uint8_t* pBuffer,uint16_t num) { - IIC2_pca_Start(); - IIC2_Send_pca_Byte(addr & 0xfe); - temp_ack=IIC2_Wait_pca_Ack(); - IIC2_Send_pca_Byte(reg_addr); - temp_ack1=IIC2_Wait_pca_Ack(); + IIC2_pca_Start(); + IIC2_Send_pca_Byte(addr & 0xfe); + temp_ack=IIC2_Wait_pca_Ack(); + IIC2_Send_pca_Byte(reg_addr); + temp_ack1=IIC2_Wait_pca_Ack(); - IIC2_pca_Start(); - IIC2_Send_pca_Byte(addr | 0x01); - temp_ack2=IIC2_Wait_pca_Ack(); - + IIC2_pca_Start(); + IIC2_Send_pca_Byte(addr | 0x01); + temp_ack2=IIC2_Wait_pca_Ack(); + // if(num==2){ // pBuffer[0]=IIC2_Read_Byte(1); // pBuffer[1]=IIC2_Read_Byte(0); // }else{ // pBuffer[0]=IIC2_Read_Byte(0); // } - - while (num) - { - *pBuffer = IIC2_Read_pca_Byte(num); - if (num == 1) - { - IIC2_pca_send_NAck(); - //IIC2_NAck(); - } - else - { - IIC2_pca_send_Ack(); - //IIC2_Ack(); - } - pBuffer++; - num--; - } - IIC2_pca_Stop(); - + while (num) + { + *pBuffer = IIC2_Read_pca_Byte(num); + if (num == 1) + { + IIC2_pca_send_NAck(); + //IIC2_NAck(); + } + else + { + IIC2_pca_send_Ack(); + //IIC2_Ack(); + } + pBuffer++; + num--; + } + IIC2_pca_Stop(); + + // IIC2_Start(); // IIC2_Send_Byte(addr & 0xfe); //发送写命令 // IIC2_Wait_pca_Ack(); @@ -290,10 +290,10 @@ data_H 写入芯片的前后位数据 */ void PCA9555_write_output_port_data(unsigned char addr,unsigned char data_L,unsigned char data_H) -{ - IIC_Write_Pca9555(addr,PCA9555_REG_OUT0,data_L,data_H);// PCA9555_REG_OUT0 输出寄存器0地址 - pca9555writedata_output[0]= data_L;//保存该次设置数据 - pca9555writedata_output[1]= data_H; +{ + IIC_Write_Pca9555(addr,PCA9555_REG_OUT0,data_L,data_H);// PCA9555_REG_OUT0 输出寄存器0地址 + pca9555writedata_output[0]= data_L;//保存该次设置数据 + pca9555writedata_output[1]= data_H; } /*写pca9555第二层驱动,可辅助逻辑不破坏最底层驱动,该函数默认配置输出寄存器 @@ -302,10 +302,10 @@ data_H 写入芯片的前后位数据 */ void PCA9555_write_config_port_data(unsigned char addr,unsigned char data_L,unsigned char data_H) -{ - IIC_Write_Pca9555(addr,PCA9555_REG_CFG0,data_L,data_H);// PCA9555_REG_OUT0 输出寄存器0地址 - pca9555writedata_config[0]= data_L;//保存该次设置数据 - pca9555writedata_config[1]= data_H; +{ + IIC_Write_Pca9555(addr,PCA9555_REG_CFG0,data_L,data_H);// PCA9555_REG_OUT0 输出寄存器0地址 + pca9555writedata_config[0]= data_L;//保存该次设置数据 + pca9555writedata_config[1]= data_H; } /*写pca9555第二层驱动,可辅助逻辑不破坏最底层驱动,该函数默认配置输入极性翻转寄存器 1翻转 2不变 addr 芯片地址,0x40表示第一个芯片地址 @@ -313,10 +313,10 @@ data_H 写入芯片的前后位数据 */ void PCA9555_write_polarity_port_data(unsigned char addr,unsigned char data_L,unsigned char data_H) -{ - IIC_Write_Pca9555(addr,PCA9555_REG_POL0,data_L,data_H);// PCA9555_REG_OUT0 输出寄存器0地址 - pca9555writedata_polarity[0]= data_L;//保存该次设置数据 - pca9555writedata_polarity[1]= data_H; +{ + IIC_Write_Pca9555(addr,PCA9555_REG_POL0,data_L,data_H);// PCA9555_REG_OUT0 输出寄存器0地址 + pca9555writedata_polarity[0]= data_L;//保存该次设置数据 + pca9555writedata_polarity[1]= data_H; } /*读pca9555第二层驱动,可辅助逻辑不破坏最底层驱动 @@ -325,7 +325,7 @@ */ void PCA9555_readdata(unsigned char addr,unsigned char* pBuffer) { - IIC_Read_Pca9555(addr,PCA9555_REG_IN0,pBuffer,2);//2为读出芯片数据组数,9555为2组,全部读出 + IIC_Read_Pca9555(addr,PCA9555_REG_IN0,pBuffer,2);//2为读出芯片数据组数,9555为2组,全部读出 } /*读pca9555第二层驱动,可辅助逻辑不破坏最底层驱动 addr 芯片地址,0x40表示第一个芯片地址 @@ -333,7 +333,7 @@ */ void PCA9555_readdata_from_output_register(unsigned char addr,unsigned char* pBuffer) { - IIC_Read_Pca9555(addr,PCA9555_REG_OUT0,pBuffer,2);//2为读出芯片数据组数,9555为2组,全部读出 + IIC_Read_Pca9555(addr,PCA9555_REG_OUT0,pBuffer,2);//2为读出芯片数据组数,9555为2组,全部读出 } /*读pca9555第二层驱动,可辅助逻辑不破坏最底层驱动 addr 芯片地址,0x40表示第一个芯片地址 @@ -341,7 +341,7 @@ */ void PCA9555_readdata_from_polarity_register(unsigned char addr,unsigned char* pBuffer) { - IIC_Read_Pca9555(addr,PCA9555_REG_POL0,pBuffer,2);//2为读出芯片数据组数,9555为2组,全部读出 + IIC_Read_Pca9555(addr,PCA9555_REG_POL0,pBuffer,2);//2为读出芯片数据组数,9555为2组,全部读出 } /*读pca9555第二层驱动,可辅助逻辑不破坏最底层驱动 addr 芯片地址,0x40表示第一个芯片地址 @@ -349,7 +349,7 @@ */ void PCA9555_readdata_from_config_register(unsigned char addr,unsigned char* pBuffer) { - IIC_Read_Pca9555(addr,PCA9555_REG_CFG0,pBuffer,2);//2为读出芯片数据组数,9555为2组,全部读出 + IIC_Read_Pca9555(addr,PCA9555_REG_CFG0,pBuffer,2);//2为读出芯片数据组数,9555为2组,全部读出 } ///*配置芯片的对应管脚输入输出功能 // addr 芯片地址,0x40表示第一个芯片地址 @@ -357,8 +357,8 @@ // data_H 写入芯片的前后位数据 //*/ //void PCA9555_config_gpio(unsigned char addr,unsigned char data_L,unsigned char data_H) -//{ -// IIC_Write_Pca9555(addr,PCA9555_REG_CFG0,data_L,data_H);// PCA9555_REG_OUT0 输出寄存器0地址 +//{ +// IIC_Write_Pca9555(addr,PCA9555_REG_CFG0,data_L,data_H);// PCA9555_REG_OUT0 输出寄存器0地址 //} @@ -368,16 +368,16 @@ */ void PCA9555_Set_All_Output(unsigned char value) { - int i; - for(i=0;i<4;i++){ - if(value==0) - pca9555writedata_output[i]=0; - else - pca9555writedata_output[i]=0xff; - } - PCA9555_write_output_port_data(PCA9555_DEVICE_ADDR,pca9555writedata_output[0],pca9555writedata_output[1]);//全部输出为1或0 - //多芯片 - //PCA9555_writedata(PCA9555_REG_OUT0,pca9555writedata[2],pca9555writedata[3]); + int i; + for(i=0; i<4; i++) { + if(value==0) + pca9555writedata_output[i]=0; + else + pca9555writedata_output[i]=0xff; + } + PCA9555_write_output_port_data(PCA9555_DEVICE_ADDR,pca9555writedata_output[0],pca9555writedata_output[1]);//全部输出为1或0 + //多芯片 + //PCA9555_writedata(PCA9555_REG_OUT0,pca9555writedata[2],pca9555writedata[3]); } /*设置第一个芯片某一通道IO高低输出仅限输出 num 控制的IO序号 1~16 @@ -385,20 +385,20 @@ */ void PCA9555_Set_One_Value_Output(unsigned char num,unsigned char value) { - if(num >0 && num <17){//第一个芯片IO1-16控制 - if(num <9){ - if(value)pca9555writedata_output[0] |= 0x01<<(num - 1);//赋值位高 - else pca9555writedata_output[0] &= ~(0x01<<(num - 1));//赋值位低 - } - else{ - if(value)pca9555writedata_output[1] |= 0x01<<(num - 9);//赋值位高 - else pca9555writedata_output[1] &= ~(0x01<<(num - 9));//赋值位低 - } - PCA9555_write_output_port_data(PCA9555_DEVICE_ADDR,pca9555writedata_output[0],pca9555writedata_output[1]); - }else{//超出芯片控制 - //error - } - //底下为多芯片逻辑 + if(num >0 && num <17) { //第一个芯片IO1-16控制 + if(num <9) { + if(value)pca9555writedata_output[0] |= 0x01<<(num - 1);//赋值位高 + else pca9555writedata_output[0] &= ~(0x01<<(num - 1));//赋值位低 + } + else { + if(value)pca9555writedata_output[1] |= 0x01<<(num - 9);//赋值位高 + else pca9555writedata_output[1] &= ~(0x01<<(num - 9));//赋值位低 + } + PCA9555_write_output_port_data(PCA9555_DEVICE_ADDR,pca9555writedata_output[0],pca9555writedata_output[1]); + } else { //超出芯片控制 + //error + } + //底下为多芯片逻辑 // else if(num >16 && num <33){//第二个芯片IO1-16控制,使用更多IO以此类推,最多支持0x000~0x111 共8个芯片串联,共128个IO,如果不够可以使用PCA9505,40个IO,最多串联320个IO // if(num <25){ // if(value)pca9555writedata[2] |= 0x01<<(num - 17);//赋值位高 @@ -407,7 +407,7 @@ // else{ // if(value)pca9555writedata[3] |= 0x01<<(num - 25);//赋值位高 // else pca9555writedata[3] &= ~(0x01<<(num - 25));//赋值位低 -// } +// } // PCA9555_writedata(PCA9555_REG_OUT1,pca9555writedata[2],pca9555writedata[3]); // } // else{//超出芯片控制 @@ -418,42 +418,42 @@ num 控制的IO序号 1~17 value 控制的IO输出状态 0:输出 1:输入 */ -void PCA9555_Set_One_Value_Config(unsigned char num,unsigned char value) +void PCA9555_Set_One_Value_Config(unsigned char num,unsigned char value) { - - if(num >0 && num <17){//第一个芯片IO1-16控制 - if(num <9){ - if(value)pca9555writedata_config[0] |= 0x01<<(num - 1);//赋值位高 - else pca9555writedata_config[0] &= ~(0x01<<(num - 1));//赋值位低 - } - else{ - if(value)pca9555writedata_config[1] |= 0x01<<(num - 9);//赋值位高 - else pca9555writedata_config[1] &= ~(0x01<<(num - 9));//赋值位低 - } - PCA9555_write_config_port_data(PCA9555_DEVICE_ADDR,pca9555writedata_config[0],pca9555writedata_config[1]); - }else{//超出芯片控制 - //error - } + + if(num >0 && num <17) { //第一个芯片IO1-16控制 + if(num <9) { + if(value)pca9555writedata_config[0] |= 0x01<<(num - 1);//赋值位高 + else pca9555writedata_config[0] &= ~(0x01<<(num - 1));//赋值位低 + } + else { + if(value)pca9555writedata_config[1] |= 0x01<<(num - 9);//赋值位高 + else pca9555writedata_config[1] &= ~(0x01<<(num - 9));//赋值位低 + } + PCA9555_write_config_port_data(PCA9555_DEVICE_ADDR,pca9555writedata_config[0],pca9555writedata_config[1]); + } else { //超出芯片控制 + //error + } } /*设置第一个芯片某一通道默认输入的极性 num 控制的IO序号 1~17 value 控制的IO输出状态 0:非使能 1:使能翻转为电平0 */ -void PCA9555_Set_One_Value_Polarity_input(unsigned char num,unsigned char value) +void PCA9555_Set_One_Value_Polarity_input(unsigned char num,unsigned char value) { - if(num >0 && num <17){//第一个芯片IO1-16控制 - if(num <9){ - if(value)pca9555writedata_polarity[0] |= 0x01<<(num - 1);//赋值位高 - else pca9555writedata_polarity[0] &= ~(0x01<<(num - 1));//赋值位低 - } - else{ - if(value)pca9555writedata_polarity[1] |= 0x01<<(num - 9);//赋值位高 - else pca9555writedata_polarity[1] &= ~(0x01<<(num - 9));//赋值位低 - } - PCA9555_write_polarity_port_data(PCA9555_DEVICE_ADDR,pca9555writedata_polarity[0],pca9555writedata_polarity[1]); - }else{//超出芯片控制 - //error - } + if(num >0 && num <17) { //第一个芯片IO1-16控制 + if(num <9) { + if(value)pca9555writedata_polarity[0] |= 0x01<<(num - 1);//赋值位高 + else pca9555writedata_polarity[0] &= ~(0x01<<(num - 1));//赋值位低 + } + else { + if(value)pca9555writedata_polarity[1] |= 0x01<<(num - 9);//赋值位高 + else pca9555writedata_polarity[1] &= ~(0x01<<(num - 9));//赋值位低 + } + PCA9555_write_polarity_port_data(PCA9555_DEVICE_ADDR,pca9555writedata_polarity[0],pca9555writedata_polarity[1]); + } else { //超出芯片控制 + //error + } } /*读取5V引脚的输入高低电平 返回值 高1 低0 电平 @@ -479,13 +479,15 @@ { if(input5v_time) { - input5v_time=0; + input5v_time=0; PCA9555_readdata(PCA9555_DEVICE_ADDR,pca9555writedata_input);//读输入寄存器的值 uint16_t gpio_state; gpio_state=(uint16_t)pca9555writedata_input[0]<<8|pca9555writedata_input[1]; gpio_state111=gpio_state; if(gpio_state==0xFFFF) - {return 0;} + { + return 0; + } if(INPUT_5V_POSITION&gpio_state) { Set5VState(1); @@ -499,9 +501,9 @@ } else { Set5VState(0); - return 0; - } - + return 0; + } + } /*读取供电引脚的输入高低电平 返回值 高1 低0 电平 @@ -509,82 +511,82 @@ int read_powerkey_input_pca(void) { PCA9555_readdata(PCA9555_DEVICE_ADDR,pca9555writedata_input);//读输入寄存器的值 - uint16_t gpio_state; - gpio_state=(uint16_t)pca9555writedata_input[0]<<8|pca9555writedata_input[1]; - if(PWR_ON_POSITION&gpio_state) - return 1; - else { - return 0; - } + uint16_t gpio_state; + gpio_state=(uint16_t)pca9555writedata_input[0]<<8|pca9555writedata_input[1]; + if(PWR_ON_POSITION&gpio_state) + return 1; + else { + return 0; + } } /*读取SOS引脚的输入高低电平 返回值 高1 低0 电平 */ int read_userkey_input_pca(void) -{PCA9555_readdata(PCA9555_DEVICE_ADDR,pca9555writedata_input);//读输入寄存器的值 - uint16_t gpio_state; - gpio_state=(uint16_t)pca9555writedata_input[0]<<8|pca9555writedata_input[1]; - if(SOS_ENBALE_POSITION&gpio_state) - return 1; - else { - return 0; - } +{ PCA9555_readdata(PCA9555_DEVICE_ADDR,pca9555writedata_input);//读输入寄存器的值 + uint16_t gpio_state; + gpio_state=(uint16_t)pca9555writedata_input[0]<<8|pca9555writedata_input[1]; + if(SOS_ENBALE_POSITION&gpio_state) + return 1; + else { + return 0; + } } void PCA9555_init() { //IIC_gpio_pca_init();//配置IIC管脚 - - //PCA9555_write_config_port_data(PCA9555_DEVICE_ADDR,PCA_OUTPUT_CONFIG_MASK,PCA_OUTPUT_CONFIG_MASK);//全配置为输出 - //PCA9555_Set_One_Value_Polarity_input(PWR_ON,0); - //PCA9555_write_config_port_data(PCA9555_DEVICE_ADDR,PCA_INPUT_CONFIG_MASK,PCA_INPUT_CONFIG_MASK);//全配置为输入 - //PCA9555_write_polarity_port_data(PCA9555_DEVICE_ADDR,0x00,0x00);//翻转 - //PCA9555_Set_One_Value_Config(WAKE_UP,1); - //PCA9555_Set_All_Output(1); - - PCA9555_Set_One_Value_Config(GPS_POWER,0);//设置GPS为输出 - PCA9555_Set_One_Value_Output(GPS_POWER,1);//拉高GPS - - PCA9555_Set_One_Value_Config(GPS_BACKUP,0);//设置GPS备用电源为输出 - PCA9555_Set_One_Value_Output(GPS_BACKUP,1);//拉高GPS - -// while(1) - PCA9555_Set_One_Value_Config(ADC_MINIUS,0);//设置ADC输出 - PCA9555_Set_One_Value_Output(ADC_MINIUS,1);//默认拉高 - PCA9555_Set_One_Value_Config(MCU_A,0);//设置串口复用芯片切换 - PCA9555_Set_One_Value_Output(MCU_A,1);//输出高电平为uart通讯 - PCA9555_Set_One_Value_Config(INPUT_5V,1);//设置5V输入检测 - PCA9555_Set_One_Value_Config(LED_POWER,0);//设置LED灯输出 - PCA9555_Set_One_Value_Output(LED_POWER,1);//输出高电平开启LED通闪烁 - PCA9555_Set_One_Value_Config(PWR_ENABLE,0);//设置电池上电是否给单片机供电 - PCA9555_Set_One_Value_Output(PWR_ENABLE,1);//高电平默认导通单片机供电 - PCA9555_Set_One_Value_Config(PWR_ON,1);//设置开关机按键输入 - PCA9555_Set_One_Value_Config(SOS_ENBALE,1);//设置SOS按钮输入 - + //PCA9555_write_config_port_data(PCA9555_DEVICE_ADDR,PCA_OUTPUT_CONFIG_MASK,PCA_OUTPUT_CONFIG_MASK);//全配置为输出 + //PCA9555_Set_One_Value_Polarity_input(PWR_ON,0); + //PCA9555_write_config_port_data(PCA9555_DEVICE_ADDR,PCA_INPUT_CONFIG_MASK,PCA_INPUT_CONFIG_MASK);//全配置为输入 + //PCA9555_write_polarity_port_data(PCA9555_DEVICE_ADDR,0x00,0x00);//翻转 + //PCA9555_Set_One_Value_Config(WAKE_UP,1); + //PCA9555_Set_All_Output(1); + + PCA9555_Set_One_Value_Config(GPS_POWER,0);//设置GPS为输出 + PCA9555_Set_One_Value_Output(GPS_POWER,1);//拉高GPS + + PCA9555_Set_One_Value_Config(GPS_BACKUP,0);//设置GPS备用电源为输出 + PCA9555_Set_One_Value_Output(GPS_BACKUP,1);//拉高GPS + +// while(1) + PCA9555_Set_One_Value_Config(ADC_MINIUS,0);//设置ADC输出 + PCA9555_Set_One_Value_Output(ADC_MINIUS,1);//默认拉高 + PCA9555_Set_One_Value_Config(MCU_A,0);//设置串口复用芯片切换 + PCA9555_Set_One_Value_Output(MCU_A,1);//输出高电平为uart通讯 + PCA9555_Set_One_Value_Config(INPUT_5V,1);//设置5V输入检测 + PCA9555_Set_One_Value_Config(LED_POWER,0);//设置LED灯输出 + PCA9555_Set_One_Value_Output(LED_POWER,1);//输出高电平开启LED通闪烁 + PCA9555_Set_One_Value_Config(PWR_ENABLE,0);//设置电池上电是否给单片机供电 + PCA9555_Set_One_Value_Output(PWR_ENABLE,1);//高电平默认导通单片机供电 + PCA9555_Set_One_Value_Config(PWR_ON,1);//设置开关机按键输入 + + PCA9555_Set_One_Value_Config(SOS_ENBALE,1);//设置SOS按钮输入 + // PCA9555_Set_One_Value_Config(TTS_ENABLE,0); PCA9555_Set_One_Value_Output(TTS_ENABLE,1); - PCA9555_Set_One_Value_Config(AIR780E_ENBALE,0);//配置4G供电 - PCA9555_Set_One_Value_Output(AIR780E_ENBALE,1);//打开4G - - PCA9555_Set_One_Value_Config(MAIN_RI,0);//配置4G唤醒引脚为输入 - PCA9555_Set_One_Value_Output(MAIN_RI,0); - + PCA9555_Set_One_Value_Config(AIR780E_ENBALE,0);//配置4G供电 + PCA9555_Set_One_Value_Output(AIR780E_ENBALE,1);//打开4G + + PCA9555_Set_One_Value_Config(MAIN_RI,0);//配置4G唤醒引脚为输入 + PCA9555_Set_One_Value_Output(MAIN_RI,0); + // PCA9555_Set_One_Value_Config(SOS_ENBALE,1);//设置SOS按钮输入 - + PCA9555_Set_One_Value_Config(WAKE_UP,1); // PCA9555_Set_One_Value_Config(TTS_ENABLE,0);//配置tts供电 // PCA9555_Set_One_Value_Output(PWR_ON,0);//拉低 - //PCA9555_readdata_from_output_register(PCA9555_DEVICE_ADDR,pca9555writedata_input); - //PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0); - //PCA9555_Set_One_Value_Output(PWR_ON,0); + //PCA9555_readdata_from_output_register(PCA9555_DEVICE_ADDR,pca9555writedata_input); + //PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0); + //PCA9555_Set_One_Value_Output(PWR_ON,0); // PCA9555_Set_All_Output(0); - //PCA9555_readdata_from_polarity_register(PCA9555_DEVICE_ADDR,pca9555writedata_input); - PCA9555_readdata(PCA9555_DEVICE_ADDR,pca9555writedata_input);//读输入寄存器的值 - - //PCA9555_readdata_from_config_register(PCA9555_DEVICE_ADDR,pca9555writedata_config); + //PCA9555_readdata_from_polarity_register(PCA9555_DEVICE_ADDR,pca9555writedata_input); + PCA9555_readdata(PCA9555_DEVICE_ADDR,pca9555writedata_input);//读输入寄存器的值 + + //PCA9555_readdata_from_config_register(PCA9555_DEVICE_ADDR,pca9555writedata_config); // PCA9555_Set_All_Output(0);//全部拉低 - - //测试 + + //测试 //PCA9555_Set_All_Output(1);//全部拉高 //PCA9555_Set_All_Output(0);//全部拉低 @@ -596,53 +598,53 @@ void move_handler() { nomove_count=0; - if(deep_sleep_falg==0) - { - deep_sleep_falg=1; -// sleep_timer_start(); - NVIC_SystemReset(); - } + if(deep_sleep_falg==0) + { + deep_sleep_falg=1; +// sleep_timer_start(); + NVIC_SystemReset(); + } } uint8_t test11,test21,test31,test41,test51; void check_input_change(void) { - uint16_t gpio_state; - gpio_state=(uint16_t)pca9555writedata_input[0]<<8|pca9555writedata_input[1]; + uint16_t gpio_state; + gpio_state=(uint16_t)pca9555writedata_input[0]<<8|pca9555writedata_input[1]; - if(WAKE_UP_POSITION&gpio_state) - { + if(WAKE_UP_POSITION&gpio_state) + { - //移动 - nomove_count=0; - if(deep_sleep_falg==0) - { - - - deep_sleep_falg=1; -// NVIC_SystemReset(); - sys_reset(0); - } -// - test51++; - } + //移动 + nomove_count=0; + if(deep_sleep_falg==0) + { + + + deep_sleep_falg=1; +// NVIC_SystemReset(); + sys_reset(0); + } +// + test51++; + } // if(!(MAIN_RI_POSITION&gpio_state)) // { // flag_4G_recdata = 1; // delaysleep_count = 3; // test21++; // } - if((PWR_ON_POSITION&gpio_state)) - { + if((PWR_ON_POSITION&gpio_state)) + { PowerTask(); test31++; - } - if(!(SOS_ENBALE_POSITION&gpio_state)) - { + } + if(!(SOS_ENBALE_POSITION&gpio_state)) + { UserKeyTask(); test21++; - } + } } diff --git a/keil/include/drivers/Shell.c b/keil/include/drivers/Shell.c index cd3f26b..be2058d 100644 --- a/keil/include/drivers/Shell.c +++ b/keil/include/drivers/Shell.c @@ -79,7 +79,7 @@ { "rtc_set", Shell_RTCSet }, { "rtc_set_alarm", Shell_RTCAlarm }, { "rtc_get", Shell_RTCGet }, - + { "sleep", Shell_Sleep }, { "info", Shell_Info }, @@ -88,13 +88,13 @@ { "debug_on", Shell_DebugOn }, { "debug_off", Shell_DebugOff }, - + { "close_wireless", Shell_CloseWireless }, { "open_wireless", Shell_OpenWireless }, { "4g_poweron", Shell_PowerOn }, { "4g_poweroff", Shell_PowerOff }, { "update", Shell_Update }, - + { "tcp_create", Shell_TCPCreate }, { "tcp_connect", Shell_TCPConnect }, { "tcp_send", Shell_TCPSend }, @@ -107,11 +107,11 @@ { "server_info", Shell_SetServerInfo }, { "set_rtcm", Shell_SetRTCMTCPInfo }, { "set_qxwz", Shell_SetQXWZ }, - { "set_rtcmmode", Shell_SetRTCMMode }, + { "set_rtcmmode", Shell_SetRTCMMode }, { "set_uwbenable", Shell_SetUWBEnable }, { "set_ntrip", Shell_SetNtrip }, // { "set_charge_work_mode", Shell_Charge_work_mode }, - + { "ota", Shell_OTA }, { "log_upload", Shell_LogUpload }, @@ -119,10 +119,10 @@ { "log", Shell_Log }, { "log_clean", Shell_LogClean }, { "log_print", Shell_LogPrint }, - - - { "set_gpsuwbpara", Set_Gpsuwbpara }, - + + + { "set_gpsuwbpara", Set_Gpsuwbpara }, + // //新增4G指令 // { "set_gps", Shell_Set_gps }, // { "set_uwb", Shell_Set_uwb }, @@ -130,8 +130,8 @@ //static HIDO_INT32 Shell_Set_gps(HIDO_INT32 _i32Argc, HIDO_CHAR **_ppcArgv) //{ -// -// +// +// //} @@ -146,10 +146,10 @@ // if(_i32Argc < 2) // { // HIDO_ShellPrintf("ERROR\r\n"); -// +// // return HIDO_ERR; // } -// +// // g_com_map[URT_BQ] = atoi(_ppcArgv[1]); // save_com_map_to_flash(); // HIDO_ShellPrintf("OK\r\n"); @@ -157,18 +157,18 @@ static HIDO_INT32 Shell_SetUWBEnable(HIDO_INT32 _i32Argc, HIDO_CHAR **_ppcArgv) { HIDO_UINT8 au8IP[2]; - + if(_i32Argc < 2) { HIDO_ShellPrintf("ERROR\r\n"); - + return HIDO_ERR; } - + /* IP=192.168.1.1 */ HIDO_UtilIPStringToByteArrary(_ppcArgv[1], au8IP); /* IP变化 */ - + if( g_com_map[UWBENABLE_INDEX] != HIDO_UtilStrToInt(_ppcArgv[1])) { g_com_map[UWBENABLE_INDEX] = HIDO_UtilStrToInt(_ppcArgv[1]); @@ -183,25 +183,25 @@ static HIDO_INT32 Shell_SetRTCMMode(HIDO_INT32 _i32Argc, HIDO_CHAR **_ppcArgv) { HIDO_UINT8 au8IP[2]; - + if(_i32Argc < 2) { HIDO_ShellPrintf("ERROR\r\n"); - + return HIDO_ERR; } - + /* IP=192.168.1.1 */ HIDO_UtilIPStringToByteArrary(_ppcArgv[1], au8IP); /* IP变化 */ - + if( g_com_map[RTCMMODE_INDEX] != HIDO_UtilStrToInt(_ppcArgv[1])) { g_com_map[RTCMMODE_INDEX] = HIDO_UtilStrToInt(_ppcArgv[1]); } save_com_map_to_flash(); - + HIDO_ShellPrintf("OK\r\n"); g_com_map[CNT_RESTART] = 1; return HIDO_OK; @@ -209,15 +209,15 @@ static HIDO_INT32 Shell_Test(HIDO_INT32 _i32Argc, HIDO_CHAR **_ppcArgv) { //EC20Driver_Reset(); - + // TTS_Play("测试", 4); - + return HIDO_OK; } static HIDO_INT32 Shell_Sleep(HIDO_INT32 _i32Argc, HIDO_CHAR **_ppcArgv) -{ - //Power_Sleep(); +{ + //Power_Sleep(); return HIDO_OK; } @@ -320,7 +320,7 @@ HIDO_ShellPrintf("IMEI: %s\r\n", Module_GetIMEI()); HIDO_ShellPrintf("CCID: %s\r\n", Module_GetCCID()); HIDO_ShellPrintf("IMSI: %s\r\n", Module_GetIMSI()); - + return HIDO_OK; } @@ -335,7 +335,7 @@ static HIDO_INT32 Shell_OpenWireless(HIDO_INT32 _i32Argc, HIDO_CHAR **_ppcArgv) { - Module_PowerOn(MODULE_GSM); + Module_PowerOn(MODULE_GSM); HIDO_ShellPrintf("OK\r\n"); return HIDO_OK; @@ -343,7 +343,7 @@ static HIDO_INT32 Shell_PowerOn(HIDO_INT32 _i32Argc, HIDO_CHAR **_ppcArgv) { - Module_PowerOn(MODULE_MAIN); + Module_PowerOn(MODULE_MAIN); HIDO_ShellPrintf("OK\r\n"); return HIDO_OK; @@ -351,7 +351,7 @@ static HIDO_INT32 Shell_PowerOff(HIDO_INT32 _i32Argc, HIDO_CHAR **_ppcArgv) { - Module_PowerOff(MODULE_MAIN); + Module_PowerOff(MODULE_MAIN); HIDO_ShellPrintf("OK\r\n"); return HIDO_OK; @@ -361,24 +361,24 @@ { // uint16_t tmp = 0xAAAA,result; // HIDO_ShellPrintf("update OK\r\n"); -// SPIFlash_Erase(SPI_FLASH_ID_0, APP_CONFIG_IAPFLAG_MAP,2, SPI_FLASH_SECTOR_ERASE_MODE_4K); -// SPIFlash_Write(SPI_FLASH_ID_0, APP_CONFIG_IAPFLAG_MAP, (HIDO_UINT8*)&tmp, sizeof(tmp)); +// SPIFlash_Erase(SPI_FLASH_ID_0, APP_CONFIG_IAPFLAG_MAP,2, SPI_FLASH_SECTOR_ERASE_MODE_4K); +// SPIFlash_Write(SPI_FLASH_ID_0, APP_CONFIG_IAPFLAG_MAP, (HIDO_UINT8*)&tmp, sizeof(tmp)); // g_com_map[CNT_RESTART] = 1; // return HIDO_OK; } static HIDO_INT32 Shell_ATCmd(HIDO_INT32 _i32Argc, HIDO_CHAR **_ppcArgv) { - if(_i32Argc != 2) - { + if(_i32Argc != 2) + { HIDO_ShellPrintf("ERROR\r\n"); return HIDO_OK; - } + } - Module_RunATCmd(_ppcArgv[1]); + Module_RunATCmd(_ppcArgv[1]); - return HIDO_OK; + return HIDO_OK; } static HIDO_VOID Shell_SocketEventProc(HIDO_INT32 _i32SockID, E_SocketEvent _eEvent, HIDO_VOID *_pData) @@ -389,7 +389,7 @@ static HIDO_INT32 Shell_TCPCreate(HIDO_INT32 _i32Argc, HIDO_CHAR **_ppcArgv) { HIDO_INT32 i32NewSockID = 0; - + if(Socket_Create(&i32NewSockID, SOCKET_TYPE_TCP, Shell_SocketEventProc, HIDO_NULL) == HIDO_OK) { HIDO_ShellPrintf("SockID:%u\r\n", i32NewSockID); @@ -399,7 +399,7 @@ { HIDO_ShellPrintf("ERROR\r\n"); } - + return HIDO_OK; } @@ -409,11 +409,11 @@ { HIDO_ShellPrintf("Arg ERROR\r\n"); } - + HIDO_INT32 i32SockID = atoi(_ppcArgv[1]); HIDO_CHAR *pcRemoteAddr = _ppcArgv[2]; HIDO_UINT16 u16RemotePort = atoi(_ppcArgv[3]); - + if(Socket_Connect(i32SockID, pcRemoteAddr, u16RemotePort) == HIDO_OK) { HIDO_ShellPrintf("OK\r\n"); @@ -422,7 +422,7 @@ { HIDO_ShellPrintf("ERROR\r\n"); } - + return HIDO_OK; } @@ -435,7 +435,7 @@ HIDO_INT32 i32SockID = atoi(_ppcArgv[1]); HIDO_CHAR *pcData = _ppcArgv[2]; - + if(Socket_Send(i32SockID, (HIDO_UINT8 *)pcData, strlen(pcData)) == HIDO_OK) { HIDO_ShellPrintf("OK\r\n"); @@ -444,7 +444,7 @@ { HIDO_ShellPrintf("ERROR\r\n"); } - + return HIDO_OK; } @@ -454,9 +454,9 @@ { HIDO_ShellPrintf("Arg ERROR\r\n"); } - + HIDO_INT32 i32SockID = atoi(_ppcArgv[1]); - + if(Socket_Close(i32SockID) == HIDO_OK) { HIDO_ShellPrintf("OK\r\n"); @@ -465,13 +465,13 @@ { HIDO_ShellPrintf("ERROR\r\n"); } - + return HIDO_OK; } static HIDO_INT32 Shell_DEVID(HIDO_INT32 _i32Argc, HIDO_CHAR **_ppcArgv) { - uint32_t temp2,hex; + uint32_t temp2,hex; temp2 = atoi(_ppcArgv[1]); hex = (temp2/1000)*4096+((temp2/100)%10)*256+((temp2/10)%10)*16 +((temp2)%10); @@ -479,21 +479,21 @@ dev_id = g_com_map[DEV_ID]; save_com_map_to_flash(); HIDO_ShellPrintf("OK\r\n"); - + return HIDO_OK; } static HIDO_INT32 Shell_SetServerInfo(HIDO_INT32 _i32Argc, HIDO_CHAR **_ppcArgv) { HIDO_UINT8 au8IP[4]; - + if(_i32Argc < 3) { HIDO_ShellPrintf("ERROR\r\n"); - + return HIDO_ERR; } - + /* IP=192.168.1.1 */ HIDO_UtilIPStringToByteArrary(_ppcArgv[1], au8IP); /* IP变化 */ @@ -522,22 +522,22 @@ static HIDO_INT32 Shell_SetQXWZ(HIDO_INT32 _i32Argc, HIDO_CHAR **_ppcArgv) { HIDO_UINT8 au8IP[4]; - + if(_i32Argc < 5) { HIDO_ShellPrintf("ERROR\r\n"); - + return HIDO_ERR; } - - snprintf((char *)&g_com_map[QXWZ_APPKEY_INDEX], 32, "%s", _ppcArgv[1]); + + snprintf((char *)&g_com_map[QXWZ_APPKEY_INDEX], 32, "%s", _ppcArgv[1]); snprintf((char *)&g_com_map[QXWZ_APPSECRET_INDEX], 32, "%s", _ppcArgv[2]); snprintf((char *)&g_com_map[QXWZ_DEVTYPE_INDEX], 32, "%s", _ppcArgv[3]); snprintf((char *)&g_com_map[QXWZ_DEVID_INDEX], 32, "%s", _ppcArgv[4]); save_com_map_to_flash(); - + HIDO_ShellPrintf("OK\r\n"); g_com_map[CNT_RESTART] = 1; return HIDO_OK; @@ -545,23 +545,23 @@ static HIDO_INT32 Shell_SetNtrip(HIDO_INT32 _i32Argc, HIDO_CHAR **_ppcArgv) { HIDO_UINT8 au8IP[4]; - + if(_i32Argc < 6) { HIDO_ShellPrintf("ERROR\r\n"); - + return HIDO_ERR; } - + snprintf((char *)&g_com_map[NTRIP_HOST_INDEX], 32, "%s", _ppcArgv[1]); g_com_map[NTRIP_PORT_INDEX] = HIDO_UtilStrToInt(_ppcArgv[2]); snprintf((char *)&g_com_map[NTRIP_USERNANME_INDEX], 32, "%s", _ppcArgv[3]); snprintf((char *)&g_com_map[NTRIP_PASSWORD_INDEX], 32, "%s", _ppcArgv[4]); snprintf((char *)&g_com_map[NTRIP_SOURCENAME_INDEX], 32, "%s", _ppcArgv[5]); - + save_com_map_to_flash(); - + HIDO_ShellPrintf("OK\r\n"); g_com_map[CNT_RESTART] = 1; return HIDO_OK; @@ -569,14 +569,14 @@ static HIDO_INT32 Shell_SetRTCMTCPInfo(HIDO_INT32 _i32Argc, HIDO_CHAR **_ppcArgv) { HIDO_UINT8 au8IP[4]; - + if(_i32Argc < 3) { HIDO_ShellPrintf("ERROR\r\n"); - + return HIDO_ERR; } - + /* IP=192.168.1.1 */ HIDO_UtilIPStringToByteArrary(_ppcArgv[1], au8IP); /* IP变化 */ @@ -596,7 +596,7 @@ } save_com_map_to_flash(); - + HIDO_ShellPrintf("OK\r\n"); g_com_map[CNT_RESTART] = 1; return HIDO_OK; @@ -620,7 +620,7 @@ { HIDO_ShellPrintf("OK\r\n"); DBG_SetMode(DBG_MODE_GPS); - }else if(i32Mode == 2) + } else if(i32Mode == 2) { HIDO_ShellPrintf("OK\r\n"); DBG_SetMode(DBG_MODE_CFG); @@ -660,14 +660,14 @@ HIDO_INT32 datarate2 = atoi(_ppcArgv[2]); if(datarate1<=20&&datarate1>0&&datarate2<=50&&datarate1>0) { - g_com_map[GPS_HZ] = datarate1; - g_com_map[COM_INTERVAL] = 1000/datarate2; - - save_com_map_to_flash(); - - HIDO_ShellPrintf("OK\r\n"); - g_com_map[CNT_RESTART] = 1; - }else{ + g_com_map[GPS_HZ] = datarate1; + g_com_map[COM_INTERVAL] = 1000/datarate2; + + save_com_map_to_flash(); + + HIDO_ShellPrintf("OK\r\n"); + g_com_map[CNT_RESTART] = 1; + } else { HIDO_ShellPrintf("Arg ERROR\r\n"); } return HIDO_OK; @@ -679,15 +679,15 @@ // HIDO_ShellPrintf("usage: ota url\r\n"); // return HIDO_ERR; // } -// +// // /* 重启进入OTA模式升级 */ // uint16_t tmp = 0xCCCC; -// +// // HIDO_Debug("goto ota application\r\n"); -// SPIFlash_Erase(SPI_FLASH_ID_0, APP_CONFIG_IAPFLAG_MAP, 2, SPI_FLASH_SECTOR_ERASE_MODE_4K); -// SPIFlash_Write(SPI_FLASH_ID_0, APP_CONFIG_IAPFLAG_MAP, (HIDO_UINT8*)&tmp, sizeof(tmp)); -// SPIFlash_Erase(SPI_FLASH_ID_0, APP_CONFIG_IAP_PARAM_MAP, 256, SPI_FLASH_SECTOR_ERASE_MODE_4K); -// SPIFlash_Write(SPI_FLASH_ID_0, APP_CONFIG_IAP_PARAM_MAP, (HIDO_UINT8*)_ppcArgv[1], strlen(_ppcArgv[1]) + 1); +// SPIFlash_Erase(SPI_FLASH_ID_0, APP_CONFIG_IAPFLAG_MAP, 2, SPI_FLASH_SECTOR_ERASE_MODE_4K); +// SPIFlash_Write(SPI_FLASH_ID_0, APP_CONFIG_IAPFLAG_MAP, (HIDO_UINT8*)&tmp, sizeof(tmp)); +// SPIFlash_Erase(SPI_FLASH_ID_0, APP_CONFIG_IAP_PARAM_MAP, 256, SPI_FLASH_SECTOR_ERASE_MODE_4K); +// SPIFlash_Write(SPI_FLASH_ID_0, APP_CONFIG_IAP_PARAM_MAP, (HIDO_UINT8*)_ppcArgv[1], strlen(_ppcArgv[1]) + 1); // delay_ms(10); //// Reboot(0); @@ -784,22 +784,22 @@ gpsbaudrate= atoi(_ppcArgv[5]); g_com_map[GPSBAUDRATE1_INDEX] = gpsbaudrate>>16; g_com_map[GPSBAUDRATE2_INDEX] = gpsbaudrate; - - + + if((g_com_map[GPSENBLE]||g_com_map[GPSENBLE]==0) - &&(g_com_map[UWBENBLE]||g_com_map[UWBENBLE]==0) - &&(g_com_map[GPSFrequency]<65535&&g_com_map[GPSFrequency]>0) - &&(g_com_map[UWBFrequency]==1||g_com_map[UWBFrequency]==3||g_com_map[UWBFrequency]==5||g_com_map[UWBFrequency]==10) - &&(gpsbaudrate==9600||gpsbaudrate==115200) - ) + &&(g_com_map[UWBENBLE]||g_com_map[UWBENBLE]==0) + &&(g_com_map[GPSFrequency]<65535&&g_com_map[GPSFrequency]>0) + &&(g_com_map[UWBFrequency]==1||g_com_map[UWBFrequency]==3||g_com_map[UWBFrequency]==5||g_com_map[UWBFrequency]==10) + &&(gpsbaudrate==9600||gpsbaudrate==115200) + ) { - save_com_map_to_flash(); - HIDO_ShellPrintf("OK\r\n"); - g_com_map[CNT_RESTART] = 1; + save_com_map_to_flash(); + HIDO_ShellPrintf("OK\r\n"); + g_com_map[CNT_RESTART] = 1; } else { - HIDO_ShellPrintf("Arg ERROR\r\n"); + HIDO_ShellPrintf("Arg ERROR\r\n"); } return HIDO_OK; } diff --git a/keil/include/drivers/Usart.c b/keil/include/drivers/Usart.c index b17d026..c413b99 100644 --- a/keil/include/drivers/Usart.c +++ b/keil/include/drivers/Usart.c @@ -63,7 +63,7 @@ // 使用UART.c方法接入数据,以便使用STM32的逻辑 Uart_SetChar(UART_ID_DBG_GPS, m_EUART_DMA_RXBuf[m_EUART_DMA_RXPtr]); DBG_Poll(); - + //waitusart_timer = tag_frequency*USART_KEEPWAKE_TIME; m_EUART_DMA_RXPtr++; if( m_EUART_DMA_RXPtr >= EUART_RX_BUF_SIZE ) diff --git a/keil/include/drivers/WS2812.c b/keil/include/drivers/WS2812.c index b46aa5d..03d7052 100644 --- a/keil/include/drivers/WS2812.c +++ b/keil/include/drivers/WS2812.c @@ -1,27 +1,27 @@ #include "WS2812.h" -void w28delay(uint32_t nTimer) -{ - uint32_t i=0; - for(i=0;i<nTimer;i++){ +void w28delay(uint32_t nTimer) +{ + uint32_t i=0; + for(i=0; i<nTimer; i++) { __NOP(); - - } + + } } void RGB_Set_Up() { - gpio_handle[0].base->DATAOUT = gpio_handle[0].base->DATAOUT | (1U << WS2812_PIN); + gpio_handle[0].base->DATAOUT = gpio_handle[0].base->DATAOUT | (1U << WS2812_PIN); w28delay(40); - gpio_handle[0].base->DATAOUT = gpio_handle[0].base->DATAOUT & (~(1U << WS2812_PIN)); + gpio_handle[0].base->DATAOUT = gpio_handle[0].base->DATAOUT & (~(1U << WS2812_PIN)); w28delay(18);//success 15 } void RGB_Set_Down() { // WS_PIN_1; - gpio_handle[0].base->DATAOUT = gpio_handle[0].base->DATAOUT | (1U << WS2812_PIN); + gpio_handle[0].base->DATAOUT = gpio_handle[0].base->DATAOUT | (1U << WS2812_PIN); w28delay(8); // WS_PIN_0; - gpio_handle[0].base->DATAOUT = gpio_handle[0].base->DATAOUT & (~(1U << WS2812_PIN)); + gpio_handle[0].base->DATAOUT = gpio_handle[0].base->DATAOUT & (~(1U << WS2812_PIN)); w28delay(25); } uint32_t temp_G8; @@ -29,26 +29,26 @@ void RGB_Set(uint32_t G8R8B8) { int i; - temp_G8=G8R8B8; + temp_G8=G8R8B8; uint8_t byte=0; - for(i=23;i>=0;i--) + for(i=23; i>=0; i--) { byte = ((G8R8B8>>i)&0x1); - byte_temp=byte; + byte_temp=byte; if(byte == 1) { RGB_Set_Up(); - }else{ + } else { RGB_Set_Down(); } - + } } void RGB_Rst(void) { - WS_PIN_0; + WS_PIN_0; w28delay(3600); - // WS_PIN_1; + // WS_PIN_1; } uint32_t uwbled,rtkled,led4g,powerled; void Set4LEDColor(uint32_t firstled,uint32_t secondled,uint32_t thirdled,uint32_t fourthled) @@ -56,11 +56,11 @@ __disable_irq(); RGB_Rst(); RGB_Set(firstled); - + RGB_Set(secondled); - + RGB_Set(thirdled); - + RGB_Set(fourthled); __enable_irq(); //RGB_Rst(); diff --git a/keil/include/drivers/dps310.c b/keil/include/drivers/dps310.c index 900e389..b1422d5 100644 --- a/keil/include/drivers/dps310.c +++ b/keil/include/drivers/dps310.c @@ -19,362 +19,362 @@ static dps310_scaling_coeffs_e dps310_get_scaling_coef (dps310_osr_e osr) { - dps310_scaling_coeffs_e scaling_coeff; + dps310_scaling_coeffs_e scaling_coeff; - switch (osr){ + switch (osr) { - case OSR_1: - scaling_coeff = OSR_SF_1; - break; - case OSR_2: - scaling_coeff = OSR_SF_2; - break; - case OSR_4: - scaling_coeff = OSR_SF_4; - break; - case OSR_8: - scaling_coeff = OSR_SF_8; - break; - case OSR_16: - scaling_coeff = OSR_SF_16; - break; - case OSR_32: - scaling_coeff = OSR_SF_32; - break; - case OSR_64: - scaling_coeff = OSR_SF_64; - break; - case OSR_128: - scaling_coeff = OSR_SF_128; - break; - default: - scaling_coeff = OSR_SF_1; - break; - } - return scaling_coeff; + case OSR_1: + scaling_coeff = OSR_SF_1; + break; + case OSR_2: + scaling_coeff = OSR_SF_2; + break; + case OSR_4: + scaling_coeff = OSR_SF_4; + break; + case OSR_8: + scaling_coeff = OSR_SF_8; + break; + case OSR_16: + scaling_coeff = OSR_SF_16; + break; + case OSR_32: + scaling_coeff = OSR_SF_32; + break; + case OSR_64: + scaling_coeff = OSR_SF_64; + break; + case OSR_128: + scaling_coeff = OSR_SF_128; + break; + default: + scaling_coeff = OSR_SF_1; + break; + } + return scaling_coeff; } static int dps310_read_calib_coeffs(struct dps310_state *drv_state) { - s32 ret; - u8 read_buffer[IFX_DPS310_COEF_LEN] = {0}; + s32 ret; + u8 read_buffer[IFX_DPS310_COEF_LEN] = {0}; - if (drv_state == NULL) - return -EINVAL; + if (drv_state == NULL) + return -EINVAL; - ret = drv_state->io->read_block((u8)IFX_DPS310_COEF_REG_ADDR, - (u8)IFX_DPS310_COEF_LEN, read_buffer); + ret = drv_state->io->read_block((u8)IFX_DPS310_COEF_REG_ADDR, + (u8)IFX_DPS310_COEF_LEN, read_buffer); - if ( ret != IFX_DPS310_COEF_LEN ) - return ret; + if ( ret != IFX_DPS310_COEF_LEN ) + return ret; - drv_state->calib_coeffs.C0 = (read_buffer[0] << 4) + ((read_buffer[1] >>4) & 0x0F); + drv_state->calib_coeffs.C0 = (read_buffer[0] << 4) + ((read_buffer[1] >>4) & 0x0F); - if(drv_state->calib_coeffs.C0 > POW_2_11_MINUS_1) - drv_state->calib_coeffs.C0 = drv_state->calib_coeffs.C0 - POW_2_12; + if(drv_state->calib_coeffs.C0 > POW_2_11_MINUS_1) + drv_state->calib_coeffs.C0 = drv_state->calib_coeffs.C0 - POW_2_12; - drv_state->calib_coeffs.C1 = (read_buffer[2] + ((read_buffer[1] & 0x0F)<<8)); + drv_state->calib_coeffs.C1 = (read_buffer[2] + ((read_buffer[1] & 0x0F)<<8)); - if(drv_state->calib_coeffs.C1 > POW_2_11_MINUS_1) - drv_state->calib_coeffs.C1 = drv_state->calib_coeffs.C1 - POW_2_12; + if(drv_state->calib_coeffs.C1 > POW_2_11_MINUS_1) + drv_state->calib_coeffs.C1 = drv_state->calib_coeffs.C1 - POW_2_12; - drv_state->calib_coeffs.C00 = ((read_buffer[4]<<4) + (read_buffer[3]<<12)) + ((read_buffer[5]>>4) & 0x0F); + drv_state->calib_coeffs.C00 = ((read_buffer[4]<<4) + (read_buffer[3]<<12)) + ((read_buffer[5]>>4) & 0x0F); - if(drv_state->calib_coeffs.C00 > POW_2_19_MINUS_1) - drv_state->calib_coeffs.C00 = drv_state->calib_coeffs.C00 -POW_2_20; + if(drv_state->calib_coeffs.C00 > POW_2_19_MINUS_1) + drv_state->calib_coeffs.C00 = drv_state->calib_coeffs.C00 -POW_2_20; - drv_state->calib_coeffs.C10 = ((read_buffer[5] & 0x0F)<<16) + read_buffer[7] + (read_buffer[6]<<8); + drv_state->calib_coeffs.C10 = ((read_buffer[5] & 0x0F)<<16) + read_buffer[7] + (read_buffer[6]<<8); - if(drv_state->calib_coeffs.C10 > POW_2_19_MINUS_1) - drv_state->calib_coeffs.C10 = drv_state->calib_coeffs.C10 - POW_2_20; + if(drv_state->calib_coeffs.C10 > POW_2_19_MINUS_1) + drv_state->calib_coeffs.C10 = drv_state->calib_coeffs.C10 - POW_2_20; - drv_state->calib_coeffs.C01 = (read_buffer[9] + (read_buffer[8]<<8)); + drv_state->calib_coeffs.C01 = (read_buffer[9] + (read_buffer[8]<<8)); - if(drv_state->calib_coeffs.C01 > POW_2_15_MINUS_1) - drv_state->calib_coeffs.C01 = drv_state->calib_coeffs.C01 - POW_2_16; + if(drv_state->calib_coeffs.C01 > POW_2_15_MINUS_1) + drv_state->calib_coeffs.C01 = drv_state->calib_coeffs.C01 - POW_2_16; - drv_state->calib_coeffs.C11 = (read_buffer[11] + (read_buffer[10]<<8)); + drv_state->calib_coeffs.C11 = (read_buffer[11] + (read_buffer[10]<<8)); - if(drv_state->calib_coeffs.C11 > POW_2_15_MINUS_1) - drv_state->calib_coeffs.C11 = drv_state->calib_coeffs.C11 - POW_2_16; + if(drv_state->calib_coeffs.C11 > POW_2_15_MINUS_1) + drv_state->calib_coeffs.C11 = drv_state->calib_coeffs.C11 - POW_2_16; - drv_state->calib_coeffs.C20 = (read_buffer[13] + (read_buffer[12]<<8)); + drv_state->calib_coeffs.C20 = (read_buffer[13] + (read_buffer[12]<<8)); - if(drv_state->calib_coeffs.C20 > POW_2_15_MINUS_1) - drv_state->calib_coeffs.C20 = drv_state->calib_coeffs.C20 - POW_2_16; + if(drv_state->calib_coeffs.C20 > POW_2_15_MINUS_1) + drv_state->calib_coeffs.C20 = drv_state->calib_coeffs.C20 - POW_2_16; - drv_state->calib_coeffs.C21 = (read_buffer[15] + (read_buffer[14]<<8)); + drv_state->calib_coeffs.C21 = (read_buffer[15] + (read_buffer[14]<<8)); - if(drv_state->calib_coeffs.C21 > POW_2_15_MINUS_1) - drv_state->calib_coeffs.C21 = drv_state->calib_coeffs.C21 - POW_2_16; + if(drv_state->calib_coeffs.C21 > POW_2_15_MINUS_1) + drv_state->calib_coeffs.C21 = drv_state->calib_coeffs.C21 - POW_2_16; - drv_state->calib_coeffs.C30 = (read_buffer[17] + (read_buffer[16]<<8)); + drv_state->calib_coeffs.C30 = (read_buffer[17] + (read_buffer[16]<<8)); - if(drv_state->calib_coeffs.C30 > POW_2_15_MINUS_1) - drv_state->calib_coeffs.C30 = drv_state->calib_coeffs.C30 - POW_2_16; + if(drv_state->calib_coeffs.C30 > POW_2_15_MINUS_1) + drv_state->calib_coeffs.C30 = drv_state->calib_coeffs.C30 - POW_2_16; - /* lets see which temperature diode is used for calibration and update state accordingly*/ - ret = drv_state->io->read_byte(IFX_DPS310_TMP_COEF_SRCE_REG_ADDR); + /* lets see which temperature diode is used for calibration and update state accordingly*/ + ret = drv_state->io->read_byte(IFX_DPS310_TMP_COEF_SRCE_REG_ADDR); - if (ret < 0){ - return -EIO; - } - if ((ret >> IFX_DPS310_TMP_COEF_SRCE_REG_POS_MASK) & 1 ){ - drv_state->tmp_ext = TMP_EXT_MEMS; - } - else{ - drv_state->tmp_ext = TMP_EXT_ASIC; - } - return 0; + if (ret < 0) { + return -EIO; + } + if ((ret >> IFX_DPS310_TMP_COEF_SRCE_REG_POS_MASK) & 1 ) { + drv_state->tmp_ext = TMP_EXT_MEMS; + } + else { + drv_state->tmp_ext = TMP_EXT_ASIC; + } + return 0; } int dps310_resume(struct dps310_state *drv_state) { - s32 ret; - if (drv_state == NULL) - return -EINVAL; + s32 ret; + if (drv_state == NULL) + return -EINVAL; - ret = drv_state->io->write_byte(IFX_DPS310_MEAS_CFG_REG_ADDR, - (u8)DPS310_MODE_BACKGROUND_ALL); - if (ret < 0) - return -EIO; + ret = drv_state->io->write_byte(IFX_DPS310_MEAS_CFG_REG_ADDR, + (u8)DPS310_MODE_BACKGROUND_ALL); + if (ret < 0) + return -EIO; - drv_state->dev_mode = DPS310_MODE_BACKGROUND_ALL; + drv_state->dev_mode = DPS310_MODE_BACKGROUND_ALL; - return 0; + return 0; } int dps310_standby(struct dps310_state *drv_state) { - s32 ret; - if (drv_state == NULL) - return -EINVAL; + s32 ret; + if (drv_state == NULL) + return -EINVAL; - ret = drv_state->io->write_byte(IFX_DPS310_MEAS_CFG_REG_ADDR, - (u8)DPS310_MODE_IDLE); - if (ret < 0) - return -EIO; + ret = drv_state->io->write_byte(IFX_DPS310_MEAS_CFG_REG_ADDR, + (u8)DPS310_MODE_IDLE); + if (ret < 0) + return -EIO; - drv_state->dev_mode = DPS310_MODE_IDLE; + drv_state->dev_mode = DPS310_MODE_IDLE; - return 0; + return 0; } int dps310_config(struct dps310_state *drv_state, - dps310_osr_e osr_temp, - dps310_tmp_rate_e mr_temp, - dps310_osr_e osr_press, - dps310_pm_rate_e mr_press, - dps310_temperature_src_e temp_src) + dps310_osr_e osr_temp, + dps310_tmp_rate_e mr_temp, + dps310_osr_e osr_press, + dps310_pm_rate_e mr_press, + dps310_temperature_src_e temp_src) { - s32 ret; - u8 config; + s32 ret; + u8 config; - if (drv_state == NULL) - return -EINVAL; + if (drv_state == NULL) + return -EINVAL; - /* configure temperature measurements first*/ - /*Prepare a configuration word for TMP_CFG register*/ - config = (u8) temp_src; + /* configure temperature measurements first*/ + /*Prepare a configuration word for TMP_CFG register*/ + config = (u8) temp_src; - /*First Set the TMP_RATE[2:0] -> 6:4 */ - config |= ((u8)mr_temp); + /*First Set the TMP_RATE[2:0] -> 6:4 */ + config |= ((u8)mr_temp); - /*Set the TMP_PRC[3:0] -> 2:0 */ - config |= ((u8)osr_temp); + /*Set the TMP_PRC[3:0] -> 2:0 */ + config |= ((u8)osr_temp); - ret = drv_state->io->write_byte(IFX_DPS310_TMP_CFG_REG_ADDR, - config); - if (ret < 0) - return -EIO; + ret = drv_state->io->write_byte(IFX_DPS310_TMP_CFG_REG_ADDR, + config); + if (ret < 0) + return -EIO; - /*Prepare a configuration word for PRS_CFG register*/ - /*First Set the PM_RATE[2:0] -> 6:4 */ - config = (u8) ( 0x00 ) | ((u8)mr_press); + /*Prepare a configuration word for PRS_CFG register*/ + /*First Set the PM_RATE[2:0] -> 6:4 */ + config = (u8) ( 0x00 ) | ((u8)mr_press); - /*Set the PM_PRC[3:0] -> 3:0 */ - config |= ((u8)osr_press); + /*Set the PM_PRC[3:0] -> 3:0 */ + config |= ((u8)osr_press); - ret = drv_state->io->write_byte(IFX_DPS310_PRS_CFG_REG_ADDR, - config); - if (ret < 0) - return -EIO; + ret = drv_state->io->write_byte(IFX_DPS310_PRS_CFG_REG_ADDR, + config); + if (ret < 0) + return -EIO; - /* always take configuration word from state*/ - config = drv_state->cfg_word; + /* always take configuration word from state*/ + config = drv_state->cfg_word; - /*If oversampling rate for temperature is greater than 8 times, then set TMP_SHIFT bit in CFG_REG */ - if ((u8)osr_temp > (u8) OSR_8){ - config |= (u8) IFX_DPS310_CFG_TMP_SHIFT_EN_SET_VAL; - } + /*If oversampling rate for temperature is greater than 8 times, then set TMP_SHIFT bit in CFG_REG */ + if ((u8)osr_temp > (u8) OSR_8) { + config |= (u8) IFX_DPS310_CFG_TMP_SHIFT_EN_SET_VAL; + } - /*If oversampling rate for pressure is greater than 8 times, then set P_SHIFT bit in CFG_REG */ - if ((u8)osr_press > (u8) OSR_8){ - config |= (u8) IFX_DPS310_CFG_PRS_SHIFT_EN_SET_VAL; - } + /*If oversampling rate for pressure is greater than 8 times, then set P_SHIFT bit in CFG_REG */ + if ((u8)osr_press > (u8) OSR_8) { + config |= (u8) IFX_DPS310_CFG_PRS_SHIFT_EN_SET_VAL; + } - /* write CFG_REG */ - ret = drv_state->io->write_byte(IFX_DPS310_CFG_REG_ADDR, - config); - if (ret < 0) - return -EIO; + /* write CFG_REG */ + ret = drv_state->io->write_byte(IFX_DPS310_CFG_REG_ADDR, + config); + if (ret < 0) + return -EIO; - /*Update state accordingly with proper scaling factors based on oversampling rates*/ - drv_state->tmp_osr_scale_coeff = dps310_get_scaling_coef(osr_temp); + /*Update state accordingly with proper scaling factors based on oversampling rates*/ + drv_state->tmp_osr_scale_coeff = dps310_get_scaling_coef(osr_temp); - drv_state->prs_osr_scale_coeff = dps310_get_scaling_coef(osr_press); + drv_state->prs_osr_scale_coeff = dps310_get_scaling_coef(osr_press); - drv_state->press_mr = mr_press; + drv_state->press_mr = mr_press; - drv_state->temp_mr = mr_temp; + drv_state->temp_mr = mr_temp; - drv_state->temp_osr = osr_temp; + drv_state->temp_osr = osr_temp; - drv_state->press_osr = osr_press; + drv_state->press_osr = osr_press; - drv_state->tmp_ext = temp_src; + drv_state->tmp_ext = temp_src; - return 0; + return 0; } int dps310_get_processed_data (struct dps310_state *drv_state, - f64 *pressure, - f64 *temperature) + f64 *pressure, + f64 *temperature) { - s32 ret; - u8 read_buffer[IFX_DPS310_PSR_TMP_READ_LEN] = {0}; - f64 press_raw; - f64 temp_raw; + s32 ret; + u8 read_buffer[IFX_DPS310_PSR_TMP_READ_LEN] = {0}; + f64 press_raw; + f64 temp_raw; - f64 temp_scaled; - f64 temp_final; - f64 press_scaled; - f64 press_final; + f64 temp_scaled; + f64 temp_final; + f64 press_scaled; + f64 press_final; - if (drv_state == NULL) - return -EINVAL; + if (drv_state == NULL) + return -EINVAL; - ret = test_read_block(IFX_DPS310_PSR_TMP_READ_REG_ADDR, - IFX_DPS310_PSR_TMP_READ_LEN, - read_buffer); + ret = test_read_block(IFX_DPS310_PSR_TMP_READ_REG_ADDR, + IFX_DPS310_PSR_TMP_READ_LEN, + read_buffer); - if (ret < IFX_DPS310_PSR_TMP_READ_LEN) - return -EINVAL; + if (ret < IFX_DPS310_PSR_TMP_READ_LEN) + return -EINVAL; - press_raw = (read_buffer[2]) + (read_buffer[1]<<8) + (read_buffer[0] <<16); - temp_raw = (read_buffer[5]) + (read_buffer[4]<<8) + (read_buffer[3] <<16); + press_raw = (read_buffer[2]) + (read_buffer[1]<<8) + (read_buffer[0] <<16); + temp_raw = (read_buffer[5]) + (read_buffer[4]<<8) + (read_buffer[3] <<16); - if(temp_raw > POW_2_23_MINUS_1){ - temp_raw = temp_raw - POW_2_24; - } + if(temp_raw > POW_2_23_MINUS_1) { + temp_raw = temp_raw - POW_2_24; + } - if(press_raw > POW_2_23_MINUS_1){ - press_raw = press_raw - POW_2_24; - } + if(press_raw > POW_2_23_MINUS_1) { + press_raw = press_raw - POW_2_24; + } - temp_scaled = (double)temp_raw / (double) (drv_state->tmp_osr_scale_coeff); + temp_scaled = (double)temp_raw / (double) (drv_state->tmp_osr_scale_coeff); - temp_final = (drv_state->calib_coeffs.C0 /2.0f) + drv_state->calib_coeffs.C1 * temp_scaled ; + temp_final = (drv_state->calib_coeffs.C0 /2.0f) + drv_state->calib_coeffs.C1 * temp_scaled ; - press_scaled = (double) press_raw / drv_state->prs_osr_scale_coeff; + press_scaled = (double) press_raw / drv_state->prs_osr_scale_coeff; - press_final = drv_state->calib_coeffs.C00 + - press_scaled * ( drv_state->calib_coeffs.C10 + press_scaled * - ( drv_state->calib_coeffs.C20 + press_scaled * drv_state->calib_coeffs.C30 ) ) + - temp_scaled * drv_state->calib_coeffs.C01 + - temp_scaled * press_scaled * ( drv_state->calib_coeffs.C11 + - press_scaled * drv_state->calib_coeffs.C21 ); + press_final = drv_state->calib_coeffs.C00 + + press_scaled * ( drv_state->calib_coeffs.C10 + press_scaled * + ( drv_state->calib_coeffs.C20 + press_scaled * drv_state->calib_coeffs.C30 ) ) + + temp_scaled * drv_state->calib_coeffs.C01 + + temp_scaled * press_scaled * ( drv_state->calib_coeffs.C11 + + press_scaled * drv_state->calib_coeffs.C21 ); - press_final = press_final * 0.01f; //to convert it into mBar + press_final = press_final * 0.01f; //to convert it into mBar - *temperature = temp_final; - *pressure = press_final; //press_final; + *temperature = temp_final; + *pressure = press_final; //press_final; - return 0; + return 0; } int dps310_init(struct dps310_state *drv_state, dps310_bus_connection *io) { - s32 ret; + s32 ret; - if (!drv_state){ - return -EINVAL; - } + if (!drv_state) { + return -EINVAL; + } - if (!io){ - return -EINVAL; - } + if (!io) { + return -EINVAL; + } - drv_state->cfg_word = 0; - drv_state->enable = 0; - - /*first verify chip by reading product and rev id*/ - ret = io->read_byte(IFX_DPS310_PROD_REV_ID_REG_ADDR); + drv_state->cfg_word = 0; + drv_state->enable = 0; - if (ret < 0){ - ret = -EIO; - goto err_handler_iio; - } + /*first verify chip by reading product and rev id*/ + ret = io->read_byte(IFX_DPS310_PROD_REV_ID_REG_ADDR); - if (ret != IFX_DSPS310_PROD_REV_ID_VAL){ - ret = -EINVAL; - goto err_handler_iio; - } + if (ret < 0) { + ret = -EIO; + goto err_handler_iio; + } - /* attach bus connection instance to state*/ - drv_state->io = io; + if (ret != IFX_DSPS310_PROD_REV_ID_VAL) { + ret = -EINVAL; + goto err_handler_iio; + } - /* from here wait for about 40ms till calibration coefficients become available*/ - if (drv_state->io->delayms != NULL) - drv_state->io->delayms(40); + /* attach bus connection instance to state*/ + drv_state->io = io; - /* read now the calibration coeffs, temperature coef source and store in driver state*/ - ret = dps310_read_calib_coeffs(drv_state); + /* from here wait for about 40ms till calibration coefficients become available*/ + if (drv_state->io->delayms != NULL) + drv_state->io->delayms(40); - if (ret < 0){ - goto err_handler_iio; - } + /* read now the calibration coeffs, temperature coef source and store in driver state*/ + ret = dps310_read_calib_coeffs(drv_state); - /* Now apply ADC Temperature gain settings*/ - /* First write valid signature on 0x0e and 0x0f - * to unlock address 0x62 */ - drv_state->io->write_byte((u8)0x0e,(u8)0xa5); - drv_state->io->write_byte((u8)0x0f,(u8)0x96); - /*Then update high gain value for Temperature*/ - drv_state->io->write_byte((u8)0x62,(u8)0x02); + if (ret < 0) { + goto err_handler_iio; + } - /*Finally lock back the location 0x62*/ - drv_state->io->write_byte((u8)0x0e,(u8)0x00); - drv_state->io->write_byte((u8)0x0f,(u8)0x00); + /* Now apply ADC Temperature gain settings*/ + /* First write valid signature on 0x0e and 0x0f + * to unlock address 0x62 */ + drv_state->io->write_byte((u8)0x0e,(u8)0xa5); + drv_state->io->write_byte((u8)0x0f,(u8)0x96); + /*Then update high gain value for Temperature*/ + drv_state->io->write_byte((u8)0x62,(u8)0x02); + + /*Finally lock back the location 0x62*/ + drv_state->io->write_byte((u8)0x0e,(u8)0x00); + drv_state->io->write_byte((u8)0x0f,(u8)0x00); - /* configure sensor for default ODR settings*/ - ret = dps310_config(drv_state, - IFX_DPS310_TEMPERATURE_OSR, - IFX_DPS310_TEMPERATURE_MR, - IFX_DPS310_PRESSURE_OSR, - IFX_DPS310_PRESSURE_MR, - drv_state->tmp_ext); - if (ret < 0){ - goto err_handler_iio; - } + /* configure sensor for default ODR settings*/ + ret = dps310_config(drv_state, + IFX_DPS310_TEMPERATURE_OSR, + IFX_DPS310_TEMPERATURE_MR, + IFX_DPS310_PRESSURE_OSR, + IFX_DPS310_PRESSURE_MR, + drv_state->tmp_ext); + if (ret < 0) { + goto err_handler_iio; + } - /* activate sensor*/ - ret = dps310_resume(drv_state); - if (ret < 0){ - goto err_handler_iio; - } + /* activate sensor*/ + ret = dps310_resume(drv_state); + if (ret < 0) { + goto err_handler_iio; + } - return 0; + return 0; err_handler_iio: - return ret; + return ret; } diff --git a/keil/include/drivers/dps368_test.c b/keil/include/drivers/dps368_test.c index 0da93c7..27f0286 100644 --- a/keil/include/drivers/dps368_test.c +++ b/keil/include/drivers/dps368_test.c @@ -12,7 +12,7 @@ #include "lis3dh_driver.h" /*bus communication protocol stubs * Please wrap around platform specific implementation -* for low level bus handling (I2C or SPI), that matches +* for low level bus handling (I2C or SPI), that matches * prototypes provided by dps310_bus_connection structure * in dps310.h */ @@ -20,50 +20,50 @@ /* Should return -1 in case of failure otherwise valid contents*/ s16 test_read_byte(u8 ReadAddr) { - - uint8_t temp=0; - IIC2_Start(); - IIC2_Send_Byte(0xee); //发送写命令 - IIC2_Wait_Ack(); - IIC2_Send_Byte(ReadAddr); //发送读地址 - IIC2_Wait_Ack(); - IIC2_Start(); - IIC2_Send_Byte(0xef); //发送读命令,进入接收模式 - IIC2_Wait_Ack(); - temp=IIC2_Read_Byte(0); - IIC2_Stop(); //产生一个停止条件 - return temp; + + uint8_t temp=0; + IIC2_Start(); + IIC2_Send_Byte(0xee); //发送写命令 + IIC2_Wait_Ack(); + IIC2_Send_Byte(ReadAddr); //发送读地址 + IIC2_Wait_Ack(); + IIC2_Start(); + IIC2_Send_Byte(0xef); //发送读命令,进入接收模式 + IIC2_Wait_Ack(); + temp=IIC2_Read_Byte(0); + IIC2_Stop(); //产生一个停止条件 + return temp; } -/* Should return -1 or negative value in case of failure otherwise length of +/* Should return -1 or negative value in case of failure otherwise length of * read contents in read_buffer * and shall place read contents in read_buffer */ s16 test_read_block(u8 ReadAddr, u8 Len, u8 *read_buffer) { - uint8_t t; - uint32_t temp=0; - for(t=0;t<Len;t++) - { - *read_buffer=test_read_byte(ReadAddr+t); - read_buffer++; - } - //return temp; + uint8_t t; + uint32_t temp=0; + for(t=0; t<Len; t++) + { + *read_buffer=test_read_byte(ReadAddr+t); + read_buffer++; + } + //return temp; return Len; } /* Should return -1 in case of failure otherwise non negative number*/ s16 test_write_byte(u8 WriteAddr, u8 DataToWrite) { - IIC2_Start(); - IIC2_Send_Byte(0xee); //发送写命令 - IIC2_Wait_Ack(); - IIC2_Send_Byte(WriteAddr); //发送地址 - IIC2_Wait_Ack(); - IIC2_Send_Byte(DataToWrite); //发送字节 - IIC2_Wait_Ack(); - IIC2_Stop();//产生一个停止条件 - delay_us(10); + IIC2_Start(); + IIC2_Send_Byte(0xee); //发送写命令 + IIC2_Wait_Ack(); + IIC2_Send_Byte(WriteAddr); //发送地址 + IIC2_Wait_Ack(); + IIC2_Send_Byte(DataToWrite); //发送字节 + IIC2_Wait_Ack(); + IIC2_Stop();//产生一个停止条件 + delay_us(10); } /* Shall implement delay in milliseconds*/ @@ -72,50 +72,50 @@ // printf("Waiting for %dms\n",delay); } struct dps310_state drv_state; -f64 pressure,temperature; +f64 pressure,temperature; int BarInit(void) { /*Instantiate driver state*/ - + /*Instantiate bus connection callback holder*/ dps310_bus_connection cnn; - - /* Assign/register platform specific bus handlers*/ + + /* Assign/register platform specific bus handlers*/ cnn.read_byte=&test_read_byte; cnn.read_block=&test_read_block; cnn.write_byte=&test_write_byte; - /*If platform doesn't support delay or sleep - *please assign NULL to this callback i.e cnn.delayms = NULL - */ + /*If platform doesn't support delay or sleep + *please assign NULL to this callback i.e cnn.delayms = NULL + */ cnn.delayms = &test_wait_ms; /*First call _init - * this function verifies chip with appropriate id and - * reads and stores calibration data, configures the sensor + * this function verifies chip with appropriate id and + * reads and stores calibration data, configures the sensor * to meet default configuration set in dps310.h. * This also puts the sensor in background mode - * making it measure both pressure and temperature continuously + * making it measure both pressure and temperature continuously */ int ret = dps310_init(&drv_state,&cnn); - // printf("init ret val = %d\n",ret); +// printf("init ret val = %d\n",ret); /* once sensor is put into background mode * pressure and temperature values are available and can be read * Here get_processed_data synchrounuously reads 6 bytes of raw data * and returns computed double precision pressure and temperature value - */ + */ ret = dps310_get_processed_data(&drv_state,&pressure,&temperature); GetPressAndHeight(); - + // printf("get_processed_data ret val = %d, pressure = %lf, temp = %lf\n",ret,pressure,temperature); - /*To change configuration we first need to put sensor in - *idle mode by calling _standby - */ + /*To change configuration we first need to put sensor in + *idle mode by calling _standby + */ // ret = dps310_standby(&drv_state); // printf("standby ret val = %d\n",ret); @@ -132,27 +132,27 @@ // drv_state.tmp_ext); // printf("config ret val = %d\n",ret); -// +// // /*Resume the sensor in background mode again*/ // ret = dps310_resume(&drv_state); // printf("resume ret val = %d\n",ret); - + return 0; } float Height; float GetPressAndHeight(void) -{ u8 ret; - - +{ u8 ret; + + /*Instantiate driver state*/ - - ret = dps310_get_processed_data(&drv_state,&pressure,&temperature); - + + ret = dps310_get_processed_data(&drv_state,&pressure,&temperature); + Height = 44330 * (1.0 - pow((pressure / 1013.25), (1 / 5.255))); if(pressure==0) - Height = 0; - return Height; - //height=PressToHeight(pressure,temperature); - // printf("get_processed_data ret val = %d, pressure = %lf, temp = %lf\n",ret,pressure,temperature); - } \ No newline at end of file + Height = 0; + return Height; + //height=PressToHeight(pressure,temperature); + // printf("get_processed_data ret val = %d, pressure = %lf, temp = %lf\n",ret,pressure,temperature); +} \ No newline at end of file diff --git a/keil/include/drivers/global_param.c b/keil/include/drivers/global_param.c index 044ea70..a89e692 100644 --- a/keil/include/drivers/global_param.c +++ b/keil/include/drivers/global_param.c @@ -90,13 +90,13 @@ g_com_map[TCP_IP_0]=0x111; g_com_map[TCP_IP_0]=0x198; - g_com_map[TCP_IP_0]=0x60; + g_com_map[TCP_IP_0]=0x60; g_com_map[TCP_IP_0]=0x6; g_com_map[TCP_IP_0]=1234; - + // g_com_map[OTA_FLAG]=0; - g_com_map[URT_BQ]=0; - + g_com_map[URT_BQ]=0; + preinstall_gpsbaudrate=115200; g_com_map[GPSBAUDRATE1_INDEX] = preinstall_gpsbaudrate>>16; g_com_map[GPSBAUDRATE2_INDEX] = preinstall_gpsbaudrate; @@ -135,24 +135,24 @@ g_com_map[CNT_UPDATE]=0; g_com_map[MODBUS_MODE]=0; g_com_map[ACTIVE_INDEX]=0; - + g_com_map[IP_0]=39; g_com_map[IP_1]=106; g_com_map[IP_2]=210; g_com_map[IP_3]=13; g_com_map[PORT]=7000; - + g_com_map[TCP_IP_0]=121; g_com_map[TCP_IP_1]=33; g_com_map[TCP_IP_2]=226; g_com_map[TCP_IP_3]=42; g_com_map[TCP_PORT]=9039; - + g_com_map[GPSENBLE]=1; g_com_map[UWBENBLE]=1; g_com_map[GPSFrequency]=1; g_com_map[UWBFrequency]=1; - + g_com_map[HEIGHTOFFEST_INDEX]=0; g_com_map[GPS_HZ]=1; // g_com_map[STATIONARY_TIME] = 10; diff --git a/keil/include/drivers/lis3dh_driver.c b/keil/include/drivers/lis3dh_driver.c index e01b3b8..089330b 100644 --- a/keil/include/drivers/lis3dh_driver.c +++ b/keil/include/drivers/lis3dh_driver.c @@ -168,14 +168,68 @@ static void delay_us(uint32_t nTimer) { uint32_t i=0; - for(i=0;i<nTimer;i++){ + for(i=0; i<nTimer; i++) { __NOP(); - __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP(); - __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP(); - __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP(); - __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP(); - __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP(); - __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); } @@ -200,7 +254,7 @@ io_pin_mux_set(SCL_PIN, IO_FUNC0); gpio_pin_set_dir(SDA_PIN , GPIO_DIR_OUT, 1); - //io_open_drain_set(SDA_PIN, 1); + //io_open_drain_set(SDA_PIN, 1); io_pull_set(SDA_PIN , IO_PULL_UP, IO_PULL_UP_LEVEL2);//输出高阻态 gpio_pin_set_dir(SCL_PIN , GPIO_DIR_OUT, 1); @@ -225,26 +279,26 @@ // { // g_com_map[IMU_ENABLE]=0; // } - lisid = mir3da_ReadOneByte(REG_CHIP_ID); - - if(lisid == 0x13) - { - mir3da_init(); - } - else - { - LIS3DH_GetWHO_AM_I(&lisidtemp); - lisid=(uint16_t)lisidtemp; - - if(lisid == 0x33) - { - LIS3DH_Data_Init(); - } - else - { - g_com_map[IMU_ENABLE]=0; - } - } + lisid = mir3da_ReadOneByte(REG_CHIP_ID); + + if(lisid == 0x13) + { + mir3da_init(); + } + else + { + LIS3DH_GetWHO_AM_I(&lisidtemp); + lisid=(uint16_t)lisidtemp; + + if(lisid == 0x33) + { + LIS3DH_Data_Init(); + } + else + { + g_com_map[IMU_ENABLE]=0; + } + } } void mir3da_init() @@ -507,36 +561,36 @@ void IIC2_SDA_OUT() { -gpio_pin_set_dir(SDA_PIN , GPIO_DIR_OUT, 1); + gpio_pin_set_dir(SDA_PIN , GPIO_DIR_OUT, 1); } void IIC2_SDA_IN() { -gpio_pin_set_dir(SDA_PIN,GPIO_DIR_IN,1); //SDA设置为输入等待接收端的应答信号 + gpio_pin_set_dir(SDA_PIN,GPIO_DIR_IN,1); //SDA设置为输入等待接收端的应答信号 } //产生IIC起始信号 void IIC2_Start(void) { - IIC2_SDA_OUT(); //sda线输出 - SDA_1; -// delay_us(10); - SCL_1; + IIC2_SDA_OUT(); //sda线输出 + SDA_1; // delay_us(10); - SDA_0;//START:when CLK is high,DATA change form high to low - delay_us(10); - SCL_0;//钳住I2C总线,准备发送或接收数据 -} + SCL_1; +// delay_us(10); + SDA_0;//START:when CLK is high,DATA change form high to low + delay_us(10); + SCL_0;//钳住I2C总线,准备发送或接收数据 +} //产生IIC停止信号 void IIC2_Stop(void) { - IIC2_SDA_OUT();//sda线输出 - SCL_0; + IIC2_SDA_OUT();//sda线输出 + SCL_0; // delay_us(10); - SDA_0;//STOP:when CLK is high DATA change form low to high - delay_us(10); - SCL_1; + SDA_0;//STOP:when CLK is high DATA change form low to high + delay_us(10); + SCL_1; // delay_us(10); - SDA_1;//发送I2C总线结束信号 - delay_us(10); + SDA_1;//发送I2C总线结束信号 + delay_us(10); } @@ -545,95 +599,95 @@ // 0,接收应答成功 uint8_t IIC2_Wait_Ack(void) { - uint8_t ucErrTime=0; -IIC2_SDA_IN(); - SDA_1; - delay_us(15); - SCL_1; - delay_us(15); + uint8_t ucErrTime=0; + IIC2_SDA_IN(); + SDA_1; + delay_us(15); + SCL_1; + delay_us(15); - while(IIC2_READ_SDA) - { - ucErrTime++; - if(ucErrTime>250) - { - IIC2_Stop(); - return 1; - } - } - SCL_0;//时钟输出0 - return 0; -} + while(IIC2_READ_SDA) + { + ucErrTime++; + if(ucErrTime>250) + { + IIC2_Stop(); + return 1; + } + } + SCL_0;//时钟输出0 + return 0; +} //产生ACK应答 void IIC2_Ack(void) { - SCL_0; - IIC2_SDA_OUT(); - SDA_0; - delay_us(10); - SCL_1; - delay_us(10); - SCL_0; + SCL_0; + IIC2_SDA_OUT(); + SDA_0; + delay_us(10); + SCL_1; + delay_us(10); + SCL_0; } -//不产生ACK应答 +//不产生ACK应答 void IIC2_NAck(void) { - SCL_0; - IIC2_SDA_OUT(); - SDA_1; - delay_us(10); - SCL_1; - delay_us(10); - SCL_0; + SCL_0; + IIC2_SDA_OUT(); + SDA_1; + delay_us(10); + SCL_1; + delay_us(10); + SCL_0; } //IIC发送一个字节,WRITE //返回从机有无应答 //1,有应答 -//0,无应答 +//0,无应答 void IIC2_Send_Byte(uint8_t txd) -{ - uint8_t t; - IIC2_SDA_OUT(); - SCL_0;//拉低时钟开始数据传输 - for(t=0;t<8;t++) - { - if((txd&0x80)>>7) - { - SDA_1; - } - else - { - SDA_0; - } - txd <<= 1; - delay_us(10); - SCL_1; - delay_us(10); - SCL_0; - delay_us(10); - } -} +{ + uint8_t t; + IIC2_SDA_OUT(); + SCL_0;//拉低时钟开始数据传输 + for(t=0; t<8; t++) + { + if((txd&0x80)>>7) + { + SDA_1; + } + else + { + SDA_0; + } + txd <<= 1; + delay_us(10); + SCL_1; + delay_us(10); + SCL_0; + delay_us(10); + } +} -//读1个字节,ack=1时,发送ACK,ack=0,发送nACK +//读1个字节,ack=1时,发送ACK,ack=0,发送nACK uint8_t IIC2_Read_Byte(unsigned char ack) { - unsigned char i,receive=0; - IIC2_SDA_IN();//SDA设置为输入 - for(i=0;i<8;i++ ) - { - SCL_0; - delay_us(10); - SCL_1; - receive<<=1; - if(IIC2_READ_SDA)receive++; - delay_us(5); - } + unsigned char i,receive=0; + IIC2_SDA_IN();//SDA设置为输入 + for(i=0; i<8; i++ ) + { + SCL_0; + delay_us(10); + SCL_1; + receive<<=1; + if(IIC2_READ_SDA)receive++; + delay_us(5); + } if (!ack) IIC2_NAck();//发送nACK else - IIC2_Ack(); //发送ACK + IIC2_Ack(); //发送ACK return receive; } diff --git a/keil/include/drivers/mk_misc.c b/keil/include/drivers/mk_misc.c index 99604ab..8b4a272 100644 --- a/keil/include/drivers/mk_misc.c +++ b/keil/include/drivers/mk_misc.c @@ -389,24 +389,81 @@ // reboot reset_module(RESET_MODULE_REBOOT); } -void delay_US(uint32_t nTimer) -{ - uint32_t i=0; - for(i=0;i<nTimer;i++){ - __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP(); - __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP(); - __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP(); - __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP(); - __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP(); - __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP(); - __NOP();__NOP();__NOP();__NOP(); - } +void delay_US(uint32_t nTimer) +{ + uint32_t i=0; + for(i=0; i<nTimer; i++) { + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + __NOP(); + } } -void delay_ms(uint32_t nTimer) -{ - uint32_t i=1000*nTimer; - delay_US(i); -} +void delay_ms(uint32_t nTimer) +{ + uint32_t i=1000*nTimer; + delay_US(i); +} void delay_us(uint32_t cnt) { #define SYSTEM_CLOCK_MHZ 62.4 @@ -450,18 +507,18 @@ __asm volatile(".syntax divided\n"); #endif } -//void delay_us(uint32_t nTimer) -//{ -// uint32_t i=0; -// for(i=0;i<nTimer;i++){ +//void delay_us(uint32_t nTimer) +//{ +// uint32_t i=0; +// for(i=0;i<nTimer;i++){ // __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP(); // __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP(); -// __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP(); +// __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP(); // __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP(); // __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP(); -// __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP(); -// __NOP();__NOP();__NOP();__NOP(); -// } +// __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP(); +// __NOP();__NOP();__NOP();__NOP(); +// } //} uint8_t count_bits(uint32_t value) { diff --git a/keil/include/drivers/mk_trace.c b/keil/include/drivers/mk_trace.c index 19f5965..d40da8d 100644 --- a/keil/include/drivers/mk_trace.c +++ b/keil/include/drivers/mk_trace.c @@ -1465,7 +1465,7 @@ uint32_t lock = int_lock(); - while (trace_handle.wptr != trace_handle.rptr) + while (trace_handle.wptr != trace_handle.rptr) { if (trace_handle.wptr > trace_handle.rptr) { diff --git a/keil/include/drivers/serial_at_cmd_app.c b/keil/include/drivers/serial_at_cmd_app.c index a878b6b..5a45325 100644 --- a/keil/include/drivers/serial_at_cmd_app.c +++ b/keil/include/drivers/serial_at_cmd_app.c @@ -20,8 +20,8 @@ uint8_t mUsartReceivePack[100] = {0}; uint8_t mUsart2ReceivePack[150] = {0}; -uint8_t GPS_GGAmessage[150]={0}; -uint8_t GPS_GSVmessage[150]={0}; +uint8_t GPS_GGAmessage[150]= {0}; +uint8_t GPS_GSVmessage[150]= {0}; double jd,wd; int analysis_num,pos_state; uint8_t state5V_prase_flag=1,gps_prase_flag=1; @@ -170,12 +170,12 @@ switch(pack_cmd) { case CMD_WRITE: - if(pack_index==MODBUS_MODE*2) - { - Uart1GpsRecDebugSend(); - g_com_map[MODBUS_MODE] = 1; - return; - } + if(pack_index==MODBUS_MODE*2) + { + Uart1GpsRecDebugSend(); + g_com_map[MODBUS_MODE] = 1; + return; + } //从mUsartReceivePack中读取pack_length长度的字节,放到全局变量中,赋值保存的参数并且存入flash memcpy((uint8_t*)&g_com_map + pack_index, mUsartReceivePack, pack_datalen); if(mUsartReceivePack[0]==1) @@ -234,7 +234,7 @@ shell_receive_state = 2; uart_send(UART_ID1, data,1, NULL); } else if ((shell_receive_state == 2) && (data == 0x03)) { - DBG_SetMode(DBG_MODE_SHELL); + DBG_SetMode(DBG_MODE_SHELL); uart_send(UART_ID1, data,1, NULL); shell_receive_state=0; } @@ -256,7 +256,7 @@ // NTRIPApp_ReportGGA(l_u8GPSBuff, l_u8GPSLen); // l_u8GPSLen = 0; // } - + // l_u8GPSRecvTick = HIDO_TimerGetTick(); // //接收数据开始分析 // mUsart2ReceivePack[index] = data; //char数组传进来参数data @@ -266,12 +266,12 @@ // if( mUsart2ReceivePack_before == 0x0D && mUsart2ReceivePack_now==0x0A )//接收数据到“0x0D 0x0A”结束 // { // //解析该条GPS报文 -// +// // analysis_num=sscanf((char*)mUsart2ReceivePack,"$%[^,],%*[^,],%[^,],%*[^,],%[^,],%*[^,],%[^,],%*[^,],%*[^,],%*[^,],%*[^,],%*[^,],%*[^,],%*[^,],%*s",gps_header,wdrecv.m_pData,jdrecv.m_pData,Posstate.m_pData); // if(!memcmp(gps_header,"GNGGA",5)) -// { +// { // memcpy(GPS_GGAmessage,mUsart2ReceivePack,strlen(mUsart2ReceivePack)-2); -// +// // wd=strtod(wdrecv.m_pData,NULL); // jd=strtod(jdrecv.m_pData,NULL); // if(wd!=0) @@ -280,14 +280,14 @@ // { // pos_state=0;//防止多次进入 // } -// +// // } //// if(!memcmp(gps_header,"GBGSV",5)) //// {memcpy(GPS_GSVmessage,mUsart2ReceivePack,strlen(mUsart2ReceivePack)-2); //// GPS_ParseGSV(GPS_GSVmessage,strlen(GPS_GSVmessage)); -//// +//// //// } -// +// // memset(mUsart2ReceivePack,0,sizeof(mUsart2ReceivePack)); // memset(wdrecv.m_pData,0,sizeof(wdrecv.m_pData)); // memset(jdrecv.m_pData,0,sizeof(jdrecv.m_pData)); diff --git a/keil/include/src/GPS.c b/keil/include/src/GPS.c index f57d7f3..639c630 100644 --- a/keil/include/src/GPS.c +++ b/keil/include/src/GPS.c @@ -59,54 +59,54 @@ _pstGPS->m_u8Day++; switch (_pstGPS->m_u8Mon) { - case 1: - case 3: - case 5: - case 7: - case 8: - case 10: - if (_pstGPS->m_u8Day > 31) + case 1: + case 3: + case 5: + case 7: + case 8: + case 10: + if (_pstGPS->m_u8Day > 31) + { + _pstGPS->m_u8Day = 1; + _pstGPS->m_u8Mon++; + } + break; + case 2: + if (0 == (_pstGPS->m_u16Year % 4)) + { + if (_pstGPS->m_u8Day > 29) { _pstGPS->m_u8Day = 1; _pstGPS->m_u8Mon++; } - break; - case 2: - if (0 == (_pstGPS->m_u16Year % 4)) - { - if (_pstGPS->m_u8Day > 29) - { - _pstGPS->m_u8Day = 1; - _pstGPS->m_u8Mon++; - } - } - else - { - if (_pstGPS->m_u8Day > 28) - { - _pstGPS->m_u8Day = 1; - _pstGPS->m_u8Mon++; - } - } - break; - case 4: - case 6: - case 9: - case 11: - if (_pstGPS->m_u8Day > 30) + } + else + { + if (_pstGPS->m_u8Day > 28) { _pstGPS->m_u8Day = 1; _pstGPS->m_u8Mon++; } - break; - case 12: - if (_pstGPS->m_u8Day > 31) - { - _pstGPS->m_u8Day = 1; - _pstGPS->m_u8Mon = 1; - _pstGPS->m_u16Year++; - } - break; + } + break; + case 4: + case 6: + case 9: + case 11: + if (_pstGPS->m_u8Day > 30) + { + _pstGPS->m_u8Day = 1; + _pstGPS->m_u8Mon++; + } + break; + case 12: + if (_pstGPS->m_u8Day > 31) + { + _pstGPS->m_u8Day = 1; + _pstGPS->m_u8Mon = 1; + _pstGPS->m_u16Year++; + } + break; } } } @@ -545,7 +545,7 @@ } if (HIDO_UtilParseFormat((HIDO_UINT8 *) _pcData, _u32Len, "$%*,%p,%p,%p,%p,%p,%p,%p,%p,%p,%*,%*,%**", &stTimeData, &stStateData, - &stLatData, &stLatSignData, &stLonData, &stLonSignData, &stSpeedData, &stDirData, &stDateData) != 13) + &stLatData, &stLatSignData, &stLonData, &stLonSignData, &stSpeedData, &stDirData, &stDateData) != 13) { return HIDO_ERR; } @@ -556,7 +556,7 @@ } if (_pstGPS->m_eState != GPS_STATE_VALID) - { + { return HIDO_OK; } @@ -621,120 +621,120 @@ { switch (l_stGPSRecv.m_eState) { - case GPS_RECV_STATE_IDLE: + case GPS_RECV_STATE_IDLE: + { + if ('$' == _u8RecvChar) { - if ('$' == _u8RecvChar) - { - l_stGPSRecv.m_eState = GPS_RECV_STATE_CR; - l_stGPSRecv.m_u32RecvLen = 0; - l_stGPSRecv.m_acRecvBuf[l_stGPSRecv.m_u32RecvLen++] = _u8RecvChar; - } - break; - } - case GPS_RECV_STATE_CR: - { + l_stGPSRecv.m_eState = GPS_RECV_STATE_CR; + l_stGPSRecv.m_u32RecvLen = 0; l_stGPSRecv.m_acRecvBuf[l_stGPSRecv.m_u32RecvLen++] = _u8RecvChar; - - if (l_stGPSRecv.m_u32RecvLen >= (sizeof(l_stGPSRecv.m_acRecvBuf) - 2)) - { - l_stGPSRecv.m_eState = GPS_RECV_STATE_IDLE; - break; - } - - if ('\r' == _u8RecvChar) - { - l_stGPSRecv.m_eState = GPS_RECV_STATE_LF; - } - - break; } - case GPS_RECV_STATE_LF: + break; + } + case GPS_RECV_STATE_CR: + { + l_stGPSRecv.m_acRecvBuf[l_stGPSRecv.m_u32RecvLen++] = _u8RecvChar; + + if (l_stGPSRecv.m_u32RecvLen >= (sizeof(l_stGPSRecv.m_acRecvBuf) - 2)) { - if ('\n' == _u8RecvChar) - { - l_stGPSRecv.m_acRecvBuf[l_stGPSRecv.m_u32RecvLen++] = _u8RecvChar; - l_stGPSRecv.m_acRecvBuf[l_stGPSRecv.m_u32RecvLen] = '\0'; -// l_stGPSRecv.m_acRecvBuf[l_stGPSRecv.m_u32RecvLen - 2] = '\0'; -// UDPClient_UploadGPS(l_stGPSRecv.m_acRecvBuf); - if(strstr(l_stGPSRecv.m_acRecvBuf, "GGA,") != HIDO_NULL) - { - GPS_ParseGGA(l_stGPSRecv.m_acRecvBuf, l_stGPSRecv.m_u32RecvLen); - l_stGPSRecv.m_acRecvBuf[l_stGPSRecv.m_u32RecvLen - 2] = '\0'; -// #ifdef UWB_CG - if(g_com_map[GPSENBLE]==0) - { -// UDPClient_UploadGPS(l_stGPSRecv.m_acRecvBuf); - } - else if(g_com_map[GPSENBLE]&&g_com_map[GPSFrequency]==1) - { - if (l_u8PosState >= 1) - { - UDPClient_UploadGPS(l_stGPSRecv.m_acRecvBuf); // - } - else if (l_u8PosState == 0) - { - if (++GPS_UPload_sleep_flag >= 60) - { - UDPClient_UploadGPS(l_stGPSRecv.m_acRecvBuf); - GPS_UPload_sleep_flag = 0; - } - } - } - else if(g_com_map[GPSENBLE]) - { - if (l_u8PosState >= 1) - { - if (++GPS_UPLOAD_FLAG >= g_com_map[GPSFrequency]) - { - UDPClient_UploadGPS(l_stGPSRecv.m_acRecvBuf); - GPS_UPLOAD_FLAG = 0; - } - } - else if (l_u8PosState == 0) - { - if (++GPS_UPload_sleep_flag >= 60) - { - UDPClient_UploadGPS(l_stGPSRecv.m_acRecvBuf); - GPS_UPload_sleep_flag = 0; - } - } - } - switch(l_u8PosState) - { - case 0: - rtkled = RED; - break; - case 1: - rtkled = BLUE; - break; - case 2: - rtkled = BLUE+GREEN; - break; - case 4: - rtkled = GREEN; - break; - case 5: - rtkled = YELLOW; - break; - default: - rtkled = WHITE; - break; - } - } - - else //if(strstr(l_stGPSRecv.m_acRecvBuf, "RMC,") != HIDO_NULL) - { - gpserror++; - } - } - l_stGPSRecv.m_eState = GPS_RECV_STATE_IDLE; break; } - default: + + if ('\r' == _u8RecvChar) { - break; + l_stGPSRecv.m_eState = GPS_RECV_STATE_LF; } + + break; + } + case GPS_RECV_STATE_LF: + { + if ('\n' == _u8RecvChar) + { + l_stGPSRecv.m_acRecvBuf[l_stGPSRecv.m_u32RecvLen++] = _u8RecvChar; + l_stGPSRecv.m_acRecvBuf[l_stGPSRecv.m_u32RecvLen] = '\0'; +// l_stGPSRecv.m_acRecvBuf[l_stGPSRecv.m_u32RecvLen - 2] = '\0'; +// UDPClient_UploadGPS(l_stGPSRecv.m_acRecvBuf); + if(strstr(l_stGPSRecv.m_acRecvBuf, "GGA,") != HIDO_NULL) + { + GPS_ParseGGA(l_stGPSRecv.m_acRecvBuf, l_stGPSRecv.m_u32RecvLen); + l_stGPSRecv.m_acRecvBuf[l_stGPSRecv.m_u32RecvLen - 2] = '\0'; +// #ifdef UWB_CG + if(g_com_map[GPSENBLE]==0) + { +// UDPClient_UploadGPS(l_stGPSRecv.m_acRecvBuf); + } + else if(g_com_map[GPSENBLE]&&g_com_map[GPSFrequency]==1) + { + if (l_u8PosState >= 1) + { + UDPClient_UploadGPS(l_stGPSRecv.m_acRecvBuf); // + } + else if (l_u8PosState == 0) + { + if (++GPS_UPload_sleep_flag >= 60) + { + UDPClient_UploadGPS(l_stGPSRecv.m_acRecvBuf); + GPS_UPload_sleep_flag = 0; + } + } + } + else if(g_com_map[GPSENBLE]) + { + if (l_u8PosState >= 1) + { + if (++GPS_UPLOAD_FLAG >= g_com_map[GPSFrequency]) + { + UDPClient_UploadGPS(l_stGPSRecv.m_acRecvBuf); + GPS_UPLOAD_FLAG = 0; + } + } + else if (l_u8PosState == 0) + { + if (++GPS_UPload_sleep_flag >= 60) + { + UDPClient_UploadGPS(l_stGPSRecv.m_acRecvBuf); + GPS_UPload_sleep_flag = 0; + } + } + } + switch(l_u8PosState) + { + case 0: + rtkled = RED; + break; + case 1: + rtkled = BLUE; + break; + case 2: + rtkled = BLUE+GREEN; + break; + case 4: + rtkled = GREEN; + break; + case 5: + rtkled = YELLOW; + break; + default: + rtkled = WHITE; + break; + } + } + + else //if(strstr(l_stGPSRecv.m_acRecvBuf, "RMC,") != HIDO_NULL) + { + gpserror++; + } + } + + l_stGPSRecv.m_eState = GPS_RECV_STATE_IDLE; + break; + } + default: + { + break; + } } } @@ -823,7 +823,7 @@ while (Uart_GetChar(UART_ID_DBG_GPS, &u8RecvChar) == HIDO_OK) { - GPS_RecvFsm(u8RecvChar); + GPS_RecvFsm(u8RecvChar); } } diff --git a/keil/include/src/NTRIPApp.c b/keil/include/src/NTRIPApp.c index 948483a..2790f73 100644 --- a/keil/include/src/NTRIPApp.c +++ b/keil/include/src/NTRIPApp.c @@ -79,8 +79,8 @@ { uint8_t u32Len,l_au8CmdBuff[200]; HIDO_Debug("4G signal intensity is %u\r\n", _u32SignalIntensity); - u32Len = HIDO_UtilSnprintf((HIDO_CHAR *)l_au8CmdBuff, sizeof(l_au8CmdBuff),"4G signal intensity is %u\r\n", _u32SignalIntensity); - TCPClient_Uploadhex(l_au8CmdBuff,u32Len); + u32Len = HIDO_UtilSnprintf((HIDO_CHAR *)l_au8CmdBuff, sizeof(l_au8CmdBuff),"4G signal intensity is %u\r\n", _u32SignalIntensity); + TCPClient_Uploadhex(l_au8CmdBuff,u32Len); } /******************************************************************************* @@ -110,40 +110,40 @@ { switch(_u32Code) { - case NTRIP_CODE_CONNECT_FAILED: - case NTRIP_CODE_DISCONNECT: + case NTRIP_CODE_CONNECT_FAILED: + case NTRIP_CODE_DISCONNECT: + { + l_u32RetryCnt++; + if(l_u32RetryCnt > CONNECT_RETRY_CNT) { - l_u32RetryCnt++; - if(l_u32RetryCnt > CONNECT_RETRY_CNT) - { - HIDO_TimerStart(l_u32TimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(CONNECT_RETRY_INTERVAL), TimeOutCallback, HIDO_NULL); - } - else - { - ConnectSetup(); - } - - break; + HIDO_TimerStart(l_u32TimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(CONNECT_RETRY_INTERVAL), TimeOutCallback, HIDO_NULL); } - case NTRIP_CODE_RTCM_DATA: + else { - l_u32RetryCnt = 0; - - if(DBG_GetMode() == DBG_MODE_GPS) - { - if(Uart_Send(UART_ID_DBG_GPS, _pu8Data, _u32Len) != HIDO_OK) - { - HIDO_Debug("RTK Data Send Error\r\n"); - } - } - - HIDO_Debug("%uB RTK Data Sent\r\n", _u32Len); - break; + ConnectSetup(); } - default: + + break; + } + case NTRIP_CODE_RTCM_DATA: + { + l_u32RetryCnt = 0; + + if(DBG_GetMode() == DBG_MODE_GPS) { - break; + if(Uart_Send(UART_ID_DBG_GPS, _pu8Data, _u32Len) != HIDO_OK) + { + HIDO_Debug("RTK Data Send Error\r\n"); + } } + + HIDO_Debug("%uB RTK Data Sent\r\n", _u32Len); + break; + } + default: + { + break; + } } return HIDO_OK; @@ -161,8 +161,8 @@ static HIDO_INT32 ConnectSetup(void) { return NTRIPClient_Connect((char *)&g_com_map[NTRIP_HOST_INDEX], g_com_map[NTRIP_PORT_INDEX], - (char *)&g_com_map[NTRIP_USERNANME_INDEX], (char *)&g_com_map[NTRIP_PASSWORD_INDEX], - (char *)&g_com_map[NTRIP_SOURCENAME_INDEX], NTRIPClientCallback, HIDO_NULL); + (char *)&g_com_map[NTRIP_USERNANME_INDEX], (char *)&g_com_map[NTRIP_PASSWORD_INDEX], + (char *)&g_com_map[NTRIP_SOURCENAME_INDEX], NTRIPClientCallback, HIDO_NULL); } /******************************************************************************* @@ -179,16 +179,16 @@ *******************************************************************************/ HIDO_INT32 NTRIPApp_ReportGGA(HIDO_UINT8 *_pu8Data, HIDO_UINT32 _u32Len) { - // HIDO_UINT8 *pcTestData = "$GPGGA,000001,3112.518576,N,12127.901251,E,1,8,1,0,M,-32,M,3,0*4B\r\n"; + // HIDO_UINT8 *pcTestData = "$GPGGA,000001,3112.518576,N,12127.901251,E,1,8,1,0,M,-32,M,3,0*4B\r\n"; return NTRIPClient_ReportGGA(_pu8Data, strlen((HIDO_CHAR*)_pu8Data)); } /******************************************************************************* * Function Name : NTRIPApp_Init - * Description : - * Input : - * Output : - * Return : + * Description : + * Input : + * Output : + * Return : * Author : www.hido-studio.com * Modified Date: : 2022年3月30日 *******************************************************************************/ @@ -198,14 +198,14 @@ { return HIDO_ERR; } - + if(HIDO_TimerCreate(&l_u32CSQTimerID) != HIDO_OK) { return HIDO_ERR; } - + HIDO_TimerStart(l_u32CSQTimerID, HIDO_TIMER_TYPE_LOOP, HIDO_TIMER_TICK_S(10), CSQCallback, HIDO_NULL); - + l_u32RetryCnt = 0; ConnectSetup(); diff --git a/keil/include/src/OTA.c b/keil/include/src/OTA.c index f1e4d1e..bbaf026 100644 --- a/keil/include/src/OTA.c +++ b/keil/include/src/OTA.c @@ -37,7 +37,7 @@ OTA_STATE_HTTP_REQUEST_FILE_LEN, OTA_STATE_HTTP_REQUEST_DATA, OTA_STATE_WAIT_HTTP_RESPONSE, -}E_OTAState; +} E_OTAState; /******************************************************************************* * Local Variable * @@ -139,76 +139,76 @@ { switch (l_eOTAState) { - case OTA_STATE_HTTP_REQUEST_FILE_LEN: + case OTA_STATE_HTTP_REQUEST_FILE_LEN: + { + l_u32OTAFileRecvLen = 0; + l_u32OTAFileSize = _pstResponse->m_u32RangeTotal; + if(0 == l_u32OTAFileSize) { - l_u32OTAFileRecvLen = 0; - l_u32OTAFileSize = _pstResponse->m_u32RangeTotal; - if(0 == l_u32OTAFileSize) - { - LOG_INFO(TRACE_MODULE_APP,"OTAFileSize error\r\n"); - } + LOG_INFO(TRACE_MODULE_APP,"OTAFileSize error\r\n"); + } - LOG_INFO(TRACE_MODULE_APP,"OTAFileSize %u\r\n", l_u32OTAFileSize); + LOG_INFO(TRACE_MODULE_APP,"OTAFileSize %u\r\n", l_u32OTAFileSize); - l_eOTAState = OTA_STATE_HTTP_REQUEST_DATA; - OTA_RequestFileData(l_u32OTAFileRecvLen); - HIDO_TimerStart(l_u32OTATimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(30), OTA_TimerCallBack, HIDO_NULL); + l_eOTAState = OTA_STATE_HTTP_REQUEST_DATA; + OTA_RequestFileData(l_u32OTAFileRecvLen); + HIDO_TimerStart(l_u32OTATimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(30), OTA_TimerCallBack, HIDO_NULL); + break; + } + case OTA_STATE_HTTP_REQUEST_DATA: + { + if(_pstResponse->m_u32RangeBegin != l_u32OTAFileRecvLen) + { break; } - case OTA_STATE_HTTP_REQUEST_DATA: - { - if(_pstResponse->m_u32RangeBegin != l_u32OTAFileRecvLen) - { - break; - } - - /* 写入文件 */ + + /* 写入文件 */ #if 0 - SPIFlash_Write(SPI_FLASH_ID_0, APP_CONFIG_APP_DOWN_LOAD_SPIFLASH_ADDRESS + l_u32OTAFileRecvLen, _pu8Data, _u32Len); + SPIFlash_Write(SPI_FLASH_ID_0, APP_CONFIG_APP_DOWN_LOAD_SPIFLASH_ADDRESS + l_u32OTAFileRecvLen, _pu8Data, _u32Len); #else - flash_write_nbytes(FLASH_ID0, APP2_ADRESS + l_u32OTAFileRecvLen, _pu8Data, _u32Len); + flash_write_nbytes(FLASH_ID0, APP2_ADRESS + l_u32OTAFileRecvLen, _pu8Data, _u32Len); #endif - l_u32OTAFileRecvLen += _u32Len; - LOG_INFO(TRACE_MODULE_APP,"OTAFileDownload %u/%u\r\n", l_u32OTAFileRecvLen, l_u32OTAFileSize); + l_u32OTAFileRecvLen += _u32Len; + LOG_INFO(TRACE_MODULE_APP,"OTAFileDownload %u/%u\r\n", l_u32OTAFileRecvLen, l_u32OTAFileSize); - /* 文件接收完成 */ - if (l_u32OTAFileRecvLen == l_u32OTAFileSize) - { - l_eOTAState = OTA_STATE_IDLE; - HIDO_TimerCancel(l_u32OTATimerID); + /* 文件接收完成 */ + if (l_u32OTAFileRecvLen == l_u32OTAFileSize) + { + l_eOTAState = OTA_STATE_IDLE; + HIDO_TimerCancel(l_u32OTATimerID); - // 执行到这里,已经完成文件的下载,可以执行下一步处理了 + // 执行到这里,已经完成文件的下载,可以执行下一步处理了 //#if 0 // HIDO_UINT16 tmp = 0xBBBB,result; -// SPIFlash_Erase(SPI_FLASH_ID_0, APP_CONFIG_IAPFLAG_MAP,2, SPI_FLASH_SECTOR_ERASE_MODE_4K); -// SPIFlash_Write(SPI_FLASH_ID_0, APP_CONFIG_IAPFLAG_MAP, (HIDO_UINT8*)&tmp, sizeof(tmp)); +// SPIFlash_Erase(SPI_FLASH_ID_0, APP_CONFIG_IAPFLAG_MAP,2, SPI_FLASH_SECTOR_ERASE_MODE_4K); +// SPIFlash_Write(SPI_FLASH_ID_0, APP_CONFIG_IAPFLAG_MAP, (HIDO_UINT8*)&tmp, sizeof(tmp)); //#endif - // HAL_Delay(10); - // Reboot(0); - uint32_t result = 0; - uint16_t tmp = 0xCCCC; - __disable_irq(); - result = flash_open(FLASH_ID0,NULL); - if(!result)//打开成功 - flash_erase(FLASH_ID0,APP_CONFIG_IAPFLAG_SECTOR_ADDR,FLASH_SECTOR_SIZE); - result = flash_write_nbytes(FLASH_ID0,APP_CONFIG_IAPFLAG_MAP,(uint8_t*)&tmp,2); - __enable_irq(); - Serial0PutString("进入升级模式\r\n"); - g_com_map[CNT_UPDATE]=0; - save_com_map_to_flash(); - delay_us(100000); - NVIC_SystemReset(); //软复位回到bootloader - break; - } + // HAL_Delay(10); + // Reboot(0); + uint32_t result = 0; + uint16_t tmp = 0xCCCC; + __disable_irq(); + result = flash_open(FLASH_ID0,NULL); + if(!result)//打开成功 + flash_erase(FLASH_ID0,APP_CONFIG_IAPFLAG_SECTOR_ADDR,FLASH_SECTOR_SIZE); + result = flash_write_nbytes(FLASH_ID0,APP_CONFIG_IAPFLAG_MAP,(uint8_t*)&tmp,2); + __enable_irq(); + Serial0PutString("进入升级模式\r\n"); + g_com_map[CNT_UPDATE]=0; + save_com_map_to_flash(); + delay_us(100000); + NVIC_SystemReset(); //软复位回到bootloader + break; + } - OTA_RequestFileData(l_u32OTAFileRecvLen); - HIDO_TimerStart(l_u32OTATimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(30), OTA_TimerCallBack, HIDO_NULL); - break; - } - default: - { - break; - } + OTA_RequestFileData(l_u32OTAFileRecvLen); + HIDO_TimerStart(l_u32OTATimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(30), OTA_TimerCallBack, HIDO_NULL); + break; + } + default: + { + break; + } } } else @@ -232,20 +232,20 @@ { /* 升级参数有误,取消升级 */ HIDO_UINT16 tmp = 0xFFFF; - + // HIDO_Debug("goto app application\r\n"); - // 执行到这里,说明文件下载失败了,需要进一步处理 + // 执行到这里,说明文件下载失败了,需要进一步处理 #if 0 - SPIFlash_Erase(SPI_FLASH_ID_0, APP_CONFIG_IAPFLAG_MAP, 2, SPI_FLASH_SECTOR_ERASE_MODE_4K); - SPIFlash_Write(SPI_FLASH_ID_0, APP_CONFIG_IAPFLAG_MAP, (HIDO_UINT8*)&tmp, sizeof(tmp)); - SPIFlash_Erase(SPI_FLASH_ID_0, APP_CONFIG_IAP_PARAM_MAP, 256, SPI_FLASH_SECTOR_ERASE_MODE_4K); + SPIFlash_Erase(SPI_FLASH_ID_0, APP_CONFIG_IAPFLAG_MAP, 2, SPI_FLASH_SECTOR_ERASE_MODE_4K); + SPIFlash_Write(SPI_FLASH_ID_0, APP_CONFIG_IAPFLAG_MAP, (HIDO_UINT8*)&tmp, sizeof(tmp)); + SPIFlash_Erase(SPI_FLASH_ID_0, APP_CONFIG_IAP_PARAM_MAP, 256, SPI_FLASH_SECTOR_ERASE_MODE_4K); #endif // g_com_map[OTA_FLAG]=0; // save_com_map_to_flash(); // delay_us(100000); NVIC_SystemReset(); //软复位回到bootloader - + return HIDO_OK; } @@ -264,34 +264,34 @@ switch (l_eOTAState) { - case OTA_STATE_HTTP_REQUEST_FILE_LEN: + case OTA_STATE_HTTP_REQUEST_FILE_LEN: + { + l_u32OTARetryCnt++; + if(l_u32OTARetryCnt >= 3) { - l_u32OTARetryCnt++; - if(l_u32OTARetryCnt >= 3) - { - OTA_Failed(); - } - - OTA_RequestFileLen(); - HIDO_TimerStart(l_u32OTATimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(30), OTA_TimerCallBack, HIDO_NULL); - break; + OTA_Failed(); } - case OTA_STATE_HTTP_REQUEST_DATA: + + OTA_RequestFileLen(); + HIDO_TimerStart(l_u32OTATimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(30), OTA_TimerCallBack, HIDO_NULL); + break; + } + case OTA_STATE_HTTP_REQUEST_DATA: + { + l_u32OTARetryCnt++; + if(l_u32OTARetryCnt >= 3) { - l_u32OTARetryCnt++; - if(l_u32OTARetryCnt >= 3) - { - OTA_Failed(); - } - - OTA_RequestFileData(l_u32OTAFileRecvLen); - HIDO_TimerStart(l_u32OTATimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(30), OTA_TimerCallBack, HIDO_NULL); - break; + OTA_Failed(); } - default: - { - break; - } + + OTA_RequestFileData(l_u32OTAFileRecvLen); + HIDO_TimerStart(l_u32OTATimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_S(30), OTA_TimerCallBack, HIDO_NULL); + break; + } + default: + { + break; + } } } @@ -329,7 +329,7 @@ /* 擦除OTA文件缓存存储空间 */ #if 0 SPIFlash_Erase(SPI_FLASH_ID_0, APP_CONFIG_APP_DOWN_LOAD_SPIFLASH_ADDRESS, - APP_CONFIG_APP_DOWN_LOAD_SPIFLASH_SIZE, SPI_FLASH_SECTOR_ERASE_MODE_64K); + APP_CONFIG_APP_DOWN_LOAD_SPIFLASH_SIZE, SPI_FLASH_SECTOR_ERASE_MODE_64K); #else flash_erase(FLASH_ID0,APP2_ADRESS,APP_SIZE); #endif @@ -377,12 +377,12 @@ { return HIDO_ERR; } - + if(l_eOTAState == OTA_STATE_IDLE) { OTA_SetUp(l_acOTAUrl); } - + return HIDO_OK; } @@ -399,8 +399,8 @@ { l_eOTAState = OTA_STATE_IDLE; HIDO_TimerCreate(&l_u32OTATimerID); - + OTA_SetUp(_pcUrl); - + return HIDO_OK; } diff --git a/keil/include/src/SPIV1.07.c b/keil/include/src/SPIV1.07.c index cbfa055..9f4bb40 100644 --- a/keil/include/src/SPIV1.07.c +++ b/keil/include/src/SPIV1.07.c @@ -314,6 +314,6 @@ gpio_pin_set_dir(SPI_CLK_PIN, GPIO_DIR_OUT, 1); gpio_pin_set_dir(SPI_MOSI_PIN, GPIO_DIR_OUT, 1); gpio_pin_set_dir(SPI_MISO_PIN, GPIO_DIR_IN, 0); - + SPI_CS_H(); } diff --git a/keil/include/src/TCPClient.c b/keil/include/src/TCPClient.c index a72a78b..ac6b27c 100644 --- a/keil/include/src/TCPClient.c +++ b/keil/include/src/TCPClient.c @@ -91,7 +91,7 @@ { HIDO_CHAR *apcSplitStr[12]; HIDO_UINT32 u32SplitCnt = 0; - + HIDO_UINT32 u32Len = 0; // HIDO_Debug("%s\r\n", l_au8CmdBuff); @@ -146,7 +146,7 @@ if(bChange) { save_com_map_to_flash(); - g_com_map[CNT_RESTART] = 1; + g_com_map[CNT_RESTART] = 1; } } } @@ -168,7 +168,7 @@ // uart_send(UART_ID1, (char *)&apcSplitStr[2],strlen(apcSplitStr[3]), NULL); // memcpy(testdata,(HIDO_UINT8*)apcSplitStr[2],strlen(apcSplitStr[2]) + 1); // OTA_Start((HIDO_UINT8*)apcSplitStr[2]); - + // g_com_map[OTA_FLAG]=1; // g_com_map[OTA_URL_CHANGDU]=strlen(apcSplitStr[2]) + 1; // memcpy(g_com_map+OTA_URL_INDEX,(HIDO_UINT8*)apcSplitStr[2],strlen(apcSplitStr[2]) + 1); @@ -178,13 +178,13 @@ uint8_t flag = 0; __disable_irq(); result=flash_open(FLASH_ID0,NULL); - if(!result) + if(!result) { - flash_erase(FLASH_ID0, APP_CONFIG_IAPFLAG_SECTOR_ADDR, FLASH_SECTOR_SIZE);//擦除APPFLAG - flash_write_nbytes(FLASH_ID0, APP_CONFIG_IAPFLAG_MAP, (uint8_t*)&tmp, sizeof(tmp)); - flash_erase(FLASH_ID0, APP_CONFIG_IAP_PARAM_MAP, FLASH_SECTOR_SIZE);//擦除APPFLAG - flash_write_nbytes(FLASH_ID0, APP_CONFIG_IAP_PARAM_MAP, (HIDO_UINT8 *)&flag, 1); - flash_write_nbytes(FLASH_ID0, APP_CONFIG_IAP_PARAM_MAP+1, (HIDO_UINT8*)apcSplitStr[2], strlen(apcSplitStr[2]) + 1); + flash_erase(FLASH_ID0, APP_CONFIG_IAPFLAG_SECTOR_ADDR, FLASH_SECTOR_SIZE);//擦除APPFLAG + flash_write_nbytes(FLASH_ID0, APP_CONFIG_IAPFLAG_MAP, (uint8_t*)&tmp, sizeof(tmp)); + flash_erase(FLASH_ID0, APP_CONFIG_IAP_PARAM_MAP, FLASH_SECTOR_SIZE);//擦除APPFLAG + flash_write_nbytes(FLASH_ID0, APP_CONFIG_IAP_PARAM_MAP, (HIDO_UINT8 *)&flag, 1); + flash_write_nbytes(FLASH_ID0, APP_CONFIG_IAP_PARAM_MAP+1, (HIDO_UINT8*)apcSplitStr[2], strlen(apcSplitStr[2]) + 1); } __enable_irq(); NVIC_SystemReset(); //软复位回到bootloader @@ -211,7 +211,7 @@ else if(STRCMP(_u8Data, "$control,") == 0) { u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); - if(u32SplitCnt < 3) + if(u32SplitCnt < 3) { return HIDO_ERR; } @@ -221,27 +221,27 @@ { if(strcmp(apcSplitStr[2],"beeper")==0) { - + // beepontime = HIDO_UtilStrToInt(apcSplitStr[3]); - + } - - if(strcmp(apcSplitStr[2],"TTS")==0) - { - PCA9555_Set_One_Value_Output(TTS_ENABLE,1); //打开TTS电源 - delay_ms(800); //再短一点,会丢失语音的第一个字,不是不读,而是就像没有下发第一个字 - + + if(strcmp(apcSplitStr[2],"TTS")==0) + { + PCA9555_Set_One_Value_Output(TTS_ENABLE,1); //打开TTS电源 + delay_ms(800); //再短一点,会丢失语音的第一个字,不是不读,而是就像没有下发第一个字 + // TTS_Play((HIDO_UINT8 *)apcSplitStr[3], strlen(apcSplitStr[3])); //服务器语音播报 - - - u32Len = HIDO_UtilSnprintf((HIDO_CHAR *)l_au8CmdBuff, sizeof(l_au8CmdBuff), "$Receivevoice,%X\r\n", - g_com_map[DEV_ID]); - - Socket_Send(l_i32TCPClientID, (HIDO_UINT8 *)l_au8CmdBuff, u32Len); - - - } - + + + u32Len = HIDO_UtilSnprintf((HIDO_CHAR *)l_au8CmdBuff, sizeof(l_au8CmdBuff), "$Receivevoice,%X\r\n", + g_com_map[DEV_ID]); + + Socket_Send(l_i32TCPClientID, (HIDO_UINT8 *)l_au8CmdBuff, u32Len); + + + } + } } else if(STRCMP(_u8Data, "$userdata,") == 0) @@ -260,14 +260,14 @@ if(g_com_map[DEV_ID] == HIDO_UtilHexStrToInt((char *)stId.m_pData)) { // TONE_Play((HIDO_UINT8 *)stData.m_pData, stData.m_u32Len); - + u32Len = HIDO_UtilSnprintf((HIDO_CHAR *)l_au8CmdBuff, sizeof(l_au8CmdBuff), "$Receivevoice,%X\r\n", - g_com_map[DEV_ID]); //TTS收到回复 - + g_com_map[DEV_ID]); //TTS收到回复 + Socket_Send(l_i32TCPClientID, (HIDO_UINT8 *)l_au8CmdBuff, u32Len); } } - }else if(STRCMP(_u8Data, "$setpara,") == 0) + } else if(STRCMP(_u8Data, "$setpara,") == 0) { uint16_t tempindex,tempval; u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); @@ -282,11 +282,11 @@ if(tempindex == MOTOR_ONTIME_INDEX) { // beepontime = tempval; - }else{ - if(tempindex < COM_MAP_SIZE) - g_com_map[tempindex] = tempval; - save_com_map_to_flash(); - g_com_map[CNT_RESTART] = 1; + } else { + if(tempindex < COM_MAP_SIZE) + g_com_map[tempindex] = tempval; + save_com_map_to_flash(); + g_com_map[CNT_RESTART] = 1; } } } @@ -303,12 +303,12 @@ } tempindex = HIDO_UtilStrToInt(apcSplitStr[2]); templen = HIDO_UtilStrToInt(apcSplitStr[3]); - if(templen>10) - templen=10; + if(templen>10) + templen=10; buffer_len = sprintf(send_buffer,"$replypara,"); datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]); buffer_len += datalen; - for(uint16_t i=tempindex;i<templen+tempindex;i++) + for(uint16_t i=tempindex; i<templen+tempindex; i++) { datalen = sprintf(&send_buffer[buffer_len],"%d,",g_com_map[i]); buffer_len += datalen; @@ -326,7 +326,7 @@ { uint16_t buffer_len,datalen; u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); - char send_buffer[20]={0}; + char send_buffer[20]= {0}; if (u32SplitCnt < 3) { return HIDO_ERR; @@ -358,8 +358,8 @@ { uint16_t buffer_len,datalen,datalen1,temp; u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); - char send_buffer[20]={0}; - + char send_buffer[20]= {0}; + if (u32SplitCnt < 3) { return HIDO_ERR; @@ -401,8 +401,8 @@ // gpsbaudrate1= HIDO_UtilStrToInt(apcSplitStr[6]); // g_com_map[GPSBAUDRATE1_INDEX] = gpsbaudrate1>>16; // g_com_map[GPSBAUDRATE2_INDEX] = gpsbaudrate1; -// -// +// +// // if((g_com_map[GPSENBLE]||g_com_map[GPSENBLE]==0) // &&(g_com_map[UWBENBLE]||g_com_map[UWBENBLE]==0) // &&(g_com_map[GPSFrequency]<65535&&g_com_map[GPSFrequency]>0) @@ -424,7 +424,7 @@ { u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); uint16_t buffer_len,datalen; - char send_buffer[100]={0}; + char send_buffer[100]= {0}; if (u32SplitCnt < 1) { return HIDO_ERR; @@ -446,102 +446,102 @@ } checksum = Checksum_u16(&send_buffer[2],5+160); memcpy(&send_buffer[7+160],&checksum,2); - + Socket_Send(l_i32TCPClientID,send_buffer,9+160); } } else if (STRCMP(_u8Data, "$set_uwb_work,") == 0) { - uint16_t temp,buffer_len,datalen,datalen1; - u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); - char send_buffer[30]={0}; - if (u32SplitCnt < 3) - { - return HIDO_ERR; - } - if (HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID]) + uint16_t temp,buffer_len,datalen,datalen1; + u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); + char send_buffer[30]= {0}; + if (u32SplitCnt < 3) { - temp=HIDO_UtilStrToInt(apcSplitStr[2]); - if(temp==1) - { - OpenUWB(); - uwb_OpenClose_flag=1; - } - else if(temp==0) - { - CloseUWB(); - uwb_OpenClose_flag=0; - } - buffer_len = sprintf(send_buffer,"$rec_uwb_work,"); - datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]); - buffer_len += datalen; - datalen1=sprintf(&send_buffer[buffer_len],"%d",temp); - buffer_len+= datalen1; - Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,buffer_len); + return HIDO_ERR; } - + if (HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID]) + { + temp=HIDO_UtilStrToInt(apcSplitStr[2]); + if(temp==1) + { + OpenUWB(); + uwb_OpenClose_flag=1; + } + else if(temp==0) + { + CloseUWB(); + uwb_OpenClose_flag=0; + } + buffer_len = sprintf(send_buffer,"$rec_uwb_work,"); + datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]); + buffer_len += datalen; + datalen1=sprintf(&send_buffer[buffer_len],"%d",temp); + buffer_len+= datalen1; + Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,buffer_len); + } + } else if (STRCMP(_u8Data, "$set_uwb_frequency,") == 0) { - uint16_t temp,buffer_len,datalen,datalen1; - - u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); - char send_buffer[30]={0}; - if (u32SplitCnt < 3) - { - return HIDO_ERR; - } + uint16_t temp,buffer_len,datalen,datalen1; + + u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); + char send_buffer[30]= {0}; + if (u32SplitCnt < 3) + { + return HIDO_ERR; + } if (HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID]) { - HIDO_INT32 frequency; - frequency=HIDO_UtilStrToInt(apcSplitStr[2]); - g_com_map[UWBFrequency]=frequency; - - state_start_time=0; - uwb_time_count=0; - buffer_len = sprintf(send_buffer,"$rec_uwbfrequency,"); - datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]); - buffer_len += datalen; - datalen1=sprintf(&send_buffer[buffer_len],"%d",frequency); - buffer_len+= datalen1; - save_com_map_to_flash(); - Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,buffer_len); + HIDO_INT32 frequency; + frequency=HIDO_UtilStrToInt(apcSplitStr[2]); + g_com_map[UWBFrequency]=frequency; + + state_start_time=0; + uwb_time_count=0; + buffer_len = sprintf(send_buffer,"$rec_uwbfrequency,"); + datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]); + buffer_len += datalen; + datalen1=sprintf(&send_buffer[buffer_len],"%d",frequency); + buffer_len+= datalen1; + save_com_map_to_flash(); + Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,buffer_len); } } else if (STRCMP(_u8Data, "$set_gpsuwb_fet,") == 0) { - uint16_t temp,buffer_len,datalen,datalen1,datalen2,datalen3; - - u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); - char send_buffer[30]={0}; - if (u32SplitCnt < 3) - { - return HIDO_ERR; - } + uint16_t temp,buffer_len,datalen,datalen1,datalen2,datalen3; + + u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); + char send_buffer[30]= {0}; + if (u32SplitCnt < 3) + { + return HIDO_ERR; + } if (HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID]) { - HIDO_INT32 frequency,temp,temp1; - frequency=HIDO_UtilStrToInt(apcSplitStr[2]); - temp=HIDO_UtilStrToInt(apcSplitStr[3]); - temp1=HIDO_UtilStrToInt(apcSplitStr[4]); - g_com_map[GPSFrequency]=frequency; - g_com_map[IMU_ENABLE]=temp; - g_com_map[NOMOVESLEEP_TIME]=temp1; - GPS_UPLOAD_FLAG=0; - nomove_count=0; - buffer_len = sprintf(send_buffer,"$rec_gpsuwb_fet,"); - datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]); - buffer_len += datalen; - datalen1=sprintf(&send_buffer[buffer_len],"%d,",frequency); - buffer_len+= datalen1; - datalen2=sprintf(&send_buffer[buffer_len],"%d,",temp); - buffer_len+= datalen2; - datalen3=sprintf(&send_buffer[buffer_len],"%d",temp1); - buffer_len+= datalen3; - save_com_map_to_flash(); - Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,buffer_len); + HIDO_INT32 frequency,temp,temp1; + frequency=HIDO_UtilStrToInt(apcSplitStr[2]); + temp=HIDO_UtilStrToInt(apcSplitStr[3]); + temp1=HIDO_UtilStrToInt(apcSplitStr[4]); + g_com_map[GPSFrequency]=frequency; + g_com_map[IMU_ENABLE]=temp; + g_com_map[NOMOVESLEEP_TIME]=temp1; + GPS_UPLOAD_FLAG=0; + nomove_count=0; + buffer_len = sprintf(send_buffer,"$rec_gpsuwb_fet,"); + datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]); + buffer_len += datalen; + datalen1=sprintf(&send_buffer[buffer_len],"%d,",frequency); + buffer_len+= datalen1; + datalen2=sprintf(&send_buffer[buffer_len],"%d,",temp); + buffer_len+= datalen2; + datalen3=sprintf(&send_buffer[buffer_len],"%d",temp1); + buffer_len+= datalen3; + save_com_map_to_flash(); + Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,buffer_len); } @@ -549,7 +549,7 @@ // else if (STRCMP(_u8Data, "$set_sleep_enable_time,") == 0) // { // uint16_t temp,buffer_len,datalen,datalen1,datalen2; -// +// // u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); // char send_buffer[30]={0}; // if (u32SplitCnt < 3) @@ -559,15 +559,15 @@ // if (HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID]) // { // HIDO_INT32 temp,temp1; -// temp=HIDO_UtilStrToInt(apcSplitStr[2]); +// temp=HIDO_UtilStrToInt(apcSplitStr[2]); // temp1=HIDO_UtilStrToInt(apcSplitStr[3]); -// -// +// +// // g_com_map[IMU_ENABLE]=temp; // g_com_map[NOMOVESLEEP_TIME]=temp1; -// +// // buffer_len = sprintf(send_buffer,"$rec_sleep_enable_time,"); -// datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]); +// datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]); // buffer_len += datalen; // datalen1=sprintf(&send_buffer[buffer_len],"%d",temp); // buffer_len+= datalen1; @@ -663,23 +663,24 @@ uint8_t uwbsendnum,gpssendnum; extern uint8_t exercise_state; -extern uint32_t step_count; -extern uint16_t gaodu;void UDPClient_UploadGPS(HIDO_CHAR *_pcGGA) +extern uint32_t step_count; +extern uint16_t gaodu; +void UDPClient_UploadGPS(HIDO_CHAR *_pcGGA) { if(TCP_CLIENT_STATE_CONNECTED == l_eTCPClientState) { - -#ifdef JIBU_XIUMIAN + +#ifdef JIBU_XIUMIAN HIDO_UINT32 u32Len = HIDO_UtilSnprintf((HIDO_CHAR *)l_au8CmdBuff, sizeof(l_au8CmdBuff), "%s,%X,%02x,%x,%d,%d,%d%\r\n", // _pcGGA, g_com_map[DEV_ID], bat_percent,ave_sp,0,0,0); - _pcGGA, g_com_map[DEV_ID], bat_percent,ave_sp,gaodu,(uint8_t)(step_count),exercise_state); + _pcGGA, g_com_map[DEV_ID], bat_percent,ave_sp,gaodu,(uint8_t)(step_count),exercise_state); #else HIDO_UINT32 u32Len = HIDO_UtilSnprintf((HIDO_CHAR *)l_au8CmdBuff, sizeof(l_au8CmdBuff), "%s,%X,%02x,%x,%d,%d,%d%\r\n", - _pcGGA, g_com_map[DEV_ID], bat_percent,ave_sp,gaodu,0,0); + _pcGGA, g_com_map[DEV_ID], bat_percent,ave_sp,gaodu,0,0); #endif - + // if((l_u32UploadBuffLen + u32Len) < sizeof(l_acUploadBuff)) // { // memcpy(l_acUploadBuff + l_u32UploadBuffLen, l_au8CmdBuff, u32Len); @@ -687,7 +688,7 @@ // } //memcpy(l_acUploadBuff + l_u32UploadBuffLen, l_au8CmdBuff, u32Len); //l_u32UploadBuffLen += u32Len; - // if((l_u32UploadBuffLen + u32Len )> sizeof(l_acUploadBuff)) + // if((l_u32UploadBuffLen + u32Len )> sizeof(l_acUploadBuff)) // if((HIDO_TimerGetTick() - l_u32UdpsendTick) >= 200) { // l_u32UdpsendTick = HIDO_TimerGetTick(); @@ -705,14 +706,14 @@ static HIDO_CHAR l_acUploadBuff[2048]; static HIDO_UINT32 l_u32UploadBuffLen = 0; static HIDO_UINT32 l_u32UdpsendTick = 0; - uint8_t i,temp; - - for(i=0;i<len;i++) - { - temp = *data++; - sprintf(&senddata[2*i],"%x",temp>>4); - sprintf(&senddata[2*i+1],"%x",temp&0xf); - } + uint8_t i,temp; + + for(i=0; i<len; i++) + { + temp = *data++; + sprintf(&senddata[2*i],"%x",temp>>4); + sprintf(&senddata[2*i+1],"%x",temp&0xf); + } senddata[2*len] = 0x0d; senddata[2*len+1] = 0x0a; // if(DBG_GetMode() == DBG_MODE_CFG) @@ -722,13 +723,13 @@ { memcpy(l_acUploadBuff + l_u32UploadBuffLen, senddata, 2*len+2); l_u32UploadBuffLen += 2*len+2; - // if((l_u32UploadBuffLen + u32Len )> sizeof(l_acUploadBuff)) + // if((l_u32UploadBuffLen + u32Len )> sizeof(l_acUploadBuff)) // if((HIDO_TimerGetTick() - l_u32UdpsendTick) >= 200) // { // l_u32UdpsendTick = HIDO_TimerGetTick(); - Socket_Send(l_i32TCPClientID, (HIDO_UINT8 *)l_acUploadBuff, l_u32UploadBuffLen); - uwbsendnum++; - l_u32UploadBuffLen = 0; + Socket_Send(l_i32TCPClientID, (HIDO_UINT8 *)l_acUploadBuff, l_u32UploadBuffLen); + uwbsendnum++; + l_u32UploadBuffLen = 0; // } @@ -739,30 +740,30 @@ HIDO_UINT32 u32Len = 0; if(TCP_CLIENT_STATE_CONNECTED == l_eTCPClientState) { - + if(g_com_map[RTCMMODE_INDEX] == RTCMMODE_TCP) { u32Len = HIDO_UtilSnprintf((HIDO_CHAR *)l_au8CmdBuff, sizeof(l_au8CmdBuff), "$XTB,%X,%02u%%,%d.%d,%s,%d,3:%d.%d.%d.%d:%d.,1", g_com_map[DEV_ID], bat_percent, g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff, Module_GetCCID(),\ - userkey_state,g_com_map[TCP_IP_0],g_com_map[TCP_IP_1],g_com_map[TCP_IP_2],g_com_map[TCP_IP_3],g_com_map[TCP_PORT]); + userkey_state,g_com_map[TCP_IP_0],g_com_map[TCP_IP_1],g_com_map[TCP_IP_2],g_com_map[TCP_IP_3],g_com_map[TCP_PORT]); } else if(g_com_map[RTCMMODE_INDEX] == RTCMMODE_NTRIP) { u32Len = HIDO_UtilSnprintf((HIDO_CHAR *)l_au8CmdBuff, sizeof(l_au8CmdBuff), "$XTB,%X,%02u%%,%d.%d,%s,%d,2%s %s,1", g_com_map[DEV_ID], bat_percent, g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff, Module_GetCCID(),\ - userkey_state,(char *)&g_com_map[NTRIP_HOST_INDEX],(char *)&g_com_map[NTRIP_USERNANME_INDEX]); + userkey_state,(char *)&g_com_map[NTRIP_HOST_INDEX],(char *)&g_com_map[NTRIP_USERNANME_INDEX]); } else if(g_com_map[RTCMMODE_INDEX] == RTCMMODE_NONE) { u32Len = HIDO_UtilSnprintf((HIDO_CHAR *)l_au8CmdBuff, sizeof(l_au8CmdBuff), "$XTB,%X,%02u%%,%d.%d,%s,%d,1.,1", g_com_map[DEV_ID], bat_percent, g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff, Module_GetCCID(),\ - userkey_state,g_com_map[TCP_IP_0],g_com_map[TCP_IP_1],g_com_map[TCP_IP_2],g_com_map[TCP_IP_3],g_com_map[TCP_PORT]); + userkey_state,g_com_map[TCP_IP_0],g_com_map[TCP_IP_1],g_com_map[TCP_IP_2],g_com_map[TCP_IP_3],g_com_map[TCP_PORT]); } - userkey_state=0; + userkey_state=0; Socket_Send(l_i32TCPClientID, (HIDO_UINT8 *)l_au8CmdBuff, u32Len); } // u32HeartLen = HIDO_UtilSnprintf((HIDO_CHAR *)acHeart, sizeof(acHeart), "$XTB,%X,%02u%%,%d.%d,%s", -// g_com_map[DEV_ID], bat_percent, g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff, Module_GetCCID()); +// g_com_map[DEV_ID], bat_percent, g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff, Module_GetCCID()); // Socket_Send(l_i32TCPClientID, (HIDO_UINT8 *)acHeart, u32HeartLen); - - + + } void TCPReceiveMessageReply(void) { @@ -792,16 +793,16 @@ l_eTCPClientState = TCP_CLIENT_STATE_CONNECTING; - HIDO_UtilSnprintf((HIDO_CHAR *) l_au8CmdBuff, sizeof(l_au8CmdBuff), "%u.%u.%u.%u", g_com_map[IP_0], g_com_map[IP_1], g_com_map[IP_2], g_com_map[IP_3]); + HIDO_UtilSnprintf((HIDO_CHAR *) l_au8CmdBuff, sizeof(l_au8CmdBuff), "%u.%u.%u.%u", g_com_map[IP_0], g_com_map[IP_1], g_com_map[IP_2], g_com_map[IP_3]); Socket_Connect(l_i32TCPClientID, (HIDO_CHAR *) l_au8CmdBuff, g_com_map[PORT]); // HIDO_UtilSnprintf((HIDO_CHAR *) l_au8CmdBuff, sizeof(l_au8CmdBuff), "123.57.87.125"); // Socket_Connect(l_i32TCPClientID, (HIDO_CHAR *) l_au8CmdBuff, 8888); - -// HIDO_UtilSnprintf((HIDO_CHAR *) l_au8CmdBuff, sizeof(l_au8CmdBuff), "111.198.60.6"); + +// HIDO_UtilSnprintf((HIDO_CHAR *) l_au8CmdBuff, sizeof(l_au8CmdBuff), "111.198.60.6"); // Socket_Connect(l_i32TCPClientID, (HIDO_CHAR *) l_au8CmdBuff, 1234); - TCPfail_flag = 1; + TCPfail_flag = 1; } else { @@ -814,16 +815,16 @@ } else if (TCP_CLIENT_STATE_CONNECTED == l_eTCPClientState) { - led4g=GREEN; - if ((u32CurTick - l_u32HeartBeatTick) >= HIDO_TIMER_TICK_S(60)||flag_first_TCPconnect||heartbeasend_flag) - //if ((u32CurTick - l_u32HeartBeatTick) >= HIDO_TIMER_TICK_S(g_com_map[SEND_4G_SECOND])||flag_first_TCPconnect) + led4g=GREEN; + if ((u32CurTick - l_u32HeartBeatTick) >= HIDO_TIMER_TICK_S(60)||flag_first_TCPconnect||heartbeasend_flag) + //if ((u32CurTick - l_u32HeartBeatTick) >= HIDO_TIMER_TICK_S(g_com_map[SEND_4G_SECOND])||flag_first_TCPconnect) { heartbeasend_flag=0; flag_first_TCPconnect = 0; l_u32HeartBeatTick = u32CurTick; // 这里是自定义心跳 TCPHeartBeatUpload(); - //UDPClient_UploadGPS();//先不弄心跳 + //UDPClient_UploadGPS();//先不弄心跳 // HIDO_CHAR acHeart[128]; // HIDO_UINT32 u32HeartLen = snprintf(acHeart, sizeof(acHeart), "$message heart,%04x,00001,1,50,50,50,,,,\r\n", g_com_map[DEV_ID]); // Socket_Send(l_i32TCPClientID, (HIDO_UINT8 *)acHeart, u32HeartLen); @@ -859,12 +860,12 @@ static HIDO_CHAR l_acUploadBuff[1024]; static HIDO_UINT32 l_u32UploadBuffLen = 0; static HIDO_UINT32 l_u32UdpsendTick = 0; - + if(TCP_CLIENT_STATE_CONNECTED == l_eTCPClientState) { memcpy(l_acUploadBuff + l_u32UploadBuffLen, _pcGGA, u32Len); l_u32UploadBuffLen += u32Len; - // if((l_u32UploadBuffLen + u32Len )> sizeof(l_acUploadBuff)) + // if((l_u32UploadBuffLen + u32Len )> sizeof(l_acUploadBuff)) if((HIDO_TimerGetTick() - l_u32UdpsendTick) >= 200) { l_u32UdpsendTick = HIDO_TimerGetTick(); @@ -909,17 +910,17 @@ char str[19]= {"AT+IPR=115200;&W\r\n"}; void AIR780E_Reset(void) { - PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);//关闭4G + PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);//关闭4G delay_ms(1500); PCA9555_Set_One_Value_Output(AIR780E_ENBALE,1);//打开4G delay_ms(3000); // Uart_ReConfigBaudRate(UART_ID_4G,115200); // uart_send(UART_ID0, str,17, NULL); // Uart_ReConfigBaudRate(UART_ID_4G,9600); -} +} void AIR780E_Reset_usart(void) { - PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);//关闭4G + PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);//关闭4G delay_ms(1500); PCA9555_Set_One_Value_Output(AIR780E_ENBALE,1);//打开4G delay_ms(3000); @@ -941,7 +942,7 @@ char str[17]= {"AT+IPR=9600;&W\r\n"}; void AIR780E_Reset(void) { - PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);//关闭4G + PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);//关闭4G delay_ms(1500); PCA9555_Set_One_Value_Output(AIR780E_ENBALE,1);//打开4G delay_ms(3000); @@ -951,7 +952,7 @@ } void AIR780E_Reset_usart(void) { - PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);//关闭4G + PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);//关闭4G delay_ms(1500); PCA9555_Set_One_Value_Output(AIR780E_ENBALE,1);//打开4G delay_ms(3000); diff --git a/keil/include/src/TCPClient.c.orig b/keil/include/src/TCPClient.c.orig index 2ef8ca4..a72a78b 100644 --- a/keil/include/src/TCPClient.c.orig +++ b/keil/include/src/TCPClient.c.orig @@ -20,6 +20,12 @@ #include "mk_4G.h" #include "mk_trace.h" #include "dw_app_anchor.h" +#include "PCA9555.h" +#include "WS2812.h" +#include "PCA9555.h" +#include "mk_flash.h" +#include <serial_at_cmd_app.h> +#include "DBG.h" /******************************************************************************* * Macro * *******************************************************************************/ @@ -38,20 +44,21 @@ * Local Variable * *******************************************************************************/ HIDO_INT32 l_i32TCPClientID = 0; -extern uint8_t gps_power_state,gps_timeout_flag; +uint8_t gps_power_state; static E_TCPClientState l_eTCPClientState = TCP_CLIENT_STATE_IDLE; static HIDO_UINT32 l_u32HeartBeatTick = 0; static HIDO_UINT8 l_au8CmdBuff[1024]; -uint8_t TCPfail_flag = 0,flag_first_TCPconnect=1; -uint32_t TCPfailetimer; +uint8_t TCPfail_flag = 0,flag_first_TCPconnect=0; +static uint32_t TCPfailetimer; uint16_t ip0,ip1,ip2,ip3,port; /******************************************************************************* * Local Function Declaration * *******************************************************************************/ -HIDO_INT32 TCPClient_Heartbeat(HIDO_VOID); +static HIDO_INT32 TCPClient_Heartbeat(HIDO_VOID); void TCPHeartBeatUpload(void); +void UDPClient_UploadGPS(HIDO_CHAR *_pcGGA); void TCPReceiveMessageReply(void); /******************************************************************************* * Local Function * @@ -65,102 +72,512 @@ * Author : www.hido-studio.com * Modified Date: : 2021年1月9日 *******************************************************************************/ -extern uint8_t gps_4g_flag,search_open_flag; +extern uint8_t gps_4g_flag,search_open_flag,gps_open_flag,gps_wait_count,gps_need_data_flag,gps_wait_count2; +uint8_t ota_flag; extern Operation_step UWB_work_state; Commend_Datestruct TCP_command; uint8_t result; char applyid[10]; +uint16_t receive_id; +uint16_t g_com_position; +uint16_t g_com_num; +uint8_t testdata[100]; +uint8_t uwb_OpenClose_flag=1; +extern uint32_t state_start_time; +extern uint32_t uwb_time_count; +extern uint8_t GPS_UPLOAD_FLAG; +extern float nomove_count; static HIDO_INT32 TCPClient_DataProc(HIDO_UINT8 *_u8Data, HIDO_UINT32 _u32Len) { HIDO_CHAR *apcSplitStr[12]; HIDO_UINT32 u32SplitCnt = 0; + + HIDO_UINT32 u32Len = 0; - LOG_INFO(TRACE_MODULE_APP, "收到数据\r\n"); +// HIDO_Debug("%s\r\n", l_au8CmdBuff); - - - if(STRCMP(_u8Data, "$instruct,") == 0) + /* $config,id,gps_hz,ip,port */ + if(STRCMP(_u8Data, "$config,") == 0) { u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); - TCP_command.tagId = HIDO_UtilHexStrToInt(apcSplitStr[3]); - if(g_com_map[DEV_ID]==TCP_command.tagId) + if(u32SplitCnt < 5) { - - TCP_command.type = HIDO_UtilStrToInt(apcSplitStr[1]); - memcpy(&applyid,apcSplitStr[2],8); - // TCP_command.applyID = HIDO_UtilStrToInt(apcSplitStr[2]); - TCP_command.gunLableId = HIDO_UtilHexStrToInt(apcSplitStr[4]); - TCP_command.warnDistance = HIDO_UtilStrToInt(apcSplitStr[5]); - TCP_command.alarmDistance = HIDO_UtilStrToInt(apcSplitStr[6]); - TCP_command.frequency = HIDO_UtilStrToInt(apcSplitStr[7]); - if(TCP_command.type>0&&TCP_command.type<8) - result = 1; - - switch(TCP_command.type) - { - case BIND_SUCCESS: - { - - g_com_map[ALARM_DISTANCE1]= TCP_command.warnDistance; - g_com_map[ALARM_DISTANCE2]=TCP_command.alarmDistance; - // g_com_map[SEND_4G_FREQUENCY]=1000/TCP_command.frequency; - if(g_com_map[BIND_DEV_ID]!=TCP_command.gunLableId) - { - g_com_map[BIND_DEV_ID]=TCP_command.gunLableId; - UWB_work_state = SEARCH_DEV; - search_open_flag = 1; - } - - - } - break; - case UNBIND: - g_com_map[BIND_DEV_ID] = 0; - UWB_work_state = UN_BIND; - - - break; - // bind_resetbreak(); - case OPEN_GNSS: - gps_4g_flag = 1; - - break; - - case CLOSE_VIBRATION: - g_com_map[MOTOR_ENABLE]=0; - - - break; - case OPEN_VIBRATION: - g_com_map[MOTOR_ENABLE]=1; - - - break; - case QUARY_INFORMATION: - //?? - - break; - case CHANGE_POLL_FREQUENCY: - - g_com_map[SEND_4G_SECOND]=TCP_command.frequency*60; - break; - } - result = 1; - TCPHeartBeatUpload(); - if(TCP_command.type!=QUARY_INFORMATION||TCP_command.type!=OPEN_GNSS) - save_com_map_to_flash(); - result = 0; - memset(&applyid,0,8); + return HIDO_ERR; } - } else if(STRCMP(_u8Data, "$message_reply,") == 0) - { - u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); - TCP_command.tagId = HIDO_UtilHexStrToInt(apcSplitStr[1]); - if(g_com_map[DEV_ID]==TCP_command.tagId) + + /* 设备ID检查 */ + if(HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID]) { + HIDO_UINT32 u32Temp = 0; + HIDO_BOOL bChange = HIDO_FALSE; + HIDO_UINT8 au8IP[4]; + + /* GPS HZ */ + u32Temp = HIDO_UtilStrToInt(apcSplitStr[2]); + if(u32Temp != g_com_map[GPS_HZ]) + { + g_com_map[GPS_HZ] = u32Temp; + bChange = HIDO_TRUE; + } + + /* IP=192.168.1.1 */ + HIDO_UtilIPStringToByteArrary(apcSplitStr[3], au8IP); + /* IP变化 */ + if((au8IP[0] != g_com_map[IP_0]) || (au8IP[1] != g_com_map[IP_1]) + || (au8IP[2] != g_com_map[IP_2]) || (au8IP[3] != g_com_map[IP_3])) + { + bChange = HIDO_TRUE; + g_com_map[IP_0] = au8IP[0]; + g_com_map[IP_1] = au8IP[1]; + g_com_map[IP_2] = au8IP[2]; + g_com_map[IP_3] = au8IP[3]; + + l_eTCPClientState = TCP_CLIENT_STATE_IDLE; + } + + /* 端口=0-65535 */ + if( g_com_map[PORT] != HIDO_UtilStrToInt(apcSplitStr[4])) + { + g_com_map[PORT] = HIDO_UtilStrToInt(apcSplitStr[4]); + bChange = HIDO_TRUE; + } + + if(bChange) + { + save_com_map_to_flash(); + g_com_map[CNT_RESTART] = 1; + } } } + /* $update,id,url,version */ + else if(STRCMP(_u8Data, "$update,") == 0) + { + u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); + + if(u32SplitCnt < 4) + { + return HIDO_ERR; + } + + /* 设备ID检查 */ + if(HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID]) + { +// ota_flag=1; +// LOG_INFO(TRACE_MODULE_APP,"OTA文件地址名称:%s.\r\n",(char *)&apcSplitStr[2]); +// uart_send(UART_ID1, (char *)&apcSplitStr[2],strlen(apcSplitStr[3]), NULL); +// memcpy(testdata,(HIDO_UINT8*)apcSplitStr[2],strlen(apcSplitStr[2]) + 1); +// OTA_Start((HIDO_UINT8*)apcSplitStr[2]); + +// g_com_map[OTA_FLAG]=1; +// g_com_map[OTA_URL_CHANGDU]=strlen(apcSplitStr[2]) + 1; +// memcpy(g_com_map+OTA_URL_INDEX,(HIDO_UINT8*)apcSplitStr[2],strlen(apcSplitStr[2]) + 1); +// save_com_map_to_flash(); +// delay_us(100000); + uint16_t tmp = 0xCCCC; + uint8_t flag = 0; + __disable_irq(); + result=flash_open(FLASH_ID0,NULL); + if(!result) + { + flash_erase(FLASH_ID0, APP_CONFIG_IAPFLAG_SECTOR_ADDR, FLASH_SECTOR_SIZE);//擦除APPFLAG + flash_write_nbytes(FLASH_ID0, APP_CONFIG_IAPFLAG_MAP, (uint8_t*)&tmp, sizeof(tmp)); + flash_erase(FLASH_ID0, APP_CONFIG_IAP_PARAM_MAP, FLASH_SECTOR_SIZE);//擦除APPFLAG + flash_write_nbytes(FLASH_ID0, APP_CONFIG_IAP_PARAM_MAP, (HIDO_UINT8 *)&flag, 1); + flash_write_nbytes(FLASH_ID0, APP_CONFIG_IAP_PARAM_MAP+1, (HIDO_UINT8*)apcSplitStr[2], strlen(apcSplitStr[2]) + 1); + } + __enable_irq(); + NVIC_SystemReset(); //软复位回到bootloader + } + } + /* $getlog,id,url */ + else if(STRCMP(_u8Data, "$getlog,") == 0) + { + u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); + + if(u32SplitCnt < 3) + { + return HIDO_ERR; + } + + /* 设备ID检查 */ + if(HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID]) + { +#if 0 + Log_Upload(apcSplitStr[2]); +#endif + } + } /* $control,id,bepper,time */ + else if(STRCMP(_u8Data, "$control,") == 0) + { + u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); + if(u32SplitCnt < 3) + { + return HIDO_ERR; + } + + /* ?豸ID??? */ + if(HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID]) + { + if(strcmp(apcSplitStr[2],"beeper")==0) + { + +// beepontime = HIDO_UtilStrToInt(apcSplitStr[3]); + + } + + if(strcmp(apcSplitStr[2],"TTS")==0) + { + PCA9555_Set_One_Value_Output(TTS_ENABLE,1); //打开TTS电源 + delay_ms(800); //再短一点,会丢失语音的第一个字,不是不读,而是就像没有下发第一个字 + +// TTS_Play((HIDO_UINT8 *)apcSplitStr[3], strlen(apcSplitStr[3])); //服务器语音播报 + + + u32Len = HIDO_UtilSnprintf((HIDO_CHAR *)l_au8CmdBuff, sizeof(l_au8CmdBuff), "$Receivevoice,%X\r\n", + g_com_map[DEV_ID]); + + Socket_Send(l_i32TCPClientID, (HIDO_UINT8 *)l_au8CmdBuff, u32Len); + + + } + + } + } + else if(STRCMP(_u8Data, "$userdata,") == 0) + { +// if(DBG_GetMode() == DBG_MODE_CFG) +// HIDO_Debug2("%s\r\n", l_au8CmdBuff); + } + else if(STRCMP(_u8Data, "$settone,") == 0) + { + HIDO_DataStruct stData; + HIDO_DataStruct stId; + + if(HIDO_UtilParseFormat(_u8Data, _u32Len, "$settone,%p,%p\r\n", &stId, &stData) == 2) + { + ((char *)stId.m_pData)[stId.m_u32Len] = '\0'; + if(g_com_map[DEV_ID] == HIDO_UtilHexStrToInt((char *)stId.m_pData)) + { +// TONE_Play((HIDO_UINT8 *)stData.m_pData, stData.m_u32Len); + + u32Len = HIDO_UtilSnprintf((HIDO_CHAR *)l_au8CmdBuff, sizeof(l_au8CmdBuff), "$Receivevoice,%X\r\n", + g_com_map[DEV_ID]); //TTS收到回复 + + Socket_Send(l_i32TCPClientID, (HIDO_UINT8 *)l_au8CmdBuff, u32Len); + } + } + }else if(STRCMP(_u8Data, "$setpara,") == 0) + { + uint16_t tempindex,tempval; + u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); + if(HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID]) + { + if(u32SplitCnt < 2) + { + return HIDO_ERR; + } + tempindex = HIDO_UtilStrToInt(apcSplitStr[2]); + tempval = HIDO_UtilStrToInt(apcSplitStr[3]); + if(tempindex == MOTOR_ONTIME_INDEX) + { +// beepontime = tempval; + }else{ + if(tempindex < COM_MAP_SIZE) + g_com_map[tempindex] = tempval; + save_com_map_to_flash(); + g_com_map[CNT_RESTART] = 1; + } + } + } + else if(STRCMP(_u8Data, "$readpara,") == 0) + { + uint16_t tempindex,templen,buffer_len,datalen; + char send_buffer[500]; + u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); + if(HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID]) + { + if(u32SplitCnt < 2) + { + return HIDO_ERR; + } + tempindex = HIDO_UtilStrToInt(apcSplitStr[2]); + templen = HIDO_UtilStrToInt(apcSplitStr[3]); + if(templen>10) + templen=10; + buffer_len = sprintf(send_buffer,"$replypara,"); + datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]); + buffer_len += datalen; + for(uint16_t i=tempindex;i<templen+tempindex;i++) + { + datalen = sprintf(&send_buffer[buffer_len],"%d,",g_com_map[i]); + buffer_len += datalen; + } + send_buffer[buffer_len++] = 'e'; + send_buffer[buffer_len++] = 'n'; + send_buffer[buffer_len++] = 'd'; + send_buffer[buffer_len++] = 0x0d; + send_buffer[buffer_len++] = 0x0a; + Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,buffer_len); + } + } + /* $download_audio,http://39.106.210.13:8080/hfs/xxx.bin */ + else if (STRCMP(_u8Data, "$download_audio,") == 0) + { + uint16_t buffer_len,datalen; + u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); + char send_buffer[20]={0}; + if (u32SplitCnt < 3) + { + return HIDO_ERR; + } + if (HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID]) + { + uint16_t tmp = 0xCCCC; + uint8_t flag = 1; +// buffer_len = sprintf(send_buffer,"$rec_voicece,"); +// datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]); +// buffer_len += datalen; +// Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,buffer_len); + __disable_irq(); + result = flash_open(FLASH_ID0, NULL); + if (!result) + { + flash_erase(FLASH_ID0, APP_CONFIG_IAPFLAG_SECTOR_ADDR, FLASH_SECTOR_SIZE); // 擦除APPFLAG + flash_write_nbytes(FLASH_ID0, APP_CONFIG_IAPFLAG_MAP, (uint8_t *)&tmp, sizeof(tmp)); + flash_erase(FLASH_ID0, APP_CONFIG_IAP_PARAM_MAP, FLASH_SECTOR_SIZE); // 擦除APPFLAG + flash_write_nbytes(FLASH_ID0, APP_CONFIG_IAP_PARAM_MAP, (HIDO_UINT8 *)&flag, 1); + flash_write_nbytes(FLASH_ID0, APP_CONFIG_IAP_PARAM_MAP + 1, (HIDO_UINT8 *)apcSplitStr[2], strlen(apcSplitStr[2]) + 1); + } + __enable_irq(); + NVIC_SystemReset(); // 软复位回到bootloader + } + } + /* $play_audio,0-9 */ + else if (STRCMP(_u8Data, "$play_audio,") == 0) + { + uint16_t buffer_len,datalen,datalen1,temp; + u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); + char send_buffer[20]={0}; + + if (u32SplitCnt < 3) + { + return HIDO_ERR; + } + if (HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID]) + { + PCA9555_Set_One_Value_Output(TTS_ENABLE,1);//输出高电平切换为5V输入 + delay_ms(100); + WT588E_PLAY(atoi(apcSplitStr[2])); + temp= HIDO_UtilStrToInt(apcSplitStr[2]); + buffer_len = sprintf(send_buffer,"$Receivevoice,"); + datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]); + buffer_len += datalen; + datalen1=sprintf(&send_buffer[buffer_len],"%d",temp); + buffer_len+= datalen1; + Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,buffer_len); + } + } +// else if (STRCMP(_u8Data, "$set_gpsuwbpara,") == 0) +// { +// u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); +// uint16_t buffer_len,datalen; +// char send_buffer[20]={0}; +// if (u32SplitCnt < 6) +// { +// return HIDO_ERR; +// } +// if (HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID]) +// { +// HIDO_INT32 gpskaiguan,uwbkaiguan,gpspinlv,uwbpinlv,gpsbaudrate1; +// gpskaiguan= HIDO_UtilStrToInt(apcSplitStr[2]); +// g_com_map[GPSENBLE] = gpskaiguan; +// uwbkaiguan= HIDO_UtilStrToInt(apcSplitStr[3]); +// g_com_map[UWBENBLE] = uwbkaiguan; +// gpspinlv= HIDO_UtilStrToInt(apcSplitStr[4]); +// g_com_map[GPSFrequency] = gpspinlv; +// uwbpinlv= HIDO_UtilStrToInt(apcSplitStr[5]); +// g_com_map[UWBFrequency] = uwbpinlv; +// gpsbaudrate1= HIDO_UtilStrToInt(apcSplitStr[6]); +// g_com_map[GPSBAUDRATE1_INDEX] = gpsbaudrate1>>16; +// g_com_map[GPSBAUDRATE2_INDEX] = gpsbaudrate1; +// +// +// if((g_com_map[GPSENBLE]||g_com_map[GPSENBLE]==0) +// &&(g_com_map[UWBENBLE]||g_com_map[UWBENBLE]==0) +// &&(g_com_map[GPSFrequency]<65535&&g_com_map[GPSFrequency]>0) +// &&(g_com_map[UWBFrequency]==1||g_com_map[UWBFrequency]==3||g_com_map[UWBFrequency]==5||g_com_map[UWBFrequency]==10) +// &&(gpsbaudrate1==9600||gpsbaudrate1==115200) +// ) +// { +// save_com_map_to_flash(); +//// Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,buffer_len); +// g_com_map[CNT_RESTART] = 1; +// } +// else +// { +// Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,10); +// } +// } +// } + else if (STRCMP(_u8Data, "$read_gpsuwbpara,") == 0) + { + u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); + uint16_t buffer_len,datalen; + char send_buffer[100]={0}; + if (u32SplitCnt < 1) + { + return HIDO_ERR; + } + if (HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID]) + { + uint16_t checksum = 0; + send_buffer[0] = 0x55; + send_buffer[1] = 0xAA; + send_buffer[2] = 0x03; + send_buffer[3] = 160+5; + send_buffer[4] = CMD_REPLY; + send_buffer[5] = 0; + send_buffer[6] = 160; + memcpy(&send_buffer[7], &g_com_map, 160); + for(uint8_t i = 0; i<(160+5); i++) + { + checksum += send_buffer[2+i]; + } + checksum = Checksum_u16(&send_buffer[2],5+160); + memcpy(&send_buffer[7+160],&checksum,2); + + Socket_Send(l_i32TCPClientID,send_buffer,9+160); + } + } + else if (STRCMP(_u8Data, "$set_uwb_work,") == 0) + { + uint16_t temp,buffer_len,datalen,datalen1; + u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); + char send_buffer[30]={0}; + if (u32SplitCnt < 3) + { + return HIDO_ERR; + } + if (HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID]) + { + temp=HIDO_UtilStrToInt(apcSplitStr[2]); + if(temp==1) + { + OpenUWB(); + uwb_OpenClose_flag=1; + } + else if(temp==0) + { + CloseUWB(); + uwb_OpenClose_flag=0; + } + buffer_len = sprintf(send_buffer,"$rec_uwb_work,"); + datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]); + buffer_len += datalen; + datalen1=sprintf(&send_buffer[buffer_len],"%d",temp); + buffer_len+= datalen1; + Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,buffer_len); + } + + } + else if (STRCMP(_u8Data, "$set_uwb_frequency,") == 0) + { + uint16_t temp,buffer_len,datalen,datalen1; + + u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); + char send_buffer[30]={0}; + if (u32SplitCnt < 3) + { + return HIDO_ERR; + } + if (HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID]) + { + HIDO_INT32 frequency; + frequency=HIDO_UtilStrToInt(apcSplitStr[2]); + g_com_map[UWBFrequency]=frequency; + + state_start_time=0; + uwb_time_count=0; + buffer_len = sprintf(send_buffer,"$rec_uwbfrequency,"); + datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]); + buffer_len += datalen; + datalen1=sprintf(&send_buffer[buffer_len],"%d",frequency); + buffer_len+= datalen1; + save_com_map_to_flash(); + Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,buffer_len); + } + + + } + else if (STRCMP(_u8Data, "$set_gpsuwb_fet,") == 0) + { + uint16_t temp,buffer_len,datalen,datalen1,datalen2,datalen3; + + u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); + char send_buffer[30]={0}; + if (u32SplitCnt < 3) + { + return HIDO_ERR; + } + if (HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID]) + { + HIDO_INT32 frequency,temp,temp1; + frequency=HIDO_UtilStrToInt(apcSplitStr[2]); + temp=HIDO_UtilStrToInt(apcSplitStr[3]); + temp1=HIDO_UtilStrToInt(apcSplitStr[4]); + g_com_map[GPSFrequency]=frequency; + g_com_map[IMU_ENABLE]=temp; + g_com_map[NOMOVESLEEP_TIME]=temp1; + GPS_UPLOAD_FLAG=0; + nomove_count=0; + buffer_len = sprintf(send_buffer,"$rec_gpsuwb_fet,"); + datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]); + buffer_len += datalen; + datalen1=sprintf(&send_buffer[buffer_len],"%d,",frequency); + buffer_len+= datalen1; + datalen2=sprintf(&send_buffer[buffer_len],"%d,",temp); + buffer_len+= datalen2; + datalen3=sprintf(&send_buffer[buffer_len],"%d",temp1); + buffer_len+= datalen3; + save_com_map_to_flash(); + Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,buffer_len); + } + + + } +// else if (STRCMP(_u8Data, "$set_sleep_enable_time,") == 0) +// { +// uint16_t temp,buffer_len,datalen,datalen1,datalen2; +// +// u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); +// char send_buffer[30]={0}; +// if (u32SplitCnt < 3) +// { +// return HIDO_ERR; +// } +// if (HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID]) +// { +// HIDO_INT32 temp,temp1; +// temp=HIDO_UtilStrToInt(apcSplitStr[2]); +// temp1=HIDO_UtilStrToInt(apcSplitStr[3]); +// +// +// g_com_map[IMU_ENABLE]=temp; +// g_com_map[NOMOVESLEEP_TIME]=temp1; +// +// buffer_len = sprintf(send_buffer,"$rec_sleep_enable_time,"); +// datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]); +// buffer_len += datalen; +// datalen1=sprintf(&send_buffer[buffer_len],"%d",temp); +// buffer_len+= datalen1; +// datalen2=sprintf(&send_buffer[buffer_len],"%d",temp1); +// buffer_len+= datalen2; +// Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,buffer_len); +// } + + +// } return HIDO_OK; } @@ -209,6 +626,7 @@ i32Ret = Socket_Recv(l_i32TCPClientID, l_au8CmdBuff, sizeof(l_au8CmdBuff) - 1, &u32RecvLen); if(HIDO_OK == i32Ret) { + l_au8CmdBuff[u32RecvLen]=0; TCPClient_DataProc(l_au8CmdBuff, u32RecvLen); } break; @@ -236,25 +654,116 @@ uint8_t alarm_type; extern double jd,wd; extern int32_t distance; +extern uint8_t userkey_state; +uint8_t gps_timeout_flag; +extern uint8_t GPS_GGAmessage[150]; +uint16_t g_spsum,g_snum,ave_sp; +extern uint8_t GPS_ParseGGA_data[256]; +extern uint8_t GPS_ParseGGA_changdu; +uint8_t uwbsendnum,gpssendnum; + +extern uint8_t exercise_state; +extern uint32_t step_count; +extern uint16_t gaodu;void UDPClient_UploadGPS(HIDO_CHAR *_pcGGA) +{ + if(TCP_CLIENT_STATE_CONNECTED == l_eTCPClientState) + { + + +#ifdef JIBU_XIUMIAN + HIDO_UINT32 u32Len = HIDO_UtilSnprintf((HIDO_CHAR *)l_au8CmdBuff, sizeof(l_au8CmdBuff), "%s,%X,%02x,%x,%d,%d,%d%\r\n", +// _pcGGA, g_com_map[DEV_ID], bat_percent,ave_sp,0,0,0); + _pcGGA, g_com_map[DEV_ID], bat_percent,ave_sp,gaodu,(uint8_t)(step_count),exercise_state); +#else + HIDO_UINT32 u32Len = HIDO_UtilSnprintf((HIDO_CHAR *)l_au8CmdBuff, sizeof(l_au8CmdBuff), "%s,%X,%02x,%x,%d,%d,%d%\r\n", + _pcGGA, g_com_map[DEV_ID], bat_percent,ave_sp,gaodu,0,0); + +#endif + +// if((l_u32UploadBuffLen + u32Len) < sizeof(l_acUploadBuff)) +// { +// memcpy(l_acUploadBuff + l_u32UploadBuffLen, l_au8CmdBuff, u32Len); +// l_u32UploadBuffLen += u32Len; +// } + //memcpy(l_acUploadBuff + l_u32UploadBuffLen, l_au8CmdBuff, u32Len); + //l_u32UploadBuffLen += u32Len; + // if((l_u32UploadBuffLen + u32Len )> sizeof(l_acUploadBuff)) +// if((HIDO_TimerGetTick() - l_u32UdpsendTick) >= 200) + { +// l_u32UdpsendTick = HIDO_TimerGetTick(); + Socket_Send(l_i32TCPClientID, (HIDO_UINT8 *)l_au8CmdBuff, u32Len); + gpssendnum++; +// l_u32UploadBuffLen = 0; + } + + + } +} +char senddata[2048]; +void HexToAsciiSendUDP(uint8_t* data,uint8_t len) +{ + static HIDO_CHAR l_acUploadBuff[2048]; + static HIDO_UINT32 l_u32UploadBuffLen = 0; + static HIDO_UINT32 l_u32UdpsendTick = 0; + uint8_t i,temp; + + for(i=0;i<len;i++) + { + temp = *data++; + sprintf(&senddata[2*i],"%x",temp>>4); + sprintf(&senddata[2*i+1],"%x",temp&0xf); + } + senddata[2*len] = 0x0d; + senddata[2*len+1] = 0x0a; +// if(DBG_GetMode() == DBG_MODE_CFG) +// Uart_Send(0, (HIDO_UINT8 *) senddata, 2*len+2); +// UDPClient_Uploadhex(senddata,2*len+2); + if(TCP_CLIENT_STATE_CONNECTED == l_eTCPClientState) + { + memcpy(l_acUploadBuff + l_u32UploadBuffLen, senddata, 2*len+2); + l_u32UploadBuffLen += 2*len+2; + // if((l_u32UploadBuffLen + u32Len )> sizeof(l_acUploadBuff)) +// if((HIDO_TimerGetTick() - l_u32UdpsendTick) >= 200) +// { +// l_u32UdpsendTick = HIDO_TimerGetTick(); + Socket_Send(l_i32TCPClientID, (HIDO_UINT8 *)l_acUploadBuff, l_u32UploadBuffLen); + uwbsendnum++; + l_u32UploadBuffLen = 0; +// } + + + } +} void TCPHeartBeatUpload(void) { - HIDO_CHAR acHeart[200]; - HIDO_UINT32 u32HeartLen; -// if(alarm_type) -// { -// u32HeartLen = snprintf(acHeart, sizeof(acHeart), "$message,alarm,%04x,%d,%04x,%d,%02u%%,%d,%d,%lf,%lf,%s,%d,%d,0\r\n", \ -// g_com_map[DEV_ID],GetUWBBindState(),g_com_map[BIND_DEV_ID],alarm_type,bat_percent,g_com_map[ALARM_DISTANCE1],g_com_map[ALARM_DISTANCE2],jd,wd,applyid,result,distance); -// } else { -// u32HeartLen = snprintf(acHeart, sizeof(acHeart), "$message,heart,%04x,%d,%04x,%d,%02u%%,%d,%d,%lf,%lf,%s,%d,%d,0\r\n", \ -// g_com_map[DEV_ID],GetUWBBindState(),g_com_map[BIND_DEV_ID],alarm_type,bat_percent,g_com_map[ALARM_DISTANCE1],g_com_map[ALARM_DISTANCE2],jd,wd,applyid,result,distance); -// } - - u32HeartLen = snprintf(acHeart, sizeof(acHeart), "$message,GPS,%04x,%d,%lf,%lf\r\n", \ - g_com_map[DEV_ID],gps_timeout_flag,jd,wd); - - Socket_Send(l_i32TCPClientID, (HIDO_UINT8 *)acHeart, u32HeartLen); + HIDO_UINT32 u32Len = 0; + if(TCP_CLIENT_STATE_CONNECTED == l_eTCPClientState) + { + + if(g_com_map[RTCMMODE_INDEX] == RTCMMODE_TCP) + { u32Len = HIDO_UtilSnprintf((HIDO_CHAR *)l_au8CmdBuff, sizeof(l_au8CmdBuff), "$XTB,%X,%02u%%,%d.%d,%s,%d,3:%d.%d.%d.%d:%d.,1", + g_com_map[DEV_ID], bat_percent, g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff, Module_GetCCID(),\ + userkey_state,g_com_map[TCP_IP_0],g_com_map[TCP_IP_1],g_com_map[TCP_IP_2],g_com_map[TCP_IP_3],g_com_map[TCP_PORT]); + } else if(g_com_map[RTCMMODE_INDEX] == RTCMMODE_NTRIP) + { + u32Len = HIDO_UtilSnprintf((HIDO_CHAR *)l_au8CmdBuff, sizeof(l_au8CmdBuff), "$XTB,%X,%02u%%,%d.%d,%s,%d,2%s %s,1", + g_com_map[DEV_ID], bat_percent, g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff, Module_GetCCID(),\ + userkey_state,(char *)&g_com_map[NTRIP_HOST_INDEX],(char *)&g_com_map[NTRIP_USERNANME_INDEX]); + } else if(g_com_map[RTCMMODE_INDEX] == RTCMMODE_NONE) + { + u32Len = HIDO_UtilSnprintf((HIDO_CHAR *)l_au8CmdBuff, sizeof(l_au8CmdBuff), "$XTB,%X,%02u%%,%d.%d,%s,%d,1.,1", + g_com_map[DEV_ID], bat_percent, g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff, Module_GetCCID(),\ + userkey_state,g_com_map[TCP_IP_0],g_com_map[TCP_IP_1],g_com_map[TCP_IP_2],g_com_map[TCP_IP_3],g_com_map[TCP_PORT]); + } + userkey_state=0; + Socket_Send(l_i32TCPClientID, (HIDO_UINT8 *)l_au8CmdBuff, u32Len); + } +// u32HeartLen = HIDO_UtilSnprintf((HIDO_CHAR *)acHeart, sizeof(acHeart), "$XTB,%X,%02u%%,%d.%d,%s", +// g_com_map[DEV_ID], bat_percent, g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff, Module_GetCCID()); +// Socket_Send(l_i32TCPClientID, (HIDO_UINT8 *)acHeart, u32HeartLen); + + } - void TCPReceiveMessageReply(void) { HIDO_CHAR acHeart[200]; @@ -264,11 +773,12 @@ void _4GAlarmUpload(uint8_t alarm) { alarm_type = alarm; - //TCPHeartBeatUpload(); + TCPHeartBeatUpload(); if(alarm_type == 2) alarm_type = 0; } - +extern uint32_t uwbled,rtkled,led4g,powerled; +extern uint8_t heartbeasend_flag; HIDO_INT32 TCPClient_Poll(void) { if (Internet_IsIPReady() == HIDO_TRUE) @@ -276,14 +786,15 @@ HIDO_UINT32 u32CurTick = HIDO_TimerGetTick(); if (TCP_CLIENT_STATE_IDLE == l_eTCPClientState) { + led4g=RED; if (!TCPfail_flag) { l_eTCPClientState = TCP_CLIENT_STATE_CONNECTING; - HIDO_UtilSnprintf((HIDO_CHAR *) l_au8CmdBuff, sizeof(l_au8CmdBuff), "%u.%u.%u.%u", ip0,ip1, ip2, ip3); + HIDO_UtilSnprintf((HIDO_CHAR *) l_au8CmdBuff, sizeof(l_au8CmdBuff), "%u.%u.%u.%u", g_com_map[IP_0], g_com_map[IP_1], g_com_map[IP_2], g_com_map[IP_3]); - Socket_Connect(l_i32TCPClientID, (HIDO_CHAR *) l_au8CmdBuff, port); + Socket_Connect(l_i32TCPClientID, (HIDO_CHAR *) l_au8CmdBuff, g_com_map[PORT]); // HIDO_UtilSnprintf((HIDO_CHAR *) l_au8CmdBuff, sizeof(l_au8CmdBuff), "123.57.87.125"); // Socket_Connect(l_i32TCPClientID, (HIDO_CHAR *) l_au8CmdBuff, 8888); @@ -303,16 +814,16 @@ } else if (TCP_CLIENT_STATE_CONNECTED == l_eTCPClientState) { - - - - // if ((u32CurTick - l_u32HeartBeatTick) >= HIDO_TIMER_TICK_S(g_com_map[SEND_4G_SECOND])||flag_first_TCPconnect) - if ((u32CurTick - l_u32HeartBeatTick) >= HIDO_TIMER_TICK_S(15)||flag_first_TCPconnect) + led4g=GREEN; + if ((u32CurTick - l_u32HeartBeatTick) >= HIDO_TIMER_TICK_S(60)||flag_first_TCPconnect||heartbeasend_flag) + //if ((u32CurTick - l_u32HeartBeatTick) >= HIDO_TIMER_TICK_S(g_com_map[SEND_4G_SECOND])||flag_first_TCPconnect) { + heartbeasend_flag=0; flag_first_TCPconnect = 0; l_u32HeartBeatTick = u32CurTick; // 这里是自定义心跳 - //TCPHeartBeatUpload(); + TCPHeartBeatUpload(); + //UDPClient_UploadGPS();//先不弄心跳 // HIDO_CHAR acHeart[128]; // HIDO_UINT32 u32HeartLen = snprintf(acHeart, sizeof(acHeart), "$message heart,%04x,00001,1,50,50,50,,,,\r\n", g_com_map[DEV_ID]); // Socket_Send(l_i32TCPClientID, (HIDO_UINT8 *)acHeart, u32HeartLen); @@ -321,6 +832,7 @@ } else { + led4g=RED; l_eTCPClientState = TCP_CLIENT_STATE_IDLE; } @@ -342,7 +854,29 @@ return HIDO_OK; } +HIDO_INT32 TCPClient_Uploadhex(uint8_t *_pcGGA,uint16_t u32Len) +{ + static HIDO_CHAR l_acUploadBuff[1024]; + static HIDO_UINT32 l_u32UploadBuffLen = 0; + static HIDO_UINT32 l_u32UdpsendTick = 0; + + if(TCP_CLIENT_STATE_CONNECTED == l_eTCPClientState) + { + memcpy(l_acUploadBuff + l_u32UploadBuffLen, _pcGGA, u32Len); + l_u32UploadBuffLen += u32Len; + // if((l_u32UploadBuffLen + u32Len )> sizeof(l_acUploadBuff)) + if((HIDO_TimerGetTick() - l_u32UdpsendTick) >= 200) + { + l_u32UdpsendTick = HIDO_TimerGetTick(); + Socket_Send(l_i32TCPClientID, (HIDO_UINT8 *)l_acUploadBuff, l_u32UploadBuffLen); + l_u32UploadBuffLen = 0; + } + + } + + return HIDO_OK; +} HIDO_BOOL TCPClient_IsSendOver(HIDO_VOID) { return Socket_IsSendQueueEmpty(l_i32TCPClientID); @@ -371,17 +905,71 @@ return HIDO_OK; } +#ifdef _4G_115200 +char str[19]= {"AT+IPR=115200;&W\r\n"}; +void AIR780E_Reset(void) +{ + PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);//关闭4G + delay_ms(1500); + PCA9555_Set_One_Value_Output(AIR780E_ENBALE,1);//打开4G + delay_ms(3000); +// Uart_ReConfigBaudRate(UART_ID_4G,115200); +// uart_send(UART_ID0, str,17, NULL); +// Uart_ReConfigBaudRate(UART_ID_4G,9600); +} +void AIR780E_Reset_usart(void) +{ + PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);//关闭4G + delay_ms(1500); + PCA9555_Set_One_Value_Output(AIR780E_ENBALE,1);//打开4G + delay_ms(3000); + Uart_ReConfigBaudRate(UART_ID_4G,9600); + uart_send(UART_ID0, str,19, NULL); + Uart_ReConfigBaudRate(UART_ID_4G,115200); + delay_ms(200); + rtkled=GREEN; + uwbled=GREEN; + led4g=GREEN; + powerled=GREEN; + Set4LEDColor(uwbled,rtkled,led4g,powerled); + PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0); + delay_ms(1500); + PCA9555_Set_One_Value_Output(AIR780E_ENBALE,1); + NVIC_SystemReset(); +} +#else char str[17]= {"AT+IPR=9600;&W\r\n"}; void AIR780E_Reset(void) { - gps_air780_power_change(gps_power_state,0);//开启gps,4G - delay_us(1500000); - gps_air780_power_change(gps_power_state,1);//开启gps,4G -// delay_us(3000000); + PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);//关闭4G + delay_ms(1500); + PCA9555_Set_One_Value_Output(AIR780E_ENBALE,1);//打开4G + delay_ms(3000); // Uart_ReConfigBaudRate(UART_ID_4G,115200); // uart_send(UART_ID0, str,17, NULL); // Uart_ReConfigBaudRate(UART_ID_4G,9600); } +void AIR780E_Reset_usart(void) +{ + PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);//关闭4G + delay_ms(1500); + PCA9555_Set_One_Value_Output(AIR780E_ENBALE,1);//打开4G + delay_ms(3000); + Uart_ReConfigBaudRate(UART_ID_4G,115200); + uart_send(UART_ID0, str,17, NULL); + Uart_ReConfigBaudRate(UART_ID_4G,9600); + delay_ms(200); + rtkled=GREEN; + uwbled=GREEN; + led4g=GREEN; + powerled=GREEN; + Set4LEDColor(uwbled,rtkled,led4g,powerled); + PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0); + delay_ms(1500); + PCA9555_Set_One_Value_Output(AIR780E_ENBALE,1); + NVIC_SystemReset(); +} +#endif uint8_t IfTCPConnected(void) { if(TCP_CLIENT_STATE_CONNECTED == l_eTCPClientState) diff --git a/keil/include/src/TCPClient_1.c b/keil/include/src/TCPClient_1.c index 98847d6..18d8003 100644 --- a/keil/include/src/TCPClient_1.c +++ b/keil/include/src/TCPClient_1.c @@ -34,7 +34,7 @@ TCP_CLIENT_STATE_IDLE, TCP_CLIENT_STATE_CONNECTING, TCP_CLIENT_STATE_CONNECTED, -}E_TCPClientState; +} E_TCPClientState; /******************************************************************************* * Local Variable * @@ -65,16 +65,16 @@ //uint16_t ceshichangdu; static HIDO_INT32 TCPClient_DataProc(HIDO_UINT8 *_u8Data, HIDO_UINT32 _u32Len) { - + l_u32HeartBeatTick = HIDO_TimerGetTick(); // memcpy(ceshidata,_u8Data,_u32Len); // ceshichangdu=_u32Len; if(_u32Len!=0) - if(uart_send(UART_ID1, _u8Data, _u32Len,NULL) != HIDO_OK) - { - HIDO_Debug("RTK Data Send Error\r\n"); - } - + if(uart_send(UART_ID1, _u8Data, _u32Len,NULL) != HIDO_OK) + { + HIDO_Debug("RTK Data Send Error\r\n"); + } + HIDO_Debug("%uB RTK Data Sent\r\n", _u32Len); return HIDO_OK; @@ -93,44 +93,44 @@ { switch(_eEvent) { - case SOCKET_EVENT_CONNECT_FAILED: - { - if(l_eTCPClientState == TCP_CLIENT_STATE_CONNECTING) - { - l_eTCPClientState = TCP_CLIENT_STATE_IDLE; - } - - break; - } - case SOCKET_EVENT_CONNECTED: - { - if(l_eTCPClientState == TCP_CLIENT_STATE_CONNECTING) - { - l_eTCPClientState = TCP_CLIENT_STATE_CONNECTED; - } - break; - } - case SOCKET_EVENT_CLOSED: + case SOCKET_EVENT_CONNECT_FAILED: + { + if(l_eTCPClientState == TCP_CLIENT_STATE_CONNECTING) { l_eTCPClientState = TCP_CLIENT_STATE_IDLE; - break; } - case SOCKET_EVENT_RECV_DATA: - { - HIDO_INT32 i32Ret = 0; - HIDO_UINT32 u32RecvLen = 0; - i32Ret = Socket_Recv(l_i32TCPClientID, l_au8CmdBuff, sizeof(l_au8CmdBuff) - 1, &u32RecvLen); - if(HIDO_OK == i32Ret) - { - TCPClient_DataProc(l_au8CmdBuff, u32RecvLen); - } - break; - } - default: + break; + } + case SOCKET_EVENT_CONNECTED: + { + if(l_eTCPClientState == TCP_CLIENT_STATE_CONNECTING) { - break; + l_eTCPClientState = TCP_CLIENT_STATE_CONNECTED; } + break; + } + case SOCKET_EVENT_CLOSED: + { + l_eTCPClientState = TCP_CLIENT_STATE_IDLE; + break; + } + case SOCKET_EVENT_RECV_DATA: + { + HIDO_INT32 i32Ret = 0; + HIDO_UINT32 u32RecvLen = 0; + + i32Ret = Socket_Recv(l_i32TCPClientID, l_au8CmdBuff, sizeof(l_au8CmdBuff) - 1, &u32RecvLen); + if(HIDO_OK == i32Ret) + { + TCPClient_DataProc(l_au8CmdBuff, u32RecvLen); + } + break; + } + default: + { + break; + } } } @@ -160,7 +160,7 @@ l_eTCPClientState = TCP_CLIENT_STATE_CONNECTING; HIDO_UtilSnprintf((HIDO_CHAR *) l_au8CmdBuff, sizeof(l_au8CmdBuff), "%u.%u.%u.%u", g_com_map[TCP_IP_0], - g_com_map[TCP_IP_1], g_com_map[TCP_IP_2], g_com_map[TCP_IP_3]); + g_com_map[TCP_IP_1], g_com_map[TCP_IP_2], g_com_map[TCP_IP_3]); Socket_Connect(l_i32TCPClientID, (HIDO_CHAR *) l_au8CmdBuff, g_com_map[TCP_PORT]); } diff --git a/keil/include/src/gps.c.orig b/keil/include/src/gps.c.orig index e02ad9f..f57d7f3 100644 --- a/keil/include/src/gps.c.orig +++ b/keil/include/src/gps.c.orig @@ -1,112 +1,882 @@ -#include "board.h" -#include "TCPClient.h" -#include "global_param.h" -#define GPS_OPEN_TIME_OUT 240 -#define GPS_RESTART_TIME1 1200 -#define GPS_RESTART_TIME2 120 -#define GPS_RESTART_TIME3 60 -#define GPS_OPEN_TIME_OUT1 600 -extern uint16_t gps_wait_count; -uint8_t gps_power_state,gps_uwb_flag,gps_4g_flag,gps_timeout_flag,gps_need_data_flag = 1,gps_1h_open_flag=1; -extern uint8_t air780_success_state; -extern HIDO_INT32 l_i32TCPClientID; -extern double jd,wd; -void GPS_Poll(void) +#include "stdio.h" +#include "stdarg.h" +#include "stdlib.h" +#include "string.h" +//#include "stm32l0xx_hal.h" +#include "math.h" +#include "HIDO_Util.h" +#include "HIDO_Debug.h" +#include "HIDO_Timer.h" +#include "DBG.h" +#include "GPS.h" +//#include "GPIO.h" +#include "Uart.h" +#include "WS2812.h" +#define GPS_DBG(level, fmt, ...) HIDO_Debug(fmt, __VA_ARGS__) +#include <global_param.h> +#define GPS_UART_RX_BUF_SIZE 1000 +#define GPS_UART_TX_BUF_SIZE (4) + +typedef enum { + GPS_RECV_STATE_IDLE = 0, + GPS_RECV_STATE_HEAD, + GPS_RECV_STATE_CR, + GPS_RECV_STATE_LF, +} E_GPSRecvState; - if(gps_4g_flag||gps_uwb_flag) { - gps_power_state = 1; //打开GPS电源 - if(!gps_timeout_flag) { - if(gps_need_data_flag) { - gps_wait_count++; - if(gps_wait_count>=GPS_OPEN_TIME_OUT) { //超时切换工作状态 - gps_timeout_flag=1;//串口添加改变timeout逻辑 - gps_wait_count=0; - gps_need_data_flag=0;//切换为关闭模式 - } - } else { - gps_wait_count++; - gps_power_state=0;//关闭GPS - if(gps_wait_count>GPS_RESTART_TIME2) { - gps_power_state=1;//开启GPS - gps_need_data_flag=1; - gps_wait_count=0; - } - } - } else { //超时工作状态 - if(gps_need_data_flag) { - gps_wait_count++; - if(gps_wait_count>=GPS_OPEN_TIME_OUT) { //超时切换工作状态 - gps_timeout_flag=1; - gps_need_data_flag=0; - gps_wait_count=0; - } - } else { - gps_wait_count++; - gps_power_state=0;//关闭GPS - if(gps_wait_count>GPS_RESTART_TIME1) { - gps_power_state=1;//开启GPS - gps_need_data_flag=1; - gps_wait_count=0; - } - } - - } - } else { - gps_power_state=0;//关闭gps - gps_wait_count=0; - gps_timeout_flag=0; - gps_need_data_flag=1; - } -} - - -void GPS_Poll_1h(void) +typedef struct { + E_GPSRecvState m_eState; + HIDO_CHAR m_acRecvBuf[128]; + HIDO_UINT32 m_u32RecvLen; +} ST_GPSRecv; - if(gps_1h_open_flag) { - - if(gps_need_data_flag) { - gps_power_state = 1; //打开GPS电源 - air780_success_state=1;//4G亮起 - gps_wait_count++; - if(gps_wait_count>=GPS_OPEN_TIME_OUT1) { //超时切换工作状态 - gps_timeout_flag=1;//串口添加改变timeout逻辑 - gps_wait_count=0; - gps_need_data_flag=0;//切换为关闭模式 - TCPHeartBeatUpload();//上传GPS超时无效数据 - } - } else { - gps_wait_count++; - gps_power_state=0;//关闭GPS - air780_success_state=0;//关闭gps1234 - if(gps_wait_count>GPS_RESTART_TIME3) { - gps_power_state=1;//开启GPS - gps_need_data_flag=1; - gps_wait_count=0; - } - } - } else { - gps_power_state=0;//关闭gps - gps_wait_count=0; - gps_timeout_flag=0; - gps_need_data_flag=1; - } -} -void GpsConrol(uint8_t flag_4g_uwb,uint8_t open_close) +static HIDO_UINT8 l_au8GPSUartRxBuf[GPS_UART_RX_BUF_SIZE]; +static HIDO_UINT8 l_au8GPSUartTxBuf[GPS_UART_TX_BUF_SIZE]; + +//static ST_GPIO l_astGPSPin[GPS_PIN_LAST]; +static HIDO_BOOL l_bIsPowerOn = HIDO_FALSE; +static ST_GPSRecv l_stGPSRecv; +static FN_GPSEventCallback l_fnGPSEventCallback; +ST_GPS l_stGPS; +static HIDO_UINT8 l_u8PosState = 0; +/******************************************************************************* + * Function Name : GPS_AddHours + * Description : + * Input : + * Output : + * Return : + * Author : wx:duj_an + * Modified Date: : 2021年1月8日 + *******************************************************************************/ +static void GPS_AddHours(ST_GPS *_pstGPS, HIDO_UINT32 _u32Hours) { - if(gps_4g_flag==0&&gps_uwb_flag==0) - if(open_close) - { - gps_wait_count = 0; - gps_need_data_flag = 1; - gps_timeout_flag = 0; - } - if(flag_4g_uwb) + _pstGPS->m_u8Hour += _u32Hours; + if (_pstGPS->m_u8Hour >= 24) { - gps_4g_flag = open_close; - } else { - gps_uwb_flag = open_close; + _pstGPS->m_u8Hour -= 24; + _pstGPS->m_u8Day++; + switch (_pstGPS->m_u8Mon) + { + case 1: + case 3: + case 5: + case 7: + case 8: + case 10: + if (_pstGPS->m_u8Day > 31) + { + _pstGPS->m_u8Day = 1; + _pstGPS->m_u8Mon++; + } + break; + case 2: + if (0 == (_pstGPS->m_u16Year % 4)) + { + if (_pstGPS->m_u8Day > 29) + { + _pstGPS->m_u8Day = 1; + _pstGPS->m_u8Mon++; + } + } + else + { + if (_pstGPS->m_u8Day > 28) + { + _pstGPS->m_u8Day = 1; + _pstGPS->m_u8Mon++; + } + } + break; + case 4: + case 6: + case 9: + case 11: + if (_pstGPS->m_u8Day > 30) + { + _pstGPS->m_u8Day = 1; + _pstGPS->m_u8Mon++; + } + break; + case 12: + if (_pstGPS->m_u8Day > 31) + { + _pstGPS->m_u8Day = 1; + _pstGPS->m_u8Mon = 1; + _pstGPS->m_u16Year++; + } + break; + } + } +} + +/******************************************************************************* + * Function Name : GPS_ParseDate + * Description : + * Input : + * Output : + * Return : + * Author : wx:duj_an + * Modified Date: : 2021年1月8日 + *******************************************************************************/ +static HIDO_INT32 GPS_ParseDate(HIDO_DataStruct *_pstDateData, ST_GPS *_pstGPS) +{ + HIDO_UINT32 u32Len = _pstDateData->m_u32Len; + HIDO_CHAR *pcStart = (HIDO_CHAR *)_pstDateData->m_pData; + + if (u32Len != 6) + { + return HIDO_ERR; } -} \ No newline at end of file + _pstGPS->m_u8Day = HIDO_UtilStrBufToInt(pcStart, 2); + _pstGPS->m_u8Mon = HIDO_UtilStrBufToInt(pcStart + 2, 2); + _pstGPS->m_u16Year = HIDO_UtilStrBufToInt(pcStart + 4, 2) + 2000; + + return HIDO_OK; +} + +/******************************************************************************* + * Function Name : GPS_ParseState + * Description : + * Input : + * Output : + * Return : + * Author : wx:duj_an + * Modified Date: : 2021年1月8日 + *******************************************************************************/ +static HIDO_INT32 GPS_ParseState(HIDO_DataStruct *_pstStateData, ST_GPS *_pstGPS) +{ + HIDO_UINT32 u32Len = _pstStateData->m_u32Len; + HIDO_CHAR *pcStart = (HIDO_CHAR *) _pstStateData->m_pData; + + if (u32Len != 1) + { + return HIDO_ERR; + } + + if(pcStart[0] == 'A') + { + _pstGPS->m_eState = GPS_STATE_VALID; + } + else + { + _pstGPS->m_eState = GPS_STATE_INVALID; + } + + return HIDO_OK; +} + +/******************************************************************************* + * Function Name : GPS_ParseTime + * Description : + * Input : + * Output : + * Return : + * Author : wx:duj_an + *******************************************************************************/ +static HIDO_INT32 GPS_ParseTime(HIDO_DataStruct *_pstTimeData, ST_GPS *_pstGPS) +{ + HIDO_UINT32 u32Len = _pstTimeData->m_u32Len; + HIDO_CHAR *pcStart = (HIDO_CHAR *) _pstTimeData->m_pData; + HIDO_CHAR *pcDot = NULL; + + pcDot = HIDO_UtilStrnchr(pcStart, '.', u32Len); + if (NULL == pcDot) + { + return HIDO_ERR; + } + + if ((pcDot - pcStart) != 6) + { + return HIDO_ERR; + } + + _pstGPS->m_u8Hour = HIDO_UtilStrBufToInt(pcStart, 2); + _pstGPS->m_u8Min = HIDO_UtilStrBufToInt(pcStart + 2, 2); + _pstGPS->m_u8Sec = HIDO_UtilStrBufToInt(pcStart + 4, 2); + + return HIDO_OK; +} + +/******************************************************************************* + * Function Name : GPS_ParseLat + * Description : + * Input : + * Output : + * Return : + * Author : wx:duj_an + *******************************************************************************/ +static HIDO_INT32 GPS_ParseLat(HIDO_DataStruct *_pstLatData, ST_GPS *_pstGPS) +{ + HIDO_UINT32 u32Len = _pstLatData->m_u32Len; + HIDO_CHAR *pcStart = (HIDO_CHAR *) _pstLatData->m_pData; + HIDO_CHAR *pcDot = NULL; + HIDO_UINT32 u32TempLen = 0; + double dd; + double mmmm; + double mm; + + if (u32Len < 9) + { + return HIDO_ERR; + } + + pcDot = HIDO_UtilStrnchr(pcStart, '.', u32Len); + if (NULL == pcDot || (pcDot - pcStart) != 4) + { + return HIDO_ERR; + } + + dd = HIDO_UtilStrBufToInt(pcStart, 2); + mm = HIDO_UtilStrBufToInt(pcStart + 2, 2); + u32TempLen = u32Len - (pcDot + 1 - pcStart); + mmmm = HIDO_UtilStrBufToInt(pcDot + 1, u32TempLen); + while(u32TempLen != 0) + { + mmmm /= 10.0; + u32TempLen--; + } + + mm = mm + mmmm; + _pstGPS->m_dLat = dd + (mm / 60.0); + + return HIDO_OK; +} + +/******************************************************************************* + * Function Name : GPS_ParseLon + * Description : + * Input : + * Output : + * Return : + * Author : wx:duj_an + *******************************************************************************/ +static HIDO_INT32 GPS_ParseLon(HIDO_DataStruct *_pstLonData, ST_GPS *_pstGPS) +{ + HIDO_UINT32 u32Len = _pstLonData->m_u32Len; + HIDO_CHAR *pcStart = (HIDO_CHAR *) _pstLonData->m_pData; + HIDO_CHAR *pcDot = NULL; + HIDO_UINT32 u32TempLen = 0; + double ddd; + double mmmm; + double mm; + + if (u32Len < 10) + { + return HIDO_ERR; + } + + pcDot = HIDO_UtilStrnchr(pcStart, '.', u32Len); + if (NULL == pcDot || (pcDot - pcStart) != 5) + { + return HIDO_ERR; + } + + ddd = HIDO_UtilStrBufToInt(pcStart, 3); + mm = HIDO_UtilStrBufToInt(pcStart + 3, 2); + u32TempLen = u32Len - (pcDot + 1 - pcStart); + mmmm = HIDO_UtilStrBufToInt(pcDot + 1, u32TempLen); + while(u32TempLen != 0) + { + mmmm /= 10.0; + u32TempLen--; + } + + mm = mm + mmmm; + _pstGPS->m_dLon = ddd + (mm / 60.0); + + return HIDO_OK; +} + +/******************************************************************************* + * Function Name : GPS_ParseDir + * Description : + * Input : + * Output : + * Return : + * Author : wx:duj_an + *******************************************************************************/ +static HIDO_INT32 GPS_ParseDir(HIDO_DataStruct *_pstDirData, ST_GPS *_pstGPS) +{ + HIDO_UINT32 u32Len = _pstDirData->m_u32Len; + HIDO_CHAR *pcStart = (HIDO_CHAR *) _pstDirData->m_pData; + HIDO_CHAR *pcDot = NULL; + + if (u32Len >= 1) + { + pcDot = HIDO_UtilStrnchr(pcStart, '.', u32Len); + if (pcDot) + { + _pstGPS->m_u16Dir = HIDO_UtilStrBufToInt(pcStart, pcDot - pcStart); + } + else + { + _pstGPS->m_u16Dir = HIDO_UtilStrBufToInt(pcStart, u32Len); + } + } + else + { + _pstGPS->m_u16Dir = 0; + } + + return HIDO_OK; +} + +/******************************************************************************* + * Function Name : GPS_ParseLatSign + * Description : + * Input : + * Output : + * Return : + * Author : wx:duj_an + *******************************************************************************/ +static HIDO_INT32 GPS_ParseLatSign(HIDO_DataStruct *_pstLatSignData, ST_GPS *_pstGPS) +{ + HIDO_UINT32 u32Len = _pstLatSignData->m_u32Len; + HIDO_CHAR *pcStart = (HIDO_CHAR *) _pstLatSignData->m_pData; + + if (u32Len > 1) + { + return HIDO_ERR; + } + + if (0 == u32Len) + { + return HIDO_OK; + } + else + { + if (pcStart[0] == 'S') + { + _pstGPS->m_dLat = -_pstGPS->m_dLat; + } + } + + return HIDO_OK; +} + +/******************************************************************************* + * Function Name : GPS_ParseLonSign + * Description : + * Input : + * Output : + * Return : + * Author : wx:duj_an + *******************************************************************************/ +static HIDO_INT32 GPS_ParseLonSign(HIDO_DataStruct *_pstLonSignData, ST_GPS *_pstGPS) +{ + HIDO_UINT32 u32Len = _pstLonSignData->m_u32Len; + HIDO_CHAR *pcStart = (HIDO_CHAR *) _pstLonSignData->m_pData; + + if (u32Len > 1) + { + return HIDO_ERR; + } + + if (0 == u32Len) + { + return HIDO_OK; + } + else + { + if (pcStart[0] == 'W') + { + _pstGPS->m_dLon = -_pstGPS->m_dLon; + } + } + + return HIDO_OK; +} + +/******************************************************************************* + * Function Name : GPS_ParseSpeed + * Description : + * Input : + * Output : + * Return : + * Author : wx:duj_an + *******************************************************************************/ +static HIDO_INT32 GPS_ParseSpeed(HIDO_DataStruct *_pstSpeedData, ST_GPS *_pstGPS) +{ + HIDO_UINT32 u32Len = _pstSpeedData->m_u32Len; + HIDO_CHAR *pcStart = (HIDO_CHAR *) _pstSpeedData->m_pData; + HIDO_CHAR acSpeed[10]; + + if (u32Len >= 10) + { + return HIDO_ERR; + } + + if (u32Len >= 1) + { + memcpy(acSpeed, pcStart, u32Len); + acSpeed[u32Len] = 0; + _pstGPS->m_u16Speed = atof(acSpeed) * 1.852; + } + else + { + _pstGPS->m_u16Speed = 0; + } + + return HIDO_OK; +} + +/******************************************************************************* + * Function Name : GPS_DataCheck + * Description : GPS数据格式检查 + * Input : _pcData GPS数据 + * : _u32Len GPS数据长度 + * Output : None + * Return : HIDO_OK 成功, HIDO_ERR 失败 + * Author : hido.ltd + * Modified Date: : 2021年5月07日 + *******************************************************************************/ +static HIDO_INT32 GPS_DataCheck(HIDO_CHAR *_pcData, HIDO_UINT32 _u32Len) +{ + HIDO_DataStruct stData; + HIDO_DataStruct stCheckValue; + HIDO_UINT8 u8CheckValue = 0; + HIDO_UINT8 u8CalcValue = 0; + HIDO_UINT32 i = 0; + + if(HIDO_UtilParseFormat((HIDO_UINT8 *)_pcData, _u32Len, "$%p*%p\r\n", &stData, &stCheckValue) != 2) + { + return HIDO_ERR; + } + + u8CheckValue = HIDO_UtilHexStrBufToInt((HIDO_CHAR *)stCheckValue.m_pData, stCheckValue.m_u32Len); + u8CalcValue = ((HIDO_UINT8 *)stData.m_pData)[0]; + for(i = 1; i < stData.m_u32Len; i++) + { + u8CalcValue ^= ((HIDO_UINT8 *)stData.m_pData)[i]; + } + + if(u8CalcValue != u8CheckValue) + { + return HIDO_ERR; + } + + return HIDO_OK; +} + +/******************************************************************************* + * Function Name : GPS_ParseGGA + * Description : GPS GGA数据解析(仅检查数据是否有效) + * Input : _pcData GGA数据 + * : _u32Len GGA数据长度 + * Output : None + * Return : HIDO_OK 成功, HIDO_ERR 失败 + * Author : hido.ltd + * Modified Date: : 2021年5月07日 + *******************************************************************************/ +uint8_t GPS_data[100]; +uint8_t GPS_successful_flag; +extern uint32_t uwbled,rtkled,led4g,powerled; +uint8_t jinru_parsegga_flag; +uint8_t fangchai_flag; +uint8_t GPS_ParseGGA_data[256]; +uint8_t GPS_ParseGGA_changdu; +uint8_t YUANGPS_ParseGGA_data[256]; +uint8_t YUANGPS_ParseGGA_changdu; +//extern uint16_t g_com_map[256]; +extern uint8_t bat_percent; +uint8_t gpsbaoxu; +extern uint8_t gps_ntripsend; +//static HIDO_UINT8 l_u8GPSBuff[512]; +//static HIDO_UINT32 l_u8GPSLen = 0; +//static HIDO_UINT32 l_u8GPSRecvTick = 0; +uint8_t gps_error1,gps_error2; +static HIDO_INT32 GPS_ParseGGA(HIDO_CHAR *_pcData, HIDO_UINT32 _u32Len) +{ + ST_GPS stGPS; + HIDO_DataStruct stPosState; + + memset(&stGPS, 0, sizeof(ST_GPS)); + if (GPS_DataCheck(_pcData, _u32Len) != HIDO_OK) + { + gps_error1++; + return HIDO_ERR; + } + + if (HIDO_UtilParseFormat((HIDO_UINT8 *) _pcData, _u32Len, "$%*,%*,%*,%*,%*,%*,%p,%*,%*,%*,%*,%*,%*,%*,%**", &stPosState) != 15) + { + gps_error2++; + return HIDO_ERR; + } + + l_u8PosState = atoi((HIDO_CHAR *)stPosState.m_pData); + + return HIDO_OK; +} + + +/******************************************************************************* + * Function Name : GPS_ParseRMC + * Description : + * Input : + * Output : + * Return : + * Author : wx:duj_an + *******************************************************************************/ +HIDO_INT32 GPS_ParseRMC(HIDO_CHAR *_pcData, HIDO_UINT32 _u32Len) +{ + HIDO_DataStruct stTimeData; + HIDO_DataStruct stStateData; + HIDO_DataStruct stLatData; + HIDO_DataStruct stLatSignData; + HIDO_DataStruct stLonData; + HIDO_DataStruct stLonSignData; + HIDO_DataStruct stSpeedData; + HIDO_DataStruct stDirData; + HIDO_DataStruct stDateData; + ST_GPS *_pstGPS = &l_stGPS; + + if(NULL == _pstGPS) + { + return HIDO_ERR; + } + + if (GPS_DataCheck(_pcData, _u32Len) != HIDO_OK) + { + _pstGPS->m_eState = GPS_STATE_INVALID; + return HIDO_ERR; + } + + if (HIDO_UtilParseFormat((HIDO_UINT8 *) _pcData, _u32Len, "$%*,%p,%p,%p,%p,%p,%p,%p,%p,%p,%*,%*,%**", &stTimeData, &stStateData, + &stLatData, &stLatSignData, &stLonData, &stLonSignData, &stSpeedData, &stDirData, &stDateData) != 13) + { + return HIDO_ERR; + } + + if (GPS_ParseState(&stStateData, _pstGPS) != HIDO_OK) + { + return HIDO_ERR; + } + + if (_pstGPS->m_eState != GPS_STATE_VALID) + { + return HIDO_OK; + } + + if (GPS_ParseTime(&stTimeData, _pstGPS) != HIDO_OK) + { + return HIDO_ERR; + } + + if (GPS_ParseDate(&stDateData, _pstGPS) != HIDO_OK) + { + return HIDO_ERR; + } + + if (GPS_ParseLat(&stLatData, _pstGPS) != HIDO_OK) + { + return HIDO_ERR; + } + + if (GPS_ParseLon(&stLonData, _pstGPS) != HIDO_OK) + { + return HIDO_ERR; + } + + if (GPS_ParseSpeed(&stSpeedData, _pstGPS) != HIDO_OK) + { + return HIDO_ERR; + } + + if (GPS_ParseDir(&stDirData, _pstGPS) != HIDO_OK) + { + return HIDO_ERR; + } + + if (GPS_ParseLatSign(&stLatSignData, _pstGPS) != HIDO_OK) + { + return HIDO_ERR; + } + + if (GPS_ParseLonSign(&stLonSignData, _pstGPS) != HIDO_OK) + { + return HIDO_ERR; + } + + GPS_AddHours(_pstGPS, 8); + + return HIDO_OK; +} + +/******************************************************************************* + * Function Name : GPS_RecvFsm + * Description : GPS 数据接收状态机 + * Input : _u8RecvChar 一个接收字符 + * Output : None + * Return : one + * Author : hido.ltd + * Modified Date: : 2021年5月07日 + *******************************************************************************/ +extern uint8_t GPS_UPLOAD_FLAG; +uint16_t GPS_UPload_sleep_flag=0; +uint8_t gpserror; +HIDO_VOID GPS_RecvFsm(HIDO_UINT8 _u8RecvChar) +{ + switch (l_stGPSRecv.m_eState) + { + case GPS_RECV_STATE_IDLE: + { + if ('$' == _u8RecvChar) + { + l_stGPSRecv.m_eState = GPS_RECV_STATE_CR; + l_stGPSRecv.m_u32RecvLen = 0; + l_stGPSRecv.m_acRecvBuf[l_stGPSRecv.m_u32RecvLen++] = _u8RecvChar; + } + break; + } + case GPS_RECV_STATE_CR: + { + l_stGPSRecv.m_acRecvBuf[l_stGPSRecv.m_u32RecvLen++] = _u8RecvChar; + + if (l_stGPSRecv.m_u32RecvLen >= (sizeof(l_stGPSRecv.m_acRecvBuf) - 2)) + { + l_stGPSRecv.m_eState = GPS_RECV_STATE_IDLE; + break; + } + + if ('\r' == _u8RecvChar) + { + l_stGPSRecv.m_eState = GPS_RECV_STATE_LF; + } + + break; + } + case GPS_RECV_STATE_LF: + { + if ('\n' == _u8RecvChar) + { + l_stGPSRecv.m_acRecvBuf[l_stGPSRecv.m_u32RecvLen++] = _u8RecvChar; + l_stGPSRecv.m_acRecvBuf[l_stGPSRecv.m_u32RecvLen] = '\0'; +// l_stGPSRecv.m_acRecvBuf[l_stGPSRecv.m_u32RecvLen - 2] = '\0'; +// UDPClient_UploadGPS(l_stGPSRecv.m_acRecvBuf); + if(strstr(l_stGPSRecv.m_acRecvBuf, "GGA,") != HIDO_NULL) + { + GPS_ParseGGA(l_stGPSRecv.m_acRecvBuf, l_stGPSRecv.m_u32RecvLen); + l_stGPSRecv.m_acRecvBuf[l_stGPSRecv.m_u32RecvLen - 2] = '\0'; +// #ifdef UWB_CG + if(g_com_map[GPSENBLE]==0) + { +// UDPClient_UploadGPS(l_stGPSRecv.m_acRecvBuf); + } + else if(g_com_map[GPSENBLE]&&g_com_map[GPSFrequency]==1) + { + if (l_u8PosState >= 1) + { + UDPClient_UploadGPS(l_stGPSRecv.m_acRecvBuf); // + } + else if (l_u8PosState == 0) + { + if (++GPS_UPload_sleep_flag >= 60) + { + UDPClient_UploadGPS(l_stGPSRecv.m_acRecvBuf); + GPS_UPload_sleep_flag = 0; + } + } + } + else if(g_com_map[GPSENBLE]) + { + if (l_u8PosState >= 1) + { + if (++GPS_UPLOAD_FLAG >= g_com_map[GPSFrequency]) + { + UDPClient_UploadGPS(l_stGPSRecv.m_acRecvBuf); + GPS_UPLOAD_FLAG = 0; + } + } + else if (l_u8PosState == 0) + { + if (++GPS_UPload_sleep_flag >= 60) + { + UDPClient_UploadGPS(l_stGPSRecv.m_acRecvBuf); + GPS_UPload_sleep_flag = 0; + } + } + } + switch(l_u8PosState) + { + case 0: + rtkled = RED; + break; + case 1: + rtkled = BLUE; + break; + case 2: + rtkled = BLUE+GREEN; + break; + case 4: + rtkled = GREEN; + break; + case 5: + rtkled = YELLOW; + break; + default: + rtkled = WHITE; + break; + } + } + + else //if(strstr(l_stGPSRecv.m_acRecvBuf, "RMC,") != HIDO_NULL) + { + gpserror++; + } + } + + l_stGPSRecv.m_eState = GPS_RECV_STATE_IDLE; + break; + } + default: + { + break; + } + } +} + +/******************************************************************************* + * Function Name : GPS_Rest + * Description : GPS复位 + * Input : None + * Output : None + * Return : None + * Author : hido.ltd + * Modified Date: : 2021年1月8日 + *******************************************************************************/ +//static HIDO_VOID GPS_Rest(void) +//{ +// GPIO_SET(&l_astGPSPin[GPS_PIN_REST]); +// HAL_Delay(10); +// GPIO_RESET(&l_astGPSPin[GPS_PIN_REST]); +// HAL_Delay(10); +// GPIO_SET(&l_astGPSPin[GPS_PIN_REST]); +//} + +/******************************************************************************* + * Function Name : GPS_Powe.\Objects\uwb_simple_example.axf: Error: L6218E: Undefined symbol gps_power_state (referred from sn74hc595.o).rOn + * Description : GPS上电 + * Input : None + * Output : None + * Return : None + * Author : hido.ltd + * Modified Date: : 2021年1月8日 + *******************************************************************************/ +//HIDO_VOID GPS_PowerOn(void) +//{ +// l_bIsPowerOn = HIDO_TRUE; +//// GPIO_RESET(&l_astGPSPin[GPS_PIN_EN]); +// HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, GPIO_PIN_SET); +//} + +/******************************************************************************* + * Function Name : GPS_PowerOff + * Description : GPS掉电 + * Input : None + * Output : None + * Return : None + * Author : hido.ltd + * Modified Date: : 2021年1月8日 + *******************************************************************************/ +//HIDO_VOID GPS_PowerOff(void) +//{ +// l_bIsPowerOn = HIDO_FALSE; +//// GPIO_RESET(&l_astGPSPin[GPS_PIN_EN]); +// HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, GPIO_PIN_RESET); +//} + +/******************************************************************************* + * Global Function * + *******************************************************************************/ + +/******************************************************************************* + * Function Name : GPS_PinRegister + * Description : GPS模块管脚注册 + * Input : _ePin 管脚定义 + * : _pstGPIOx GPIOx + * : _u16GPIOPin GPIO_PIN_x + * Output : None + * Return : None + * Author : hido.ltd + * Modified Date: : 2021年1月8日 + *******************************************************************************/ +//HIDO_VOID GPS_PinRegister(E_GPSPin _ePin, GPIO_TypeDef* _pstGPIOx, HIDO_UINT16 _u16GPIOPin) +//{ +// l_astGPSPin[_ePin].m_pstGPIOx = _pstGPIOx; +// l_astGPSPin[_ePin].m_u16GPIOPin = _u16GPIOPin; +//} + +/******************************************************************************* + * Function Name : GPS_Poll + * Description : GPS轮询处理 + * Input : None + * Output : None + * Return : None + * Author : hido.ltd + *******************************************************************************/ +HIDO_VOID GPS_Poll(void) +{ + HIDO_UINT8 u8RecvChar = 0; + + while (Uart_GetChar(UART_ID_DBG_GPS, &u8RecvChar) == HIDO_OK) + { + GPS_RecvFsm(u8RecvChar); + } +} + +/******************************************************************************* + * Function Name : GPS_SetEventCallback + * Description : GPS设置GPS事件回调 + * Input : None + * Output : None + * Return : None + * Author : hido.ltd + *******************************************************************************/ +HIDO_VOID GPS_SetEventCallback(FN_GPSEventCallback _fnEventCallback) +{ + l_fnGPSEventCallback = _fnEventCallback; +} + +/******************************************************************************* + * Function Name : GPS_IsIdle + * Description : GPS轮询处理 + * Input : None + * Output : None + * Return : None + * Author : hido.ltd + *******************************************************************************/ +HIDO_BOOL GPS_IsIdle(void) +{ + if(l_bIsPowerOn) + { + return HIDO_FALSE; + } + + return HIDO_TRUE; +} + +/******************************************************************************* + * Function Name : GPS_Init + * Description : GPS模块初始化 + * Input : None + * Output : None + * Return : None + * Author : hido.ltd + *******************************************************************************/ +HIDO_VOID GPS_Init(void) +{ + char str[19]= {"$POLCFGMSG,0,2,0\r\n"}; +// GPS_PowerOn(); +// GPS_Rest(); + uart_send(UART_ID1, str,19, NULL); + delay_ms(10); + sprintf(str,"$POLCFGMSG,0,1,0\r\n"); + uart_send(UART_ID1, str,19, NULL); + delay_ms(10); + sprintf(str,"$POLCFGSAVE\r\n"); + uart_send(UART_ID1, str,19, NULL); + delay_ms(10); +} diff --git a/keil/uwb_simple_example.uvguix.zhyin b/keil/uwb_simple_example.uvguix.zhyin index 9a65894..53a39ce 100644 --- a/keil/uwb_simple_example.uvguix.zhyin +++ b/keil/uwb_simple_example.uvguix.zhyin @@ -15,17 +15,17 @@ <View> <WinId>38003</WinId> <ViewName>Registers</ViewName> - <TableColWidths>138 122</TableColWidths> + <TableColWidths>138 139</TableColWidths> </View> <View> <WinId>346</WinId> <ViewName>Code Coverage</ViewName> - <TableColWidths>770 486</TableColWidths> + <TableColWidths>770 160</TableColWidths> </View> <View> <WinId>204</WinId> <ViewName>Performance Analyzer</ViewName> - <TableColWidths>878 139 139 100</TableColWidths> + <TableColWidths>930</TableColWidths> </View> </SECTreeCtrl> @@ -110,8 +110,8 @@ <MDIClientArea> <RegID>0</RegID> <MDITabState> - <Len>383</Len> - <Data>0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000300000001000000010000002D453A5C4749545C4368696E6155574250726F6A6563745C6B65696C5C696E636C7564655C7372635C4750532E6300000000054750532E6300000000C1838300FFFFFFFF2F453A5C4749545C4368696E6155574250726F6A6563745C6B65696C5C696E636C7564655C6D61696E5C6D61696E2E6300000000066D61696E2E6300000000FFDC7800FFFFFFFF31453A5C4749545C4368696E6155574250726F6A6563745C6B65696C5C696E636C7564655C647269766572735C4442472E6300000000054442472E6300000000BECEA100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD50001000000000000000200000023010000660000000006000040020000</Data> + <Len>1108</Len> + <Data>0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000C0000000B000000010000002D453A5C4749545C4368696E6155574250726F6A6563745C6B65696C5C696E636C7564655C7372635C4750532E6300000000054750532E6300000000C5D4F200FFFFFFFF2F453A5C4749545C4368696E6155574250726F6A6563745C6B65696C5C696E636C7564655C6D61696E5C6D61696E2E6300000000066D61696E2E6300000000FFDC7800FFFFFFFF31453A5C4749545C4368696E6155574250726F6A6563745C6B65696C5C696E636C7564655C647269766572735C4442472E6300000000054442472E6300000000BECEA100FFFFFFFF35453A5C4749545C4368696E6155574250726F6A6563745C6B65696C5C696E636C7564655C647269766572735C504341393535352E630000000009504341393535352E6300000000F0A0A100FFFFFFFF24453A5C4749545C4368696E6155574250726F6A6563745C6B65696C5C64775F7461672E63000000000864775F7461672E6300000000BCA8E100FFFFFFFF25453A5C4749545C4368696E6155574250726F6A6563745C6B65696C5C7577625F6170702E6300000000097577625F6170702E63000000009CC1B600FFFFFFFF25453A5C4749545C4368696E6155574250726F6A6563745C6B65696C5C7577625F7461672E6300000000097577625F7461672E6300000000F7B88600FFFFFFFF35453A5C4749545C4368696E6155574250726F6A6563745C6B65696C5C696E636C7564655C7372635C544350436C69656E745F312E63000000000D544350436C69656E745F312E6300000000D9ADC200FFFFFFFF54453A5C4749545C4368696E6155574250726F6A6563745C6B65696C5C696E636C7564655C636F6D706F6E656E74735C7773665C736F75726365735C706F72745C626172656D6574616C5C7773665F686561702E63000000000A7773665F686561702E6300000000A5C2D700FFFFFFFF48453A5C4749545C4368696E6155574250726F6A6563745C6B65696C5C696E636C7564655C636F6D706F6E656E74735C696E7465726E65745C7372635C4149523738304546534D2E63000000000C4149523738304546534D2E6300000000B3A6BE00FFFFFFFF39453A5C4749545C4368696E6155574250726F6A6563745C6B65696C5C696E636C7564655C636F6D706F6E656E74735C68616C5C554152542E630000000006554152542E6300000000EAD6A300FFFFFFFF2B453A5C4749545C4368696E6155574250726F6A6563745C6B65696C5C64775F6170705F616E63686F722E63000000000F64775F6170705F616E63686F722E6300000000F6FA7D00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD50001000000000000000200000023010000660000000006000040020000</Data> </MDITabState> </MDIClientArea> <ViewEx> @@ -1805,8 +1805,8 @@ <RegID>59392</RegID> <Name>File</Name> <Buttons> - <Len>2627</Len> - <Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000007737072696E746696000000000000000400084442475F496E697407737072696E746626504341393535355F5365745F4F6E655F56616C75655F4F7574707574284750535F504F5745520A736C6565705F666C616700000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000</Data> + <Len>2867</Len> + <Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000084442475F496E697496000000000000001200084442475F496E697407737072696E746626504341393535355F5365745F4F6E655F56616C75655F4F7574707574284750535F504F5745520A736C6565705F666C6167063131353230300C6C5F617538436D644275666612544350436C69656E745F4461746150726F630D7265635F616E6369646C6973740B414E435F4D41585F4E554D0A554152545F49445F344709556172745F496E697406646D615F656E06696E745F72780D6C5F75333252657370436F646505434752454718414952373830455F41545F524543565F4255465F53495A4518414952373830455F41545F53454E445F4255465F53495A450C756172745F72656365697665000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000</Data> </Buttons> <OriginalItems> <Len>1423</Len> @@ -1822,7 +1822,7 @@ <Name>Build</Name> <Buttons> <Len>988</Len> - <Data>00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000E4D4B383030302052656C65617365960000000000000001000E4D4B383030302052656C65617365000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000</Data> + <Data>00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000E4D4B383030302052656C65617365960000000000000001000E4D4B383030302052656C65617365000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000</Data> </Buttons> <OriginalItems> <Len>583</Len> @@ -3603,12 +3603,12 @@ <ActiveMDIGroup>0</ActiveMDIGroup> <MDIGroup> <Size>100</Size> - <ActiveTab>1</ActiveTab> + <ActiveTab>11</ActiveTab> <Doc> <Name>.\include\src\GPS.c</Name> <ColumnNumber>0</ColumnNumber> - <TopLine>855</TopLine> - <CurrentLine>876</CurrentLine> + <TopLine>856</TopLine> + <CurrentLine>877</CurrentLine> <Folding>1</Folding> <ContractedFolders></ContractedFolders> <PaneID>0</PaneID> @@ -3616,7 +3616,7 @@ <Doc> <Name>.\include\main\main.c</Name> <ColumnNumber>5</ColumnNumber> - <TopLine>987</TopLine> + <TopLine>1001</TopLine> <CurrentLine>1022</CurrentLine> <Folding>1</Folding> <ContractedFolders></ContractedFolders> @@ -3625,8 +3625,89 @@ <Doc> <Name>.\include\drivers\DBG.c</Name> <ColumnNumber>0</ColumnNumber> - <TopLine>429</TopLine> - <CurrentLine>450</CurrentLine> + <TopLine>430</TopLine> + <CurrentLine>451</CurrentLine> + <Folding>1</Folding> + <ContractedFolders></ContractedFolders> + <PaneID>0</PaneID> + </Doc> + <Doc> + <Name>.\include\drivers\PCA9555.c</Name> + <ColumnNumber>0</ColumnNumber> + <TopLine>1</TopLine> + <CurrentLine>2</CurrentLine> + <Folding>1</Folding> + <ContractedFolders></ContractedFolders> + <PaneID>0</PaneID> + </Doc> + <Doc> + <Name>.\dw_tag.c</Name> + <ColumnNumber>0</ColumnNumber> + <TopLine>1</TopLine> + <CurrentLine>1</CurrentLine> + <Folding>1</Folding> + <ContractedFolders></ContractedFolders> + <PaneID>0</PaneID> + </Doc> + <Doc> + <Name>.\uwb_app.c</Name> + <ColumnNumber>0</ColumnNumber> + <TopLine>1</TopLine> + <CurrentLine>1</CurrentLine> + <Folding>1</Folding> + <ContractedFolders></ContractedFolders> + <PaneID>0</PaneID> + </Doc> + <Doc> + <Name>.\uwb_tag.c</Name> + <ColumnNumber>0</ColumnNumber> + <TopLine>1</TopLine> + <CurrentLine>1</CurrentLine> + <Folding>1</Folding> + <ContractedFolders></ContractedFolders> + <PaneID>0</PaneID> + </Doc> + <Doc> + <Name>.\include\src\TCPClient_1.c</Name> + <ColumnNumber>0</ColumnNumber> + <TopLine>1</TopLine> + <CurrentLine>1</CurrentLine> + <Folding>1</Folding> + <ContractedFolders></ContractedFolders> + <PaneID>0</PaneID> + </Doc> + <Doc> + <Name>.\include\components\wsf\sources\port\baremetal\wsf_heap.c</Name> + <ColumnNumber>0</ColumnNumber> + <TopLine>1</TopLine> + <CurrentLine>1</CurrentLine> + <Folding>1</Folding> + <ContractedFolders></ContractedFolders> + <PaneID>0</PaneID> + </Doc> + <Doc> + <Name>.\include\components\internet\src\AIR780EFSM.c</Name> + <ColumnNumber>0</ColumnNumber> + <TopLine>1</TopLine> + <CurrentLine>2</CurrentLine> + <Folding>1</Folding> + <ContractedFolders></ContractedFolders> + <PaneID>0</PaneID> + </Doc> + <Doc> + <Name>.\include\components\hal\UART.c</Name> + <ColumnNumber>0</ColumnNumber> + <TopLine>1</TopLine> + <CurrentLine>2</CurrentLine> + <Folding>1</Folding> + <ContractedFolders></ContractedFolders> + <PaneID>0</PaneID> + </Doc> + <Doc> + <Name>.\dw_app_anchor.c</Name> + <ColumnNumber>0</ColumnNumber> + <TopLine>1</TopLine> + <CurrentLine>1</CurrentLine> <Folding>1</Folding> <ContractedFolders></ContractedFolders> <PaneID>0</PaneID> -- Gitblit v1.9.3