From d9ea89146763393bd97a0aa5e1eb6f18522c7c2d Mon Sep 17 00:00:00 2001 From: SnickerSun Date: Thu, 12 Dec 2024 10:28:58 +0800 Subject: [PATCH] =?utf8?q?=E6=B7=BB=E5=8A=A0gnss=20=E6=9C=8D=E5=8A=A1?= =?utf8?q?=E5=8F=8A=E6=8C=87=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + autobuild.sh | 2 +- .../brandy/brandy_standard/thread_pri_init.c | 9 + .../wstp/at_service/app/app_at_process.c | 78 +- .../config/target_config/brandy/config.py | 9 +- .../brandy_evb/board_config/board_lt22.h | 5 +- .../product/product_evb4_standard.h | 2 +- .../porting/pinctrl/pinctrl_porting_brandy.c | 2 +- .../chips/brandy/porting/uart/uart_porting.c | 29 + code/sdk/zhihui/CMakeLists.txt | 2 + .../custom_cmd_service/custom_cmd_service.c | 1 + code/sdk/zhihui/gnss/CMakeLists.txt | 41 + code/sdk/zhihui/gnss/gnss_config_array.h | 977 ++++++++++++++++++ code/sdk/zhihui/gnss/gnss_ctl.c | 188 ++++ code/sdk/zhihui/gnss/gnss_ctl.h | 28 + code/sdk/zhihui/gnss/uart_gnss.c | 162 +++ code/sdk/zhihui/gnss/uart_gnss.h | 31 + code/sdk/zhihui/utils/CMakeLists.txt | 38 + code/sdk/zhihui/utils/custom_utils.c | 66 ++ code/sdk/zhihui/utils/custom_utils.h | 27 + 20 files changed, 1628 insertions(+), 70 deletions(-) create mode 100644 code/sdk/zhihui/gnss/CMakeLists.txt create mode 100644 code/sdk/zhihui/gnss/gnss_config_array.h create mode 100644 code/sdk/zhihui/gnss/gnss_ctl.c create mode 100644 code/sdk/zhihui/gnss/gnss_ctl.h create mode 100644 code/sdk/zhihui/gnss/uart_gnss.c create mode 100644 code/sdk/zhihui/gnss/uart_gnss.h create mode 100644 code/sdk/zhihui/utils/CMakeLists.txt create mode 100644 code/sdk/zhihui/utils/custom_utils.c create mode 100644 code/sdk/zhihui/utils/custom_utils.h diff --git a/.gitignore b/.gitignore index 86c1d57e6..e0ed2ccbf 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,4 @@ code/sdk/interim_binary/brandy/libs/media/evb_standard/libjs_audio_capturer.a code/sdk/tools/pkg/fwpkg/brandy/upload_app.fwpkg code/sdk/build/config/target_config/brandy/mk_fs_image/file.bin code/sdk/build/config/target_config/brandy/mk_fs_image/file_tmp.bin +.gradle/** diff --git a/autobuild.sh b/autobuild.sh index 66f79d2a9..89ddc6434 100644 --- a/autobuild.sh +++ b/autobuild.sh @@ -109,7 +109,7 @@ TARGET_PACK_NAME=pack_brandy_native_js_lt22 APPLICATION_NAME=brandy-native-js-lt22 RECOVERY_NAME=$APPLICATION_NAME-r SSB_NAME=$APPLICATION_NAME-ssb -BUILD_NAME=_LT22 +BUILD_NAME=_L22 fi } diff --git a/code/sdk/application/brandy/brandy_standard/thread_pri_init.c b/code/sdk/application/brandy/brandy_standard/thread_pri_init.c index c25d8e431..0eb20d679 100644 --- a/code/sdk/application/brandy/brandy_standard/thread_pri_init.c +++ b/code/sdk/application/brandy/brandy_standard/thread_pri_init.c @@ -379,6 +379,15 @@ static void thread_main(const void *unused) thread_init(); button_app_init(); uapi_calendar_init(); + +#ifdef SUPPORT_AT_CUSTOMUTILS + uapi_custom_cmd_service_init(); +#endif + +#ifdef SUPPORT_GNSS_SERVER + gnss_uart_init(); +#endif + #ifdef SUPPORT_OHOSFWK ohos_startup(); #endif diff --git a/code/sdk/application/wstp/at_service/app/app_at_process.c b/code/sdk/application/wstp/at_service/app/app_at_process.c index 43d429e49..ca2ccdcd1 100644 --- a/code/sdk/application/wstp/at_service/app/app_at_process.c +++ b/code/sdk/application/wstp/at_service/app/app_at_process.c @@ -1856,69 +1856,25 @@ uint32_t at_nand_set_mode(uint8_t *data, uint32_t data_len) return ERRCODE_SUCC; } -#include "gpio.h" +#include "gnss_ctl.h" uint32_t gps_on(uint8_t *data, uint32_t data_len) { - errcode_t ret=0; -#if defined(BOARD_U8) -/* -S_AGPIO_L23 GPS_BAT_ON -S_AGPIO_L30 GPS_PWRON -S_AGPIO_L28 GPS_1V8 -*/ - ret=uapi_gpio_set_dir(S_AGPIO_L23,GPIO_DIRECTION_OUTPUT); - if (ret != ERRCODE_SUCC) PRINT("set_dir S_AGPIO_L23,GPIO_DIRECTION_OUTPUT ret %d\n",ret); - ret=uapi_gpio_set_dir(S_AGPIO_L30,GPIO_DIRECTION_OUTPUT); - if (ret != ERRCODE_SUCC) PRINT("set_dir S_AGPIO_L30,GPIO_DIRECTION_OUTPUT ret %d\n",ret); - ret=uapi_gpio_set_dir(S_AGPIO_L28,GPIO_DIRECTION_OUTPUT); - if (ret != ERRCODE_SUCC) PRINT("set_dir S_AGPIO_L28,GPIO_DIRECTION_OUTPUT ret %d\n",ret); - - ret=uapi_gpio_set_val(S_AGPIO_L23, GPIO_LEVEL_HIGH); // crystal sw - PRINT("GPS_BAT_ON set_value S_AGPIO_L23 GPIO_LEVEL_HIGH ret %d\n",ret); - - ret=uapi_gpio_set_val(S_AGPIO_L28 , GPIO_LEVEL_HIGH); // gps V3.3 sw en - PRINT("GPS_1V8 set_value S_AGPIO_L28 GPIO_LEVEL_HIGH ret %d\n",ret); - - ret=uapi_gpio_set_val(S_AGPIO_L30, GPIO_LEVEL_LOW); //gps reset - PRINT("GPS_PWRON set_value S_AGPIO_L30 GPIO_LEVEL_LOW ret %d\n",ret); - - osDelay(1000); - ret=uapi_gpio_set_val(S_AGPIO_L30, GPIO_LEVEL_HIGH); //gps reset - PRINT("GPS_PWRON set_value S_AGPIO_L30 GPIO_LEVEL_HIGH ret %d\n",ret); -#elif defined (BOARD_LT22) || defined (BOARD_W9) - - // ret=uapi_gpio_set_dir(S_AGPIO_L16,GPIO_DIRECTION_OUTPUT); - // PRINT("set_dir S_AGPIO_L16,GPIO_DIRECTION_OUTPUT ret %d\n",ret); - ret=uapi_gpio_set_dir(S_AGPIO_L32,GPIO_DIRECTION_OUTPUT); - PRINT("set_dir S_AGPIO_L32,GPIO_DIRECTION_OUTPUT ret %d\n",ret); - ret=uapi_gpio_set_dir(S_AGPIO_L20,GPIO_DIRECTION_OUTPUT); - PRINT("set_dir S_AGPIO_L20,GPIO_DIRECTION_OUTPUT ret %d\n",ret); - ret=uapi_gpio_set_dir(S_AGPIO_R9,GPIO_DIRECTION_OUTPUT); - PRINT("set_dir S_AGPIO_R9,GPIO_DIRECTION_OUTPUT ret %d\n",ret); - ret=uapi_gpio_set_dir(S_HGPIO0,GPIO_DIRECTION_OUTPUT); - PRINT("set_dir S_HGPIO0,GPIO_DIRECTION_OUTPUT ret %d\n",ret); - - ret=uapi_gpio_set_val(S_HGPIO0, GPIO_LEVEL_HIGH); // crystal sw - PRINT("GPS_CRYSTAL set_value S_HGPIO0 GPIO_LEVEL_HIGH ret %d\n",ret); - - ret=uapi_gpio_set_val(S_AGPIO_L20, GPIO_LEVEL_HIGH); // gps V1.8 sw en - PRINT("GPS_1V8 set_value S_AGPIO_L20 GPIO_LEVEL_HIGH ret %d\n",ret); - ret=uapi_gpio_set_val(S_AGPIO_R9, GPIO_LEVEL_HIGH); // gps V3.3 sw en - PRINT("GPS_BAT_ON set_value S_AGPIO_R9 GPIO_LEVEL_HIGH ret %d\n",ret); - - ret=uapi_gpio_set_val(S_AGPIO_L32, GPIO_LEVEL_LOW); //gps reset - PRINT("GPS_PWRON set_value S_AGPIO_L32 GPIO_LEVEL_LOW ret %d\n",ret); - osDelay(1000); - ret=uapi_gpio_set_val(S_AGPIO_L32, GPIO_LEVEL_HIGH); //gps reset - PRINT("GPS_PWRON set_value S_AGPIO_L32 GPIO_LEVEL_HIGH ret %d\n",ret); - - - // PRINT("switch debug set_value S_AGPIO_L16 GPIO_LEVEL_HIGH ret %d\n",ret); - // ret=uapi_gpio_set_val(S_AGPIO_L16, GPIO_LEVEL_HIGH); // gps dl sw - // PRINT("set_value S_AGPIO_L16 GPIO_LEVEL_HIGH ret %d\n",ret); - -#endif + char *ptr = (char *)data; + uint32_t mode = strtoul(ptr, NULL, 10); + if (mode == 0) { + wstp_print("gnss_stop\r\n"); + gnss_stop(); + osDelay(500); + wstp_print("gnss_power_off\r\n"); + gnss_power_off(); + }else{ + wstp_print("gnss_power_on\r\n"); + gnss_power_on(); + osDelay(500); + wstp_print("gnss_start\r\n"); + gnss_start(); + } return ERRCODE_SUCC; } @@ -1935,7 +1891,7 @@ uint32_t cat1_on(uint8_t *data, uint32_t data_len) errcode_t ret=0; -#if defined (BOARD_LT22) || defined (BOARD_W9) +#if defined (BOARD_L22) || defined (BOARD_W9) ret=uapi_gpio_set_dir(S_AGPIO_L23,GPIO_DIRECTION_OUTPUT); if (ret != ERRCODE_SUCC) PRINT("set_dir S_AGPIO_L23,GPIO_DIRECTION_OUTPUT ret %d\n",ret); // ret=uapi_gpio_set_dir(S_AGPIO_L28,GPIO_DIRECTION_OUTPUT); diff --git a/code/sdk/build/config/target_config/brandy/config.py b/code/sdk/build/config/target_config/brandy/config.py index 8ddc4310b..cf7874e4a 100644 --- a/code/sdk/build/config/target_config/brandy/config.py +++ b/code/sdk/build/config/target_config/brandy/config.py @@ -367,12 +367,13 @@ target = { 'BOARD_U8', 'FT_SINGLE_UART', 'SUPPORT_AUTO_OTA_SERVER', + 'GNSS_UART0', 'CONFIG_DFX_SUPPORT_DIAG_UP_MACHINE=1', 'TPTYPE_CST86XX', 'NANDFLASH_DS35X' ], #添加自定义应用 - 'ram_component': ['custom_cmd_service'] + 'ram_component': ['custom_cmd_service','gnss','custom_utils'] }, 'brandy-native-js-u8-r': { 'base_target_name': 'brandy-native-js-r', @@ -430,7 +431,7 @@ target = { 'base_target_name': 'brandy-native-js', #自定义配置项,选择硬件及功能参数 'defines': [ - 'BOARD_LT22', + 'BOARD_L22', 'FT_SINGLE_UART', 'SUPPORT_AUTO_OTA_SERVER', 'CONFIG_DFX_SUPPORT_DIAG_UP_MACHINE=1', @@ -445,7 +446,7 @@ target = { 'base_target_name': 'brandy-native-js-r', #自定义配置项,选择硬件及功能参数 'defines': [ - 'BOARD_LT22', + 'BOARD_L22', 'FT_SINGLE_UART', 'NANDFLASH_F35UQA' ] @@ -454,7 +455,7 @@ target = { 'base_target_name': 'brandy-ssb', #自定义配置项,选择硬件及功能参数 'defines': [ - 'BOARD_LT22', + 'BOARD_L22', 'FT_SINGLE_UART', 'NANDFLASH_F35UQA' ] diff --git a/code/sdk/drivers/boards/brandy_evb/board_config/board_lt22.h b/code/sdk/drivers/boards/brandy_evb/board_config/board_lt22.h index 816f25112..f3f6c2db8 100644 --- a/code/sdk/drivers/boards/brandy_evb/board_config/board_lt22.h +++ b/code/sdk/drivers/boards/brandy_evb/board_config/board_lt22.h @@ -4,8 +4,8 @@ * Author: @CompanyNameTag * Create: 2020-02-19 */ -#ifndef BOARD_LT22_CONFIG_H -#define BOARD_LT22_CONFIG_H +#ifndef BOARD_L22_CONFIG_H +#define BOARD_L22_CONFIG_H #include "pinctrl_porting.h" #include "gpio_porting.h" @@ -260,6 +260,7 @@ const hal_gpio_config_t g_gpio_function_config[PIN_MAX_NUMBER] = { // S_AGPIO_L17 Cat Vbat en { S_AGPIO_L14, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL }, #endif + { S_AGPIO_L30, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_HIGH, 0, NULL }, // // S_AGPIO_L12 SDIO_BT 光电开关 sd // { S_AGPIO_L12, HAL_GPIO_DIRECTION_OUTPUT, HAL_GPIO_LEVEL_LOW, 0, NULL }, diff --git a/code/sdk/drivers/boards/brandy_evb/product/product_evb4_standard.h b/code/sdk/drivers/boards/brandy_evb/product/product_evb4_standard.h index 8245c9d58..cc2e195e6 100644 --- a/code/sdk/drivers/boards/brandy_evb/product/product_evb4_standard.h +++ b/code/sdk/drivers/boards/brandy_evb/product/product_evb4_standard.h @@ -108,7 +108,7 @@ #if defined(BOARD_U8) #define RESOLUTION_WIDTH 410//466//454 #define RESOLUTION_HEIGHT 502//466//454 -// #elif defined(BOARD_LT22) || defined (BOARD_W9) || defined(BOARD_FD230) +// #elif defined(BOARD_L22) || defined (BOARD_W9) || defined(BOARD_FD230) #else #define RESOLUTION_WIDTH 466//454 #define RESOLUTION_HEIGHT 466//454 diff --git a/code/sdk/drivers/chips/brandy/porting/pinctrl/pinctrl_porting_brandy.c b/code/sdk/drivers/chips/brandy/porting/pinctrl/pinctrl_porting_brandy.c index 105bbd65e..970be6daa 100644 --- a/code/sdk/drivers/chips/brandy/porting/pinctrl/pinctrl_porting_brandy.c +++ b/code/sdk/drivers/chips/brandy/porting/pinctrl/pinctrl_porting_brandy.c @@ -18,7 +18,7 @@ #include "board_u8.h" #elif defined(BOARD_W9) #include "board_w9.h" -#elif defined(BOARD_LT22) +#elif defined(BOARD_L22) #include "board_lt22.h" #else #include "board_evb.h" diff --git a/code/sdk/drivers/chips/brandy/porting/uart/uart_porting.c b/code/sdk/drivers/chips/brandy/porting/uart/uart_porting.c index afca0b40f..48c87689c 100644 --- a/code/sdk/drivers/chips/brandy/porting/uart/uart_porting.c +++ b/code/sdk/drivers/chips/brandy/porting/uart/uart_porting.c @@ -187,7 +187,11 @@ static uart_config_t g_uart_config[UART_BUS_MAX_NUMBER] = { NULL, #endif { + #if defined(GNSS_UART0) && defined(SUPPORT_GNSS_SERVER) + .baud_rate = 115200, + #else .baud_rate = CUSTOM_UART_RATE, + #endif .data_bits = UART_DATA_BIT_8, .parity = UART_PARITY_NONE, .stop_bits = UART_STOP_BIT_1, @@ -229,7 +233,11 @@ static uart_config_t g_uart_config[UART_BUS_MAX_NUMBER] = { log_factory_at_callback, #endif { + #if defined(GNSS_UART1) && defined(SUPPORT_GNSS_SERVER) + .baud_rate = 115200, + #else .baud_rate = CUSTOM_UART_RATE, + #endif .data_bits = UART_DATA_BIT_8, .parity = UART_PARITY_NONE, .stop_bits = UART_STOP_BIT_1, @@ -248,6 +256,16 @@ static uart_recovery_regs_t g_uart_recovery_reg[UART_BUS_MAX_NUMBER] = { 0 }; #ifdef FT_SINGLE_UART void log_factory_at_callback(const void *buffer, uint16_t length, bool remaining) { + + + #if defined(GNSS_UART1) && defined(SUPPORT_GNSS_SERVER) + if (is_gnss_on()) + { + gnss_receive_handler((uint8_t *)buf,buf_len); + hal_uart_clear_pending(UART_BUS_1); + }else{ +#endif + #if SYS_DEBUG_MODE_ENABLE == YES log_uart_rx_callback(buffer, length, remaining); #endif @@ -257,6 +275,10 @@ void log_factory_at_callback(const void *buffer, uint16_t length, bool remaining #endif hal_uart_clear_pending(UART_BUS_1); } +#if defined(GNSS_UART1) && defined(SUPPORT_GNSS_SERVER) + } +#endif + } #endif @@ -307,12 +329,19 @@ void irq_uart1_handler(void) } #ifdef SUPPORT_AT_CMD + +#if defined(SUPPORT_GNSS_SERVER) +#include "uart_gnss.h" +#endif static void at_cmd_uart_rx_callback(const void *buf, uint16_t buf_len, bool remaining) { unused(remaining); #ifndef FT_SINGLE_UART at_cmd_msg_receive_handler((uint8_t *)buf, buf_len); #endif + #if defined(GNSS_UART0) && defined(SUPPORT_GNSS_SERVER) + gnss_receive_handler((uint8_t *)buf,buf_len); + #endif hal_uart_clear_pending(SW_DEBUG_UART_BUS); } #endif diff --git a/code/sdk/zhihui/CMakeLists.txt b/code/sdk/zhihui/CMakeLists.txt index 890a33cbd..fca6fe229 100644 --- a/code/sdk/zhihui/CMakeLists.txt +++ b/code/sdk/zhihui/CMakeLists.txt @@ -4,4 +4,6 @@ #=============================================================================== # add_subdirectory(hal ${PROJECT_BINARY_DIR}/hal) add_subdirectory_if_exist(custom_cmd_service) +add_subdirectory_if_exist(gnss) +add_subdirectory_if_exist(utils) diff --git a/code/sdk/zhihui/custom_cmd_service/custom_cmd_service.c b/code/sdk/zhihui/custom_cmd_service/custom_cmd_service.c index 44de81b2c..c4c34e811 100644 --- a/code/sdk/zhihui/custom_cmd_service/custom_cmd_service.c +++ b/code/sdk/zhihui/custom_cmd_service/custom_cmd_service.c @@ -31,6 +31,7 @@ #include "stdint.h" #include "thread_init.h" +#include "custom_utils.h" typedef struct diff --git a/code/sdk/zhihui/gnss/CMakeLists.txt b/code/sdk/zhihui/gnss/CMakeLists.txt new file mode 100644 index 000000000..d17670467 --- /dev/null +++ b/code/sdk/zhihui/gnss/CMakeLists.txt @@ -0,0 +1,41 @@ +#=============================================================================== +# @brief cmake file +# Copyright (c) @CompanyNameMagicTag 2023-2023. All rights reserved. +#=============================================================================== +set(COMPONENT_NAME "gnss") +set(SOURCES ${SOURCES} + ${CMAKE_CURRENT_SOURCE_DIR}/uart_gnss.c + ${CMAKE_CURRENT_SOURCE_DIR}/gnss_ctl.c +) +set(PUBLIC_HEADER +${CMAKE_CURRENT_SOURCE_DIR} +) +set(PUBLIC_DEFINES +SUPPORT_GNSS_SERVER +) +set(PRIVATE_HEADER + +) + +set(PRIVATE_DEFINES +) + +# use this when you want to add ccflags like -include xxx +set(COMPONENT_PUBLIC_CCFLAGS +) + +set(COMPONENT_CCFLAGS + -Wno-incompatible-function-pointer-types + -Wno-unused-function +) + +set(WHOLE_LINK + true +) + +set(MAIN_COMPONENT + false +) + +build_component() + diff --git a/code/sdk/zhihui/gnss/gnss_config_array.h b/code/sdk/zhihui/gnss/gnss_config_array.h new file mode 100644 index 000000000..9f9012494 --- /dev/null +++ b/code/sdk/zhihui/gnss/gnss_config_array.h @@ -0,0 +1,977 @@ +/** + * Copyright (c) @CompanyNameMagicTag 2024-2024. All rights reserved. + * + * Description: config array. + * Author: @CompanyNameTag + * History: + * 2024-01-08, Create file. + */ + +struct cfg_cmd { + const char *content; + int len; +}; + +/* +46 49 4c 45 53 20 30 78 30 30 30 39 38 30 30 30 20 +*/ +const char g_cfg_cmd0[] = { + 0x46, 0x49, 0x4c, 0x45, 0x53, 0x20, 0x30, 0x78, 0x30, 0x30, 0x30, 0x39, 0x38, 0x30, 0x30, 0x30, + 0x20 +}; + +/* +01 01 fe ef b2 c8 63 c0 99 32 89 ef 02 d9 0d d1 b7 00 00 ef 82 04 47 d0 99 37 e5 00 00 00 00 ef +02 92 00 ef 22 52 7e dc 9a 13 01 82 80 00 00 ef 02 c4 2c 70 6e 00 00 ef 92 91 27 ef 72 14 39 40 +99 ef b0 82 80 00 00 ef 72 c5 74 ef 92 86 59 37 55 03 20 ef 92 06 5a 37 55 03 20 ef 32 c5 30 40 +98 22 a0 3c 99 00 00 ef 12 c6 76 ef 12 96 21 44 99 08 08 ef e2 92 43 05 66 2a 96 a0 99 00 00 ef +e2 41 3b 20 99 00 00 ef e2 c1 33 00 00 00 00 ef e2 01 22 20 99 00 00 ef e2 81 16 ef 92 81 25 40 +9e b2 89 ef 92 41 03 5c 9e 13 01 20 99 00 00 ef 82 d1 1c ef a2 41 15 40 9a b2 89 ef 22 c3 05 85 +65 33 06 82 80 00 00 ef a2 d2 07 ef a2 42 6c c4 99 22 a4 a4 99 00 00 ef a2 d2 09 82 80 00 00 ef +72 06 11 ef 42 c6 14 83 45 25 00 00 00 00 00 ef 32 96 78 3f f9 00 00 ef d2 15 28 ef e2 85 00 93 +06 b0 12 00 00 00 00 ef e2 05 1b ef e2 c5 19 13 06 30 11 00 00 00 00 ef d2 95 19 ef e2 45 35 aa +86 03 47 00 00 00 00 ef 42 86 60 ef 42 56 78 5c 98 79 71 82 80 00 00 ef c2 c3 16 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 e3 62 +*/ +const char g_cfg_cmd1[] = { + 0x01, 0x01, 0xfe, 0xef, 0xb2, 0xc8, 0x63, 0xc0, 0x99, 0x32, 0x89, 0xef, 0x02, 0xd9, 0x0d, 0xd1, + 0xb7, 0x00, 0x00, 0xef, 0x82, 0x04, 0x47, 0xd0, 0x99, 0x37, 0xe5, 0x00, 0x00, 0x00, 0x00, 0xef, + 0x02, 0x92, 0x00, 0xef, 0x22, 0x52, 0x7e, 0xdc, 0x9a, 0x13, 0x01, 0x82, 0x80, 0x00, 0x00, 0xef, + 0x02, 0xc4, 0x2c, 0x70, 0x6e, 0x00, 0x00, 0xef, 0x92, 0x91, 0x27, 0xef, 0x72, 0x14, 0x39, 0x40, + 0x99, 0xef, 0xb0, 0x82, 0x80, 0x00, 0x00, 0xef, 0x72, 0xc5, 0x74, 0xef, 0x92, 0x86, 0x59, 0x37, + 0x55, 0x03, 0x20, 0xef, 0x92, 0x06, 0x5a, 0x37, 0x55, 0x03, 0x20, 0xef, 0x32, 0xc5, 0x30, 0x40, + 0x98, 0x22, 0xa0, 0x3c, 0x99, 0x00, 0x00, 0xef, 0x12, 0xc6, 0x76, 0xef, 0x12, 0x96, 0x21, 0x44, + 0x99, 0x08, 0x08, 0xef, 0xe2, 0x92, 0x43, 0x05, 0x66, 0x2a, 0x96, 0xa0, 0x99, 0x00, 0x00, 0xef, + 0xe2, 0x41, 0x3b, 0x20, 0x99, 0x00, 0x00, 0xef, 0xe2, 0xc1, 0x33, 0x00, 0x00, 0x00, 0x00, 0xef, + 0xe2, 0x01, 0x22, 0x20, 0x99, 0x00, 0x00, 0xef, 0xe2, 0x81, 0x16, 0xef, 0x92, 0x81, 0x25, 0x40, + 0x9e, 0xb2, 0x89, 0xef, 0x92, 0x41, 0x03, 0x5c, 0x9e, 0x13, 0x01, 0x20, 0x99, 0x00, 0x00, 0xef, + 0x82, 0xd1, 0x1c, 0xef, 0xa2, 0x41, 0x15, 0x40, 0x9a, 0xb2, 0x89, 0xef, 0x22, 0xc3, 0x05, 0x85, + 0x65, 0x33, 0x06, 0x82, 0x80, 0x00, 0x00, 0xef, 0xa2, 0xd2, 0x07, 0xef, 0xa2, 0x42, 0x6c, 0xc4, + 0x99, 0x22, 0xa4, 0xa4, 0x99, 0x00, 0x00, 0xef, 0xa2, 0xd2, 0x09, 0x82, 0x80, 0x00, 0x00, 0xef, + 0x72, 0x06, 0x11, 0xef, 0x42, 0xc6, 0x14, 0x83, 0x45, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, + 0x32, 0x96, 0x78, 0x3f, 0xf9, 0x00, 0x00, 0xef, 0xd2, 0x15, 0x28, 0xef, 0xe2, 0x85, 0x00, 0x93, + 0x06, 0xb0, 0x12, 0x00, 0x00, 0x00, 0x00, 0xef, 0xe2, 0x05, 0x1b, 0xef, 0xe2, 0xc5, 0x19, 0x13, + 0x06, 0x30, 0x11, 0x00, 0x00, 0x00, 0x00, 0xef, 0xd2, 0x95, 0x19, 0xef, 0xe2, 0x45, 0x35, 0xaa, + 0x86, 0x03, 0x47, 0x00, 0x00, 0x00, 0x00, 0xef, 0x42, 0x86, 0x60, 0xef, 0x42, 0x56, 0x78, 0x5c, + 0x98, 0x79, 0x71, 0x82, 0x80, 0x00, 0x00, 0xef, 0xc2, 0xc3, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xe3, 0x62 +}; + +/* +01 02 fd 00 00 00 00 00 80 09 00 27 00 00 00 09 d0 00 00 31 7d 00 00 e9 09 05 00 79 8e 07 00 e1 +65 07 00 a9 8d 05 00 99 01 08 00 d1 13 05 00 09 16 04 00 d1 f0 02 00 21 f1 02 00 d1 5a 04 00 39 +72 03 00 09 70 03 00 e9 a5 06 00 91 b4 07 00 71 b5 07 00 f1 b6 07 00 11 b8 07 00 91 07 08 00 a9 +0a 08 00 71 14 08 00 71 fb 07 00 59 71 06 00 c9 ec 06 00 61 eb 06 00 f1 eb 06 00 31 16 03 00 29 +46 03 00 41 48 03 00 99 b0 03 00 d1 ab 03 00 41 a9 03 00 31 a9 03 00 81 b2 03 00 59 a9 03 00 79 +42 03 00 e9 39 03 00 e9 cf 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 98 ef f0 66 ee 37 25 00 40 83 55 c5 54 85 89 89 +c5 23 1a 05 60 23 ae 01 26 99 45 23 a0 b1 3c 13 85 81 f7 05 46 23 13 c5 00 23 17 c5 00 23 1b b5 +00 20 98 00 00 00 00 c0 99 32 89 ae 84 2a 84 ef f0 56 9b 22 85 a6 85 4a 86 ef 30 37 e4 2a 84 ef +f0 16 98 22 85 a0 99 00 00 00 00 37 55 03 20 03 45 c5 d9 b7 a5 09 00 83 c5 c5 0b 4d 8d 11 cd 7b +25 00 81 0b 4f 05 03 7b 26 09 f6 37 05 23 00 13 05 e5 17 b7 b5 02 16 05 a0 7b 25 00 81 09 46 7b +66 cf 2e 0b 47 05 03 7b 26 09 f6 37 05 23 00 13 05 e5 17 b7 b5 02 14 93 85 25 4c 6f 60 17 af 82 +80 00 00 37 55 03 20 03 45 c5 d9 b7 a5 09 00 83 c5 c5 0b 7d 15 33 35 a0 00 fd 15 b3 35 b0 00 6d +8d 0d ed 37 f5 01 20 93 05 85 ad 03 85 65 00 7b 26 00 81 85 46 d4 c9 05 05 23 83 a5 00 0b 41 16 +03 08 92 fb 26 09 f6 37 05 23 00 13 05 e5 17 b7 b5 02 20 93 85 25 4c 6f 60 d7 ae 7b 25 00 81 09 +46 7b 66 cf 2e 0b 47 05 03 7b 26 09 f6 37 05 23 00 13 05 e5 17 b7 b5 02 23 93 85 25 4c 6f 60 f7 +a6 82 80 00 00 00 00 7d 15 08 91 8b 54 05 02 03 45 86 00 0b 15 05 01 33 35 b0 00 82 80 a3 15 06 +00 93 05 d6 00 21 a0 1a 12 93 05 b6 00 05 45 82 11 82 80 00 00 00 00 83 45 25 00 8b dc 05 06 05 +46 b3 15 b6 00 93 f5 55 02 95 c1 83 05 05 07 fd 15 8c 91 8b d4 05 02 83 45 d5 03 13 f6 35 00 19 +ce 5e 1d 39 a0 3e 1d a3 1e 05 02 39 a0 83 45 d5 03 93 f5 75 0e a3 0e b5 02 01 45 82 80 83 45 c5 +03 e5 fd 03 45 b5 03 13 35 15 00 82 80 00 00 40 99 2a 84 83 44 25 00 ef c0 89 82 0b 0a 15 01 03 +25 44 09 83 25 44 08 83 06 04 07 a3 0c 04 06 13 06 15 00 03 25 04 0b fd 16 94 92 23 2a c4 08 8b +df 06 02 ef 34 +*/ +const char g_cfg_cmd2[] = { + 0x01, 0x02, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x09, 0x00, 0x27, 0x00, 0x00, 0x00, 0x09, + 0xd0, 0x00, 0x00, 0x31, 0x7d, 0x00, 0x00, 0xe9, 0x09, 0x05, 0x00, 0x79, 0x8e, 0x07, 0x00, 0xe1, + 0x65, 0x07, 0x00, 0xa9, 0x8d, 0x05, 0x00, 0x99, 0x01, 0x08, 0x00, 0xd1, 0x13, 0x05, 0x00, 0x09, + 0x16, 0x04, 0x00, 0xd1, 0xf0, 0x02, 0x00, 0x21, 0xf1, 0x02, 0x00, 0xd1, 0x5a, 0x04, 0x00, 0x39, + 0x72, 0x03, 0x00, 0x09, 0x70, 0x03, 0x00, 0xe9, 0xa5, 0x06, 0x00, 0x91, 0xb4, 0x07, 0x00, 0x71, + 0xb5, 0x07, 0x00, 0xf1, 0xb6, 0x07, 0x00, 0x11, 0xb8, 0x07, 0x00, 0x91, 0x07, 0x08, 0x00, 0xa9, + 0x0a, 0x08, 0x00, 0x71, 0x14, 0x08, 0x00, 0x71, 0xfb, 0x07, 0x00, 0x59, 0x71, 0x06, 0x00, 0xc9, + 0xec, 0x06, 0x00, 0x61, 0xeb, 0x06, 0x00, 0xf1, 0xeb, 0x06, 0x00, 0x31, 0x16, 0x03, 0x00, 0x29, + 0x46, 0x03, 0x00, 0x41, 0x48, 0x03, 0x00, 0x99, 0xb0, 0x03, 0x00, 0xd1, 0xab, 0x03, 0x00, 0x41, + 0xa9, 0x03, 0x00, 0x31, 0xa9, 0x03, 0x00, 0x81, 0xb2, 0x03, 0x00, 0x59, 0xa9, 0x03, 0x00, 0x79, + 0x42, 0x03, 0x00, 0xe9, 0x39, 0x03, 0x00, 0xe9, 0xcf, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, + 0x98, 0xef, 0xf0, 0x66, 0xee, 0x37, 0x25, 0x00, 0x40, 0x83, 0x55, 0xc5, 0x54, 0x85, 0x89, 0x89, + 0xc5, 0x23, 0x1a, 0x05, 0x60, 0x23, 0xae, 0x01, 0x26, 0x99, 0x45, 0x23, 0xa0, 0xb1, 0x3c, 0x13, + 0x85, 0x81, 0xf7, 0x05, 0x46, 0x23, 0x13, 0xc5, 0x00, 0x23, 0x17, 0xc5, 0x00, 0x23, 0x1b, 0xb5, + 0x00, 0x20, 0x98, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x99, 0x32, 0x89, 0xae, 0x84, 0x2a, 0x84, 0xef, + 0xf0, 0x56, 0x9b, 0x22, 0x85, 0xa6, 0x85, 0x4a, 0x86, 0xef, 0x30, 0x37, 0xe4, 0x2a, 0x84, 0xef, + 0xf0, 0x16, 0x98, 0x22, 0x85, 0xa0, 0x99, 0x00, 0x00, 0x00, 0x00, 0x37, 0x55, 0x03, 0x20, 0x03, + 0x45, 0xc5, 0xd9, 0xb7, 0xa5, 0x09, 0x00, 0x83, 0xc5, 0xc5, 0x0b, 0x4d, 0x8d, 0x11, 0xcd, 0x7b, + 0x25, 0x00, 0x81, 0x0b, 0x4f, 0x05, 0x03, 0x7b, 0x26, 0x09, 0xf6, 0x37, 0x05, 0x23, 0x00, 0x13, + 0x05, 0xe5, 0x17, 0xb7, 0xb5, 0x02, 0x16, 0x05, 0xa0, 0x7b, 0x25, 0x00, 0x81, 0x09, 0x46, 0x7b, + 0x66, 0xcf, 0x2e, 0x0b, 0x47, 0x05, 0x03, 0x7b, 0x26, 0x09, 0xf6, 0x37, 0x05, 0x23, 0x00, 0x13, + 0x05, 0xe5, 0x17, 0xb7, 0xb5, 0x02, 0x14, 0x93, 0x85, 0x25, 0x4c, 0x6f, 0x60, 0x17, 0xaf, 0x82, + 0x80, 0x00, 0x00, 0x37, 0x55, 0x03, 0x20, 0x03, 0x45, 0xc5, 0xd9, 0xb7, 0xa5, 0x09, 0x00, 0x83, + 0xc5, 0xc5, 0x0b, 0x7d, 0x15, 0x33, 0x35, 0xa0, 0x00, 0xfd, 0x15, 0xb3, 0x35, 0xb0, 0x00, 0x6d, + 0x8d, 0x0d, 0xed, 0x37, 0xf5, 0x01, 0x20, 0x93, 0x05, 0x85, 0xad, 0x03, 0x85, 0x65, 0x00, 0x7b, + 0x26, 0x00, 0x81, 0x85, 0x46, 0xd4, 0xc9, 0x05, 0x05, 0x23, 0x83, 0xa5, 0x00, 0x0b, 0x41, 0x16, + 0x03, 0x08, 0x92, 0xfb, 0x26, 0x09, 0xf6, 0x37, 0x05, 0x23, 0x00, 0x13, 0x05, 0xe5, 0x17, 0xb7, + 0xb5, 0x02, 0x20, 0x93, 0x85, 0x25, 0x4c, 0x6f, 0x60, 0xd7, 0xae, 0x7b, 0x25, 0x00, 0x81, 0x09, + 0x46, 0x7b, 0x66, 0xcf, 0x2e, 0x0b, 0x47, 0x05, 0x03, 0x7b, 0x26, 0x09, 0xf6, 0x37, 0x05, 0x23, + 0x00, 0x13, 0x05, 0xe5, 0x17, 0xb7, 0xb5, 0x02, 0x23, 0x93, 0x85, 0x25, 0x4c, 0x6f, 0x60, 0xf7, + 0xa6, 0x82, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7d, 0x15, 0x08, 0x91, 0x8b, 0x54, 0x05, 0x02, 0x03, + 0x45, 0x86, 0x00, 0x0b, 0x15, 0x05, 0x01, 0x33, 0x35, 0xb0, 0x00, 0x82, 0x80, 0xa3, 0x15, 0x06, + 0x00, 0x93, 0x05, 0xd6, 0x00, 0x21, 0xa0, 0x1a, 0x12, 0x93, 0x05, 0xb6, 0x00, 0x05, 0x45, 0x82, + 0x11, 0x82, 0x80, 0x00, 0x00, 0x00, 0x00, 0x83, 0x45, 0x25, 0x00, 0x8b, 0xdc, 0x05, 0x06, 0x05, + 0x46, 0xb3, 0x15, 0xb6, 0x00, 0x93, 0xf5, 0x55, 0x02, 0x95, 0xc1, 0x83, 0x05, 0x05, 0x07, 0xfd, + 0x15, 0x8c, 0x91, 0x8b, 0xd4, 0x05, 0x02, 0x83, 0x45, 0xd5, 0x03, 0x13, 0xf6, 0x35, 0x00, 0x19, + 0xce, 0x5e, 0x1d, 0x39, 0xa0, 0x3e, 0x1d, 0xa3, 0x1e, 0x05, 0x02, 0x39, 0xa0, 0x83, 0x45, 0xd5, + 0x03, 0x93, 0xf5, 0x75, 0x0e, 0xa3, 0x0e, 0xb5, 0x02, 0x01, 0x45, 0x82, 0x80, 0x83, 0x45, 0xc5, + 0x03, 0xe5, 0xfd, 0x03, 0x45, 0xb5, 0x03, 0x13, 0x35, 0x15, 0x00, 0x82, 0x80, 0x00, 0x00, 0x40, + 0x99, 0x2a, 0x84, 0x83, 0x44, 0x25, 0x00, 0xef, 0xc0, 0x89, 0x82, 0x0b, 0x0a, 0x15, 0x01, 0x03, + 0x25, 0x44, 0x09, 0x83, 0x25, 0x44, 0x08, 0x83, 0x06, 0x04, 0x07, 0xa3, 0x0c, 0x04, 0x06, 0x13, + 0x06, 0x15, 0x00, 0x03, 0x25, 0x04, 0x0b, 0xfd, 0x16, 0x94, 0x92, 0x23, 0x2a, 0xc4, 0x08, 0x8b, + 0xdf, 0x06, 0x02, 0xef, 0x34 +}; + +/* +01 03 fc 2b 86 b5 be ab 35 b6 be 15 46 ef c0 29 b6 b7 a5 09 00 93 85 85 f0 ab 85 95 04 8c 41 23 +28 a4 0a 63 60 b5 02 23 08 04 06 0d 45 a3 0c a4 06 23 28 04 0a 23 2a 04 08 3a 1c 20 99 01 c5 23 +28 04 0a 20 99 8b 4e 06 32 22 85 ef c0 c9 8a 75 f9 09 45 23 08 a4 06 37 a5 09 00 13 05 85 f0 2b +05 95 04 08 41 85 45 03 06 d4 03 a3 0c b4 06 05 81 23 28 a4 0a 13 65 06 02 a3 0e a4 02 20 99 23 +08 04 06 20 99 00 00 40 99 ae 84 2a 84 13 05 00 20 2a c0 0a 85 ef b0 79 9d 03 45 04 07 8b 03 15 +02 0b 12 35 01 82 45 13 05 90 6c 2e 86 83 26 84 09 77 96 a4 c4 13 07 00 40 33 45 e6 02 36 95 05 +66 13 06 d6 24 ae 86 f7 96 c4 c4 03 26 c4 09 23 2c a4 08 b3 c6 e6 02 36 95 32 95 23 2e a4 08 19 +66 13 06 66 1e f7 95 c4 c4 a1 a8 82 45 13 05 90 6c 2e 86 77 96 a4 c4 03 25 84 09 85 66 13 87 06 +a0 33 46 e6 02 32 95 23 2c a4 08 13 86 d6 24 ae 86 f7 96 c4 c4 13 06 00 40 b3 c6 c6 02 36 95 83 +26 c4 09 0a 05 29 47 33 45 e5 02 36 95 23 2e a4 08 99 66 93 86 66 1e f7 95 d4 c4 b3 c5 c5 02 8a +05 b3 c5 e5 02 50 48 2e 95 93 55 f6 41 c2 05 ab a5 c5 60 93 16 06 01 ab 85 a5 be 2b 05 c5 20 33 +36 d5 00 b2 95 08 cc 4c cc 20 99 00 00 00 00 5c 98 79 71 37 a5 09 00 93 05 45 f2 28 00 13 06 20 +0a ef 80 76 b9 37 65 02 20 13 05 a5 e3 93 05 20 0a 30 00 93 06 20 0a ef 50 47 92 ef a0 99 ff 01 +45 ef f0 f8 f2 45 61 3c 98 00 00 c0 98 37 54 03 20 03 45 c4 d9 8b 18 15 01 ef a0 3a e5 37 05 03 +20 83 45 05 24 8b 91 15 01 23 00 05 24 13 06 05 24 37 05 03 20 13 05 05 2a 93 05 00 06 93 06 00 +06 ef 50 a7 8d fb 25 00 81 2a 86 13 35 15 00 93 b5 15 00 4d 8d 19 e9 37 05 23 00 13 05 e5 17 b7 +b5 03 2d 93 85 25 44 ef 60 47 fa 23 0e 04 d8 37 a5 09 00 23 0e 05 0a 37 55 03 20 a3 0e 05 d8 a0 +98 00 00 44 99 37 a5 09 00 85 45 23 0e b5 0a 08 08 ef c0 3a 95 ef e0 29 b5 ef e0 e9 e6 ef e0 e9 +af 37 54 03 20 03 26 44 db b7 54 03 20 03 a5 c4 db 83 25 44 db 63 64 c5 00 0d 8d 19 a0 33 85 a5 +40 93 05 00 10 63 6a b5 02 37 55 03 20 03 25 85 db 03 26 44 db 83 25 44 db 63 67 a6 00 33 85 a5 +40 0b 53 05 3c 11 a8 0d 8d 0b 44 05 3c ef 20 a9 e3 03 25 44 db 23 ae a4 da ef e0 e9 cf 68 00 ef +c0 5a 8e 42 45 b2 45 ef c0 9a 92 b7 55 03 20 93 85 85 e0 90 4d 63 73 a6 00 88 cd b7 55 03 20 03 +a6 85 df 32 95 23 ac a5 de 24 99 00 00 00 00 40 99 2e 84 aa 84 ef 40 2c a7 03 45 c5 0e 93 05 60 +0e 13 06 30 11 2b e6 a5 20 23 90 c4 00 09 45 23 10 a4 00 20 99 00 00 40 99 2e 84 aa 84 ef 40 ac +a4 03 45 c5 0e 93 05 60 0e 13 06 00 14 2b e6 a5 20 23 90 c4 00 0d 45 23 10 a4 00 20 99 00 00 c0 +99 5d c9 2a 84 03 05 05 07 03 29 c4 2a 7d 15 88 91 13 05 f0 0f 8b ca 05 02 83 44 a4 03 ef 40 ac +a0 03 45 c5 0e 93 35 15 00 13 06 60 0e 8b 92 04 01 13 05 30 11 19 a0 13 05 00 14 2b 65 b6 22 83 +55 44 27 63 6c b5 02 03 45 14 03 0b 1c 05 01 03 45 04 2a 0b 1a 05 01 03 45 14 2a 05 e1 03 25 44 +08 ab 05 a5 be 2b b5 a5 be 95 65 93 85 65 55 23 20 04 0a 63 64 b5 00 23 22 04 08 03 45 c4 07 0b +19 05 01 09 45 23 0e a4 06 23 20 04 08 23 22 04 08 13 05 44 23 93 05 40 03 93 06 40 03 01 46 ef +50 47 d1 63 0a 09 00 03 45 39 00 0b 13 05 05 23 20 04 08 23 22 04 08 a0 99 00 00 c0 99 32 84 ae +84 93 05 40 15 13 09 a0 0f 0b 05 05 03 ef 40 ac 95 03 45 c5 0e 93 05 e0 15 ab 65 a9 20 23 10 b4 +00 0b 96 89 8c +*/ +const char g_cfg_cmd3[] = { + 0x01, 0x03, 0xfc, 0x2b, 0x86, 0xb5, 0xbe, 0xab, 0x35, 0xb6, 0xbe, 0x15, 0x46, 0xef, 0xc0, 0x29, + 0xb6, 0xb7, 0xa5, 0x09, 0x00, 0x93, 0x85, 0x85, 0xf0, 0xab, 0x85, 0x95, 0x04, 0x8c, 0x41, 0x23, + 0x28, 0xa4, 0x0a, 0x63, 0x60, 0xb5, 0x02, 0x23, 0x08, 0x04, 0x06, 0x0d, 0x45, 0xa3, 0x0c, 0xa4, + 0x06, 0x23, 0x28, 0x04, 0x0a, 0x23, 0x2a, 0x04, 0x08, 0x3a, 0x1c, 0x20, 0x99, 0x01, 0xc5, 0x23, + 0x28, 0x04, 0x0a, 0x20, 0x99, 0x8b, 0x4e, 0x06, 0x32, 0x22, 0x85, 0xef, 0xc0, 0xc9, 0x8a, 0x75, + 0xf9, 0x09, 0x45, 0x23, 0x08, 0xa4, 0x06, 0x37, 0xa5, 0x09, 0x00, 0x13, 0x05, 0x85, 0xf0, 0x2b, + 0x05, 0x95, 0x04, 0x08, 0x41, 0x85, 0x45, 0x03, 0x06, 0xd4, 0x03, 0xa3, 0x0c, 0xb4, 0x06, 0x05, + 0x81, 0x23, 0x28, 0xa4, 0x0a, 0x13, 0x65, 0x06, 0x02, 0xa3, 0x0e, 0xa4, 0x02, 0x20, 0x99, 0x23, + 0x08, 0x04, 0x06, 0x20, 0x99, 0x00, 0x00, 0x40, 0x99, 0xae, 0x84, 0x2a, 0x84, 0x13, 0x05, 0x00, + 0x20, 0x2a, 0xc0, 0x0a, 0x85, 0xef, 0xb0, 0x79, 0x9d, 0x03, 0x45, 0x04, 0x07, 0x8b, 0x03, 0x15, + 0x02, 0x0b, 0x12, 0x35, 0x01, 0x82, 0x45, 0x13, 0x05, 0x90, 0x6c, 0x2e, 0x86, 0x83, 0x26, 0x84, + 0x09, 0x77, 0x96, 0xa4, 0xc4, 0x13, 0x07, 0x00, 0x40, 0x33, 0x45, 0xe6, 0x02, 0x36, 0x95, 0x05, + 0x66, 0x13, 0x06, 0xd6, 0x24, 0xae, 0x86, 0xf7, 0x96, 0xc4, 0xc4, 0x03, 0x26, 0xc4, 0x09, 0x23, + 0x2c, 0xa4, 0x08, 0xb3, 0xc6, 0xe6, 0x02, 0x36, 0x95, 0x32, 0x95, 0x23, 0x2e, 0xa4, 0x08, 0x19, + 0x66, 0x13, 0x06, 0x66, 0x1e, 0xf7, 0x95, 0xc4, 0xc4, 0xa1, 0xa8, 0x82, 0x45, 0x13, 0x05, 0x90, + 0x6c, 0x2e, 0x86, 0x77, 0x96, 0xa4, 0xc4, 0x03, 0x25, 0x84, 0x09, 0x85, 0x66, 0x13, 0x87, 0x06, + 0xa0, 0x33, 0x46, 0xe6, 0x02, 0x32, 0x95, 0x23, 0x2c, 0xa4, 0x08, 0x13, 0x86, 0xd6, 0x24, 0xae, + 0x86, 0xf7, 0x96, 0xc4, 0xc4, 0x13, 0x06, 0x00, 0x40, 0xb3, 0xc6, 0xc6, 0x02, 0x36, 0x95, 0x83, + 0x26, 0xc4, 0x09, 0x0a, 0x05, 0x29, 0x47, 0x33, 0x45, 0xe5, 0x02, 0x36, 0x95, 0x23, 0x2e, 0xa4, + 0x08, 0x99, 0x66, 0x93, 0x86, 0x66, 0x1e, 0xf7, 0x95, 0xd4, 0xc4, 0xb3, 0xc5, 0xc5, 0x02, 0x8a, + 0x05, 0xb3, 0xc5, 0xe5, 0x02, 0x50, 0x48, 0x2e, 0x95, 0x93, 0x55, 0xf6, 0x41, 0xc2, 0x05, 0xab, + 0xa5, 0xc5, 0x60, 0x93, 0x16, 0x06, 0x01, 0xab, 0x85, 0xa5, 0xbe, 0x2b, 0x05, 0xc5, 0x20, 0x33, + 0x36, 0xd5, 0x00, 0xb2, 0x95, 0x08, 0xcc, 0x4c, 0xcc, 0x20, 0x99, 0x00, 0x00, 0x00, 0x00, 0x5c, + 0x98, 0x79, 0x71, 0x37, 0xa5, 0x09, 0x00, 0x93, 0x05, 0x45, 0xf2, 0x28, 0x00, 0x13, 0x06, 0x20, + 0x0a, 0xef, 0x80, 0x76, 0xb9, 0x37, 0x65, 0x02, 0x20, 0x13, 0x05, 0xa5, 0xe3, 0x93, 0x05, 0x20, + 0x0a, 0x30, 0x00, 0x93, 0x06, 0x20, 0x0a, 0xef, 0x50, 0x47, 0x92, 0xef, 0xa0, 0x99, 0xff, 0x01, + 0x45, 0xef, 0xf0, 0xf8, 0xf2, 0x45, 0x61, 0x3c, 0x98, 0x00, 0x00, 0xc0, 0x98, 0x37, 0x54, 0x03, + 0x20, 0x03, 0x45, 0xc4, 0xd9, 0x8b, 0x18, 0x15, 0x01, 0xef, 0xa0, 0x3a, 0xe5, 0x37, 0x05, 0x03, + 0x20, 0x83, 0x45, 0x05, 0x24, 0x8b, 0x91, 0x15, 0x01, 0x23, 0x00, 0x05, 0x24, 0x13, 0x06, 0x05, + 0x24, 0x37, 0x05, 0x03, 0x20, 0x13, 0x05, 0x05, 0x2a, 0x93, 0x05, 0x00, 0x06, 0x93, 0x06, 0x00, + 0x06, 0xef, 0x50, 0xa7, 0x8d, 0xfb, 0x25, 0x00, 0x81, 0x2a, 0x86, 0x13, 0x35, 0x15, 0x00, 0x93, + 0xb5, 0x15, 0x00, 0x4d, 0x8d, 0x19, 0xe9, 0x37, 0x05, 0x23, 0x00, 0x13, 0x05, 0xe5, 0x17, 0xb7, + 0xb5, 0x03, 0x2d, 0x93, 0x85, 0x25, 0x44, 0xef, 0x60, 0x47, 0xfa, 0x23, 0x0e, 0x04, 0xd8, 0x37, + 0xa5, 0x09, 0x00, 0x23, 0x0e, 0x05, 0x0a, 0x37, 0x55, 0x03, 0x20, 0xa3, 0x0e, 0x05, 0xd8, 0xa0, + 0x98, 0x00, 0x00, 0x44, 0x99, 0x37, 0xa5, 0x09, 0x00, 0x85, 0x45, 0x23, 0x0e, 0xb5, 0x0a, 0x08, + 0x08, 0xef, 0xc0, 0x3a, 0x95, 0xef, 0xe0, 0x29, 0xb5, 0xef, 0xe0, 0xe9, 0xe6, 0xef, 0xe0, 0xe9, + 0xaf, 0x37, 0x54, 0x03, 0x20, 0x03, 0x26, 0x44, 0xdb, 0xb7, 0x54, 0x03, 0x20, 0x03, 0xa5, 0xc4, + 0xdb, 0x83, 0x25, 0x44, 0xdb, 0x63, 0x64, 0xc5, 0x00, 0x0d, 0x8d, 0x19, 0xa0, 0x33, 0x85, 0xa5, + 0x40, 0x93, 0x05, 0x00, 0x10, 0x63, 0x6a, 0xb5, 0x02, 0x37, 0x55, 0x03, 0x20, 0x03, 0x25, 0x85, + 0xdb, 0x03, 0x26, 0x44, 0xdb, 0x83, 0x25, 0x44, 0xdb, 0x63, 0x67, 0xa6, 0x00, 0x33, 0x85, 0xa5, + 0x40, 0x0b, 0x53, 0x05, 0x3c, 0x11, 0xa8, 0x0d, 0x8d, 0x0b, 0x44, 0x05, 0x3c, 0xef, 0x20, 0xa9, + 0xe3, 0x03, 0x25, 0x44, 0xdb, 0x23, 0xae, 0xa4, 0xda, 0xef, 0xe0, 0xe9, 0xcf, 0x68, 0x00, 0xef, + 0xc0, 0x5a, 0x8e, 0x42, 0x45, 0xb2, 0x45, 0xef, 0xc0, 0x9a, 0x92, 0xb7, 0x55, 0x03, 0x20, 0x93, + 0x85, 0x85, 0xe0, 0x90, 0x4d, 0x63, 0x73, 0xa6, 0x00, 0x88, 0xcd, 0xb7, 0x55, 0x03, 0x20, 0x03, + 0xa6, 0x85, 0xdf, 0x32, 0x95, 0x23, 0xac, 0xa5, 0xde, 0x24, 0x99, 0x00, 0x00, 0x00, 0x00, 0x40, + 0x99, 0x2e, 0x84, 0xaa, 0x84, 0xef, 0x40, 0x2c, 0xa7, 0x03, 0x45, 0xc5, 0x0e, 0x93, 0x05, 0x60, + 0x0e, 0x13, 0x06, 0x30, 0x11, 0x2b, 0xe6, 0xa5, 0x20, 0x23, 0x90, 0xc4, 0x00, 0x09, 0x45, 0x23, + 0x10, 0xa4, 0x00, 0x20, 0x99, 0x00, 0x00, 0x40, 0x99, 0x2e, 0x84, 0xaa, 0x84, 0xef, 0x40, 0xac, + 0xa4, 0x03, 0x45, 0xc5, 0x0e, 0x93, 0x05, 0x60, 0x0e, 0x13, 0x06, 0x00, 0x14, 0x2b, 0xe6, 0xa5, + 0x20, 0x23, 0x90, 0xc4, 0x00, 0x0d, 0x45, 0x23, 0x10, 0xa4, 0x00, 0x20, 0x99, 0x00, 0x00, 0xc0, + 0x99, 0x5d, 0xc9, 0x2a, 0x84, 0x03, 0x05, 0x05, 0x07, 0x03, 0x29, 0xc4, 0x2a, 0x7d, 0x15, 0x88, + 0x91, 0x13, 0x05, 0xf0, 0x0f, 0x8b, 0xca, 0x05, 0x02, 0x83, 0x44, 0xa4, 0x03, 0xef, 0x40, 0xac, + 0xa0, 0x03, 0x45, 0xc5, 0x0e, 0x93, 0x35, 0x15, 0x00, 0x13, 0x06, 0x60, 0x0e, 0x8b, 0x92, 0x04, + 0x01, 0x13, 0x05, 0x30, 0x11, 0x19, 0xa0, 0x13, 0x05, 0x00, 0x14, 0x2b, 0x65, 0xb6, 0x22, 0x83, + 0x55, 0x44, 0x27, 0x63, 0x6c, 0xb5, 0x02, 0x03, 0x45, 0x14, 0x03, 0x0b, 0x1c, 0x05, 0x01, 0x03, + 0x45, 0x04, 0x2a, 0x0b, 0x1a, 0x05, 0x01, 0x03, 0x45, 0x14, 0x2a, 0x05, 0xe1, 0x03, 0x25, 0x44, + 0x08, 0xab, 0x05, 0xa5, 0xbe, 0x2b, 0xb5, 0xa5, 0xbe, 0x95, 0x65, 0x93, 0x85, 0x65, 0x55, 0x23, + 0x20, 0x04, 0x0a, 0x63, 0x64, 0xb5, 0x00, 0x23, 0x22, 0x04, 0x08, 0x03, 0x45, 0xc4, 0x07, 0x0b, + 0x19, 0x05, 0x01, 0x09, 0x45, 0x23, 0x0e, 0xa4, 0x06, 0x23, 0x20, 0x04, 0x08, 0x23, 0x22, 0x04, + 0x08, 0x13, 0x05, 0x44, 0x23, 0x93, 0x05, 0x40, 0x03, 0x93, 0x06, 0x40, 0x03, 0x01, 0x46, 0xef, + 0x50, 0x47, 0xd1, 0x63, 0x0a, 0x09, 0x00, 0x03, 0x45, 0x39, 0x00, 0x0b, 0x13, 0x05, 0x05, 0x23, + 0x20, 0x04, 0x08, 0x23, 0x22, 0x04, 0x08, 0xa0, 0x99, 0x00, 0x00, 0xc0, 0x99, 0x32, 0x84, 0xae, + 0x84, 0x93, 0x05, 0x40, 0x15, 0x13, 0x09, 0xa0, 0x0f, 0x0b, 0x05, 0x05, 0x03, 0xef, 0x40, 0xac, + 0x95, 0x03, 0x45, 0xc5, 0x0e, 0x93, 0x05, 0xe0, 0x15, 0xab, 0x65, 0xa9, 0x20, 0x23, 0x10, 0xb4, + 0x00, 0x0b, 0x96, 0x89, 0x8c +}; + +/* +01 04 fb 04 01 ef 40 2c 94 03 45 c5 0e 93 05 b0 12 ab 65 a9 20 23 10 b4 00 a0 99 00 00 00 00 c0 +99 3d cd ae 84 2a 84 03 29 45 02 a3 0c b5 02 ef 40 8c 91 03 45 c5 0e 93 05 60 0e 13 06 00 14 2b +e6 a5 20 63 77 c9 02 09 45 a3 08 a4 02 8b 59 09 fb 93 05 04 03 11 45 a3 08 a4 02 8b 81 14 02 0b +93 04 01 2e 85 ca 85 ef 20 4a df ef 60 c9 a9 25 a0 22 1c ef 60 49 a9 64 9d 93 85 e4 ff b3 35 b0 +00 4d 8d 11 e9 03 45 14 03 0b 02 05 04 8b 12 05 02 05 05 a3 08 a4 02 ef 20 09 e2 11 c1 22 1c a0 +99 22 85 4a 86 ef 20 6a dc e9 b7 00 00 00 00 aa 86 03 05 05 07 7d 15 08 93 2e 85 8b 52 07 02 b2 +85 6f 10 fa c5 83 c5 a6 03 8b 92 05 01 b2 85 6f 10 5a c6 b2 85 6f 10 3a c7 00 00 c0 98 2a 84 03 +45 65 00 8b 1e 05 02 03 47 44 00 a3 01 e4 00 10 5c 54 5c 7b 25 00 81 10 d8 54 d8 72 1c 7a 1c 0b +47 05 04 fb 27 09 f6 37 05 23 00 13 05 e5 17 b7 b5 01 25 93 85 25 4c ef 60 87 da 0e 10 a0 98 00 +00 00 00 03 47 45 00 a3 01 e5 00 10 5d 54 5d fb 25 00 81 10 d9 54 d9 72 1d 7a 1d 0b c7 05 03 fb +27 09 f6 37 05 23 00 13 05 e5 17 b7 b5 01 34 93 85 25 4c 6f 60 c7 d6 82 80 00 00 c0 99 37 05 00 +04 b7 45 10 40 ec 55 37 16 03 20 13 04 06 b1 50 54 13 09 f5 ff 2b e5 05 74 48 d0 b3 24 c5 00 22 +85 a9 3f 03 45 64 00 0b 16 05 01 03 45 54 00 13 35 15 00 65 8d 93 15 15 00 a9 8c 23 03 b4 00 48 +50 2a 10 48 d4 37 86 12 40 03 25 06 0b 83 25 46 0b 03 26 c6 0b 69 82 b3 e6 a5 00 b3 f6 26 01 23 +02 c4 00 99 c6 b3 f5 25 01 33 75 25 01 08 dc 4c dc 81 c4 22 85 80 99 b1 b7 a0 99 00 00 00 00 40 +98 22 a0 53 15 05 c2 53 00 05 d2 53 74 05 0a ef 30 9e a4 31 c1 ef 30 3e a4 13 45 45 00 93 05 40 +06 13 06 80 0c 2b e6 a5 20 37 a5 09 00 07 30 85 fc 53 15 04 c2 d3 00 05 d2 d3 70 14 0a d3 f0 00 +12 53 95 00 c2 b3 65 c5 02 0d 8d 53 01 05 d2 d3 f0 20 0a 53 f4 00 1a ef 00 4e c9 37 a5 09 00 07 +30 05 fd 53 15 85 a2 43 70 05 42 2b 64 a0 3a 53 05 84 22 02 24 20 98 00 00 00 00 d0 99 37 a5 09 +00 93 05 85 fd 13 05 51 02 6d 46 13 04 51 02 ef 80 86 ea 37 a5 09 00 93 05 35 ff 13 05 a1 00 6d +46 93 04 a1 00 ef 80 26 e9 ef 40 ec 9a ab 64 a4 20 37 b5 00 20 13 04 05 f2 93 05 40 02 93 06 40 +02 13 09 40 02 22 85 01 46 ef 50 a7 a2 26 85 ef 80 96 bc aa 86 93 05 40 02 22 85 26 86 ef 40 f7 +bf 19 cd 7b 25 00 81 41 cd 37 05 23 00 13 05 e5 17 b7 b5 01 28 93 85 25 34 ef 60 e7 a7 b0 99 26 +85 ef 80 76 b9 aa 84 8b 28 05 1f 7b 25 00 81 25 c9 37 05 23 00 13 05 e5 17 b7 b5 01 2d 93 85 25 +34 26 86 ef 60 87 aa b0 99 ef 80 b7 a7 aa 86 33 85 84 00 b3 05 99 40 37 a6 09 00 13 06 e6 00 ef +20 87 b6 0b 22 05 00 aa 94 31 a8 7b 25 00 81 19 c9 37 05 23 00 13 05 e5 17 b7 b5 01 34 93 85 25 +34 ef 60 67 a1 13 06 40 02 22 85 a6 85 ef 80 ae 8a 93 85 34 00 13 06 40 02 22 85 ef 80 4e 92 b0 +99 00 00 c0 98 ef 30 2e f3 3d c1 2a 84 37 b5 00 20 03 15 85 6a 85 65 95 05 23 10 b4 00 93 05 85 +00 23 13 b4 00 13 05 84 00 ac 91 ef 00 0e b2 23 11 a4 00 ef 00 ce 94 fb 25 00 81 23 12 a4 00 0b +c8 05 03 03 56 64 00 83 56 24 00 37 05 23 00 13 05 e5 17 b7 b5 00 25 93 85 25 4c ef 60 87 a4 03 +55 64 00 93 05 85 00 22 85 80 98 6f 00 0e 9a a0 98 00 00 83 45 f5 02 13 f6 05 02 53 05 00 d2 59 +ca 54 45 18 45 37 a6 09 00 07 30 86 01 03 46 15 02 d3 80 16 d2 53 01 17 d2 43 70 01 0a 0b 53 16 +06 85 46 79 0c +*/ +const char g_cfg_cmd4[] = { + 0x01, 0x04, 0xfb, 0x04, 0x01, 0xef, 0x40, 0x2c, 0x94, 0x03, 0x45, 0xc5, 0x0e, 0x93, 0x05, 0xb0, + 0x12, 0xab, 0x65, 0xa9, 0x20, 0x23, 0x10, 0xb4, 0x00, 0xa0, 0x99, 0x00, 0x00, 0x00, 0x00, 0xc0, + 0x99, 0x3d, 0xcd, 0xae, 0x84, 0x2a, 0x84, 0x03, 0x29, 0x45, 0x02, 0xa3, 0x0c, 0xb5, 0x02, 0xef, + 0x40, 0x8c, 0x91, 0x03, 0x45, 0xc5, 0x0e, 0x93, 0x05, 0x60, 0x0e, 0x13, 0x06, 0x00, 0x14, 0x2b, + 0xe6, 0xa5, 0x20, 0x63, 0x77, 0xc9, 0x02, 0x09, 0x45, 0xa3, 0x08, 0xa4, 0x02, 0x8b, 0x59, 0x09, + 0xfb, 0x93, 0x05, 0x04, 0x03, 0x11, 0x45, 0xa3, 0x08, 0xa4, 0x02, 0x8b, 0x81, 0x14, 0x02, 0x0b, + 0x93, 0x04, 0x01, 0x2e, 0x85, 0xca, 0x85, 0xef, 0x20, 0x4a, 0xdf, 0xef, 0x60, 0xc9, 0xa9, 0x25, + 0xa0, 0x22, 0x1c, 0xef, 0x60, 0x49, 0xa9, 0x64, 0x9d, 0x93, 0x85, 0xe4, 0xff, 0xb3, 0x35, 0xb0, + 0x00, 0x4d, 0x8d, 0x11, 0xe9, 0x03, 0x45, 0x14, 0x03, 0x0b, 0x02, 0x05, 0x04, 0x8b, 0x12, 0x05, + 0x02, 0x05, 0x05, 0xa3, 0x08, 0xa4, 0x02, 0xef, 0x20, 0x09, 0xe2, 0x11, 0xc1, 0x22, 0x1c, 0xa0, + 0x99, 0x22, 0x85, 0x4a, 0x86, 0xef, 0x20, 0x6a, 0xdc, 0xe9, 0xb7, 0x00, 0x00, 0x00, 0x00, 0xaa, + 0x86, 0x03, 0x05, 0x05, 0x07, 0x7d, 0x15, 0x08, 0x93, 0x2e, 0x85, 0x8b, 0x52, 0x07, 0x02, 0xb2, + 0x85, 0x6f, 0x10, 0xfa, 0xc5, 0x83, 0xc5, 0xa6, 0x03, 0x8b, 0x92, 0x05, 0x01, 0xb2, 0x85, 0x6f, + 0x10, 0x5a, 0xc6, 0xb2, 0x85, 0x6f, 0x10, 0x3a, 0xc7, 0x00, 0x00, 0xc0, 0x98, 0x2a, 0x84, 0x03, + 0x45, 0x65, 0x00, 0x8b, 0x1e, 0x05, 0x02, 0x03, 0x47, 0x44, 0x00, 0xa3, 0x01, 0xe4, 0x00, 0x10, + 0x5c, 0x54, 0x5c, 0x7b, 0x25, 0x00, 0x81, 0x10, 0xd8, 0x54, 0xd8, 0x72, 0x1c, 0x7a, 0x1c, 0x0b, + 0x47, 0x05, 0x04, 0xfb, 0x27, 0x09, 0xf6, 0x37, 0x05, 0x23, 0x00, 0x13, 0x05, 0xe5, 0x17, 0xb7, + 0xb5, 0x01, 0x25, 0x93, 0x85, 0x25, 0x4c, 0xef, 0x60, 0x87, 0xda, 0x0e, 0x10, 0xa0, 0x98, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x47, 0x45, 0x00, 0xa3, 0x01, 0xe5, 0x00, 0x10, 0x5d, 0x54, 0x5d, 0xfb, + 0x25, 0x00, 0x81, 0x10, 0xd9, 0x54, 0xd9, 0x72, 0x1d, 0x7a, 0x1d, 0x0b, 0xc7, 0x05, 0x03, 0xfb, + 0x27, 0x09, 0xf6, 0x37, 0x05, 0x23, 0x00, 0x13, 0x05, 0xe5, 0x17, 0xb7, 0xb5, 0x01, 0x34, 0x93, + 0x85, 0x25, 0x4c, 0x6f, 0x60, 0xc7, 0xd6, 0x82, 0x80, 0x00, 0x00, 0xc0, 0x99, 0x37, 0x05, 0x00, + 0x04, 0xb7, 0x45, 0x10, 0x40, 0xec, 0x55, 0x37, 0x16, 0x03, 0x20, 0x13, 0x04, 0x06, 0xb1, 0x50, + 0x54, 0x13, 0x09, 0xf5, 0xff, 0x2b, 0xe5, 0x05, 0x74, 0x48, 0xd0, 0xb3, 0x24, 0xc5, 0x00, 0x22, + 0x85, 0xa9, 0x3f, 0x03, 0x45, 0x64, 0x00, 0x0b, 0x16, 0x05, 0x01, 0x03, 0x45, 0x54, 0x00, 0x13, + 0x35, 0x15, 0x00, 0x65, 0x8d, 0x93, 0x15, 0x15, 0x00, 0xa9, 0x8c, 0x23, 0x03, 0xb4, 0x00, 0x48, + 0x50, 0x2a, 0x10, 0x48, 0xd4, 0x37, 0x86, 0x12, 0x40, 0x03, 0x25, 0x06, 0x0b, 0x83, 0x25, 0x46, + 0x0b, 0x03, 0x26, 0xc6, 0x0b, 0x69, 0x82, 0xb3, 0xe6, 0xa5, 0x00, 0xb3, 0xf6, 0x26, 0x01, 0x23, + 0x02, 0xc4, 0x00, 0x99, 0xc6, 0xb3, 0xf5, 0x25, 0x01, 0x33, 0x75, 0x25, 0x01, 0x08, 0xdc, 0x4c, + 0xdc, 0x81, 0xc4, 0x22, 0x85, 0x80, 0x99, 0xb1, 0xb7, 0xa0, 0x99, 0x00, 0x00, 0x00, 0x00, 0x40, + 0x98, 0x22, 0xa0, 0x53, 0x15, 0x05, 0xc2, 0x53, 0x00, 0x05, 0xd2, 0x53, 0x74, 0x05, 0x0a, 0xef, + 0x30, 0x9e, 0xa4, 0x31, 0xc1, 0xef, 0x30, 0x3e, 0xa4, 0x13, 0x45, 0x45, 0x00, 0x93, 0x05, 0x40, + 0x06, 0x13, 0x06, 0x80, 0x0c, 0x2b, 0xe6, 0xa5, 0x20, 0x37, 0xa5, 0x09, 0x00, 0x07, 0x30, 0x85, + 0xfc, 0x53, 0x15, 0x04, 0xc2, 0xd3, 0x00, 0x05, 0xd2, 0xd3, 0x70, 0x14, 0x0a, 0xd3, 0xf0, 0x00, + 0x12, 0x53, 0x95, 0x00, 0xc2, 0xb3, 0x65, 0xc5, 0x02, 0x0d, 0x8d, 0x53, 0x01, 0x05, 0xd2, 0xd3, + 0xf0, 0x20, 0x0a, 0x53, 0xf4, 0x00, 0x1a, 0xef, 0x00, 0x4e, 0xc9, 0x37, 0xa5, 0x09, 0x00, 0x07, + 0x30, 0x05, 0xfd, 0x53, 0x15, 0x85, 0xa2, 0x43, 0x70, 0x05, 0x42, 0x2b, 0x64, 0xa0, 0x3a, 0x53, + 0x05, 0x84, 0x22, 0x02, 0x24, 0x20, 0x98, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x99, 0x37, 0xa5, 0x09, + 0x00, 0x93, 0x05, 0x85, 0xfd, 0x13, 0x05, 0x51, 0x02, 0x6d, 0x46, 0x13, 0x04, 0x51, 0x02, 0xef, + 0x80, 0x86, 0xea, 0x37, 0xa5, 0x09, 0x00, 0x93, 0x05, 0x35, 0xff, 0x13, 0x05, 0xa1, 0x00, 0x6d, + 0x46, 0x93, 0x04, 0xa1, 0x00, 0xef, 0x80, 0x26, 0xe9, 0xef, 0x40, 0xec, 0x9a, 0xab, 0x64, 0xa4, + 0x20, 0x37, 0xb5, 0x00, 0x20, 0x13, 0x04, 0x05, 0xf2, 0x93, 0x05, 0x40, 0x02, 0x93, 0x06, 0x40, + 0x02, 0x13, 0x09, 0x40, 0x02, 0x22, 0x85, 0x01, 0x46, 0xef, 0x50, 0xa7, 0xa2, 0x26, 0x85, 0xef, + 0x80, 0x96, 0xbc, 0xaa, 0x86, 0x93, 0x05, 0x40, 0x02, 0x22, 0x85, 0x26, 0x86, 0xef, 0x40, 0xf7, + 0xbf, 0x19, 0xcd, 0x7b, 0x25, 0x00, 0x81, 0x41, 0xcd, 0x37, 0x05, 0x23, 0x00, 0x13, 0x05, 0xe5, + 0x17, 0xb7, 0xb5, 0x01, 0x28, 0x93, 0x85, 0x25, 0x34, 0xef, 0x60, 0xe7, 0xa7, 0xb0, 0x99, 0x26, + 0x85, 0xef, 0x80, 0x76, 0xb9, 0xaa, 0x84, 0x8b, 0x28, 0x05, 0x1f, 0x7b, 0x25, 0x00, 0x81, 0x25, + 0xc9, 0x37, 0x05, 0x23, 0x00, 0x13, 0x05, 0xe5, 0x17, 0xb7, 0xb5, 0x01, 0x2d, 0x93, 0x85, 0x25, + 0x34, 0x26, 0x86, 0xef, 0x60, 0x87, 0xaa, 0xb0, 0x99, 0xef, 0x80, 0xb7, 0xa7, 0xaa, 0x86, 0x33, + 0x85, 0x84, 0x00, 0xb3, 0x05, 0x99, 0x40, 0x37, 0xa6, 0x09, 0x00, 0x13, 0x06, 0xe6, 0x00, 0xef, + 0x20, 0x87, 0xb6, 0x0b, 0x22, 0x05, 0x00, 0xaa, 0x94, 0x31, 0xa8, 0x7b, 0x25, 0x00, 0x81, 0x19, + 0xc9, 0x37, 0x05, 0x23, 0x00, 0x13, 0x05, 0xe5, 0x17, 0xb7, 0xb5, 0x01, 0x34, 0x93, 0x85, 0x25, + 0x34, 0xef, 0x60, 0x67, 0xa1, 0x13, 0x06, 0x40, 0x02, 0x22, 0x85, 0xa6, 0x85, 0xef, 0x80, 0xae, + 0x8a, 0x93, 0x85, 0x34, 0x00, 0x13, 0x06, 0x40, 0x02, 0x22, 0x85, 0xef, 0x80, 0x4e, 0x92, 0xb0, + 0x99, 0x00, 0x00, 0xc0, 0x98, 0xef, 0x30, 0x2e, 0xf3, 0x3d, 0xc1, 0x2a, 0x84, 0x37, 0xb5, 0x00, + 0x20, 0x03, 0x15, 0x85, 0x6a, 0x85, 0x65, 0x95, 0x05, 0x23, 0x10, 0xb4, 0x00, 0x93, 0x05, 0x85, + 0x00, 0x23, 0x13, 0xb4, 0x00, 0x13, 0x05, 0x84, 0x00, 0xac, 0x91, 0xef, 0x00, 0x0e, 0xb2, 0x23, + 0x11, 0xa4, 0x00, 0xef, 0x00, 0xce, 0x94, 0xfb, 0x25, 0x00, 0x81, 0x23, 0x12, 0xa4, 0x00, 0x0b, + 0xc8, 0x05, 0x03, 0x03, 0x56, 0x64, 0x00, 0x83, 0x56, 0x24, 0x00, 0x37, 0x05, 0x23, 0x00, 0x13, + 0x05, 0xe5, 0x17, 0xb7, 0xb5, 0x00, 0x25, 0x93, 0x85, 0x25, 0x4c, 0xef, 0x60, 0x87, 0xa4, 0x03, + 0x55, 0x64, 0x00, 0x93, 0x05, 0x85, 0x00, 0x22, 0x85, 0x80, 0x98, 0x6f, 0x00, 0x0e, 0x9a, 0xa0, + 0x98, 0x00, 0x00, 0x83, 0x45, 0xf5, 0x02, 0x13, 0xf6, 0x05, 0x02, 0x53, 0x05, 0x00, 0xd2, 0x59, + 0xca, 0x54, 0x45, 0x18, 0x45, 0x37, 0xa6, 0x09, 0x00, 0x07, 0x30, 0x86, 0x01, 0x03, 0x46, 0x15, + 0x02, 0xd3, 0x80, 0x16, 0xd2, 0x53, 0x01, 0x17, 0xd2, 0x43, 0x70, 0x01, 0x0a, 0x0b, 0x53, 0x16, + 0x06, 0x85, 0x46, 0x79, 0x0c +}; + +/* +01 05 fa b3 96 c6 00 93 f6 96 02 9d ce ab e6 35 44 11 ca 03 05 05 02 0b 17 06 03 37 07 04 20 13 +07 07 de 21 a8 03 05 05 02 37 57 04 20 13 07 07 cf 29 a0 37 57 04 20 13 07 07 cc 3a 95 89 ca 03 +45 05 00 11 c5 63 82 a6 02 53 05 00 22 82 80 01 45 13 36 16 00 8d 89 93 c6 35 00 ab 65 d0 20 2b +e5 c5 22 09 c9 0b 19 f5 01 37 a5 09 00 87 30 05 02 53 75 10 02 82 80 00 00 00 00 c4 99 2a 84 03 +06 05 02 03 45 15 02 ae 84 23 90 c5 02 a3 86 a5 02 b2 85 ef a0 ce a3 83 d5 04 02 03 c6 d4 02 23 +91 a4 02 2e 89 8b 15 06 01 37 15 00 20 13 05 85 01 2b 05 b5 04 08 41 13 09 75 00 03 05 04 03 23 +88 a4 02 ec 91 32 85 ef 00 1f 9c a3 89 a4 02 03 c5 d4 02 02 c4 02 c2 02 c0 93 15 09 01 c1 81 0a +86 ef 90 2e e1 02 45 83 05 44 02 03 06 b4 02 23 83 a4 02 23 86 b4 02 a3 82 c4 02 03 05 e4 01 83 +05 34 02 03 06 74 02 83 06 24 02 23 82 a4 02 a3 83 b4 02 a3 88 c4 02 13 85 d6 ff 88 91 93 b5 a5 +00 13 06 10 21 33 55 a6 00 6d 8d 4c 44 10 44 b7 a6 09 00 07 b0 86 01 23 8a a4 02 d3 80 05 d2 53 +01 16 d2 43 70 01 0a 27 b8 04 00 22 85 59 35 03 05 f4 02 88 a8 23 87 a4 02 a4 99 40 99 ef 30 bc +be 2a 84 ef 30 5c ed 93 05 10 24 93 04 10 20 13 06 10 20 2b e6 a5 20 23 2a c4 10 ef 30 dc eb 83 +25 44 11 13 35 15 00 05 05 13 f6 05 04 a3 0a a4 04 09 c6 05 46 30 c8 23 0a a4 04 13 f5 05 20 23 +0b 04 04 11 c5 ef 30 3c e9 19 e1 23 1c 94 04 23 01 04 14 20 99 00 00 85 65 33 06 b5 00 03 26 86 +b0 93 85 05 b0 aa 95 0b 18 06 01 37 d6 4c 3f 13 06 d6 cc 23 26 c5 0e 37 06 40 40 23 28 c5 0e 37 +06 00 40 23 24 c5 0e 03 c6 85 01 11 c2 82 80 07 30 85 05 37 a6 09 00 87 30 86 02 53 16 10 a2 01 +ca b7 05 00 40 23 26 b5 0e b7 05 80 3f 31 a0 8c 41 0b 97 f5 01 b7 05 80 40 23 28 b5 0e 82 80 00 +00 00 00 82 80 00 00 c0 99 2e 86 2a 84 05 65 07 30 84 05 b7 a5 09 00 87 b0 05 03 b3 05 a4 00 83 +c5 85 b1 13 05 85 b0 d3 96 00 a2 b3 04 a4 00 81 c6 99 c1 81 45 82 14 32 85 ef 50 bd 86 cc 44 05 +49 8b 81 05 01 2a 89 07 30 84 05 37 a5 09 00 87 30 85 04 53 15 10 a2 01 cd ef 30 ad ab 8b 14 05 +01 ef 50 7d ef 8b 02 05 02 05 49 23 88 24 01 22 85 ef 50 bd 87 aa 85 01 45 8b 81 05 01 4a 85 8c +40 0b 96 05 01 83 c5 24 04 0b 84 05 02 ef 50 3d 9e 8b 12 05 01 01 45 82 14 a0 99 01 45 a0 99 00 +00 00 00 c8 99 22 ac 26 a8 4a a4 32 84 08 22 2e 89 aa 84 ef 90 66 b5 07 30 04 00 53 04 a5 22 53 +05 00 22 ef 90 86 9a 07 30 84 00 d3 04 a5 22 53 05 00 22 ef 90 66 b3 07 30 84 00 53 09 a5 22 53 +05 00 22 ef 90 86 98 07 b0 84 00 87 b0 04 00 53 11 84 22 87 b1 04 01 53 70 20 12 d3 70 19 12 c7 +70 05 0a 53 f1 34 12 c3 70 25 0a 27 30 19 00 87 b0 04 00 d3 70 15 12 43 70 09 0a 43 70 29 02 27 +34 09 00 07 b0 84 00 88 4c 53 f0 04 12 43 70 34 02 27 38 09 00 23 2c a9 00 22 29 c2 24 62 24 a8 +99 00 00 dc 99 59 71 a2 ad a6 a9 2a 84 07 30 05 00 87 30 85 00 07 31 05 01 53 84 b5 22 d3 04 a5 +22 ae 84 02 b9 06 bd 8a a1 05 49 ca c5 08 19 8c 18 ef 50 fb ec 07 30 84 02 87 30 04 03 07 31 84 +03 02 a9 06 ad 0a b1 4a d5 28 10 0c 09 13 06 00 02 ef 80 66 96 28 00 8c 18 13 06 00 02 ef 80 a6 +95 28 10 2c 00 90 08 b4 00 ef 60 6b 86 46 20 e6 20 53 70 90 12 82 a8 53 f0 90 12 82 ac 88 08 0c +09 90 18 c5 35 4a 20 ea 20 0a 31 27 34 04 02 27 38 14 02 27 3c 24 02 07 30 04 00 87 b0 04 00 53 +70 10 0a 5a 55 +*/ +const char g_cfg_cmd5[] = { + 0x01, 0x05, 0xfa, 0xb3, 0x96, 0xc6, 0x00, 0x93, 0xf6, 0x96, 0x02, 0x9d, 0xce, 0xab, 0xe6, 0x35, + 0x44, 0x11, 0xca, 0x03, 0x05, 0x05, 0x02, 0x0b, 0x17, 0x06, 0x03, 0x37, 0x07, 0x04, 0x20, 0x13, + 0x07, 0x07, 0xde, 0x21, 0xa8, 0x03, 0x05, 0x05, 0x02, 0x37, 0x57, 0x04, 0x20, 0x13, 0x07, 0x07, + 0xcf, 0x29, 0xa0, 0x37, 0x57, 0x04, 0x20, 0x13, 0x07, 0x07, 0xcc, 0x3a, 0x95, 0x89, 0xca, 0x03, + 0x45, 0x05, 0x00, 0x11, 0xc5, 0x63, 0x82, 0xa6, 0x02, 0x53, 0x05, 0x00, 0x22, 0x82, 0x80, 0x01, + 0x45, 0x13, 0x36, 0x16, 0x00, 0x8d, 0x89, 0x93, 0xc6, 0x35, 0x00, 0xab, 0x65, 0xd0, 0x20, 0x2b, + 0xe5, 0xc5, 0x22, 0x09, 0xc9, 0x0b, 0x19, 0xf5, 0x01, 0x37, 0xa5, 0x09, 0x00, 0x87, 0x30, 0x05, + 0x02, 0x53, 0x75, 0x10, 0x02, 0x82, 0x80, 0x00, 0x00, 0x00, 0x00, 0xc4, 0x99, 0x2a, 0x84, 0x03, + 0x06, 0x05, 0x02, 0x03, 0x45, 0x15, 0x02, 0xae, 0x84, 0x23, 0x90, 0xc5, 0x02, 0xa3, 0x86, 0xa5, + 0x02, 0xb2, 0x85, 0xef, 0xa0, 0xce, 0xa3, 0x83, 0xd5, 0x04, 0x02, 0x03, 0xc6, 0xd4, 0x02, 0x23, + 0x91, 0xa4, 0x02, 0x2e, 0x89, 0x8b, 0x15, 0x06, 0x01, 0x37, 0x15, 0x00, 0x20, 0x13, 0x05, 0x85, + 0x01, 0x2b, 0x05, 0xb5, 0x04, 0x08, 0x41, 0x13, 0x09, 0x75, 0x00, 0x03, 0x05, 0x04, 0x03, 0x23, + 0x88, 0xa4, 0x02, 0xec, 0x91, 0x32, 0x85, 0xef, 0x00, 0x1f, 0x9c, 0xa3, 0x89, 0xa4, 0x02, 0x03, + 0xc5, 0xd4, 0x02, 0x02, 0xc4, 0x02, 0xc2, 0x02, 0xc0, 0x93, 0x15, 0x09, 0x01, 0xc1, 0x81, 0x0a, + 0x86, 0xef, 0x90, 0x2e, 0xe1, 0x02, 0x45, 0x83, 0x05, 0x44, 0x02, 0x03, 0x06, 0xb4, 0x02, 0x23, + 0x83, 0xa4, 0x02, 0x23, 0x86, 0xb4, 0x02, 0xa3, 0x82, 0xc4, 0x02, 0x03, 0x05, 0xe4, 0x01, 0x83, + 0x05, 0x34, 0x02, 0x03, 0x06, 0x74, 0x02, 0x83, 0x06, 0x24, 0x02, 0x23, 0x82, 0xa4, 0x02, 0xa3, + 0x83, 0xb4, 0x02, 0xa3, 0x88, 0xc4, 0x02, 0x13, 0x85, 0xd6, 0xff, 0x88, 0x91, 0x93, 0xb5, 0xa5, + 0x00, 0x13, 0x06, 0x10, 0x21, 0x33, 0x55, 0xa6, 0x00, 0x6d, 0x8d, 0x4c, 0x44, 0x10, 0x44, 0xb7, + 0xa6, 0x09, 0x00, 0x07, 0xb0, 0x86, 0x01, 0x23, 0x8a, 0xa4, 0x02, 0xd3, 0x80, 0x05, 0xd2, 0x53, + 0x01, 0x16, 0xd2, 0x43, 0x70, 0x01, 0x0a, 0x27, 0xb8, 0x04, 0x00, 0x22, 0x85, 0x59, 0x35, 0x03, + 0x05, 0xf4, 0x02, 0x88, 0xa8, 0x23, 0x87, 0xa4, 0x02, 0xa4, 0x99, 0x40, 0x99, 0xef, 0x30, 0xbc, + 0xbe, 0x2a, 0x84, 0xef, 0x30, 0x5c, 0xed, 0x93, 0x05, 0x10, 0x24, 0x93, 0x04, 0x10, 0x20, 0x13, + 0x06, 0x10, 0x20, 0x2b, 0xe6, 0xa5, 0x20, 0x23, 0x2a, 0xc4, 0x10, 0xef, 0x30, 0xdc, 0xeb, 0x83, + 0x25, 0x44, 0x11, 0x13, 0x35, 0x15, 0x00, 0x05, 0x05, 0x13, 0xf6, 0x05, 0x04, 0xa3, 0x0a, 0xa4, + 0x04, 0x09, 0xc6, 0x05, 0x46, 0x30, 0xc8, 0x23, 0x0a, 0xa4, 0x04, 0x13, 0xf5, 0x05, 0x20, 0x23, + 0x0b, 0x04, 0x04, 0x11, 0xc5, 0xef, 0x30, 0x3c, 0xe9, 0x19, 0xe1, 0x23, 0x1c, 0x94, 0x04, 0x23, + 0x01, 0x04, 0x14, 0x20, 0x99, 0x00, 0x00, 0x85, 0x65, 0x33, 0x06, 0xb5, 0x00, 0x03, 0x26, 0x86, + 0xb0, 0x93, 0x85, 0x05, 0xb0, 0xaa, 0x95, 0x0b, 0x18, 0x06, 0x01, 0x37, 0xd6, 0x4c, 0x3f, 0x13, + 0x06, 0xd6, 0xcc, 0x23, 0x26, 0xc5, 0x0e, 0x37, 0x06, 0x40, 0x40, 0x23, 0x28, 0xc5, 0x0e, 0x37, + 0x06, 0x00, 0x40, 0x23, 0x24, 0xc5, 0x0e, 0x03, 0xc6, 0x85, 0x01, 0x11, 0xc2, 0x82, 0x80, 0x07, + 0x30, 0x85, 0x05, 0x37, 0xa6, 0x09, 0x00, 0x87, 0x30, 0x86, 0x02, 0x53, 0x16, 0x10, 0xa2, 0x01, + 0xca, 0xb7, 0x05, 0x00, 0x40, 0x23, 0x26, 0xb5, 0x0e, 0xb7, 0x05, 0x80, 0x3f, 0x31, 0xa0, 0x8c, + 0x41, 0x0b, 0x97, 0xf5, 0x01, 0xb7, 0x05, 0x80, 0x40, 0x23, 0x28, 0xb5, 0x0e, 0x82, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x82, 0x80, 0x00, 0x00, 0xc0, 0x99, 0x2e, 0x86, 0x2a, 0x84, 0x05, 0x65, 0x07, + 0x30, 0x84, 0x05, 0xb7, 0xa5, 0x09, 0x00, 0x87, 0xb0, 0x05, 0x03, 0xb3, 0x05, 0xa4, 0x00, 0x83, + 0xc5, 0x85, 0xb1, 0x13, 0x05, 0x85, 0xb0, 0xd3, 0x96, 0x00, 0xa2, 0xb3, 0x04, 0xa4, 0x00, 0x81, + 0xc6, 0x99, 0xc1, 0x81, 0x45, 0x82, 0x14, 0x32, 0x85, 0xef, 0x50, 0xbd, 0x86, 0xcc, 0x44, 0x05, + 0x49, 0x8b, 0x81, 0x05, 0x01, 0x2a, 0x89, 0x07, 0x30, 0x84, 0x05, 0x37, 0xa5, 0x09, 0x00, 0x87, + 0x30, 0x85, 0x04, 0x53, 0x15, 0x10, 0xa2, 0x01, 0xcd, 0xef, 0x30, 0xad, 0xab, 0x8b, 0x14, 0x05, + 0x01, 0xef, 0x50, 0x7d, 0xef, 0x8b, 0x02, 0x05, 0x02, 0x05, 0x49, 0x23, 0x88, 0x24, 0x01, 0x22, + 0x85, 0xef, 0x50, 0xbd, 0x87, 0xaa, 0x85, 0x01, 0x45, 0x8b, 0x81, 0x05, 0x01, 0x4a, 0x85, 0x8c, + 0x40, 0x0b, 0x96, 0x05, 0x01, 0x83, 0xc5, 0x24, 0x04, 0x0b, 0x84, 0x05, 0x02, 0xef, 0x50, 0x3d, + 0x9e, 0x8b, 0x12, 0x05, 0x01, 0x01, 0x45, 0x82, 0x14, 0xa0, 0x99, 0x01, 0x45, 0xa0, 0x99, 0x00, + 0x00, 0x00, 0x00, 0xc8, 0x99, 0x22, 0xac, 0x26, 0xa8, 0x4a, 0xa4, 0x32, 0x84, 0x08, 0x22, 0x2e, + 0x89, 0xaa, 0x84, 0xef, 0x90, 0x66, 0xb5, 0x07, 0x30, 0x04, 0x00, 0x53, 0x04, 0xa5, 0x22, 0x53, + 0x05, 0x00, 0x22, 0xef, 0x90, 0x86, 0x9a, 0x07, 0x30, 0x84, 0x00, 0xd3, 0x04, 0xa5, 0x22, 0x53, + 0x05, 0x00, 0x22, 0xef, 0x90, 0x66, 0xb3, 0x07, 0x30, 0x84, 0x00, 0x53, 0x09, 0xa5, 0x22, 0x53, + 0x05, 0x00, 0x22, 0xef, 0x90, 0x86, 0x98, 0x07, 0xb0, 0x84, 0x00, 0x87, 0xb0, 0x04, 0x00, 0x53, + 0x11, 0x84, 0x22, 0x87, 0xb1, 0x04, 0x01, 0x53, 0x70, 0x20, 0x12, 0xd3, 0x70, 0x19, 0x12, 0xc7, + 0x70, 0x05, 0x0a, 0x53, 0xf1, 0x34, 0x12, 0xc3, 0x70, 0x25, 0x0a, 0x27, 0x30, 0x19, 0x00, 0x87, + 0xb0, 0x04, 0x00, 0xd3, 0x70, 0x15, 0x12, 0x43, 0x70, 0x09, 0x0a, 0x43, 0x70, 0x29, 0x02, 0x27, + 0x34, 0x09, 0x00, 0x07, 0xb0, 0x84, 0x00, 0x88, 0x4c, 0x53, 0xf0, 0x04, 0x12, 0x43, 0x70, 0x34, + 0x02, 0x27, 0x38, 0x09, 0x00, 0x23, 0x2c, 0xa9, 0x00, 0x22, 0x29, 0xc2, 0x24, 0x62, 0x24, 0xa8, + 0x99, 0x00, 0x00, 0xdc, 0x99, 0x59, 0x71, 0xa2, 0xad, 0xa6, 0xa9, 0x2a, 0x84, 0x07, 0x30, 0x05, + 0x00, 0x87, 0x30, 0x85, 0x00, 0x07, 0x31, 0x05, 0x01, 0x53, 0x84, 0xb5, 0x22, 0xd3, 0x04, 0xa5, + 0x22, 0xae, 0x84, 0x02, 0xb9, 0x06, 0xbd, 0x8a, 0xa1, 0x05, 0x49, 0xca, 0xc5, 0x08, 0x19, 0x8c, + 0x18, 0xef, 0x50, 0xfb, 0xec, 0x07, 0x30, 0x84, 0x02, 0x87, 0x30, 0x04, 0x03, 0x07, 0x31, 0x84, + 0x03, 0x02, 0xa9, 0x06, 0xad, 0x0a, 0xb1, 0x4a, 0xd5, 0x28, 0x10, 0x0c, 0x09, 0x13, 0x06, 0x00, + 0x02, 0xef, 0x80, 0x66, 0x96, 0x28, 0x00, 0x8c, 0x18, 0x13, 0x06, 0x00, 0x02, 0xef, 0x80, 0xa6, + 0x95, 0x28, 0x10, 0x2c, 0x00, 0x90, 0x08, 0xb4, 0x00, 0xef, 0x60, 0x6b, 0x86, 0x46, 0x20, 0xe6, + 0x20, 0x53, 0x70, 0x90, 0x12, 0x82, 0xa8, 0x53, 0xf0, 0x90, 0x12, 0x82, 0xac, 0x88, 0x08, 0x0c, + 0x09, 0x90, 0x18, 0xc5, 0x35, 0x4a, 0x20, 0xea, 0x20, 0x0a, 0x31, 0x27, 0x34, 0x04, 0x02, 0x27, + 0x38, 0x14, 0x02, 0x27, 0x3c, 0x24, 0x02, 0x07, 0x30, 0x04, 0x00, 0x87, 0xb0, 0x04, 0x00, 0x53, + 0x70, 0x10, 0x0a, 0x5a, 0x55 +}; + +/* +01 06 f9 87 30 84 00 07 b1 84 00 87 31 04 01 07 b2 04 01 02 a9 53 f0 20 0a 02 ad 53 f0 41 0a 02 +b1 4a d5 28 10 0c 09 13 06 00 02 ef 80 c6 8e 28 00 8c 18 13 06 00 02 ef 80 06 8e 28 10 2c 00 90 +08 b4 00 ef 50 db fe 46 20 e6 20 53 70 80 12 82 a8 53 f0 80 12 82 ac 88 08 0c 09 90 18 9d 35 07 +b0 04 00 ca 20 53 70 10 02 27 30 04 00 07 b0 84 00 ea 20 53 70 10 02 27 34 04 00 07 b0 04 01 8a +30 53 70 10 02 27 38 04 00 ce 24 6e 24 65 61 bc 99 00 00 40 9b 2e 8a aa 84 05 64 13 05 04 b1 b3 +89 a4 00 ef 30 5c 8a 83 2a 85 0e ef 40 8d f1 aa 85 26 85 95 3b b3 85 84 00 83 a5 85 b3 25 46 b3 +35 b6 00 33 35 a0 00 6d 8d 15 e1 13 05 84 b7 26 95 b7 a5 09 00 07 b5 05 04 d2 85 ef 50 5d 95 23 +a0 09 00 37 55 04 20 23 2e 05 72 20 9b 13 05 84 b7 33 89 a4 00 63 8a 0a 00 53 05 00 d2 52 85 ca +85 ef 50 fd 92 05 45 2d a0 37 a5 09 00 07 35 05 02 37 a5 09 00 87 35 85 03 52 85 ca 85 99 35 37 +a5 09 00 07 35 05 04 4a 85 d2 85 ef 50 5d 90 01 45 23 a0 a9 00 b7 55 04 20 23 ae a5 72 52 85 a6 +85 00 9b 6f 00 1d aa 00 00 00 00 37 a5 09 00 07 30 05 04 53 95 05 a2 11 c5 37 a5 09 00 07 30 85 +04 b9 a8 53 15 05 a2 01 c9 37 a5 09 00 07 30 05 02 53 70 05 02 a9 a0 37 a5 09 00 07 30 05 05 53 +15 05 a2 01 cd 37 a5 09 00 07 30 05 02 37 a5 09 00 87 30 85 02 43 70 15 02 1d a0 37 a5 09 00 07 +30 85 05 53 15 05 a2 01 c9 37 a5 09 00 07 30 05 02 53 70 05 12 29 a0 37 a5 09 00 07 30 05 06 53 +75 c0 12 82 80 00 00 c0 9b 37 ab 09 00 93 04 4b 0b dc 40 ba 89 36 89 32 8a 2e 84 aa 8a 05 65 93 +05 05 a0 3e 85 01 46 ae 86 ef 40 b7 ae 03 25 4b 0b 93 05 80 2d 93 06 80 2d 01 46 ef 40 97 ad 22 +85 ef c0 bd f9 83 26 4b 0b d8 40 05 45 d6 85 22 86 ef a0 2d ed 05 c5 03 25 4b 0b 93 95 29 00 13 +06 05 1e 93 06 40 0c 52 85 ef 40 27 c9 d0 40 22 85 d2 85 ca 86 ef 90 bd f5 33 35 a0 00 a0 9b 00 +00 00 00 8b 2f 05 01 81 48 33 28 b0 00 13 13 25 00 93 92 25 00 63 01 08 02 b2 83 36 8e ba 8e ae +87 5b a5 43 a0 db 25 4e a0 53 75 b5 10 27 a0 ae 00 fd 17 9a 9e f5 f7 85 08 11 07 16 96 e3 9c a8 +fc 82 80 00 00 00 00 48 9e 22 b0 26 ac 80 10 83 2a 44 00 83 2d 04 00 2a 89 37 a5 09 00 63 d5 ba +01 07 24 85 06 a1 aa c6 89 be 84 36 8c 2e 8b 23 24 e4 fa 23 26 04 fb 23 28 c4 fa 23 2a 24 fa 3d +45 ab 05 55 05 c1 99 33 0a b1 40 52 81 b3 85 ba 03 ab 05 b5 04 c1 99 33 0d b1 40 6a 81 b3 0c b1 +40 66 81 ab 05 b5 05 c1 99 b3 05 b1 40 23 22 b4 fa 2e 81 b3 85 bd 03 2b 05 b5 04 41 99 b3 0b a1 +40 5e 81 93 95 2a 00 52 85 01 46 ae 86 ef 40 77 9c 6a 85 e2 85 56 86 ee 86 5a 87 ef f0 cd ad 0b +a9 0a 01 13 05 f9 ff 13 35 15 00 d6 85 52 86 5b a5 44 a0 d3 75 a5 10 ab 65 a5 38 fd 15 5b 22 b6 +e0 fd f5 6e 85 d6 85 6a 86 d2 86 66 87 dd 3d 37 a5 09 00 87 24 c5 06 d3 05 00 f0 53 04 00 f0 01 +45 ee 85 6e 86 d6 86 53 85 94 20 66 87 ea 87 5e 88 ef f0 ed a2 5e 85 ee 85 ef f0 ad e2 11 c5 37 +a5 09 00 07 24 85 06 b1 a8 8b a7 0d 01 11 45 2b 05 b5 05 53 04 00 f0 de 85 6e 86 88 61 53 74 a4 +00 7d 16 aa 95 7d fa 05 46 d3 05 00 f0 01 45 ee 85 d6 86 53 85 94 20 66 87 83 27 84 fa 83 24 44 +fa 26 88 ef f0 cd 9d 05 46 d3 05 00 f0 01 45 ee 85 ee 86 53 85 94 20 5e 87 a6 87 03 28 c4 fa ef +f0 0d 9c 83 24 44 fb 63 8a 09 00 5e 85 ce 85 6e 86 ee 86 03 27 04 fb ef f0 8d a3 26 81 53 05 84 +20 13 01 f6 d7 +*/ +const char g_cfg_cmd6[] = { + 0x01, 0x06, 0xf9, 0x87, 0x30, 0x84, 0x00, 0x07, 0xb1, 0x84, 0x00, 0x87, 0x31, 0x04, 0x01, 0x07, + 0xb2, 0x04, 0x01, 0x02, 0xa9, 0x53, 0xf0, 0x20, 0x0a, 0x02, 0xad, 0x53, 0xf0, 0x41, 0x0a, 0x02, + 0xb1, 0x4a, 0xd5, 0x28, 0x10, 0x0c, 0x09, 0x13, 0x06, 0x00, 0x02, 0xef, 0x80, 0xc6, 0x8e, 0x28, + 0x00, 0x8c, 0x18, 0x13, 0x06, 0x00, 0x02, 0xef, 0x80, 0x06, 0x8e, 0x28, 0x10, 0x2c, 0x00, 0x90, + 0x08, 0xb4, 0x00, 0xef, 0x50, 0xdb, 0xfe, 0x46, 0x20, 0xe6, 0x20, 0x53, 0x70, 0x80, 0x12, 0x82, + 0xa8, 0x53, 0xf0, 0x80, 0x12, 0x82, 0xac, 0x88, 0x08, 0x0c, 0x09, 0x90, 0x18, 0x9d, 0x35, 0x07, + 0xb0, 0x04, 0x00, 0xca, 0x20, 0x53, 0x70, 0x10, 0x02, 0x27, 0x30, 0x04, 0x00, 0x07, 0xb0, 0x84, + 0x00, 0xea, 0x20, 0x53, 0x70, 0x10, 0x02, 0x27, 0x34, 0x04, 0x00, 0x07, 0xb0, 0x04, 0x01, 0x8a, + 0x30, 0x53, 0x70, 0x10, 0x02, 0x27, 0x38, 0x04, 0x00, 0xce, 0x24, 0x6e, 0x24, 0x65, 0x61, 0xbc, + 0x99, 0x00, 0x00, 0x40, 0x9b, 0x2e, 0x8a, 0xaa, 0x84, 0x05, 0x64, 0x13, 0x05, 0x04, 0xb1, 0xb3, + 0x89, 0xa4, 0x00, 0xef, 0x30, 0x5c, 0x8a, 0x83, 0x2a, 0x85, 0x0e, 0xef, 0x40, 0x8d, 0xf1, 0xaa, + 0x85, 0x26, 0x85, 0x95, 0x3b, 0xb3, 0x85, 0x84, 0x00, 0x83, 0xa5, 0x85, 0xb3, 0x25, 0x46, 0xb3, + 0x35, 0xb6, 0x00, 0x33, 0x35, 0xa0, 0x00, 0x6d, 0x8d, 0x15, 0xe1, 0x13, 0x05, 0x84, 0xb7, 0x26, + 0x95, 0xb7, 0xa5, 0x09, 0x00, 0x07, 0xb5, 0x05, 0x04, 0xd2, 0x85, 0xef, 0x50, 0x5d, 0x95, 0x23, + 0xa0, 0x09, 0x00, 0x37, 0x55, 0x04, 0x20, 0x23, 0x2e, 0x05, 0x72, 0x20, 0x9b, 0x13, 0x05, 0x84, + 0xb7, 0x33, 0x89, 0xa4, 0x00, 0x63, 0x8a, 0x0a, 0x00, 0x53, 0x05, 0x00, 0xd2, 0x52, 0x85, 0xca, + 0x85, 0xef, 0x50, 0xfd, 0x92, 0x05, 0x45, 0x2d, 0xa0, 0x37, 0xa5, 0x09, 0x00, 0x07, 0x35, 0x05, + 0x02, 0x37, 0xa5, 0x09, 0x00, 0x87, 0x35, 0x85, 0x03, 0x52, 0x85, 0xca, 0x85, 0x99, 0x35, 0x37, + 0xa5, 0x09, 0x00, 0x07, 0x35, 0x05, 0x04, 0x4a, 0x85, 0xd2, 0x85, 0xef, 0x50, 0x5d, 0x90, 0x01, + 0x45, 0x23, 0xa0, 0xa9, 0x00, 0xb7, 0x55, 0x04, 0x20, 0x23, 0xae, 0xa5, 0x72, 0x52, 0x85, 0xa6, + 0x85, 0x00, 0x9b, 0x6f, 0x00, 0x1d, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x37, 0xa5, 0x09, 0x00, 0x07, + 0x30, 0x05, 0x04, 0x53, 0x95, 0x05, 0xa2, 0x11, 0xc5, 0x37, 0xa5, 0x09, 0x00, 0x07, 0x30, 0x85, + 0x04, 0xb9, 0xa8, 0x53, 0x15, 0x05, 0xa2, 0x01, 0xc9, 0x37, 0xa5, 0x09, 0x00, 0x07, 0x30, 0x05, + 0x02, 0x53, 0x70, 0x05, 0x02, 0xa9, 0xa0, 0x37, 0xa5, 0x09, 0x00, 0x07, 0x30, 0x05, 0x05, 0x53, + 0x15, 0x05, 0xa2, 0x01, 0xcd, 0x37, 0xa5, 0x09, 0x00, 0x07, 0x30, 0x05, 0x02, 0x37, 0xa5, 0x09, + 0x00, 0x87, 0x30, 0x85, 0x02, 0x43, 0x70, 0x15, 0x02, 0x1d, 0xa0, 0x37, 0xa5, 0x09, 0x00, 0x07, + 0x30, 0x85, 0x05, 0x53, 0x15, 0x05, 0xa2, 0x01, 0xc9, 0x37, 0xa5, 0x09, 0x00, 0x07, 0x30, 0x05, + 0x02, 0x53, 0x70, 0x05, 0x12, 0x29, 0xa0, 0x37, 0xa5, 0x09, 0x00, 0x07, 0x30, 0x05, 0x06, 0x53, + 0x75, 0xc0, 0x12, 0x82, 0x80, 0x00, 0x00, 0xc0, 0x9b, 0x37, 0xab, 0x09, 0x00, 0x93, 0x04, 0x4b, + 0x0b, 0xdc, 0x40, 0xba, 0x89, 0x36, 0x89, 0x32, 0x8a, 0x2e, 0x84, 0xaa, 0x8a, 0x05, 0x65, 0x93, + 0x05, 0x05, 0xa0, 0x3e, 0x85, 0x01, 0x46, 0xae, 0x86, 0xef, 0x40, 0xb7, 0xae, 0x03, 0x25, 0x4b, + 0x0b, 0x93, 0x05, 0x80, 0x2d, 0x93, 0x06, 0x80, 0x2d, 0x01, 0x46, 0xef, 0x40, 0x97, 0xad, 0x22, + 0x85, 0xef, 0xc0, 0xbd, 0xf9, 0x83, 0x26, 0x4b, 0x0b, 0xd8, 0x40, 0x05, 0x45, 0xd6, 0x85, 0x22, + 0x86, 0xef, 0xa0, 0x2d, 0xed, 0x05, 0xc5, 0x03, 0x25, 0x4b, 0x0b, 0x93, 0x95, 0x29, 0x00, 0x13, + 0x06, 0x05, 0x1e, 0x93, 0x06, 0x40, 0x0c, 0x52, 0x85, 0xef, 0x40, 0x27, 0xc9, 0xd0, 0x40, 0x22, + 0x85, 0xd2, 0x85, 0xca, 0x86, 0xef, 0x90, 0xbd, 0xf5, 0x33, 0x35, 0xa0, 0x00, 0xa0, 0x9b, 0x00, + 0x00, 0x00, 0x00, 0x8b, 0x2f, 0x05, 0x01, 0x81, 0x48, 0x33, 0x28, 0xb0, 0x00, 0x13, 0x13, 0x25, + 0x00, 0x93, 0x92, 0x25, 0x00, 0x63, 0x01, 0x08, 0x02, 0xb2, 0x83, 0x36, 0x8e, 0xba, 0x8e, 0xae, + 0x87, 0x5b, 0xa5, 0x43, 0xa0, 0xdb, 0x25, 0x4e, 0xa0, 0x53, 0x75, 0xb5, 0x10, 0x27, 0xa0, 0xae, + 0x00, 0xfd, 0x17, 0x9a, 0x9e, 0xf5, 0xf7, 0x85, 0x08, 0x11, 0x07, 0x16, 0x96, 0xe3, 0x9c, 0xa8, + 0xfc, 0x82, 0x80, 0x00, 0x00, 0x00, 0x00, 0x48, 0x9e, 0x22, 0xb0, 0x26, 0xac, 0x80, 0x10, 0x83, + 0x2a, 0x44, 0x00, 0x83, 0x2d, 0x04, 0x00, 0x2a, 0x89, 0x37, 0xa5, 0x09, 0x00, 0x63, 0xd5, 0xba, + 0x01, 0x07, 0x24, 0x85, 0x06, 0xa1, 0xaa, 0xc6, 0x89, 0xbe, 0x84, 0x36, 0x8c, 0x2e, 0x8b, 0x23, + 0x24, 0xe4, 0xfa, 0x23, 0x26, 0x04, 0xfb, 0x23, 0x28, 0xc4, 0xfa, 0x23, 0x2a, 0x24, 0xfa, 0x3d, + 0x45, 0xab, 0x05, 0x55, 0x05, 0xc1, 0x99, 0x33, 0x0a, 0xb1, 0x40, 0x52, 0x81, 0xb3, 0x85, 0xba, + 0x03, 0xab, 0x05, 0xb5, 0x04, 0xc1, 0x99, 0x33, 0x0d, 0xb1, 0x40, 0x6a, 0x81, 0xb3, 0x0c, 0xb1, + 0x40, 0x66, 0x81, 0xab, 0x05, 0xb5, 0x05, 0xc1, 0x99, 0xb3, 0x05, 0xb1, 0x40, 0x23, 0x22, 0xb4, + 0xfa, 0x2e, 0x81, 0xb3, 0x85, 0xbd, 0x03, 0x2b, 0x05, 0xb5, 0x04, 0x41, 0x99, 0xb3, 0x0b, 0xa1, + 0x40, 0x5e, 0x81, 0x93, 0x95, 0x2a, 0x00, 0x52, 0x85, 0x01, 0x46, 0xae, 0x86, 0xef, 0x40, 0x77, + 0x9c, 0x6a, 0x85, 0xe2, 0x85, 0x56, 0x86, 0xee, 0x86, 0x5a, 0x87, 0xef, 0xf0, 0xcd, 0xad, 0x0b, + 0xa9, 0x0a, 0x01, 0x13, 0x05, 0xf9, 0xff, 0x13, 0x35, 0x15, 0x00, 0xd6, 0x85, 0x52, 0x86, 0x5b, + 0xa5, 0x44, 0xa0, 0xd3, 0x75, 0xa5, 0x10, 0xab, 0x65, 0xa5, 0x38, 0xfd, 0x15, 0x5b, 0x22, 0xb6, + 0xe0, 0xfd, 0xf5, 0x6e, 0x85, 0xd6, 0x85, 0x6a, 0x86, 0xd2, 0x86, 0x66, 0x87, 0xdd, 0x3d, 0x37, + 0xa5, 0x09, 0x00, 0x87, 0x24, 0xc5, 0x06, 0xd3, 0x05, 0x00, 0xf0, 0x53, 0x04, 0x00, 0xf0, 0x01, + 0x45, 0xee, 0x85, 0x6e, 0x86, 0xd6, 0x86, 0x53, 0x85, 0x94, 0x20, 0x66, 0x87, 0xea, 0x87, 0x5e, + 0x88, 0xef, 0xf0, 0xed, 0xa2, 0x5e, 0x85, 0xee, 0x85, 0xef, 0xf0, 0xad, 0xe2, 0x11, 0xc5, 0x37, + 0xa5, 0x09, 0x00, 0x07, 0x24, 0x85, 0x06, 0xb1, 0xa8, 0x8b, 0xa7, 0x0d, 0x01, 0x11, 0x45, 0x2b, + 0x05, 0xb5, 0x05, 0x53, 0x04, 0x00, 0xf0, 0xde, 0x85, 0x6e, 0x86, 0x88, 0x61, 0x53, 0x74, 0xa4, + 0x00, 0x7d, 0x16, 0xaa, 0x95, 0x7d, 0xfa, 0x05, 0x46, 0xd3, 0x05, 0x00, 0xf0, 0x01, 0x45, 0xee, + 0x85, 0xd6, 0x86, 0x53, 0x85, 0x94, 0x20, 0x66, 0x87, 0x83, 0x27, 0x84, 0xfa, 0x83, 0x24, 0x44, + 0xfa, 0x26, 0x88, 0xef, 0xf0, 0xcd, 0x9d, 0x05, 0x46, 0xd3, 0x05, 0x00, 0xf0, 0x01, 0x45, 0xee, + 0x85, 0xee, 0x86, 0x53, 0x85, 0x94, 0x20, 0x5e, 0x87, 0xa6, 0x87, 0x03, 0x28, 0xc4, 0xfa, 0xef, + 0xf0, 0x0d, 0x9c, 0x83, 0x24, 0x44, 0xfb, 0x63, 0x8a, 0x09, 0x00, 0x5e, 0x85, 0xce, 0x85, 0x6e, + 0x86, 0xee, 0x86, 0x03, 0x27, 0x04, 0xfb, 0xef, 0xf0, 0x8d, 0xa3, 0x26, 0x81, 0x53, 0x05, 0x84, + 0x20, 0x13, 0x01, 0xf6, 0xd7 +}; + +/* +01 07 f8 04 fa e2 24 02 34 28 9e c0 99 2e 84 aa 84 ef d0 eb a2 15 c5 ef 50 ce c9 37 a5 09 00 87 +25 05 07 53 85 a5 a0 05 49 09 ed e0 91 26 85 ef 80 5e ba 37 a5 09 00 07 30 85 07 53 15 05 a2 11 +c1 01 49 4a 85 a0 99 00 00 00 00 c0 9b 0b d2 05 e4 01 4a a9 a8 ae 89 2a 89 31 4a 05 44 13 0b 40 +0e a0 90 26 85 ef a0 bc ce aa 8a 01 45 a6 85 71 3f 0b 16 05 01 33 05 49 01 b3 85 49 41 93 06 80 +0d 56 86 ef 40 87 a3 5a 8a 13 35 04 02 05 04 13 0b 8a 0d b3 b5 69 01 e4 9d 6d 8d 79 f1 93 05 4a +ff 0d 45 05 46 ca 86 4e 87 ef 10 7e b1 52 85 a0 9b 00 00 40 9b 0b d2 05 e4 01 4a a1 a8 ae 89 2a +89 31 4a 85 44 13 04 40 0e 64 91 ef d0 da ff aa 8a a4 91 0d 45 1d 3f 0b 16 05 01 33 05 49 01 b3 +85 49 41 93 06 80 0d 56 86 ef 40 27 9d 22 8a 13 b5 24 03 85 04 13 04 8a 0d b3 b5 89 00 e4 9d 6d +8d 61 f5 93 05 4a ff 1d 45 05 46 ca 86 4e 87 ef 10 1e ab 52 85 20 9b c0 9b 0b d2 05 d4 01 4a a9 +a8 ae 89 2a 89 31 4a 05 44 13 0b 40 0d a0 90 26 85 ef e0 7b c2 aa 8a 19 45 a6 85 c1 3d 0b 16 05 +01 33 05 49 01 b3 85 49 41 93 06 80 0c 56 86 ef 40 c7 96 5a 8a 13 35 44 02 05 04 13 0b 8a 0c b3 +b5 69 01 e4 9d 6d 8d 79 f1 93 05 4a ff 39 45 05 46 ca 86 4e 87 ef 10 be a4 52 85 a0 9b 00 00 c0 +9b 0b d2 05 bc 01 4a b9 a8 ae 89 2a 89 31 4a 05 44 13 0b c0 0b a0 90 26 85 ef 00 6c f8 aa 8a 05 +45 a6 85 a5 35 0b 17 05 01 23 96 8a 0a 33 05 49 01 b3 85 49 41 93 06 00 0b 56 86 ef 40 07 90 5a +8a 13 35 84 01 05 04 13 0b 0a 0b b3 b5 69 01 e4 9d 6d 8d 69 f1 93 05 4a ff 55 45 05 46 ca 86 4e +87 ef 10 fe 9d 52 85 a0 9b 00 00 dc 9d 13 01 01 dd 27 3c 81 28 36 84 b2 89 2e 89 28 00 93 05 00 +29 7d 56 93 06 00 29 13 0a 81 00 ef 40 87 ec 28 00 93 05 40 0a ef 60 3e fc 37 15 09 00 13 05 05 +98 ab 05 84 04 33 86 a5 00 83 0a 06 00 13 a6 1a 00 93 b6 19 00 01 4b 55 8e 51 ea 2e 95 93 0b 15 +00 37 a5 09 00 07 34 05 08 05 4c 37 15 09 00 93 0c 45 9a 81 44 33 85 9b 00 03 44 05 00 13 1d 0c +01 13 5d 0d 41 0b 5f 04 1b 22 85 ea 85 ef 90 3e 86 0d c5 ab 85 8c 04 03 94 25 00 63 40 04 02 ab +05 aa 04 8c 41 8b 85 05 ff ef 80 fe 8d 19 c5 28 69 53 00 05 42 53 05 80 a2 19 cd 85 04 0b 9e e4 +04 33 25 5d 01 93 15 0b 01 c1 81 b3 b5 35 01 6d 8d 05 0c 45 f1 21 a8 33 05 84 01 93 15 0b 01 c1 +81 05 0b ab 05 b9 02 23 90 a5 00 d9 bf 13 15 0b 01 41 81 07 34 81 29 13 01 01 23 bc 9d 00 00 5c +9e 13 01 01 dd 27 30 81 2a 27 3c 91 28 63 0d 05 10 2e 84 2a 89 01 45 93 09 81 00 fd 55 13 06 00 +29 b3 86 a9 00 11 05 8c c2 e3 1c c5 fe 28 00 93 05 40 0a ef 60 5e ec 13 7a f4 0f 63 06 0a 0e 37 +a5 09 00 07 34 05 08 37 a5 09 00 87 34 85 08 01 45 81 4a b7 15 09 00 13 8b 45 9a ab 05 ab 04 83 +9b 05 00 8b ae 2b 01 2b 0c a9 10 93 8c 25 00 85 44 13 f5 fa 0f e4 91 ef 90 8e f7 2a 84 7d 15 28 +91 8b 54 25 a3 22 85 ef 80 1e 80 83 45 0c 00 0b d1 25 24 2a 8d 03 96 0c 00 13 25 06 00 93 36 1d +00 55 8d 25 e9 07 25 0d 05 53 00 05 42 53 05 80 a2 2d e1 2b 85 89 04 08 41 26 96 2b 04 bc 02 23 +12 c4 00 0b 0a 05 ff b3 0d bc 00 23 8e 0d 0c ef 60 de ed 93 05 15 00 ab 65 a0 20 23 8e bd 0c 07 +25 0d 05 83 45 0c 00 53 00 05 42 53 70 90 12 53 15 00 c2 23 16 a4 04 07 25 4d 05 53 00 05 42 53 +70 90 12 53 15 00 c2 23 1a a4 08 13 85 15 00 23 00 ac 00 13 85 14 00 e8 90 e3 dc 9b f4 85 0a 13 +f5 fa 0f 0c c2 +*/ +const char g_cfg_cmd7[] = { + 0x01, 0x07, 0xf8, 0x04, 0xfa, 0xe2, 0x24, 0x02, 0x34, 0x28, 0x9e, 0xc0, 0x99, 0x2e, 0x84, 0xaa, + 0x84, 0xef, 0xd0, 0xeb, 0xa2, 0x15, 0xc5, 0xef, 0x50, 0xce, 0xc9, 0x37, 0xa5, 0x09, 0x00, 0x87, + 0x25, 0x05, 0x07, 0x53, 0x85, 0xa5, 0xa0, 0x05, 0x49, 0x09, 0xed, 0xe0, 0x91, 0x26, 0x85, 0xef, + 0x80, 0x5e, 0xba, 0x37, 0xa5, 0x09, 0x00, 0x07, 0x30, 0x85, 0x07, 0x53, 0x15, 0x05, 0xa2, 0x11, + 0xc1, 0x01, 0x49, 0x4a, 0x85, 0xa0, 0x99, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x9b, 0x0b, 0xd2, 0x05, + 0xe4, 0x01, 0x4a, 0xa9, 0xa8, 0xae, 0x89, 0x2a, 0x89, 0x31, 0x4a, 0x05, 0x44, 0x13, 0x0b, 0x40, + 0x0e, 0xa0, 0x90, 0x26, 0x85, 0xef, 0xa0, 0xbc, 0xce, 0xaa, 0x8a, 0x01, 0x45, 0xa6, 0x85, 0x71, + 0x3f, 0x0b, 0x16, 0x05, 0x01, 0x33, 0x05, 0x49, 0x01, 0xb3, 0x85, 0x49, 0x41, 0x93, 0x06, 0x80, + 0x0d, 0x56, 0x86, 0xef, 0x40, 0x87, 0xa3, 0x5a, 0x8a, 0x13, 0x35, 0x04, 0x02, 0x05, 0x04, 0x13, + 0x0b, 0x8a, 0x0d, 0xb3, 0xb5, 0x69, 0x01, 0xe4, 0x9d, 0x6d, 0x8d, 0x79, 0xf1, 0x93, 0x05, 0x4a, + 0xff, 0x0d, 0x45, 0x05, 0x46, 0xca, 0x86, 0x4e, 0x87, 0xef, 0x10, 0x7e, 0xb1, 0x52, 0x85, 0xa0, + 0x9b, 0x00, 0x00, 0x40, 0x9b, 0x0b, 0xd2, 0x05, 0xe4, 0x01, 0x4a, 0xa1, 0xa8, 0xae, 0x89, 0x2a, + 0x89, 0x31, 0x4a, 0x85, 0x44, 0x13, 0x04, 0x40, 0x0e, 0x64, 0x91, 0xef, 0xd0, 0xda, 0xff, 0xaa, + 0x8a, 0xa4, 0x91, 0x0d, 0x45, 0x1d, 0x3f, 0x0b, 0x16, 0x05, 0x01, 0x33, 0x05, 0x49, 0x01, 0xb3, + 0x85, 0x49, 0x41, 0x93, 0x06, 0x80, 0x0d, 0x56, 0x86, 0xef, 0x40, 0x27, 0x9d, 0x22, 0x8a, 0x13, + 0xb5, 0x24, 0x03, 0x85, 0x04, 0x13, 0x04, 0x8a, 0x0d, 0xb3, 0xb5, 0x89, 0x00, 0xe4, 0x9d, 0x6d, + 0x8d, 0x61, 0xf5, 0x93, 0x05, 0x4a, 0xff, 0x1d, 0x45, 0x05, 0x46, 0xca, 0x86, 0x4e, 0x87, 0xef, + 0x10, 0x1e, 0xab, 0x52, 0x85, 0x20, 0x9b, 0xc0, 0x9b, 0x0b, 0xd2, 0x05, 0xd4, 0x01, 0x4a, 0xa9, + 0xa8, 0xae, 0x89, 0x2a, 0x89, 0x31, 0x4a, 0x05, 0x44, 0x13, 0x0b, 0x40, 0x0d, 0xa0, 0x90, 0x26, + 0x85, 0xef, 0xe0, 0x7b, 0xc2, 0xaa, 0x8a, 0x19, 0x45, 0xa6, 0x85, 0xc1, 0x3d, 0x0b, 0x16, 0x05, + 0x01, 0x33, 0x05, 0x49, 0x01, 0xb3, 0x85, 0x49, 0x41, 0x93, 0x06, 0x80, 0x0c, 0x56, 0x86, 0xef, + 0x40, 0xc7, 0x96, 0x5a, 0x8a, 0x13, 0x35, 0x44, 0x02, 0x05, 0x04, 0x13, 0x0b, 0x8a, 0x0c, 0xb3, + 0xb5, 0x69, 0x01, 0xe4, 0x9d, 0x6d, 0x8d, 0x79, 0xf1, 0x93, 0x05, 0x4a, 0xff, 0x39, 0x45, 0x05, + 0x46, 0xca, 0x86, 0x4e, 0x87, 0xef, 0x10, 0xbe, 0xa4, 0x52, 0x85, 0xa0, 0x9b, 0x00, 0x00, 0xc0, + 0x9b, 0x0b, 0xd2, 0x05, 0xbc, 0x01, 0x4a, 0xb9, 0xa8, 0xae, 0x89, 0x2a, 0x89, 0x31, 0x4a, 0x05, + 0x44, 0x13, 0x0b, 0xc0, 0x0b, 0xa0, 0x90, 0x26, 0x85, 0xef, 0x00, 0x6c, 0xf8, 0xaa, 0x8a, 0x05, + 0x45, 0xa6, 0x85, 0xa5, 0x35, 0x0b, 0x17, 0x05, 0x01, 0x23, 0x96, 0x8a, 0x0a, 0x33, 0x05, 0x49, + 0x01, 0xb3, 0x85, 0x49, 0x41, 0x93, 0x06, 0x00, 0x0b, 0x56, 0x86, 0xef, 0x40, 0x07, 0x90, 0x5a, + 0x8a, 0x13, 0x35, 0x84, 0x01, 0x05, 0x04, 0x13, 0x0b, 0x0a, 0x0b, 0xb3, 0xb5, 0x69, 0x01, 0xe4, + 0x9d, 0x6d, 0x8d, 0x69, 0xf1, 0x93, 0x05, 0x4a, 0xff, 0x55, 0x45, 0x05, 0x46, 0xca, 0x86, 0x4e, + 0x87, 0xef, 0x10, 0xfe, 0x9d, 0x52, 0x85, 0xa0, 0x9b, 0x00, 0x00, 0xdc, 0x9d, 0x13, 0x01, 0x01, + 0xdd, 0x27, 0x3c, 0x81, 0x28, 0x36, 0x84, 0xb2, 0x89, 0x2e, 0x89, 0x28, 0x00, 0x93, 0x05, 0x00, + 0x29, 0x7d, 0x56, 0x93, 0x06, 0x00, 0x29, 0x13, 0x0a, 0x81, 0x00, 0xef, 0x40, 0x87, 0xec, 0x28, + 0x00, 0x93, 0x05, 0x40, 0x0a, 0xef, 0x60, 0x3e, 0xfc, 0x37, 0x15, 0x09, 0x00, 0x13, 0x05, 0x05, + 0x98, 0xab, 0x05, 0x84, 0x04, 0x33, 0x86, 0xa5, 0x00, 0x83, 0x0a, 0x06, 0x00, 0x13, 0xa6, 0x1a, + 0x00, 0x93, 0xb6, 0x19, 0x00, 0x01, 0x4b, 0x55, 0x8e, 0x51, 0xea, 0x2e, 0x95, 0x93, 0x0b, 0x15, + 0x00, 0x37, 0xa5, 0x09, 0x00, 0x07, 0x34, 0x05, 0x08, 0x05, 0x4c, 0x37, 0x15, 0x09, 0x00, 0x93, + 0x0c, 0x45, 0x9a, 0x81, 0x44, 0x33, 0x85, 0x9b, 0x00, 0x03, 0x44, 0x05, 0x00, 0x13, 0x1d, 0x0c, + 0x01, 0x13, 0x5d, 0x0d, 0x41, 0x0b, 0x5f, 0x04, 0x1b, 0x22, 0x85, 0xea, 0x85, 0xef, 0x90, 0x3e, + 0x86, 0x0d, 0xc5, 0xab, 0x85, 0x8c, 0x04, 0x03, 0x94, 0x25, 0x00, 0x63, 0x40, 0x04, 0x02, 0xab, + 0x05, 0xaa, 0x04, 0x8c, 0x41, 0x8b, 0x85, 0x05, 0xff, 0xef, 0x80, 0xfe, 0x8d, 0x19, 0xc5, 0x28, + 0x69, 0x53, 0x00, 0x05, 0x42, 0x53, 0x05, 0x80, 0xa2, 0x19, 0xcd, 0x85, 0x04, 0x0b, 0x9e, 0xe4, + 0x04, 0x33, 0x25, 0x5d, 0x01, 0x93, 0x15, 0x0b, 0x01, 0xc1, 0x81, 0xb3, 0xb5, 0x35, 0x01, 0x6d, + 0x8d, 0x05, 0x0c, 0x45, 0xf1, 0x21, 0xa8, 0x33, 0x05, 0x84, 0x01, 0x93, 0x15, 0x0b, 0x01, 0xc1, + 0x81, 0x05, 0x0b, 0xab, 0x05, 0xb9, 0x02, 0x23, 0x90, 0xa5, 0x00, 0xd9, 0xbf, 0x13, 0x15, 0x0b, + 0x01, 0x41, 0x81, 0x07, 0x34, 0x81, 0x29, 0x13, 0x01, 0x01, 0x23, 0xbc, 0x9d, 0x00, 0x00, 0x5c, + 0x9e, 0x13, 0x01, 0x01, 0xdd, 0x27, 0x30, 0x81, 0x2a, 0x27, 0x3c, 0x91, 0x28, 0x63, 0x0d, 0x05, + 0x10, 0x2e, 0x84, 0x2a, 0x89, 0x01, 0x45, 0x93, 0x09, 0x81, 0x00, 0xfd, 0x55, 0x13, 0x06, 0x00, + 0x29, 0xb3, 0x86, 0xa9, 0x00, 0x11, 0x05, 0x8c, 0xc2, 0xe3, 0x1c, 0xc5, 0xfe, 0x28, 0x00, 0x93, + 0x05, 0x40, 0x0a, 0xef, 0x60, 0x5e, 0xec, 0x13, 0x7a, 0xf4, 0x0f, 0x63, 0x06, 0x0a, 0x0e, 0x37, + 0xa5, 0x09, 0x00, 0x07, 0x34, 0x05, 0x08, 0x37, 0xa5, 0x09, 0x00, 0x87, 0x34, 0x85, 0x08, 0x01, + 0x45, 0x81, 0x4a, 0xb7, 0x15, 0x09, 0x00, 0x13, 0x8b, 0x45, 0x9a, 0xab, 0x05, 0xab, 0x04, 0x83, + 0x9b, 0x05, 0x00, 0x8b, 0xae, 0x2b, 0x01, 0x2b, 0x0c, 0xa9, 0x10, 0x93, 0x8c, 0x25, 0x00, 0x85, + 0x44, 0x13, 0xf5, 0xfa, 0x0f, 0xe4, 0x91, 0xef, 0x90, 0x8e, 0xf7, 0x2a, 0x84, 0x7d, 0x15, 0x28, + 0x91, 0x8b, 0x54, 0x25, 0xa3, 0x22, 0x85, 0xef, 0x80, 0x1e, 0x80, 0x83, 0x45, 0x0c, 0x00, 0x0b, + 0xd1, 0x25, 0x24, 0x2a, 0x8d, 0x03, 0x96, 0x0c, 0x00, 0x13, 0x25, 0x06, 0x00, 0x93, 0x36, 0x1d, + 0x00, 0x55, 0x8d, 0x25, 0xe9, 0x07, 0x25, 0x0d, 0x05, 0x53, 0x00, 0x05, 0x42, 0x53, 0x05, 0x80, + 0xa2, 0x2d, 0xe1, 0x2b, 0x85, 0x89, 0x04, 0x08, 0x41, 0x26, 0x96, 0x2b, 0x04, 0xbc, 0x02, 0x23, + 0x12, 0xc4, 0x00, 0x0b, 0x0a, 0x05, 0xff, 0xb3, 0x0d, 0xbc, 0x00, 0x23, 0x8e, 0x0d, 0x0c, 0xef, + 0x60, 0xde, 0xed, 0x93, 0x05, 0x15, 0x00, 0xab, 0x65, 0xa0, 0x20, 0x23, 0x8e, 0xbd, 0x0c, 0x07, + 0x25, 0x0d, 0x05, 0x83, 0x45, 0x0c, 0x00, 0x53, 0x00, 0x05, 0x42, 0x53, 0x70, 0x90, 0x12, 0x53, + 0x15, 0x00, 0xc2, 0x23, 0x16, 0xa4, 0x04, 0x07, 0x25, 0x4d, 0x05, 0x53, 0x00, 0x05, 0x42, 0x53, + 0x70, 0x90, 0x12, 0x53, 0x15, 0x00, 0xc2, 0x23, 0x1a, 0xa4, 0x08, 0x13, 0x85, 0x15, 0x00, 0x23, + 0x00, 0xac, 0x00, 0x13, 0x85, 0x14, 0x00, 0xe8, 0x90, 0xe3, 0xdc, 0x9b, 0xf4, 0x85, 0x0a, 0x13, + 0xf5, 0xfa, 0x0f, 0x0c, 0xc2 +}; + +/* +01 08 f7 e3 6c 45 f3 87 34 81 29 07 34 01 2a 13 01 01 23 3c 9e 00 00 c0 99 2e 89 aa 84 93 06 c5 +10 37 a5 09 00 13 06 05 09 93 05 00 08 4a 85 ef 10 87 e5 63 45 05 06 13 84 04 0d 22 85 ef 70 b6 +e3 aa 86 93 05 00 08 4a 85 22 86 ef 80 17 ca 39 e5 93 84 04 0f 26 85 ef 70 16 e2 aa 86 93 05 00 +08 4a 85 26 86 ef 80 77 c8 15 e9 26 85 ef 70 b6 e0 8b 13 05 01 37 a5 09 00 13 04 75 09 29 a0 37 +a5 09 00 13 04 95 09 22 85 ef 70 f6 de aa 86 93 05 00 08 4a 85 22 86 ef 80 57 c5 11 c1 a0 99 4a +85 ef 70 76 dd aa 85 13 06 00 08 4a 85 ef 70 ae b4 4a 85 ef 70 56 dc 13 06 00 08 aa 85 4a 85 80 +99 6f 70 ee bb 00 00 40 9a 32 89 ae 89 01 45 01 44 93 85 a5 1b 33 86 a5 00 03 16 06 00 63 43 c0 +00 01 46 30 92 09 05 32 94 0b 1b f5 0c 93 86 c9 10 37 a5 09 00 13 06 05 0a 93 05 00 08 4a 85 ef +10 87 d8 63 47 05 0a 93 84 09 0d 26 85 ef 70 b6 d6 aa 86 93 05 00 08 4a 85 26 86 ef 80 17 bd 49 +e9 93 84 09 03 26 85 ef 70 16 d5 aa 86 93 05 00 08 4a 85 26 86 ef 80 77 bb 25 ed 93 84 09 10 26 +85 ef 70 76 d3 aa 86 93 05 00 08 4a 85 26 86 ef 80 d7 b9 39 ed 93 06 00 08 22 85 81 45 4a 86 ef +70 4e 9d 4e 85 ef 70 36 d1 aa 86 93 05 00 08 4a 85 4e 86 ef 80 97 b7 0d ed 13 84 09 05 22 85 ef +70 96 cf aa 86 93 05 00 08 4a 85 22 86 ef 80 f7 b5 05 e1 37 a5 09 00 13 04 75 0a 22 85 ef 70 b6 +cd aa 86 93 05 00 08 4a 85 22 86 ef 80 17 b4 11 c1 20 9a 4a 85 ef 70 36 cc aa 85 13 06 00 08 4a +85 ef 70 6e a3 4a 85 ef 70 16 cb 13 06 00 08 aa 85 4a 85 00 9a 6f 70 ae aa 00 00 40 98 ef 20 3e +98 b7 c5 04 20 03 a6 85 0c 81 45 01 e6 85 45 0b 52 05 05 2e 85 20 98 ef c0 db db 13 25 55 00 8d +45 33 85 a5 40 20 98 00 00 00 00 c0 99 2a 84 f1 37 aa 84 ef c0 1b da 2a 89 84 92 37 a5 09 00 93 +04 e5 00 91 45 22 85 26 86 ef 10 e7 c5 63 4a 05 00 13 05 44 00 c1 45 26 86 ca 86 80 99 6f 10 a7 +c4 a0 99 dc 99 7d 71 2e 89 aa 84 08 10 93 05 00 06 93 06 00 06 01 46 ef 40 c7 a7 28 00 d1 45 d1 +46 01 46 ef 40 07 a7 37 05 05 20 13 04 85 c3 22 85 ef 70 ae da 08 10 a2 85 ef 70 ae d6 28 00 71 +37 37 a5 09 00 13 06 a5 0a 26 85 ca 85 ef 80 27 e8 3d e9 10 10 26 85 ca 85 ef 80 67 e7 2d e5 10 +18 26 85 ca 85 ef 80 a7 e6 39 ed 90 00 26 85 ca 85 ef 80 e7 e5 29 e9 90 08 26 85 ca 85 ef 80 27 +e5 39 e1 30 00 26 85 ca 85 ef 80 67 e4 0d ed 90 10 26 85 ca 85 ef 80 a7 e3 1d e5 70 00 26 85 ca +85 ef 80 e7 e2 0d e1 26 85 ef 70 f6 b8 aa 85 26 85 4a 86 ef 70 4e 90 26 85 ef 70 f6 b7 aa 85 26 +85 4a 86 ef 70 ce 97 41 61 bc 99 49 1f 00 00 00 00 00 00 49 1f 00 00 00 00 00 00 00 00 00 00 49 +1f 00 00 c7 31 00 00 63 65 ce 00 05 00 e9 51 1c 0d 06 00 87 40 04 01 04 00 73 4c 6b 0b 06 00 87 +40 08 02 03 00 88 41 64 08 06 00 88 41 32 04 07 00 00 00 00 00 00 00 00 00 00 00 00 00 63 65 ce +00 05 00 e9 51 1c 0d 06 00 fd 78 c9 01 05 00 73 4c 6b 0b 06 00 47 6e cd 03 05 00 88 41 64 08 06 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 63 65 ce 00 05 00 e9 51 1c 0d 06 00 63 +65 ce 00 05 00 e9 51 1c 0d 06 00 aa 79 28 01 05 00 de 7a bf 0e 07 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 8f 40 00 00 00 00 00 00 00 c0 24 41 63 68 69 +6c 6c 65 73 2c 48 37 53 31 2c 51 33 35 2c 46 31 50 31 30 2e 30 00 24 41 63 68 69 6c 6c 65 73 2c +48 37 53 a5 d7 +*/ +const char g_cfg_cmd8[] = { + 0x01, 0x08, 0xf7, 0xe3, 0x6c, 0x45, 0xf3, 0x87, 0x34, 0x81, 0x29, 0x07, 0x34, 0x01, 0x2a, 0x13, + 0x01, 0x01, 0x23, 0x3c, 0x9e, 0x00, 0x00, 0xc0, 0x99, 0x2e, 0x89, 0xaa, 0x84, 0x93, 0x06, 0xc5, + 0x10, 0x37, 0xa5, 0x09, 0x00, 0x13, 0x06, 0x05, 0x09, 0x93, 0x05, 0x00, 0x08, 0x4a, 0x85, 0xef, + 0x10, 0x87, 0xe5, 0x63, 0x45, 0x05, 0x06, 0x13, 0x84, 0x04, 0x0d, 0x22, 0x85, 0xef, 0x70, 0xb6, + 0xe3, 0xaa, 0x86, 0x93, 0x05, 0x00, 0x08, 0x4a, 0x85, 0x22, 0x86, 0xef, 0x80, 0x17, 0xca, 0x39, + 0xe5, 0x93, 0x84, 0x04, 0x0f, 0x26, 0x85, 0xef, 0x70, 0x16, 0xe2, 0xaa, 0x86, 0x93, 0x05, 0x00, + 0x08, 0x4a, 0x85, 0x26, 0x86, 0xef, 0x80, 0x77, 0xc8, 0x15, 0xe9, 0x26, 0x85, 0xef, 0x70, 0xb6, + 0xe0, 0x8b, 0x13, 0x05, 0x01, 0x37, 0xa5, 0x09, 0x00, 0x13, 0x04, 0x75, 0x09, 0x29, 0xa0, 0x37, + 0xa5, 0x09, 0x00, 0x13, 0x04, 0x95, 0x09, 0x22, 0x85, 0xef, 0x70, 0xf6, 0xde, 0xaa, 0x86, 0x93, + 0x05, 0x00, 0x08, 0x4a, 0x85, 0x22, 0x86, 0xef, 0x80, 0x57, 0xc5, 0x11, 0xc1, 0xa0, 0x99, 0x4a, + 0x85, 0xef, 0x70, 0x76, 0xdd, 0xaa, 0x85, 0x13, 0x06, 0x00, 0x08, 0x4a, 0x85, 0xef, 0x70, 0xae, + 0xb4, 0x4a, 0x85, 0xef, 0x70, 0x56, 0xdc, 0x13, 0x06, 0x00, 0x08, 0xaa, 0x85, 0x4a, 0x85, 0x80, + 0x99, 0x6f, 0x70, 0xee, 0xbb, 0x00, 0x00, 0x40, 0x9a, 0x32, 0x89, 0xae, 0x89, 0x01, 0x45, 0x01, + 0x44, 0x93, 0x85, 0xa5, 0x1b, 0x33, 0x86, 0xa5, 0x00, 0x03, 0x16, 0x06, 0x00, 0x63, 0x43, 0xc0, + 0x00, 0x01, 0x46, 0x30, 0x92, 0x09, 0x05, 0x32, 0x94, 0x0b, 0x1b, 0xf5, 0x0c, 0x93, 0x86, 0xc9, + 0x10, 0x37, 0xa5, 0x09, 0x00, 0x13, 0x06, 0x05, 0x0a, 0x93, 0x05, 0x00, 0x08, 0x4a, 0x85, 0xef, + 0x10, 0x87, 0xd8, 0x63, 0x47, 0x05, 0x0a, 0x93, 0x84, 0x09, 0x0d, 0x26, 0x85, 0xef, 0x70, 0xb6, + 0xd6, 0xaa, 0x86, 0x93, 0x05, 0x00, 0x08, 0x4a, 0x85, 0x26, 0x86, 0xef, 0x80, 0x17, 0xbd, 0x49, + 0xe9, 0x93, 0x84, 0x09, 0x03, 0x26, 0x85, 0xef, 0x70, 0x16, 0xd5, 0xaa, 0x86, 0x93, 0x05, 0x00, + 0x08, 0x4a, 0x85, 0x26, 0x86, 0xef, 0x80, 0x77, 0xbb, 0x25, 0xed, 0x93, 0x84, 0x09, 0x10, 0x26, + 0x85, 0xef, 0x70, 0x76, 0xd3, 0xaa, 0x86, 0x93, 0x05, 0x00, 0x08, 0x4a, 0x85, 0x26, 0x86, 0xef, + 0x80, 0xd7, 0xb9, 0x39, 0xed, 0x93, 0x06, 0x00, 0x08, 0x22, 0x85, 0x81, 0x45, 0x4a, 0x86, 0xef, + 0x70, 0x4e, 0x9d, 0x4e, 0x85, 0xef, 0x70, 0x36, 0xd1, 0xaa, 0x86, 0x93, 0x05, 0x00, 0x08, 0x4a, + 0x85, 0x4e, 0x86, 0xef, 0x80, 0x97, 0xb7, 0x0d, 0xed, 0x13, 0x84, 0x09, 0x05, 0x22, 0x85, 0xef, + 0x70, 0x96, 0xcf, 0xaa, 0x86, 0x93, 0x05, 0x00, 0x08, 0x4a, 0x85, 0x22, 0x86, 0xef, 0x80, 0xf7, + 0xb5, 0x05, 0xe1, 0x37, 0xa5, 0x09, 0x00, 0x13, 0x04, 0x75, 0x0a, 0x22, 0x85, 0xef, 0x70, 0xb6, + 0xcd, 0xaa, 0x86, 0x93, 0x05, 0x00, 0x08, 0x4a, 0x85, 0x22, 0x86, 0xef, 0x80, 0x17, 0xb4, 0x11, + 0xc1, 0x20, 0x9a, 0x4a, 0x85, 0xef, 0x70, 0x36, 0xcc, 0xaa, 0x85, 0x13, 0x06, 0x00, 0x08, 0x4a, + 0x85, 0xef, 0x70, 0x6e, 0xa3, 0x4a, 0x85, 0xef, 0x70, 0x16, 0xcb, 0x13, 0x06, 0x00, 0x08, 0xaa, + 0x85, 0x4a, 0x85, 0x00, 0x9a, 0x6f, 0x70, 0xae, 0xaa, 0x00, 0x00, 0x40, 0x98, 0xef, 0x20, 0x3e, + 0x98, 0xb7, 0xc5, 0x04, 0x20, 0x03, 0xa6, 0x85, 0x0c, 0x81, 0x45, 0x01, 0xe6, 0x85, 0x45, 0x0b, + 0x52, 0x05, 0x05, 0x2e, 0x85, 0x20, 0x98, 0xef, 0xc0, 0xdb, 0xdb, 0x13, 0x25, 0x55, 0x00, 0x8d, + 0x45, 0x33, 0x85, 0xa5, 0x40, 0x20, 0x98, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x99, 0x2a, 0x84, 0xf1, + 0x37, 0xaa, 0x84, 0xef, 0xc0, 0x1b, 0xda, 0x2a, 0x89, 0x84, 0x92, 0x37, 0xa5, 0x09, 0x00, 0x93, + 0x04, 0xe5, 0x00, 0x91, 0x45, 0x22, 0x85, 0x26, 0x86, 0xef, 0x10, 0xe7, 0xc5, 0x63, 0x4a, 0x05, + 0x00, 0x13, 0x05, 0x44, 0x00, 0xc1, 0x45, 0x26, 0x86, 0xca, 0x86, 0x80, 0x99, 0x6f, 0x10, 0xa7, + 0xc4, 0xa0, 0x99, 0xdc, 0x99, 0x7d, 0x71, 0x2e, 0x89, 0xaa, 0x84, 0x08, 0x10, 0x93, 0x05, 0x00, + 0x06, 0x93, 0x06, 0x00, 0x06, 0x01, 0x46, 0xef, 0x40, 0xc7, 0xa7, 0x28, 0x00, 0xd1, 0x45, 0xd1, + 0x46, 0x01, 0x46, 0xef, 0x40, 0x07, 0xa7, 0x37, 0x05, 0x05, 0x20, 0x13, 0x04, 0x85, 0xc3, 0x22, + 0x85, 0xef, 0x70, 0xae, 0xda, 0x08, 0x10, 0xa2, 0x85, 0xef, 0x70, 0xae, 0xd6, 0x28, 0x00, 0x71, + 0x37, 0x37, 0xa5, 0x09, 0x00, 0x13, 0x06, 0xa5, 0x0a, 0x26, 0x85, 0xca, 0x85, 0xef, 0x80, 0x27, + 0xe8, 0x3d, 0xe9, 0x10, 0x10, 0x26, 0x85, 0xca, 0x85, 0xef, 0x80, 0x67, 0xe7, 0x2d, 0xe5, 0x10, + 0x18, 0x26, 0x85, 0xca, 0x85, 0xef, 0x80, 0xa7, 0xe6, 0x39, 0xed, 0x90, 0x00, 0x26, 0x85, 0xca, + 0x85, 0xef, 0x80, 0xe7, 0xe5, 0x29, 0xe9, 0x90, 0x08, 0x26, 0x85, 0xca, 0x85, 0xef, 0x80, 0x27, + 0xe5, 0x39, 0xe1, 0x30, 0x00, 0x26, 0x85, 0xca, 0x85, 0xef, 0x80, 0x67, 0xe4, 0x0d, 0xed, 0x90, + 0x10, 0x26, 0x85, 0xca, 0x85, 0xef, 0x80, 0xa7, 0xe3, 0x1d, 0xe5, 0x70, 0x00, 0x26, 0x85, 0xca, + 0x85, 0xef, 0x80, 0xe7, 0xe2, 0x0d, 0xe1, 0x26, 0x85, 0xef, 0x70, 0xf6, 0xb8, 0xaa, 0x85, 0x26, + 0x85, 0x4a, 0x86, 0xef, 0x70, 0x4e, 0x90, 0x26, 0x85, 0xef, 0x70, 0xf6, 0xb7, 0xaa, 0x85, 0x26, + 0x85, 0x4a, 0x86, 0xef, 0x70, 0xce, 0x97, 0x41, 0x61, 0xbc, 0x99, 0x49, 0x1f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x49, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, + 0x1f, 0x00, 0x00, 0xc7, 0x31, 0x00, 0x00, 0x63, 0x65, 0xce, 0x00, 0x05, 0x00, 0xe9, 0x51, 0x1c, + 0x0d, 0x06, 0x00, 0x87, 0x40, 0x04, 0x01, 0x04, 0x00, 0x73, 0x4c, 0x6b, 0x0b, 0x06, 0x00, 0x87, + 0x40, 0x08, 0x02, 0x03, 0x00, 0x88, 0x41, 0x64, 0x08, 0x06, 0x00, 0x88, 0x41, 0x32, 0x04, 0x07, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x65, 0xce, + 0x00, 0x05, 0x00, 0xe9, 0x51, 0x1c, 0x0d, 0x06, 0x00, 0xfd, 0x78, 0xc9, 0x01, 0x05, 0x00, 0x73, + 0x4c, 0x6b, 0x0b, 0x06, 0x00, 0x47, 0x6e, 0xcd, 0x03, 0x05, 0x00, 0x88, 0x41, 0x64, 0x08, 0x06, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x63, 0x65, 0xce, 0x00, 0x05, 0x00, 0xe9, 0x51, 0x1c, 0x0d, 0x06, 0x00, 0x63, + 0x65, 0xce, 0x00, 0x05, 0x00, 0xe9, 0x51, 0x1c, 0x0d, 0x06, 0x00, 0xaa, 0x79, 0x28, 0x01, 0x05, + 0x00, 0xde, 0x7a, 0xbf, 0x0e, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x40, 0x8f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x24, 0x41, 0x63, 0x68, 0x69, + 0x6c, 0x6c, 0x65, 0x73, 0x2c, 0x48, 0x37, 0x53, 0x31, 0x2c, 0x51, 0x33, 0x35, 0x2c, 0x46, 0x31, + 0x50, 0x31, 0x30, 0x2e, 0x30, 0x00, 0x24, 0x41, 0x63, 0x68, 0x69, 0x6c, 0x6c, 0x65, 0x73, 0x2c, + 0x48, 0x37, 0x53, 0xa5, 0xd7 +}; + +/* +01 09 f6 31 2c 51 35 30 2c 46 31 50 31 30 2e 30 00 2c 25 64 00 00 00 00 00 00 00 00 00 00 00 00 +00 10 3e 00 00 00 00 00 00 e0 3f 00 00 00 00 00 00 00 40 00 00 00 00 00 00 1c 40 9a 99 99 99 99 +99 b9 3f 00 00 00 00 00 00 f0 3f 33 33 33 33 33 33 d3 3f 00 00 00 00 00 00 14 40 00 00 00 00 00 +00 54 40 00 00 00 00 00 00 44 40 00 00 80 bf 00 00 80 3f 00 50 c3 47 00 00 00 00 87 44 e7 4a 18 +57 c6 3f 55 94 e7 4a 18 57 b6 3f f8 c1 63 1a dc a5 4c 40 24 25 73 5a 44 41 00 2c 2c 2c 30 30 2c +30 30 00 24 25 73 47 47 41 00 2c 2c 00 24 50 4e 54 48 30 30 31 00 00 00 70 05 20 d8 72 05 20 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 4a a7 +*/ +const char g_cfg_cmd9[] = { + 0x01, 0x09, 0xf6, 0x31, 0x2c, 0x51, 0x35, 0x30, 0x2c, 0x46, 0x31, 0x50, 0x31, 0x30, 0x2e, 0x30, + 0x00, 0x2c, 0x25, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x40, 0x9a, 0x99, 0x99, 0x99, 0x99, + 0x99, 0xb9, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x33, 0x33, 0x33, 0x33, 0x33, + 0x33, 0xd3, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x54, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x40, 0x00, 0x00, 0x80, 0xbf, 0x00, + 0x00, 0x80, 0x3f, 0x00, 0x50, 0xc3, 0x47, 0x00, 0x00, 0x00, 0x00, 0x87, 0x44, 0xe7, 0x4a, 0x18, + 0x57, 0xc6, 0x3f, 0x55, 0x94, 0xe7, 0x4a, 0x18, 0x57, 0xb6, 0x3f, 0xf8, 0xc1, 0x63, 0x1a, 0xdc, + 0xa5, 0x4c, 0x40, 0x24, 0x25, 0x73, 0x5a, 0x44, 0x41, 0x00, 0x2c, 0x2c, 0x2c, 0x30, 0x30, 0x2c, + 0x30, 0x30, 0x00, 0x24, 0x25, 0x73, 0x47, 0x47, 0x41, 0x00, 0x2c, 0x2c, 0x00, 0x24, 0x50, 0x4e, + 0x54, 0x48, 0x30, 0x30, 0x31, 0x00, 0x00, 0x00, 0x70, 0x05, 0x20, 0xd8, 0x72, 0x05, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x4a, 0xa7 +}; + +/* +04 +*/ +const char g_cfg_cmd10[] = { + 0x04 +}; + +/* +51 55 49 54 20 +*/ +const char g_cfg_cmd11[] = { + 0x51, 0x55, 0x49, 0x54, 0x20 +}; + +const struct cfg_cmd g_cfg_cmds[] = { + { g_cfg_cmd0, sizeof(g_cfg_cmd0) }, + { g_cfg_cmd1, sizeof(g_cfg_cmd1) }, + { g_cfg_cmd2, sizeof(g_cfg_cmd2) }, + { g_cfg_cmd3, sizeof(g_cfg_cmd3) }, + { g_cfg_cmd4, sizeof(g_cfg_cmd4) }, + { g_cfg_cmd5, sizeof(g_cfg_cmd5) }, + { g_cfg_cmd6, sizeof(g_cfg_cmd6) }, + { g_cfg_cmd7, sizeof(g_cfg_cmd7) }, + { g_cfg_cmd8, sizeof(g_cfg_cmd8) }, + { g_cfg_cmd9, sizeof(g_cfg_cmd9) }, + { g_cfg_cmd10, sizeof(g_cfg_cmd10) }, + { g_cfg_cmd11, sizeof(g_cfg_cmd11) }, +}; diff --git a/code/sdk/zhihui/gnss/gnss_ctl.c b/code/sdk/zhihui/gnss/gnss_ctl.c new file mode 100644 index 000000000..d347204a9 --- /dev/null +++ b/code/sdk/zhihui/gnss/gnss_ctl.c @@ -0,0 +1,188 @@ +// Copyright 2018-2025 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include +#include +#include +#include "driver/uart.h" + +#include "pinctrl.h" +#include "debug_print.h" +#include "soc_osal.h" +#include "tcxo.h" +#include "irmalloc.h" +#include "errcode.h" +#include "common_def.h" +#include "wearable_log.h" +#include "thread_init.h" +#include "custom_utils.h" +#include "gnss_ctl.h" +#include "gnss_config_array.h" +#include "gpio.h" +#include "uart_gnss.h" + + +// 配置GNSS输出全量NMEA命令:7e 04 13 00 03 00 04 01 00 00 06 00 03 00 02 00 ff 00 7e +const char g_cfg_all_nmea_cmd[]={0x7e,0x04,0x13,0x00,0x03,0x00,0x04,0x01,0x00,0x00,0x06,0x00,0x03,0x00,0x02,0x00,0xff,0x00,0x7e}; +// 调用主控UART接口发送配置GNSS命令,配置输出全量NMEA语句 + + +// 启动GNSS串口命令:7e 04 19 00 01 00 03 00 00 00 0c 00 01 00 00 00 01 00 01 00 00 00 00 00 7e +const char g_start_gnss_cmd[] = {0x7e,0x04,0x19,0x00,0x01,0x00,0x03,0x00,0x00,0x00,0x0c,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x7e}; +// 调用主控UART接口发送启动GNSS命令 + + +// 停止GNSS串口命令:7e 04 0d 00 02 00 00 00 00 00 00 00 7e +const char g_stop_gnss_cmd[] = {0x7e,0x04,0x0d,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e}; +// 调用主控UART接口发送停止GNSS命令 + + +errcode_t gnss_init(void) +{ + + return ERRCODE_SUCC; +} + +errcode_t gnss_power_on(void) +{ + + errcode_t ret=0; +#if defined(BOARD_U8) +/* +S_AGPIO_L23 GPS_BAT_ON +S_AGPIO_L30 GPS_PWRON +S_AGPIO_L28 GPS_1V8 +*/ + ret=uapi_gpio_set_dir(S_AGPIO_L23,GPIO_DIRECTION_OUTPUT); + if (ret != ERRCODE_SUCC) PRINT("set_dir S_AGPIO_L23,GPIO_DIRECTION_OUTPUT ret %d\n",ret); + ret=uapi_gpio_set_dir(S_AGPIO_L30,GPIO_DIRECTION_OUTPUT); + if (ret != ERRCODE_SUCC) PRINT("set_dir S_AGPIO_L30,GPIO_DIRECTION_OUTPUT ret %d\n",ret); + ret=uapi_gpio_set_dir(S_AGPIO_L28,GPIO_DIRECTION_OUTPUT); + if (ret != ERRCODE_SUCC) PRINT("set_dir S_AGPIO_L28,GPIO_DIRECTION_OUTPUT ret %d\n",ret); + + ret=uapi_gpio_set_val(S_AGPIO_L23, GPIO_LEVEL_HIGH); // crystal sw + PRINT("GPS_BAT_ON set_value S_AGPIO_L23 GPIO_LEVEL_HIGH ret %d\n",ret); + + ret=uapi_gpio_set_val(S_AGPIO_L28 , GPIO_LEVEL_HIGH); // gps V3.3 sw en + PRINT("GPS_1V8 set_value S_AGPIO_L28 GPIO_LEVEL_HIGH ret %d\n",ret); + + ret=uapi_gpio_set_val(S_AGPIO_L30, GPIO_LEVEL_HIGH); //gps reset + PRINT("GPS_PWRON set_value S_AGPIO_L30 GPIO_LEVEL_HIGH ret %d\n",ret); +#elif defined (BOARD_L22) || defined (BOARD_W9) + + // ret=uapi_gpio_set_dir(S_AGPIO_L16,GPIO_DIRECTION_OUTPUT); + // PRINT("set_dir S_AGPIO_L16,GPIO_DIRECTION_OUTPUT ret %d\n",ret); + ret=uapi_gpio_set_dir(S_AGPIO_L32,GPIO_DIRECTION_OUTPUT); + PRINT("set_dir S_AGPIO_L32,GPIO_DIRECTION_OUTPUT ret %d\n",ret); + ret=uapi_gpio_set_dir(S_AGPIO_L20,GPIO_DIRECTION_OUTPUT); + PRINT("set_dir S_AGPIO_L20,GPIO_DIRECTION_OUTPUT ret %d\n",ret); + ret=uapi_gpio_set_dir(S_AGPIO_R9,GPIO_DIRECTION_OUTPUT); + PRINT("set_dir S_AGPIO_R9,GPIO_DIRECTION_OUTPUT ret %d\n",ret); + ret=uapi_gpio_set_dir(S_HGPIO0,GPIO_DIRECTION_OUTPUT); + PRINT("set_dir S_HGPIO0,GPIO_DIRECTION_OUTPUT ret %d\n",ret); + + ret=uapi_gpio_set_val(S_HGPIO0, GPIO_LEVEL_HIGH); // crystal sw + PRINT("GPS_CRYSTAL set_value S_HGPIO0 GPIO_LEVEL_HIGH ret %d\n",ret); + + ret=uapi_gpio_set_val(S_AGPIO_L20, GPIO_LEVEL_HIGH); // gps V1.8 sw en + PRINT("GPS_1V8 set_value S_AGPIO_L20 GPIO_LEVEL_HIGH ret %d\n",ret); + + ret=uapi_gpio_set_val(S_AGPIO_R9, GPIO_LEVEL_HIGH); // gps V3.3 sw en + PRINT("GPS_BAT_ON set_value S_AGPIO_R9 GPIO_LEVEL_HIGH ret %d\n",ret); + + ret=uapi_gpio_set_val(S_AGPIO_L32, GPIO_LEVEL_HIGH); //gps reset + PRINT("GPS_PWRON set_value S_AGPIO_L32 GPIO_LEVEL_HIGH ret %d\n",ret); + +#endif + return ERRCODE_SUCC; +} +errcode_t gnss_power_off(void) +{ + + errcode_t ret=0; +#if defined(BOARD_U8) +/* +S_AGPIO_L23 GPS_BAT_ON +S_AGPIO_L30 GPS_PWRON +S_AGPIO_L28 GPS_1V8 +*/ + ret=uapi_gpio_set_dir(S_AGPIO_L23,GPIO_DIRECTION_OUTPUT); + if (ret != ERRCODE_SUCC) PRINT("set_dir S_AGPIO_L23,GPIO_DIRECTION_OUTPUT ret %d\n",ret); + ret=uapi_gpio_set_dir(S_AGPIO_L30,GPIO_DIRECTION_OUTPUT); + if (ret != ERRCODE_SUCC) PRINT("set_dir S_AGPIO_L30,GPIO_DIRECTION_OUTPUT ret %d\n",ret); + ret=uapi_gpio_set_dir(S_AGPIO_L28,GPIO_DIRECTION_OUTPUT); + if (ret != ERRCODE_SUCC) PRINT("set_dir S_AGPIO_L28,GPIO_DIRECTION_OUTPUT ret %d\n",ret); + + ret=uapi_gpio_set_val(S_AGPIO_L23, GPIO_LEVEL_HIGH); // crystal sw + PRINT("GPS_BAT_ON set_value S_AGPIO_L23 GPIO_LEVEL_HIGH ret %d\n",ret); + + ret=uapi_gpio_set_val(S_AGPIO_L28 , GPIO_LEVEL_HIGH); // gps V3.3 sw en + PRINT("GPS_1V8 set_value S_AGPIO_L28 GPIO_LEVEL_HIGH ret %d\n",ret); + + ret=uapi_gpio_set_val(S_AGPIO_L30, GPIO_LEVEL_LOW); //gps reset + PRINT("GPS_PWRON set_value S_AGPIO_L30 GPIO_LEVEL_LOW ret %d\n",ret); + + +#elif defined (BOARD_L22) || defined (BOARD_W9) + + // ret=uapi_gpio_set_dir(S_AGPIO_L16,GPIO_DIRECTION_OUTPUT); + // PRINT("set_dir S_AGPIO_L16,GPIO_DIRECTION_OUTPUT ret %d\n",ret); + ret=uapi_gpio_set_dir(S_AGPIO_L32,GPIO_DIRECTION_OUTPUT); + PRINT("set_dir S_AGPIO_L32,GPIO_DIRECTION_OUTPUT ret %d\n",ret); + ret=uapi_gpio_set_dir(S_AGPIO_L20,GPIO_DIRECTION_OUTPUT); + PRINT("set_dir S_AGPIO_L20,GPIO_DIRECTION_OUTPUT ret %d\n",ret); + ret=uapi_gpio_set_dir(S_AGPIO_R9,GPIO_DIRECTION_OUTPUT); + PRINT("set_dir S_AGPIO_R9,GPIO_DIRECTION_OUTPUT ret %d\n",ret); + ret=uapi_gpio_set_dir(S_HGPIO0,GPIO_DIRECTION_OUTPUT); + PRINT("set_dir S_HGPIO0,GPIO_DIRECTION_OUTPUT ret %d\n",ret); + + ret=uapi_gpio_set_val(S_HGPIO0, GPIO_LEVEL_HIGH); // crystal sw + PRINT("GPS_CRYSTAL set_value S_HGPIO0 GPIO_LEVEL_HIGH ret %d\n",ret); + + ret=uapi_gpio_set_val(S_AGPIO_L20, GPIO_LEVEL_HIGH); // gps V1.8 sw en + PRINT("GPS_1V8 set_value S_AGPIO_L20 GPIO_LEVEL_HIGH ret %d\n",ret); + + ret=uapi_gpio_set_val(S_AGPIO_R9, GPIO_LEVEL_HIGH); // gps V3.3 sw en + PRINT("GPS_BAT_ON set_value S_AGPIO_R9 GPIO_LEVEL_HIGH ret %d\n",ret); + + ret=uapi_gpio_set_val(S_AGPIO_L32, GPIO_LEVEL_LOW); //gps reset + PRINT("GPS_PWRON set_value S_AGPIO_L32 GPIO_LEVEL_LOW ret %d\n",ret); + + +#endif + return ERRCODE_SUCC; +} + +static uint8_t g_gnss_status=0; +errcode_t gnss_start(void) +{ + do_gnss_cmd(GNSS_CMD_WRITEDATA,g_start_gnss_cmd,sizeof(g_start_gnss_cmd)); + do_gnss_cmd(GNSS_CMD_WRITEDATA,g_cfg_all_nmea_cmd,sizeof(g_cfg_all_nmea_cmd)); + g_gnss_status = 1; + return 0; +} + +errcode_t gnss_stop(void) +{ + + do_gnss_cmd(GNSS_CMD_WRITEDATA,g_stop_gnss_cmd,sizeof(g_stop_gnss_cmd)); + g_gnss_status = 0; + return 0; + +} + +uint8_t is_gnss_on(void) +{ + return g_gnss_status; +} \ No newline at end of file diff --git a/code/sdk/zhihui/gnss/gnss_ctl.h b/code/sdk/zhihui/gnss/gnss_ctl.h new file mode 100644 index 000000000..64ff61a9a --- /dev/null +++ b/code/sdk/zhihui/gnss/gnss_ctl.h @@ -0,0 +1,28 @@ +// Copyright 2018-2025 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef __CUSTOM_GNSS_CTL_H +#define __CUSTOM_GNSS_CTL_H + +#include "stdint.h" +#include "errcode.h" + +errcode_t gnss_init(void); +errcode_t gnss_power_on(void); +errcode_t gnss_power_off(void); +errcode_t gnss_start(void); +errcode_t gnss_stop(void); +uint8_t is_gnss_on(void); + +#endif diff --git a/code/sdk/zhihui/gnss/uart_gnss.c b/code/sdk/zhihui/gnss/uart_gnss.c new file mode 100644 index 000000000..f44afc132 --- /dev/null +++ b/code/sdk/zhihui/gnss/uart_gnss.c @@ -0,0 +1,162 @@ +// Copyright 2018-2025 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include +#include +#include +#include "driver/uart.h" + +#include "pinctrl.h" +#include "debug_print.h" +#include "soc_osal.h" +#include "tcxo.h" +#include "irmalloc.h" +#include "errcode.h" +#include "common_def.h" +#include "wearable_log.h" +#include "thread_init.h" +#include "custom_utils.h" +#include "uart_gnss.h" +#include "gnss_ctl.h" +static unsigned long g_gnss_cmd_queue= 0xFFFFFFFF; +#define MAX_BUFFER_SIZE (256) +typedef struct { + uint8_t cmd; + uint32_t size; + uint8_t *buffer; +} gnss_cmd_t; +void do_gnss_cmd(int cmd,uint8_t *buffer,uint32_t size) +{ + int ret; + + gnss_cmd_t mail = {0}; + if(cmd == GNSS_CMD_READDATA) + { //只有接收的缓存需要malloc,发送的都是静态数组,无需申请缓存 + mail.buffer = osal_kmalloc(size+1, OSAL_GFP_KERNEL); + if (mail.buffer == NULL) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,"uart message buffer memory alloc fail, length is %d "NEWLINE, size); + return; + } + memset_s(mail.buffer,size+1,0,size+1); + memcpy_s(mail.buffer,MAX_BUFFER_SIZE,buffer,size); + }else{ + mail.buffer = buffer; + } + + mail.cmd = cmd; + mail.size = size; + // unsigned int quesize=osal_msg_queue_get_msg_num(g_gnss_cmd_queue); + // WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,"do_uart_slip_cmd quesize %d\n",quesize); + ret = osal_msg_queue_write_copy(g_gnss_cmd_queue, (void *)&mail, + sizeof(gnss_cmd_t), 0); + if (ret != OSAL_SUCCESS) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,"Error uart_slip cmd msg %d send failed! err=0x%02X!"NEWLINE,cmd, ret); + } + +} + +uint32_t gnss_write_cmd(uint8_t * cmdbuf,uint16_t cmdlen) +{ +#if defined(GNSS_UART0) + return uapi_uart_write(UART_BUS_0, cmdbuf, cmdlen,0); +#elif defined (GNSS_UART1) + return uapi_uart_write(UART_BUS_1, cmdbuf, cmdlen,0); +#else + return 0; +#endif +} +uint32_t gnss_data_read(uint8_t * cmdbuf,uint16_t cmdlen) +{ +#if defined(GNSS_UART0) + return uapi_uart_read(UART_BUS_0, cmdbuf, cmdlen,0); +#elif defined (GNSS_UART1) + return uapi_uart_read(UART_BUS_1, cmdbuf, cmdlen,0); +#else + return 0; +#endif +} +static void uart_event_task(void const *arg) +{ + unused(arg); + int32_t ret; + gnss_cmd_t mail; + uint32_t msgsize = (uint32_t)sizeof(gnss_cmd_t); + + while (1) { + + (void)memset_s(&mail, sizeof(gnss_cmd_t), 0, sizeof(gnss_cmd_t)); + + ret = osal_msg_queue_read_copy(g_gnss_cmd_queue, (void *)&mail, &msgsize, + OSAL_MSGQ_WAIT_FOREVER); + if (ret != OSAL_SUCCESS) { + continue; + } + + if (mail.cmd == GNSS_CMD_READDATA) { + + WEARABLE_LOGW(WEARABLE_LOG_MODULE_MAIN_SERVICE,"recv size=%d! %s \r\n",mail.size,mail.buffer); + + }else if (mail.cmd == GNSS_CMD_WRITEDATA) + { + uint32_t wlen=gnss_write_cmd(mail.buffer,mail.size); + WEARABLE_LOGW(WEARABLE_LOG_MODULE_MAIN_SERVICE,"GNSS_CMD_WRITEDATA written len %d\r\n",wlen); + } + if(mail.cmd == GNSS_CMD_READDATA) + osal_kfree(mail.buffer); //只有接收的缓存需要free,发送的都是静态数组,无需申请缓存 + } +} + +void gnss_receive_handler(uint8_t *buffer, int32_t size) +{ + // WEARABLE_LOGD(WEARABLE_LOG_MODULE_MAIN_SERVICE,"slip_receive_handler %d \n",size); + if (g_gnss_cmd_queue!= 0xFFFFFFFF) + { + do_gnss_cmd(GNSS_CMD_READDATA,buffer,size); + } +} + +#define GNSS_CMD_TASK_MSG_COUNT 128 +#define GNSS_CMD_TASK_SIZE (0x800*2) +#define GNSS_CMD_TASK_PRIO 4 +void create_slip_uart_queue(void) +{ + + if (osal_msg_queue_create("uart_gnss_cmd_queue", GNSS_CMD_TASK_MSG_COUNT, &g_gnss_cmd_queue, + 0, sizeof(gnss_cmd_t)) != ERRCODE_SUCC) { + PRINT("[service] gnss server create mail fail\n"); + } +} +int gnss_uart_init(void) +{ + + + PRINT("gnss_uart_init !\r\n"); + + app_task_definition_t taskcfg={0}; + taskcfg.create_queue_handle = create_slip_uart_queue; + taskcfg.attr.name="uart_gnss_service"; + taskcfg.attr.priority = osPriorityHigh;//osPriorityNormal; GUI osPriorityAboveNormal2 + taskcfg.attr.stack_size = GNSS_CMD_TASK_SIZE; + taskcfg.func = uart_event_task; + taskcfg.use_mem = USE_DTCM_MEM; + + errcode_t ret=uapi_create_osThread_custom(&taskcfg); + if(ret != ERRCODE_SUCC) + { + PRINT("create uart_gnss_service failed %d!\r\n",ret); + return ERRCODE_FAIL; + } + return ERRCODE_SUCC; +} + diff --git a/code/sdk/zhihui/gnss/uart_gnss.h b/code/sdk/zhihui/gnss/uart_gnss.h new file mode 100644 index 000000000..f49bb64f5 --- /dev/null +++ b/code/sdk/zhihui/gnss/uart_gnss.h @@ -0,0 +1,31 @@ +// Copyright 2018-2025 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef __CUSTOM_GNSS_UART_H +#define __CUSTOM_GNSS_UART_H + +#include "stdint.h" +/** + * @brief init uart config and config uart as slip netif bridge + */ +int gnss_uart_init(void); + +#define GNSS_CMD_READDATA 0x01 +#define GNSS_CMD_WRITEDATA 0x02 + +void do_gnss_cmd(int cmd,uint8_t *buffer,uint32_t size); + +void gnss_receive_handler(uint8_t *buffer, int32_t size); + +#endif diff --git a/code/sdk/zhihui/utils/CMakeLists.txt b/code/sdk/zhihui/utils/CMakeLists.txt new file mode 100644 index 000000000..c7941ad3a --- /dev/null +++ b/code/sdk/zhihui/utils/CMakeLists.txt @@ -0,0 +1,38 @@ +#=============================================================================== +# @brief cmake file +# Copyright (c) @CompanyNameMagicTag 2023-2023. All rights reserved. +#=============================================================================== +set(COMPONENT_NAME "custom_utils") +set(SOURCES ${SOURCES} + ${CMAKE_CURRENT_SOURCE_DIR}/custom_utils.c +) +set(PUBLIC_HEADER +${CMAKE_CURRENT_SOURCE_DIR} +) +set(PUBLIC_DEFINES +) +set(PRIVATE_HEADER +) + +set(PRIVATE_DEFINES +) + +# use this when you want to add ccflags like -include xxx +set(COMPONENT_PUBLIC_CCFLAGS +) + +set(COMPONENT_CCFLAGS + -Wno-incompatible-function-pointer-types + -Wno-unused-function +) + +set(WHOLE_LINK + true +) + +set(MAIN_COMPONENT + false +) + +build_component() + diff --git a/code/sdk/zhihui/utils/custom_utils.c b/code/sdk/zhihui/utils/custom_utils.c new file mode 100644 index 000000000..d7a76a8c3 --- /dev/null +++ b/code/sdk/zhihui/utils/custom_utils.c @@ -0,0 +1,66 @@ +// Copyright 2018-2025 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include +#include +#include +// #include "driver/uart.h" + +#include "pinctrl.h" +#include "debug_print.h" +#include "soc_osal.h" +#include "tcxo.h" +#include "irmalloc.h" +#include "errcode.h" +#include "common_def.h" +#include "wearable_log.h" +#include "thread_init.h" +#include "custom_utils.h" + +errcode_t uapi_create_osThread_custom(app_task_definition_t *task_cfg) +{ + if (task_cfg==NULL) + return ERRCODE_FAIL; + /* Create queues before tasks in case they are used during initialisation. */ + if (task_cfg->create_queue_handle) { + task_cfg->create_queue_handle(); + } + /* Create tasks */ + if (task_cfg->use_mem == USE_EXTEND_MEM) { + task_cfg->attr.stack_mem = memalign(16, task_cfg->attr.stack_size); // 16字节对齐 + } + task_cfg->task_handle = osThreadNew(task_cfg->func, NULL, &(task_cfg->attr)); + if (task_cfg->task_handle == NULL) { + return ERRCODE_FAIL; + } + return ERRCODE_SUCC; +} + +errcode_t uapi_terminate_thread(void* thread_id) +{ + osStatus_t ret = osThreadTerminate((osThreadId_t)thread_id); + return ret; +} + +errcode_t uapi_suspend_thread(void* thread_id) +{ + osStatus_t ret = osThreadSuspend((osThreadId_t)thread_id); + return ret; +} + +errcode_t uapi_resume_thread(void* thread_id) +{ + osStatus_t ret = osThreadResume((osThreadId_t)thread_id); + return ret; +} diff --git a/code/sdk/zhihui/utils/custom_utils.h b/code/sdk/zhihui/utils/custom_utils.h new file mode 100644 index 000000000..17e6e0bde --- /dev/null +++ b/code/sdk/zhihui/utils/custom_utils.h @@ -0,0 +1,27 @@ +// Copyright 2018-2025 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef __CUSTOM_UTILS_H +#define __CUSTOM_UTILS_H + +#include "stdint.h" +#include "errcode.h" +#include "thread_init.h" + +errcode_t uapi_create_osThread_custom(app_task_definition_t *task_cfg); +errcode_t uapi_terminate_thread(void* thread_id); +errcode_t uapi_suspend_thread(void* thread_id); +errcode_t uapi_resume_thread(void* thread_id); + +#endif -- 2.17.1