From cc1fac3a01d61e1d37cdf9ef605c87e707baf0f5 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Thu, 25 Jan 2024 16:06:00 +0800 Subject: [PATCH] update --- .vscode/c_cpp_properties.ble_c.json | 359 ++++ .vscode/c_cpp_properties.json | 160 +- app/main.c | 38 +- app/src/basic/ads1293/ads1293.c | 4 + app/src/basic/ads1293/ads1293.h | 2 + app/src/three_lead/ads_cfg.h | 148 ++ app/src/three_lead/three_lead_board.c | 45 +- app/src/three_lead/three_lead_board.h | 3 + .../ble_app_uart_c_pca10100_s122.uvguix.h_zha | 1743 +++++++++++++++++++- ble_app_uart_c/main.c | 11 +- 10 files changed, 2354 insertions(+), 159 deletions(-) create mode 100644 .vscode/c_cpp_properties.ble_c.json create mode 100644 app/src/three_lead/ads_cfg.h diff --git a/.vscode/c_cpp_properties.ble_c.json b/.vscode/c_cpp_properties.ble_c.json new file mode 100644 index 0000000..600a0af --- /dev/null +++ b/.vscode/c_cpp_properties.ble_c.json @@ -0,0 +1,359 @@ +{ + "configurations": [ + { + "name": "nrf52833_xxaa", + "includePath": [ + "sdk\\components\\ble\\nrf_ble_gq\\", + "sdk\\components\\softdevice\\mbr\\headers\\", + "sdk\\components\\ble\\common\\", + "sdk\\components\\ble\\ble_db_discovery\\", + "sdk\\components\\toolchain\\cmsis\\include\\", + "ble_app_uart_c\\config", + "sdk\\components\\libraries\\util\\", + "sdk\\modules\\nrfx\\mdk\\", + "sdk\\components\\softdevice\\s140\\headers", + "ble_app_uart_c\\config", + "sdk\\components", + "sdk\\components\\ble\\ble_advertising", + "sdk\\components\\ble\\ble_db_discovery", + "sdk\\components\\ble\\ble_dtm", + "sdk\\components\\ble\\ble_racp", + "sdk\\components\\ble\\ble_services\\ble_ancs_c", + "sdk\\components\\ble\\ble_services\\ble_ans_c", + "sdk\\components\\ble\\ble_services\\ble_bas", + "sdk\\components\\ble\\ble_services\\ble_bas_c", + "sdk\\components\\ble\\ble_services\\ble_cscs", + "sdk\\components\\ble\\ble_services\\ble_cts_c", + "sdk\\components\\ble\\ble_services\\ble_dfu", + "sdk\\components\\ble\\ble_services\\ble_dis", + "sdk\\components\\ble\\ble_services\\ble_gls", + "sdk\\components\\ble\\ble_services\\ble_hids", + "sdk\\components\\ble\\ble_services\\ble_hrs", + "sdk\\components\\ble\\ble_services\\ble_hrs_c", + "sdk\\components\\ble\\ble_services\\ble_hts", + "sdk\\components\\ble\\ble_services\\ble_ias", + "sdk\\components\\ble\\ble_services\\ble_ias_c", + "sdk\\components\\ble\\ble_services\\ble_lbs", + "sdk\\components\\ble\\ble_services\\ble_lbs_c", + "sdk\\components\\ble\\ble_services\\ble_lls", + "sdk\\components\\ble\\ble_services\\ble_nus", + "sdk\\components\\ble\\ble_services\\ble_nus_c", + "sdk\\components\\ble\\ble_services\\ble_rscs", + "sdk\\components\\ble\\ble_services\\ble_rscs_c", + "sdk\\components\\ble\\ble_services\\ble_tps", + "sdk\\components\\ble\\common", + "sdk\\components\\ble\\nrf_ble_gatt", + "sdk\\components\\ble\\nrf_ble_gq", + "sdk\\components\\ble\\nrf_ble_qwr", + "sdk\\components\\ble\\nrf_ble_scan", + "sdk\\components\\ble\\peer_manager", + "sdk\\components\\boards", + "sdk\\components\\libraries\\atomic", + "sdk\\components\\libraries\\atomic_fifo", + "sdk\\components\\libraries\\balloc", + "sdk\\components\\libraries\\bootloader\\ble_dfu", + "sdk\\components\\libraries\\bsp", + "sdk\\components\\libraries\\button", + "sdk\\components\\libraries\\cli", + "sdk\\components\\libraries\\crc16", + "sdk\\components\\libraries\\crc32", + "sdk\\components\\libraries\\crypto", + "sdk\\components\\libraries\\csense", + "sdk\\components\\libraries\\csense_drv", + "sdk\\components\\libraries\\delay", + "sdk\\components\\libraries\\ecc", + "sdk\\components\\libraries\\experimental_section_vars", + "sdk\\components\\libraries\\experimental_task_manager", + "sdk\\components\\libraries\\fds", + "sdk\\components\\libraries\\fifo", + "sdk\\components\\libraries\\fstorage", + "sdk\\components\\libraries\\gfx", + "sdk\\components\\libraries\\gpiote", + "sdk\\components\\libraries\\hardfault", + "sdk\\components\\libraries\\hci", + "sdk\\components\\libraries\\led_softblink", + "sdk\\components\\libraries\\log", + "sdk\\components\\libraries\\log\\src", + "sdk\\components\\libraries\\low_power_pwm", + "sdk\\components\\libraries\\mem_manager", + "sdk\\components\\libraries\\memobj", + "sdk\\components\\libraries\\mpu", + "sdk\\components\\libraries\\mutex", + "sdk\\components\\libraries\\pwm", + "sdk\\components\\libraries\\pwr_mgmt", + "sdk\\components\\libraries\\queue", + "sdk\\components\\libraries\\ringbuf", + "sdk\\components\\libraries\\scheduler", + "sdk\\components\\libraries\\sdcard", + "sdk\\components\\libraries\\slip", + "sdk\\components\\libraries\\sortlist", + "sdk\\components\\libraries\\spi_mngr", + "sdk\\components\\libraries\\stack_guard", + "sdk\\components\\libraries\\strerror", + "sdk\\components\\libraries\\svc", + "sdk\\components\\libraries\\timer", + "sdk\\components\\libraries\\twi_mngr", + "sdk\\components\\libraries\\twi_sensor", + "sdk\\components\\libraries\\uart", + "sdk\\components\\libraries\\usbd", + "sdk\\components\\libraries\\usbd\\class\\audio", + "sdk\\components\\libraries\\usbd\\class\\cdc", + "sdk\\components\\libraries\\usbd\\class\\cdc\\acm", + "sdk\\components\\libraries\\usbd\\class\\hid", + "sdk\\components\\libraries\\usbd\\class\\hid\\generic", + "sdk\\components\\libraries\\usbd\\class\\hid\\kbd", + "sdk\\components\\libraries\\usbd\\class\\hid\\mouse", + "sdk\\components\\libraries\\usbd\\class\\msc", + "sdk\\components\\libraries\\util", + "sdk\\components\\nfc\\ndef\\conn_hand_parser", + "sdk\\components\\nfc\\ndef\\conn_hand_parser\\ac_rec_parser", + "sdk\\components\\nfc\\ndef\\conn_hand_parser\\ble_oob_advdata_parser", + "sdk\\components\\nfc\\ndef\\conn_hand_parser\\le_oob_rec_parser", + "sdk\\components\\nfc\\ndef\\connection_handover\\ac_rec", + "sdk\\components\\nfc\\ndef\\connection_handover\\ble_oob_advdata", + "sdk\\components\\nfc\\ndef\\connection_handover\\ble_pair_lib", + "sdk\\components\\nfc\\ndef\\connection_handover\\ble_pair_msg", + "sdk\\components\\nfc\\ndef\\connection_handover\\common", + "sdk\\components\\nfc\\ndef\\connection_handover\\ep_oob_rec", + "sdk\\components\\nfc\\ndef\\connection_handover\\hs_rec", + "sdk\\components\\nfc\\ndef\\connection_handover\\le_oob_rec", + "sdk\\components\\nfc\\ndef\\generic\\message", + "sdk\\components\\nfc\\ndef\\generic\\record", + "sdk\\components\\nfc\\ndef\\launchapp", + "sdk\\components\\nfc\\ndef\\parser\\message", + "sdk\\components\\nfc\\ndef\\parser\\record", + "sdk\\components\\nfc\\ndef\\text", + "sdk\\components\\nfc\\ndef\\uri", + "sdk\\components\\nfc\\platform", + "sdk\\components\\nfc\\t2t_lib", + "sdk\\components\\nfc\\t2t_parser", + "sdk\\components\\nfc\\t4t_lib", + "sdk\\components\\nfc\\t4t_parser\\apdu", + "sdk\\components\\nfc\\t4t_parser\\cc_file", + "sdk\\components\\nfc\\t4t_parser\\hl_detection_procedure", + "sdk\\components\\nfc\\t4t_parser\\tlv", + "sdk\\components\\softdevice\\common", + "sdk\\components\\softdevice\\s122\\headers", + "sdk\\components\\softdevice\\s122\\headers\\nrf52", + "sdk\\external\\fprintf", + "sdk\\external\\segger_rtt", + "sdk\\external\\utf_converter", + "sdk\\integration\\nrfx", + "sdk\\integration\\nrfx\\legacy", + "sdk\\modules\\nrfx", + "sdk\\modules\\nrfx\\drivers\\include", + "sdk\\modules\\nrfx\\hal", + "config", + "ble_app_uart_c", + "sdk\\modules\\nrfx\\soc", + "sdk\\modules\\nrfx\\drivers\\src", + "sdk\\modules\\nrfx\\drivers\\src\\prs" + ], + "defines": [ + "APP_TIMER_V2", + "APP_TIMER_V2_RTC1_ENABLED", + "BOARD_QING_FENG_NRF52833", + "CONFIG_GPIO_AS_PINRESET", + "FLOAT_ABI_HARD", + "NRF52833_XXAA", + "NRF_SD_BLE_API_VERSION=8", + "S122", + "SOFTDEVICE_PRESENT", + "__HEAP_SIZE=2048", + "__STACK_SIZE=2048", + "__CC_ARM", + "__arm__", + "__align(x)=", + "__ALIGNOF__(x)=", + "__alignof__(x)=", + "__asm(x)=", + "__forceinline=", + "__restrict=", + "__global_reg(n)=", + "__inline=", + "__int64=long long", + "__INTADDR__(expr)=0", + "__irq=", + "__packed=", + "__pure=", + "__smc(n)=", + "__svc(n)=", + "__svc_indirect(n)=", + "__svc_indirect_r7(n)=", + "__value_in_regs=", + "__weak=", + "__writeonly=", + "__declspec(x)=", + "__attribute__(x)=", + "__nonnull__(x)=", + "__register=", + "__breakpoint(x)=", + "__cdp(x,y,z)=", + "__clrex()=", + "__clz(x)=0U", + "__current_pc()=0U", + "__current_sp()=0U", + "__disable_fiq()=", + "__disable_irq()=", + "__dmb(x)=", + "__dsb(x)=", + "__enable_fiq()=", + "__enable_irq()=", + "__fabs(x)=0.0", + "__fabsf(x)=0.0f", + "__force_loads()=", + "__force_stores()=", + "__isb(x)=", + "__ldrex(x)=0U", + "__ldrexd(x)=0U", + "__ldrt(x)=0U", + "__memory_changed()=", + "__nop()=", + "__pld(...)=", + "__pli(...)=", + "__qadd(x,y)=0", + "__qdbl(x)=0", + "__qsub(x,y)=0", + "__rbit(x)=0U", + "__rev(x)=0U", + "__return_address()=0U", + "__ror(x,y)=0U", + "__schedule_barrier()=", + "__semihost(x,y)=0", + "__sev()=", + "__sqrt(x)=0.0", + "__sqrtf(x)=0.0f", + "__ssat(x,y)=0", + "__strex(x,y)=0U", + "__strexd(x,y)=0", + "__strt(x,y)=", + "__swp(x,y)=0U", + "__usat(x,y)=0U", + "__wfe()=", + "__wfi()=", + "__yield()=", + "__vfp_status(x,y)=0" + ], + "intelliSenseMode": "${default}" + }, + { + "name": "flash_s122_nrf52_8.0.0_softdevice", + "includePath": [ + "ble_app_uart_c\\config", + "config", + "ble_app_uart_c", + "sdk\\components\\boards", + "sdk\\components\\libraries\\bsp", + "sdk\\external\\utf_converter", + "sdk\\components\\ble\\common", + "sdk\\components\\ble\\ble_db_discovery", + "sdk\\components\\ble\\nrf_ble_gatt", + "sdk\\components\\ble\\nrf_ble_gq", + "sdk\\components\\ble\\nrf_ble_scan", + "sdk\\integration\\nrfx\\legacy", + "sdk\\modules\\nrfx\\soc", + "sdk\\modules\\nrfx\\drivers\\src", + "sdk\\modules\\nrfx\\drivers\\src\\prs", + "sdk\\components\\libraries\\button", + "sdk\\components\\libraries\\util", + "sdk\\components\\libraries\\fifo", + "sdk\\components\\libraries\\scheduler", + "sdk\\components\\libraries\\timer", + "sdk\\components\\libraries\\uart", + "sdk\\components\\libraries\\hardfault", + "sdk\\components\\libraries\\atomic_fifo", + "sdk\\components\\libraries\\atomic", + "sdk\\components\\libraries\\balloc", + "sdk\\external\\fprintf", + "sdk\\components\\libraries\\memobj", + "sdk\\components\\libraries\\pwr_mgmt", + "sdk\\components\\libraries\\queue", + "sdk\\components\\libraries\\ringbuf", + "sdk\\components\\libraries\\experimental_section_vars", + "sdk\\components\\libraries\\sortlist", + "sdk\\components\\libraries\\strerror", + "sdk\\components\\libraries\\log\\src", + "sdk\\external\\segger_rtt", + "sdk\\components\\softdevice\\common" + ], + "defines": [ + "__HEAP_SIZE=2048", + "__STACK_SIZE=2048", + "__CC_ARM", + "__arm__", + "__align(x)=", + "__ALIGNOF__(x)=", + "__alignof__(x)=", + "__asm(x)=", + "__forceinline=", + "__restrict=", + "__global_reg(n)=", + "__inline=", + "__int64=long long", + "__INTADDR__(expr)=0", + "__irq=", + "__packed=", + "__pure=", + "__smc(n)=", + "__svc(n)=", + "__svc_indirect(n)=", + "__svc_indirect_r7(n)=", + "__value_in_regs=", + "__weak=", + "__writeonly=", + "__declspec(x)=", + "__attribute__(x)=", + "__nonnull__(x)=", + "__register=", + "__breakpoint(x)=", + "__cdp(x,y,z)=", + "__clrex()=", + "__clz(x)=0U", + "__current_pc()=0U", + "__current_sp()=0U", + "__disable_fiq()=", + "__disable_irq()=", + "__dmb(x)=", + "__dsb(x)=", + "__enable_fiq()=", + "__enable_irq()=", + "__fabs(x)=0.0", + "__fabsf(x)=0.0f", + "__force_loads()=", + "__force_stores()=", + "__isb(x)=", + "__ldrex(x)=0U", + "__ldrexd(x)=0U", + "__ldrt(x)=0U", + "__memory_changed()=", + "__nop()=", + "__pld(...)=", + "__pli(...)=", + "__qadd(x,y)=0", + "__qdbl(x)=0", + "__qsub(x,y)=0", + "__rbit(x)=0U", + "__rev(x)=0U", + "__return_address()=0U", + "__ror(x,y)=0U", + "__schedule_barrier()=", + "__semihost(x,y)=0", + "__sev()=", + "__sqrt(x)=0.0", + "__sqrtf(x)=0.0f", + "__ssat(x,y)=0", + "__strex(x,y)=0U", + "__strexd(x,y)=0", + "__strt(x,y)=", + "__swp(x,y)=0U", + "__usat(x,y)=0U", + "__wfe()=", + "__wfi()=", + "__yield()=", + "__vfp_status(x,y)=0" + ], + "intelliSenseMode": "${default}" + } + ], + "version": 4 +} \ No newline at end of file diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index 600a0af..79227f7 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -3,20 +3,18 @@ { "name": "nrf52833_xxaa", "includePath": [ - "sdk\\components\\ble\\nrf_ble_gq\\", - "sdk\\components\\softdevice\\mbr\\headers\\", - "sdk\\components\\ble\\common\\", - "sdk\\components\\ble\\ble_db_discovery\\", - "sdk\\components\\toolchain\\cmsis\\include\\", - "ble_app_uart_c\\config", - "sdk\\components\\libraries\\util\\", - "sdk\\modules\\nrfx\\mdk\\", - "sdk\\components\\softdevice\\s140\\headers", - "ble_app_uart_c\\config", + "libznordic\\include", + "sdk/external/fatfs/src/", + "sdk/external/fatfs/src/", + "sdk/external/fatfs/port/", + "sdk/components/libraries/block_dev/sdc/", + "sdk/components/libraries/block_dev/", + "sdk\\config", + "app\\src", "sdk\\components", "sdk\\components\\ble\\ble_advertising", - "sdk\\components\\ble\\ble_db_discovery", "sdk\\components\\ble\\ble_dtm", + "sdk\\components\\ble\\ble_link_ctx_manager", "sdk\\components\\ble\\ble_racp", "sdk\\components\\ble\\ble_services\\ble_ancs_c", "sdk\\components\\ble\\ble_services\\ble_ans_c", @@ -43,13 +41,12 @@ "sdk\\components\\ble\\ble_services\\ble_tps", "sdk\\components\\ble\\common", "sdk\\components\\ble\\nrf_ble_gatt", - "sdk\\components\\ble\\nrf_ble_gq", "sdk\\components\\ble\\nrf_ble_qwr", - "sdk\\components\\ble\\nrf_ble_scan", "sdk\\components\\ble\\peer_manager", "sdk\\components\\boards", "sdk\\components\\libraries\\atomic", "sdk\\components\\libraries\\atomic_fifo", + "sdk\\components\\libraries\\atomic_flags", "sdk\\components\\libraries\\balloc", "sdk\\components\\libraries\\bootloader\\ble_dfu", "sdk\\components\\libraries\\bsp", @@ -133,8 +130,8 @@ "sdk\\components\\nfc\\t4t_parser\\hl_detection_procedure", "sdk\\components\\nfc\\t4t_parser\\tlv", "sdk\\components\\softdevice\\common", - "sdk\\components\\softdevice\\s122\\headers", - "sdk\\components\\softdevice\\s122\\headers\\nrf52", + "sdk\\components\\softdevice\\s140\\headers", + "sdk\\components\\softdevice\\s140\\headers\\nrf52", "sdk\\external\\fprintf", "sdk\\external\\segger_rtt", "sdk\\external\\utf_converter", @@ -143,21 +140,24 @@ "sdk\\modules\\nrfx", "sdk\\modules\\nrfx\\drivers\\include", "sdk\\modules\\nrfx\\hal", - "config", - "ble_app_uart_c", + "app\\config\\", + "app\\config", + "app", "sdk\\modules\\nrfx\\soc", "sdk\\modules\\nrfx\\drivers\\src", - "sdk\\modules\\nrfx\\drivers\\src\\prs" + "sdk\\modules\\nrfx\\drivers\\src\\prs", + "sdk\\modules\\nrfx\\mdk\\", + "sdk\\components\\toolchain\\cmsis\\include\\" ], "defines": [ "APP_TIMER_V2", "APP_TIMER_V2_RTC1_ENABLED", - "BOARD_QING_FENG_NRF52833", + "BOARD_PCA10100", "CONFIG_GPIO_AS_PINRESET", "FLOAT_ABI_HARD", "NRF52833_XXAA", - "NRF_SD_BLE_API_VERSION=8", - "S122", + "NRF_SD_BLE_API_VERSION=7", + "S140", "SOFTDEVICE_PRESENT", "__HEAP_SIZE=2048", "__STACK_SIZE=2048", @@ -235,124 +235,6 @@ "__vfp_status(x,y)=0" ], "intelliSenseMode": "${default}" - }, - { - "name": "flash_s122_nrf52_8.0.0_softdevice", - "includePath": [ - "ble_app_uart_c\\config", - "config", - "ble_app_uart_c", - "sdk\\components\\boards", - "sdk\\components\\libraries\\bsp", - "sdk\\external\\utf_converter", - "sdk\\components\\ble\\common", - "sdk\\components\\ble\\ble_db_discovery", - "sdk\\components\\ble\\nrf_ble_gatt", - "sdk\\components\\ble\\nrf_ble_gq", - "sdk\\components\\ble\\nrf_ble_scan", - "sdk\\integration\\nrfx\\legacy", - "sdk\\modules\\nrfx\\soc", - "sdk\\modules\\nrfx\\drivers\\src", - "sdk\\modules\\nrfx\\drivers\\src\\prs", - "sdk\\components\\libraries\\button", - "sdk\\components\\libraries\\util", - "sdk\\components\\libraries\\fifo", - "sdk\\components\\libraries\\scheduler", - "sdk\\components\\libraries\\timer", - "sdk\\components\\libraries\\uart", - "sdk\\components\\libraries\\hardfault", - "sdk\\components\\libraries\\atomic_fifo", - "sdk\\components\\libraries\\atomic", - "sdk\\components\\libraries\\balloc", - "sdk\\external\\fprintf", - "sdk\\components\\libraries\\memobj", - "sdk\\components\\libraries\\pwr_mgmt", - "sdk\\components\\libraries\\queue", - "sdk\\components\\libraries\\ringbuf", - "sdk\\components\\libraries\\experimental_section_vars", - "sdk\\components\\libraries\\sortlist", - "sdk\\components\\libraries\\strerror", - "sdk\\components\\libraries\\log\\src", - "sdk\\external\\segger_rtt", - "sdk\\components\\softdevice\\common" - ], - "defines": [ - "__HEAP_SIZE=2048", - "__STACK_SIZE=2048", - "__CC_ARM", - "__arm__", - "__align(x)=", - "__ALIGNOF__(x)=", - "__alignof__(x)=", - "__asm(x)=", - "__forceinline=", - "__restrict=", - "__global_reg(n)=", - "__inline=", - "__int64=long long", - "__INTADDR__(expr)=0", - "__irq=", - "__packed=", - "__pure=", - "__smc(n)=", - "__svc(n)=", - "__svc_indirect(n)=", - "__svc_indirect_r7(n)=", - "__value_in_regs=", - "__weak=", - "__writeonly=", - "__declspec(x)=", - "__attribute__(x)=", - "__nonnull__(x)=", - "__register=", - "__breakpoint(x)=", - "__cdp(x,y,z)=", - "__clrex()=", - "__clz(x)=0U", - "__current_pc()=0U", - "__current_sp()=0U", - "__disable_fiq()=", - "__disable_irq()=", - "__dmb(x)=", - "__dsb(x)=", - "__enable_fiq()=", - "__enable_irq()=", - "__fabs(x)=0.0", - "__fabsf(x)=0.0f", - "__force_loads()=", - "__force_stores()=", - "__isb(x)=", - "__ldrex(x)=0U", - "__ldrexd(x)=0U", - "__ldrt(x)=0U", - "__memory_changed()=", - "__nop()=", - "__pld(...)=", - "__pli(...)=", - "__qadd(x,y)=0", - "__qdbl(x)=0", - "__qsub(x,y)=0", - "__rbit(x)=0U", - "__rev(x)=0U", - "__return_address()=0U", - "__ror(x,y)=0U", - "__schedule_barrier()=", - "__semihost(x,y)=0", - "__sev()=", - "__sqrt(x)=0.0", - "__sqrtf(x)=0.0f", - "__ssat(x,y)=0", - "__strex(x,y)=0U", - "__strexd(x,y)=0", - "__strt(x,y)=", - "__swp(x,y)=0U", - "__usat(x,y)=0U", - "__wfe()=", - "__wfi()=", - "__yield()=", - "__vfp_status(x,y)=0" - ], - "intelliSenseMode": "${default}" } ], "version": 4 diff --git a/app/main.c b/app/main.c index b025fbe..62ba327 100644 --- a/app/main.c +++ b/app/main.c @@ -349,9 +349,9 @@ extern uint32_t g_nrf_log_tx_pin; APP_TIMER_DEF(m_test_tx_timer); static void zdatachanel_send_log(const char* fmt, ...) { - static char tx[256] = {0}; + static char tx[256] = {0}; static uint16_t len = 0; - va_list args; + va_list args; va_start(args, fmt); len = vsprintf(tx, fmt, args); @@ -359,12 +359,37 @@ static void zdatachanel_send_log(const char* fmt, ...) { va_end(args); } +static const char* dumplodstate(uint16_t lodstate) { + static char buf[64]; + memset(buf, 0, sizeof(buf)); + /** + * @brief + * 1111_0000_0000_0000 + */ + + sprintf(buf, "%d%d%d%d_%d%d%d%d_%d%d%d%d_%d%d%d%d", // + lodstate >> 15 & 0x1, lodstate >> 14 & 0x1, lodstate >> 13 & 0x1, lodstate >> 12 & 0x1, // + lodstate >> 11 & 0x1, lodstate >> 10 & 0x1, lodstate >> 9 & 0x1, lodstate >> 8 & 0x1, // + lodstate >> 7 & 0x1, lodstate >> 6 & 0x1, lodstate >> 5 & 0x1, lodstate >> 4 & 0x1, // + lodstate >> 3 & 0x1, lodstate >> 2 & 0x1, lodstate >> 1 & 0x1, lodstate >> 0 & 0x1); + return buf; +} + static void test_tx_timer_cb(void* p_context) { static uint32_t data; data++; - zdatachanel_send_log("%d,%d,%d\n", data, data, data); - // static uint8_t tx[9] = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09}; - // uint16_t p_length = 9; + uint16_t val; + ThreeLeadECG_ads1293_get_lod_state(&val); + + uint32_t sample0; + uint32_t sample1; + uint32_t sample2; + ThreeLeadECG_ads1293_sample(&sample0, &sample1, &sample2); + zdatachanel_send_log("%d,%d,%d\n", sample0, sample1, sample2); + + // zdatachanel_send_log("%d,%d,%d\n", data, data, data); + // zdatachanel_send_log("%d %d %s\n", ThreeLeadECG_ready_pin_state_get(), ThreeLeadECG_LineInputDet_get_state(), dumplodstate(val)); + // zdatachannel_data_send(tx, &p_length); } @@ -414,6 +439,9 @@ void main() { }; zble_module_init(&cfg); + ThreeLeadECG_ecg_init(); + ThreeLeadECG_LineInputDet_init(); + ZERROR_CHECK(app_timer_create(&m_test_tx_timer, APP_TIMER_MODE_REPEATED, test_tx_timer_cb)); ZERROR_CHECK(app_timer_start(m_test_tx_timer, APP_TIMER_TICKS(5), NULL)); diff --git a/app/src/basic/ads1293/ads1293.c b/app/src/basic/ads1293/ads1293.c index bebe21f..2e85cb8 100644 --- a/app/src/basic/ads1293/ads1293.c +++ b/app/src/basic/ads1293/ads1293.c @@ -29,6 +29,10 @@ uint8_t ads1293_spi_readreg(ads1293_t* ads, uint8_t addr) { ads->spi_tx_rx(txcache, rxcache, 2); return rxcache[1]; } +void ads1293_spi_writereg_and_readbak(ads1293_t* ads, uint8_t addr, uint8_t data, uint8_t* readbak) { + ads1293_spi_writereg(ads, addr, data); + *readbak = ads1293_spi_readreg(ads, addr); +} void ads1293_spi_autoinc_writereg(ads1293_t* ads, uint8_t addr, uint8_t* data, uint8_t len) { // len = len > 255 ? 255 : len; diff --git a/app/src/basic/ads1293/ads1293.h b/app/src/basic/ads1293/ads1293.h index 718aebb..107e102 100644 --- a/app/src/basic/ads1293/ads1293.h +++ b/app/src/basic/ads1293/ads1293.h @@ -105,10 +105,12 @@ typedef void (*ads1293_spi_tx_rx_t)(uint8_t* tx, uint8_t* rx, uint8_t len); typedef struct { ads1293_spi_tx_rx_t spi_tx_rx; + int id; } ads1293_t; void ads1293_spi_init(ads1293_t* ads, ads1293_spi_tx_rx_t spi_tx_rx); +void ads1293_spi_writereg_and_readbak(ads1293_t* ads, uint8_t addr, uint8_t data, uint8_t* readbak); void ads1293_spi_writereg(ads1293_t* ads, uint8_t addr, uint8_t data); uint8_t ads1293_spi_readreg(ads1293_t* ads, uint8_t addr); diff --git a/app/src/three_lead/ads_cfg.h b/app/src/three_lead/ads_cfg.h new file mode 100644 index 0000000..64c2b69 --- /dev/null +++ b/app/src/three_lead/ads_cfg.h @@ -0,0 +1,148 @@ +#pragma once +#include + +typedef struct { + uint8_t add; + uint8_t data; +} adscfg_t; + +static adscfg_t ads0cfg[] = { + {0x00, 0x00}, // + {0x01, 0x0a}, // + {0x02, 0x1c}, // + {0x03, 0x00}, // + {0x04, 0x00}, // + {0x05, 0x00}, // + {0x06, 0x02}, // + {0x07, 0x0f}, // + {0x08, 0x13}, // + {0x09, 0x01}, // + {0x0a, 0x0f}, // + {0x0b, 0x00}, // + {0x0c, 0x04}, // + {0x0d, 0x01}, // + {0x0e, 0x02}, // + {0x0f, 0x03}, // + {0x10, 0x00}, // + {0x11, 0x00}, // + {0x12, 0x05}, // + {0x13, 0x00}, // + {0x14, 0x00}, // + {0x15, 0x00}, // + {0x16, 0x00}, // + {0x17, 0x05}, // + {0x18, 0x00}, // + {0x19, 0x00}, // + {0x1a, 0x00}, // + {0x1b, 0x00}, // + {0x1c, 0x00}, // + {0x1d, 0x00}, // + {0x21, 0x02}, // + {0x22, 0x02}, // + {0x23, 0x02}, // + {0x24, 0x02}, // + {0x25, 0x00}, // + {0x26, 0x00}, // + {0x27, 0x08}, // + {0x28, 0x08}, // + {0x29, 0x00}, // + {0x2a, 0x00}, // + {0x2b, 0x00}, // + {0x2c, 0x00}, // + {0x2d, 0x00}, // + {0x2e, 0x33}, // + {0x2f, 0x30}, // + {0x30, 0x00}, // + {0x31, 0x00}, // + {0x32, 0x00}, // + {0x33, 0x00}, // + {0x34, 0x00}, // + {0x35, 0x00}, // + {0x36, 0x00}, // + {0x37, 0x00}, // + {0x38, 0x00}, // + {0x39, 0x00}, // + {0x3a, 0x00}, // + {0x3b, 0x00}, // + {0x3c, 0x00}, // + {0x3d, 0x00}, // + {0x3e, 0x00}, // + {0x3f, 0x00}, // + {0x40, 0xff}, // + {0x50, 0x00}, // + {0x60, 0x00}, // + {0x62, 0x00}, // + +}; + +static adscfg_t ads1cfg[] = { + {0x00, 0x00}, // + {0x01, 0x0c}, // + {0x02, 0x14}, // + {0x03, 0x04}, // + {0x04, 0x00}, // + {0x05, 0x00}, // + {0x06, 0x02}, // + {0x07, 0x0f}, // + {0x08, 0x13}, // + {0x09, 0x01}, // + {0x0a, 0x0f}, // + {0x0b, 0x00}, // + {0x0c, 0x00}, // + {0x0d, 0x00}, // + {0x0e, 0x00}, // + {0x0f, 0x00}, // + {0x10, 0x01}, // + + {0x11, 0x00}, // + {0x12, 0x07}, // + {0x13, 0x00}, // + {0x14, 0x00}, // + {0x15, 0x00}, // + {0x16, 0x00}, // + {0x17, 0x05}, // + {0x18, 0x00}, // + {0x19, 0x00}, // + {0x1a, 0x00}, // + {0x1b, 0x00}, // + {0x1c, 0x00}, // + {0x1d, 0x00}, // + {0x21, 0x02}, // + {0x22, 0x02}, // + {0x23, 0x02}, // + {0x24, 0x02}, // + + {0x25, 0x00}, // + {0x26, 0x00}, // + {0x27, 0x08}, // + {0x28, 0x08}, // + {0x29, 0x00}, // + {0x2a, 0x00}, // + {0x2b, 0x00}, // + {0x2c, 0x00}, // + {0x2d, 0x00}, // + {0x2e, 0x33}, // + {0x2f, 0x30}, // + {0x30, 0x00}, // + {0x31, 0x00}, // + {0x32, 0x00}, // + {0x33, 0x00}, // + {0x34, 0x00}, // + {0x35, 0x00}, // + + {0x36, 0x00}, // + {0x37, 0x00}, // + {0x38, 0x00}, // + {0x39, 0x00}, // + {0x3a, 0x00}, // + {0x3b, 0x00}, // + {0x3c, 0x00}, // + {0x3d, 0x00}, // + {0x3e, 0x00}, // + {0x3f, 0x00}, // + {0x40, 0xff}, // + {0x50, 0x00}, // + {0x60, 0x00}, // + {0x62, 0x00}, // + +}; \ No newline at end of file diff --git a/app/src/three_lead/three_lead_board.c b/app/src/three_lead/three_lead_board.c index 789c794..c0f3e39 100644 --- a/app/src/three_lead/three_lead_board.c +++ b/app/src/three_lead/three_lead_board.c @@ -391,8 +391,8 @@ void ThreeLeadECG_sdcard_umount() { static const nrf_drv_spi_t spi = NRF_DRV_SPI_INSTANCE(2); /**< SPI instance. */ -static ads1293_t m_ads1293_0; -static ads1293_t m_ads1293_1; +static ads1293_t m_ads1293_0; // U2 +static ads1293_t m_ads1293_1; // U3 void ads1293_spi_tx_rx_0(uint8_t* tx, uint8_t* rx, uint8_t len) { nrf_gpio_pin_clear(ADS1293_SPI_CS0_PIN); @@ -404,7 +404,31 @@ void ads1293_spi_tx_rx_1(uint8_t* tx, uint8_t* rx, uint8_t len) { nrf_drv_spi_transfer(&spi, tx, len, rx, len); nrf_gpio_pin_set(ADS1293_SPI_CS1_PIN); } +void ads1293_spi_writereg_and_check(ads1293_t* ads, uint8_t addr, uint8_t data) { + uint8_t readbak = 0; + // readonly add + if (addr == 0x19 || addr == 0x1a || addr == 0x1b || addr == 0x1c || addr == 0x40 || addr == 0x30) { + return; + } + ads1293_spi_writereg_and_readbak(ads, addr, data, &readbak); + if (readbak != data) { + ZLOGE("ads_%d write %x failed,w:%x readbak:%x", ads->id, addr, data, readbak); + } +} +#include "ads_cfg.h" +void ThreeLeadECG_ecg_reg_config() { + for (uint16_t i = 0; i < ZARRAY_SIZE(ads0cfg); i++) { + ads1293_spi_writereg_and_check(&m_ads1293_0, ads0cfg[i].add, ads0cfg[i].data); + } + for (uint16_t i = 0; i < ZARRAY_SIZE(ads1cfg); i++) { + ads1293_spi_writereg_and_check(&m_ads1293_1, ads1cfg[i].add, ads1cfg[i].data); + } +} +void ThreeLeadECG_ads1293_start_convert() { + ads1293_spi_writereg(&m_ads1293_0, TI_ADS1293_CONFIG_REG, 0x01); + ads1293_spi_writereg(&m_ads1293_1, TI_ADS1293_CONFIG_REG, 0x01); +} void ThreeLeadECG_ecg_init() { nrf_drv_spi_config_t spi_config = NRF_DRV_SPI_DEFAULT_CONFIG; spi_config.ss_pin = NRF_DRV_SPI_PIN_NOT_USED; // NRF_DRV_SPI_PIN_NOT_USED @@ -424,7 +448,9 @@ void ThreeLeadECG_ecg_init() { nrf_gpio_pin_set(ADS1293_SPI_CS1_PIN); m_ads1293_0.spi_tx_rx = ads1293_spi_tx_rx_0; + m_ads1293_0.id = 0; m_ads1293_1.spi_tx_rx = ads1293_spi_tx_rx_1; + m_ads1293_1.id = 1; ads1293_spi_init(&m_ads1293_0, ads1293_spi_tx_rx_0); ads1293_spi_init(&m_ads1293_1, ads1293_spi_tx_rx_1); @@ -433,26 +459,25 @@ void ThreeLeadECG_ecg_init() { NRF_LOG_INFO("ads1293_0 revid: %d", revid); revid = ads1293_spi_readreg(&m_ads1293_1, TI_ADS1293_REVID_REG); NRF_LOG_INFO("ads1293_1 revid: %d", revid); + + ThreeLeadECG_ecg_reg_config(); + ThreeLeadECG_ads1293_start_convert(); } uint32_t ThreeLeadECG_ready_pin_state_get() { return nrf_gpio_pin_read(ADS1293_READY_PIN); } uint32_t ThreeLeadECG_ads1293_init() {} -void ThreeLeadECG_ads1293_start_convert() { - ads1293_spi_writereg(&m_ads1293_0, TI_ADS1293_CONFIG_REG, 0x01); - ads1293_spi_writereg(&m_ads1293_1, TI_ADS1293_CONFIG_REG, 0x01); -} void ThreeLeadECG_ads1293_get_lod_state(uint16_t* state) { // uint8_t lod0 = ads1293_read_error_lod(&m_ads1293_0); uint8_t lod1 = ads1293_read_error_lod(&m_ads1293_1); - *state = (lod0) | (lod1 << 8); + *state = (lod0) | (lod1<<8); } void ThreeLeadECG_ads1293_sample(uint32_t* sample0, uint32_t* sample1, uint32_t* sample2) { // *sample0 - ads1293_read_ecg(&m_ads1293_0, 0, sample0); - ads1293_read_ecg(&m_ads1293_0, 1, sample1); - ads1293_read_ecg(&m_ads1293_0, 2, sample2); + ads1293_read_ecg(&m_ads1293_0, 1, sample0); + ads1293_read_ecg(&m_ads1293_1, 1, sample1); + ads1293_read_ecg(&m_ads1293_1, 2, sample2); } void ThreeLeadECG_LineInputDet_init() { diff --git a/app/src/three_lead/three_lead_board.h b/app/src/three_lead/three_lead_board.h index 1daa59e..4f2bd91 100644 --- a/app/src/three_lead/three_lead_board.h +++ b/app/src/three_lead/three_lead_board.h @@ -47,6 +47,9 @@ void ThreeLeadECG_sdcard_umount(); *******************************************************************************/ void ThreeLeadECG_ecg_init(); uint32_t ThreeLeadECG_ready_pin_state_get(); +void ThreeLeadECG_ads1293_get_lod_state(uint16_t* state); + // void ThreeLeadECG_LineInputDet_init(); uint32_t ThreeLeadECG_LineInputDet_get_state(); +void ThreeLeadECG_ads1293_sample(uint32_t* sample0, uint32_t* sample1, uint32_t* sample2); \ No newline at end of file diff --git a/ble_app_uart_c/ble_app_uart_c_pca10100_s122.uvguix.h_zha b/ble_app_uart_c/ble_app_uart_c_pca10100_s122.uvguix.h_zha index 3fa1386..a305a36 100644 --- a/ble_app_uart_c/ble_app_uart_c_pca10100_s122.uvguix.h_zha +++ b/ble_app_uart_c/ble_app_uart_c_pca10100_s122.uvguix.h_zha @@ -1822,7 +1822,7 @@ Build 1024 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000002001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000D6E726635323833335F78786161960000000000000002000D6E726635323833335F7878616121666C6173685F733132325F6E726635325F382E302E305F736F667464657669636500000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000D6E726635323833335F78786161960000000000000002000D6E726635323833335F7878616121666C6173685F733132325F6E726635325F382E302E305F736F667464657669636500000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 583 @@ -1855,6 +1855,1747 @@ 1200 + + 1 + Debug + + -1 + -1 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1E0100004F00000080070000C5000000 + + + 16 + 9E08000016050000000F00008C050000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006600000017010000E6020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 109 + 109 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006600000017010000E6020000 + + + 16 + F2000000090100000E0200008D030000 + + + + 1465 + 1465 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300001A0300007D070000C5030000 + + + 16 + F200000009010000BA030000A9010000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300001A0300007D070000C5030000 + + + 16 + F200000009010000BA030000A9010000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300001A0300007D070000C5030000 + + + 16 + F200000009010000BA030000A9010000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300001A0300007D070000C5030000 + + + 16 + F200000009010000BA030000A9010000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 21010000660000007D070000AC000000 + + + 16 + F200000009010000BA030000A9010000 + + + + 1935 + 1935 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C70300001A0300007D070000C5030000 + + + 16 + F200000009010000E2010000EA010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300001A0300007D070000C5030000 + + + 16 + F200000009010000E2010000EA010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300001A0300007D070000C5030000 + + + 16 + F200000009010000E2010000EA010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300001A0300007D070000C5030000 + + + 16 + F200000009010000BA030000A9010000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300001A0300007D070000C5030000 + + + 16 + F200000009010000BA030000A9010000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300001A0300007D070000C5030000 + + + 16 + F200000009010000BA030000A9010000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300001A0300007D070000C5030000 + + + 16 + F200000009010000BA030000A9010000 + + + + 195 + 195 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006600000017010000E6020000 + + + 16 + F2000000090100000E0200008D030000 + + + + 196 + 196 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006600000017010000E6020000 + + + 16 + F2000000090100000E0200008D030000 + + + + 197 + 197 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000880200008D050000F8020000 + + + 16 + F200000009010000BA030000A9010000 + + + + 198 + 198 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0000000003030000C0030000DE030000 + + + 16 + F200000009010000BA030000A9010000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000880200008D050000F8020000 + + + 16 + F200000009010000BA030000A9010000 + + + + 203 + 203 + 1 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + 1E0100006300000080070000C5000000 + + + 16 + F200000009010000BA030000A9010000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 21010000660000007D070000AC000000 + + + 16 + F200000009010000BA030000A9010000 + + + + 221 + 221 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000000000000000000000000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2506 + 2506 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300001A0300007D070000C5030000 + + + 16 + F200000009010000BA030000A9010000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 21010000660000007D070000AC000000 + + + 16 + F200000009010000BA030000A9010000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 21010000660000007D070000AC000000 + + + 16 + F200000009010000BA030000A9010000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 21010000660000007D070000AC000000 + + + 16 + F200000009010000E2010000EA010000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 21010000660000007D070000AC000000 + + + 16 + F200000009010000BA030000A9010000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 38003 + 38003 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006600000017010000E6020000 + + + 16 + F2000000090100000E0200008D030000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000880200008D050000F8020000 + + + 16 + F200000009010000BA030000A9010000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000880200008D050000F8020000 + + + 16 + F2000000090100000E0200008D030000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300001A0300007D070000C5030000 + + + 16 + F200000009010000E2010000EA010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300001A0300007D070000C5030000 + + + 16 + F200000009010000E2010000EA010000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000880200008D050000F8020000 + + + 16 + F2000000090100000E0200008D030000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000880200008D050000F8020000 + + + 16 + F2000000090100000E0200008D030000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 21010000660000007D070000AC000000 + + + 16 + F200000009010000BA030000A9010000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000054020000 + + + 16 + F200000009010000E2010000EA010000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 966 + 0 + 8192 + 0 + + 16 + 0000000000000000D10300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000DE03000080070000F1030000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 0 + 0 + 0 + 0 + 476 + 0 + 8192 + 1 + + 16 + 000000001C000000E701000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 1 + 0 + 0 + 0 + 612 + 0 + 8192 + 2 + + 16 + 000000001C0000006F02000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 824 + 824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300001A0300007D070000C5030000 + + + 16 + F200000009010000E2010000EA010000 + + + + 3311 + 000000000B000000000000000020000001000000FFFFFFFFFFFFFFFF1E010000C500000080070000C90000000100000001000010040000000100000087FFFFFF2C020000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000010000009E08000016050000000F00008C0500001E0100004F00000080070000C50000000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A00400006D020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000200C000016050000100D000034070000A00400004F000000900500006D02000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF1A0100004F0000001E010000FF0200000100000002000010040000000100000012FFFFFF87060000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000080070000160500009A080000C6070000000000004F0000001A010000FF0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF00000000FF0200008007000003030000010000000100001004000000010000001DFFFFFFA301000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000001000000440B0000CA070000000F0000A5080000C40300000303000080070000DE03000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF000000000000000001000000000000000100000001000000FFFFFFFFC003000003030000C4030000DE03000001000000020000100400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF000000006D0200009005000071020000000000000100000004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000000000008007000038070000100D0000D8070000000000007102000090050000110300000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2537 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000300150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000000180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 955 + 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2362 + 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1920 + 1200 + + diff --git a/ble_app_uart_c/main.c b/ble_app_uart_c/main.c index 30237f0..89368a2 100644 --- a/ble_app_uart_c/main.c +++ b/ble_app_uart_c/main.c @@ -234,10 +234,10 @@ static void ble_nus_chars_received_uart_print(uint8_t * p_data, uint16_t data_le } } while (ret_val == NRF_ERROR_BUSY); } - if (p_data[data_len-1] == '\r') - { - while (app_uart_put('\n') == NRF_ERROR_BUSY); - } + // if (p_data[data_len-1] == '\r') + // { + // while (app_uart_put('\n') == NRF_ERROR_BUSY); + // } if (ECHOBACK_BLE_UART_DATA) { // Send data back to the peripheral. @@ -338,6 +338,9 @@ static void ble_nus_c_evt_handler(ble_nus_c_t * p_ble_nus_c, ble_nus_c_evt_t con case BLE_NUS_C_EVT_NUS_TX_EVT: ble_nus_chars_received_uart_print(p_ble_nus_evt->p_data, p_ble_nus_evt->data_len); break; + case BLE_NUS_C_EVT_NUS_TX_BLOCK_EVT: + ble_nus_chars_received_uart_print(p_ble_nus_evt->p_data, p_ble_nus_evt->data_len); + break; case BLE_NUS_C_EVT_DISCONNECTED: NRF_LOG_INFO("Disconnected.");