diff --git a/README.md b/README.md index adf35d362..fd5a1932d 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ -# ING918XX/ING9186XX SDK Source Code +# ING918XX/ING916XX SDK Source Code -This repository contains ING918XX/ING9186XX SDK source code, including platform header files, +This repository contains ING918XX/ING916XX SDK source code, including platform header files, bundle binaries, and examples. -ING918XX/ING9186XX are fully integrated Bluetooth Low Energy wireless communication SoC(s) +ING918XX/ING916XX are fully integrated Bluetooth Low Energy wireless communication SoC(s) targeting Bluetooth 5.1 and 5.3 specification. ## Get Started diff --git a/bundles/exp/ING9187xx/apis.json b/bundles/exp/ING9187xx/apis.json index 7f558f6ba..87bbbe4b6 100644 --- a/bundles/exp/ING9187xx/apis.json +++ b/bundles/exp/ING9187xx/apis.json @@ -1,343 +1,346 @@ { - "att_dispatch_client_can_send_now": "0x00005769", - "att_dispatch_client_request_can_send_now_event": "0x0000576f", - "att_dispatch_register_client": "0x00005775", - "att_dispatch_register_server": "0x00005789", - "att_dispatch_server_can_send_now": "0x0000579d", - "att_dispatch_server_request_can_send_now_event": "0x000057a3", - "att_emit_general_event": "0x00005855", - "att_server_can_send_packet_now": "0x00005f69", - "att_server_deferred_read_response": "0x00005f6d", - "att_server_get_mtu": "0x00005f85", - "att_server_indicate": "0x00005ffd", - "att_server_init": "0x00006081", - "att_server_notify": "0x000060bd", - "att_server_register_packet_handler": "0x000061d5", - "att_server_request_can_send_now_event": "0x000061e1", - "att_set_db": "0x000061fd", - "att_set_read_callback": "0x00006211", - "att_set_write_callback": "0x0000621d", - "bd_addr_cmp": "0x0000638d", - "bd_addr_copy": "0x00006393", - "bd_addr_to_str": "0x0000639d", - "big_endian_read_16": "0x000063d5", - "big_endian_read_32": "0x000063dd", - "big_endian_store_16": "0x000063f1", - "big_endian_store_32": "0x000063fd", - "btstack_config": "0x00006551", - "btstack_memory_pool_create": "0x0000668f", - "btstack_memory_pool_free": "0x000066b9", - "btstack_memory_pool_get": "0x00006719", - "btstack_push_user_msg": "0x00006781", - "btstack_push_user_runnable": "0x0000678d", - "char_for_nibble": "0x00006a15", - "eTaskConfirmSleepModeStatus": "0x00006ce5", - "gap_add_dev_to_periodic_list": "0x00007305", - "gap_add_whitelist": "0x0000731d", - "gap_aes_encrypt": "0x00007331", - "gap_clear_white_lists": "0x00007375", - "gap_clr_adv_set": "0x00007385", - "gap_clr_periodic_adv_list": "0x00007395", - "gap_create_connection_cancel": "0x000073a5", - "gap_disconnect": "0x000073b5", - "gap_disconnect_all": "0x000073e1", - "gap_ext_create_connection": "0x00007421", - "gap_get_connection_parameter_range": "0x00007531", - "gap_le_read_channel_map": "0x0000756d", - "gap_periodic_adv_create_sync": "0x000075e1", - "gap_periodic_adv_create_sync_cancel": "0x00007605", - "gap_periodic_adv_term_sync": "0x00007615", - "gap_read_local_tx_power_level": "0x000076b9", - "gap_read_periodic_adv_list_size": "0x000076cd", - "gap_read_phy": "0x000076dd", - "gap_read_remote_tx_power_level": "0x000076f1", - "gap_read_remote_used_features": "0x00007705", - "gap_read_remote_version": "0x00007719", - "gap_read_rssi": "0x0000772d", - "gap_remove_whitelist": "0x00007741", - "gap_rmv_adv_set": "0x000077c5", - "gap_rmv_dev_from_periodic_list": "0x000077d9", - "gap_rx_test_v2": "0x000077f1", - "gap_set_adv_set_random_addr": "0x00007831", - "gap_set_connection_parameter_range": "0x0000787d", - "gap_set_data_length": "0x00007895", - "gap_set_def_phy": "0x000078b1", - "gap_set_default_subrate": "0x000078c9", - "gap_set_ext_adv_data": "0x000078e5", - "gap_set_ext_adv_enable": "0x000078fd", - "gap_set_ext_adv_para": "0x00007979", - "gap_set_ext_scan_enable": "0x00007a59", - "gap_set_ext_scan_para": "0x00007a71", - "gap_set_ext_scan_response_data": "0x00007b19", - "gap_set_host_channel_classification": "0x00007b31", - "gap_set_path_loss_reporting_enable": "0x00007b45", - "gap_set_path_loss_reporting_param": "0x00007b59", - "gap_set_periodic_adv_data": "0x00007b79", - "gap_set_periodic_adv_enable": "0x00007bed", - "gap_set_periodic_adv_para": "0x00007c01", - "gap_set_phy": "0x00007c19", - "gap_set_random_device_address": "0x00007c35", - "gap_set_tx_power_reporting_enable": "0x00007c55", - "gap_start_ccm": "0x00007c7d", - "gap_subrate_request": "0x00007cb1", - "gap_test_end": "0x00007cd1", - "gap_tx_test_v2": "0x00007ce1", - "gap_tx_test_v4": "0x00007cf9", - "gap_update_connection_parameters": "0x00007d21", - "gap_vendor_tx_continuous_wave": "0x00007d65", - "gatt_client_cancel_write": "0x0000828d", - "gatt_client_discover_characteristic_descriptors": "0x000082b3", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x000082f3", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x00008343", - "gatt_client_discover_characteristics_for_service": "0x00008393", - "gatt_client_discover_primary_services": "0x000083c9", - "gatt_client_discover_primary_services_by_uuid128": "0x000083fb", - "gatt_client_discover_primary_services_by_uuid16": "0x0000843f", - "gatt_client_execute_write": "0x0000847b", - "gatt_client_find_included_services_for_service": "0x000084a1", - "gatt_client_get_mtu": "0x000084cf", - "gatt_client_is_ready": "0x00008571", - "gatt_client_listen_for_characteristic_value_updates": "0x00008587", - "gatt_client_prepare_write": "0x000085a9", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x000085e5", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x0000860f", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008615", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x00008643", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x00008649", - "gatt_client_read_multiple_characteristic_values": "0x00008677", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x000086a7", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x000086d5", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x00008721", - "gatt_client_register_handler": "0x0000876d", - "gatt_client_reliable_write_long_value_of_characteristic": "0x00008779", - "gatt_client_signed_write_without_response": "0x00008ba9", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008c6d", - "gatt_client_write_client_characteristic_configuration": "0x00008ca7", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008cf9", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008d09", - "gatt_client_write_long_value_of_characteristic": "0x00008d45", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008d55", - "gatt_client_write_value_of_characteristic": "0x00008d91", - "gatt_client_write_value_of_characteristic_without_response": "0x00008dc7", - "hci_add_event_handler": "0x0000a351", - "hci_power_control": "0x0000ab59", - "hci_register_acl_packet_handler": "0x0000ad0d", - "kv_commit": "0x0000b289", - "kv_get": "0x0000b2e1", - "kv_init": "0x0000b2f9", - "kv_put": "0x0000b361", - "kv_remove": "0x0000b3d9", - "kv_remove_all": "0x0000b415", - "kv_value_modified": "0x0000b459", - "kv_visit": "0x0000b45d", - "l2cap_add_event_handler": "0x0000b511", - "l2cap_can_send_packet_now": "0x0000b521", - "l2cap_create_le_credit_based_connection_request": "0x0000b6dd", - "l2cap_credit_based_send": "0x0000b821", - "l2cap_credit_based_send_continue": "0x0000b84d", - "l2cap_disconnect": "0x0000b8c9", - "l2cap_get_le_credit_based_connection_credits": "0x0000bb19", - "l2cap_get_peer_mtu_for_local_cid": "0x0000bb35", - "l2cap_init": "0x0000bf09", - "l2cap_le_send_flow_control_credit": "0x0000bfff", - "l2cap_max_le_mtu": "0x0000c309", - "l2cap_register_packet_handler": "0x0000c431", - "l2cap_register_service": "0x0000c43d", - "l2cap_request_can_send_now_event": "0x0000c54d", - "l2cap_request_connection_parameter_update": "0x0000c567", - "l2cap_send_echo_request": "0x0000ca39", - "l2cap_unregister_service": "0x0000caf9", - "le_device_db_add": "0x0000cb51", - "le_device_db_find": "0x0000cc25", - "le_device_db_from_key": "0x0000cc51", - "le_device_db_iter_cur": "0x0000cc59", - "le_device_db_iter_cur_key": "0x0000cc5d", - "le_device_db_iter_init": "0x0000cc61", - "le_device_db_iter_next": "0x0000cc69", - "le_device_db_remove_key": "0x0000cc8f", - "ll_ackable_packet_alloc": "0x0000ccbb", - "ll_ackable_packet_get_status": "0x0000cdc3", - "ll_ackable_packet_run": "0x0000ce35", - "ll_ackable_packet_set_tx_data": "0x0000cedd", - "ll_adjust_conn_peer_tx_power": "0x0000cef9", - "ll_dhkey_generated": "0x0000d141", - "ll_free": "0x0000d171", - "ll_hint_on_ce_len": "0x0000d17d", - "ll_install_ecc_engine": "0x0000d1b5", - "ll_legacy_adv_set_interval": "0x0000d1c1", - "ll_lock_frequency": "0x0000d1d1", - "ll_malloc": "0x0000d229", - "ll_p256_key_pair_generated": "0x0000d231", - "ll_raw_packet_alloc": "0x0000d3e1", - "ll_raw_packet_free": "0x0000d4b5", - "ll_raw_packet_get_bare_rx_data": "0x0000d4df", - "ll_raw_packet_get_rx_data": "0x0000d5a5", - "ll_raw_packet_recv": "0x0000d645", - "ll_raw_packet_send": "0x0000d701", - "ll_raw_packet_set_bare_data": "0x0000d7e9", - "ll_raw_packet_set_bare_mode": "0x0000d827", - "ll_raw_packet_set_param": "0x0000d92d", - "ll_raw_packet_set_tx_data": "0x0000d98b", - "ll_scan_set_fixed_channel": "0x0000da49", - "ll_set_adv_access_address": "0x0000db5d", - "ll_set_adv_coded_scheme": "0x0000db69", - "ll_set_conn_coded_scheme": "0x0000db99", - "ll_set_conn_interval_unit": "0x0000dbc5", - "ll_set_conn_latency": "0x0000dbd1", - "ll_set_conn_tx_power": "0x0000dc01", - "ll_set_def_antenna": "0x0000dc3d", - "ll_set_initiating_coded_scheme": "0x0000dc59", - "ll_set_max_conn_number": "0x0000dc65", - "ll_set_tx_power_range": "0x0000dd01", - "ll_unlock_frequency": "0x0000dd29", - "nibble_for_char": "0x0001f2b1", - "platform_32k_rc_auto_tune": "0x0001f361", - "platform_32k_rc_tune": "0x0001f3dd", - "platform_calibrate_32k": "0x0001f3f1", - "platform_config": "0x0001f3f5", - "platform_enable_irq": "0x0001f4e9", - "platform_get_current_task": "0x0001f511", - "platform_get_gen_os_driver": "0x0001f535", - "platform_get_heap_status": "0x0001f53d", - "platform_get_task_handle": "0x0001f555", - "platform_get_us_time": "0x0001f575", - "platform_get_version": "0x0001f579", - "platform_hrng": "0x0001f581", - "platform_install_isr_stack": "0x0001f589", - "platform_install_task_stack": "0x0001f595", - "platform_patch_rf_init_data": "0x0001f5cd", - "platform_printf": "0x0001f5d9", - "platform_raise_assertion": "0x0001f5ed", - "platform_rand": "0x0001f601", - "platform_read_info": "0x0001f605", - "platform_read_persistent_reg": "0x0001f635", - "platform_reset": "0x0001f645", - "platform_set_evt_callback": "0x0001f669", - "platform_set_evt_callback_table": "0x0001f67d", - "platform_set_irq_callback": "0x0001f689", - "platform_set_irq_callback_table": "0x0001f6a5", - "platform_set_rf_clk_source": "0x0001f6b1", - "platform_set_rf_init_data": "0x0001f6bd", - "platform_set_rf_power_mapping": "0x0001f6c9", - "platform_set_timer": "0x0001f6d5", - "platform_shutdown": "0x0001f6d9", - "platform_switch_app": "0x0001f6dd", - "platform_trace_raw": "0x0001f709", - "platform_write_persistent_reg": "0x0001f721", - "printf_hexdump": "0x0001f8d5", - "pvPortMalloc": "0x000203c5", - "pvTaskIncrementMutexHeldCount": "0x000204ad", - "pvTimerGetTimerID": "0x000204c5", - "pxPortInitialiseStack": "0x000204f1", - "reverse_128": "0x00020699", - "reverse_24": "0x0002069f", - "reverse_48": "0x000206a5", - "reverse_56": "0x000206ab", - "reverse_64": "0x000206b1", - "reverse_bd_addr": "0x000206b7", - "reverse_bytes": "0x000206bd", - "sm_add_event_handler": "0x00020849", - "sm_address_resolution_lookup": "0x000209a1", - "sm_authenticated": "0x00020d01", - "sm_authorization_decline": "0x00020d0f", - "sm_authorization_grant": "0x00020d2f", - "sm_authorization_state": "0x00020d4f", - "sm_bonding_decline": "0x00020d69", - "sm_config": "0x00021189", - "sm_config_conn": "0x000211a1", - "sm_encryption_key_size": "0x00021357", - "sm_just_works_confirm": "0x00021891", - "sm_le_device_key": "0x00021bcd", - "sm_passkey_input": "0x00021c63", - "sm_private_random_address_generation_get": "0x00022011", - "sm_private_random_address_generation_get_mode": "0x00022019", - "sm_private_random_address_generation_set_mode": "0x00022025", - "sm_private_random_address_generation_set_update_period": "0x0002204d", - "sm_register_oob_data_callback": "0x00022189", - "sm_request_pairing": "0x00022195", - "sm_send_security_request": "0x00022bcf", - "sm_set_accepted_stk_generation_methods": "0x00022bf5", - "sm_set_authentication_requirements": "0x00022c01", - "sm_set_encryption_key_size_range": "0x00022c0d", - "sscanf_bd_addr": "0x00022fdd", - "sysSetPublicDeviceAddr": "0x00023391", - "uuid128_to_str": "0x00023999", - "uuid_add_bluetooth_prefix": "0x000239f1", - "uuid_has_bluetooth_prefix": "0x00023a11", - "uxListRemove": "0x00023a2d", - "uxQueueMessagesWaiting": "0x00023a55", - "uxQueueMessagesWaitingFromISR": "0x00023a7d", - "uxQueueSpacesAvailable": "0x00023a99", - "uxTaskGetStackHighWaterMark": "0x00023ac5", - "uxTaskPriorityGet": "0x00023ae5", - "uxTaskPriorityGetFromISR": "0x00023b01", - "vListInitialise": "0x00023bbb", - "vListInitialiseItem": "0x00023bd1", - "vListInsert": "0x00023bd7", - "vListInsertEnd": "0x00023c07", - "vPortEndScheduler": "0x00023c21", - "vPortEnterCritical": "0x00023c4d", - "vPortExitCritical": "0x00023c91", - "vPortFree": "0x00023cc5", - "vPortSuppressTicksAndSleep": "0x00023d59", - "vPortValidateInterruptPriority": "0x00023e75", - "vQueueDelete": "0x00023ed1", - "vQueueWaitForMessageRestricted": "0x00023efd", - "vTaskDelay": "0x00023f45", - "vTaskInternalSetTimeOutState": "0x00023f91", - "vTaskMissedYield": "0x00023fa1", - "vTaskPlaceOnEventList": "0x00023fad", - "vTaskPlaceOnEventListRestricted": "0x00023fe5", - "vTaskPriorityDisinheritAfterTimeout": "0x00024025", - "vTaskPrioritySet": "0x000240d1", - "vTaskResume": "0x00024199", - "vTaskStartScheduler": "0x0002421d", - "vTaskStepTick": "0x000242ad", - "vTaskSuspend": "0x000242dd", - "vTaskSuspendAll": "0x00024399", - "vTaskSwitchContext": "0x000243a9", - "xPortStartScheduler": "0x00024451", - "xQueueAddToSet": "0x00024519", - "xQueueCreateCountingSemaphore": "0x0002453d", - "xQueueCreateCountingSemaphoreStatic": "0x00024579", - "xQueueCreateMutex": "0x000245bd", - "xQueueCreateMutexStatic": "0x000245d3", - "xQueueCreateSet": "0x000245ed", - "xQueueGenericCreate": "0x000245f5", - "xQueueGenericCreateStatic": "0x00024641", - "xQueueGenericReset": "0x000246a9", - "xQueueGenericSend": "0x00024735", - "xQueueGenericSendFromISR": "0x000248a1", - "xQueueGiveFromISR": "0x00024961", - "xQueueGiveMutexRecursive": "0x00024a05", - "xQueueIsQueueEmptyFromISR": "0x00024a45", - "xQueueIsQueueFullFromISR": "0x00024a69", - "xQueuePeek": "0x00024a91", - "xQueuePeekFromISR": "0x00024bb9", - "xQueueReceive": "0x00024c25", - "xQueueReceiveFromISR": "0x00024d51", - "xQueueRemoveFromSet": "0x00024de5", - "xQueueSelectFromSet": "0x00024e07", - "xQueueSelectFromSetFromISR": "0x00024e19", - "xQueueSemaphoreTake": "0x00024e2d", - "xQueueTakeMutexRecursive": "0x00024f99", - "xTaskCheckForTimeOut": "0x00024fdd", - "xTaskCreate": "0x0002504d", - "xTaskCreateStatic": "0x000250a9", - "xTaskGetCurrentTaskHandle": "0x00025119", - "xTaskGetSchedulerState": "0x00025125", - "xTaskGetTickCount": "0x00025141", - "xTaskGetTickCountFromISR": "0x0002514d", - "xTaskIncrementTick": "0x0002515d", - "xTaskPriorityDisinherit": "0x00025229", - "xTaskPriorityInherit": "0x000252bd", - "xTaskRemoveFromEventList": "0x00025351", - "xTaskResumeAll": "0x000253d1", - "xTaskResumeFromISR": "0x00025499", - "xTimerCreate": "0x00025525", - "xTimerCreateStatic": "0x00025559", - "xTimerCreateTimerTask": "0x00025591", - "xTimerGenericCommand": "0x000255fd", - "xTimerGetExpiryTime": "0x0002566d", - "xTimerGetTimerDaemonTaskHandle": "0x0002568d" + "att_dispatch_client_can_send_now": "0x00005751", + "att_dispatch_client_request_can_send_now_event": "0x00005757", + "att_dispatch_register_client": "0x0000575d", + "att_dispatch_register_server": "0x00005771", + "att_dispatch_server_can_send_now": "0x00005785", + "att_dispatch_server_request_can_send_now_event": "0x0000578b", + "att_emit_general_event": "0x0000583d", + "att_server_can_send_packet_now": "0x00005f51", + "att_server_deferred_read_response": "0x00005f55", + "att_server_get_mtu": "0x00005f6d", + "att_server_indicate": "0x00005fe5", + "att_server_init": "0x00006069", + "att_server_notify": "0x000060a5", + "att_server_register_packet_handler": "0x000061bd", + "att_server_request_can_send_now_event": "0x000061c9", + "att_set_db": "0x000061e5", + "att_set_read_callback": "0x000061f9", + "att_set_write_callback": "0x00006205", + "bd_addr_cmp": "0x00006375", + "bd_addr_copy": "0x0000637b", + "bd_addr_to_str": "0x00006385", + "big_endian_read_16": "0x000063bd", + "big_endian_read_32": "0x000063c5", + "big_endian_store_16": "0x000063d9", + "big_endian_store_32": "0x000063e5", + "btstack_config": "0x00006539", + "btstack_memory_pool_create": "0x00006677", + "btstack_memory_pool_free": "0x000066a1", + "btstack_memory_pool_get": "0x00006701", + "btstack_push_user_msg": "0x00006769", + "btstack_push_user_runnable": "0x00006775", + "char_for_nibble": "0x00006a33", + "eTaskConfirmSleepModeStatus": "0x00006d01", + "gap_add_dev_to_periodic_list": "0x0000732d", + "gap_add_whitelist": "0x0000733d", + "gap_aes_encrypt": "0x00007349", + "gap_clear_white_lists": "0x0000738d", + "gap_clr_adv_set": "0x00007399", + "gap_clr_periodic_adv_list": "0x000073a5", + "gap_create_connection_cancel": "0x000073b1", + "gap_disconnect": "0x000073bd", + "gap_disconnect_all": "0x000073e9", + "gap_ext_create_connection": "0x00007429", + "gap_get_connection_parameter_range": "0x00007535", + "gap_le_read_channel_map": "0x00007571", + "gap_periodic_adv_create_sync": "0x000075dd", + "gap_periodic_adv_create_sync_cancel": "0x00007601", + "gap_periodic_adv_term_sync": "0x0000760d", + "gap_read_local_tx_power_level": "0x000076a1", + "gap_read_periodic_adv_list_size": "0x000076b1", + "gap_read_phy": "0x000076bd", + "gap_read_remote_tx_power_level": "0x000076c9", + "gap_read_remote_used_features": "0x000076d9", + "gap_read_remote_version": "0x000076e5", + "gap_read_rssi": "0x000076f1", + "gap_remove_whitelist": "0x000076fd", + "gap_rmv_adv_set": "0x00007779", + "gap_rmv_dev_from_periodic_list": "0x00007785", + "gap_rx_test_v2": "0x00007795", + "gap_set_adv_set_random_addr": "0x000077cd", + "gap_set_connection_parameter_range": "0x00007815", + "gap_set_data_length": "0x0000782d", + "gap_set_def_phy": "0x00007845", + "gap_set_default_subrate": "0x00007855", + "gap_set_ext_adv_data": "0x00007871", + "gap_set_ext_adv_enable": "0x00007889", + "gap_set_ext_adv_para": "0x00007905", + "gap_set_ext_scan_enable": "0x000079dd", + "gap_set_ext_scan_para": "0x000079f5", + "gap_set_ext_scan_response_data": "0x00007a9d", + "gap_set_host_channel_classification": "0x00007ab5", + "gap_set_path_loss_reporting_enable": "0x00007ac5", + "gap_set_path_loss_reporting_param": "0x00007ad5", + "gap_set_periodic_adv_data": "0x00007af1", + "gap_set_periodic_adv_enable": "0x00007b61", + "gap_set_periodic_adv_para": "0x00007b71", + "gap_set_phy": "0x00007b89", + "gap_set_random_device_address": "0x00007ba5", + "gap_set_tx_power_reporting_enable": "0x00007bc5", + "gap_start_ccm": "0x00007be5", + "gap_subrate_request": "0x00007c39", + "gap_test_end": "0x00007c55", + "gap_tx_test_v2": "0x00007c61", + "gap_tx_test_v4": "0x00007c79", + "gap_update_connection_parameters": "0x00007c9d", + "gap_vendor_tx_continuous_wave": "0x00007ce1", + "gatt_client_cancel_write": "0x00008209", + "gatt_client_discover_characteristic_descriptors": "0x0000822f", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x0000826f", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x000082bf", + "gatt_client_discover_characteristics_for_service": "0x0000830f", + "gatt_client_discover_primary_services": "0x00008345", + "gatt_client_discover_primary_services_by_uuid128": "0x00008377", + "gatt_client_discover_primary_services_by_uuid16": "0x000083bb", + "gatt_client_execute_write": "0x000083f7", + "gatt_client_find_included_services_for_service": "0x0000841d", + "gatt_client_get_mtu": "0x0000844b", + "gatt_client_is_ready": "0x000084ed", + "gatt_client_listen_for_characteristic_value_updates": "0x00008503", + "gatt_client_prepare_write": "0x00008525", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x00008561", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x0000858b", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008591", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x000085bf", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x000085c5", + "gatt_client_read_multiple_characteristic_values": "0x000085f3", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x00008623", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x00008651", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x0000869d", + "gatt_client_register_handler": "0x000086e9", + "gatt_client_reliable_write_long_value_of_characteristic": "0x000086f5", + "gatt_client_signed_write_without_response": "0x00008b25", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008be9", + "gatt_client_write_client_characteristic_configuration": "0x00008c23", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008c75", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008c85", + "gatt_client_write_long_value_of_characteristic": "0x00008cc1", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008cd1", + "gatt_client_write_value_of_characteristic": "0x00008d0d", + "gatt_client_write_value_of_characteristic_without_response": "0x00008d43", + "hci_add_event_handler": "0x0000a2cd", + "hci_power_control": "0x0000aad5", + "hci_register_acl_packet_handler": "0x0000ac89", + "kv_commit": "0x0000b1fd", + "kv_get": "0x0000b255", + "kv_init": "0x0000b26d", + "kv_put": "0x0000b2d5", + "kv_remove": "0x0000b34d", + "kv_remove_all": "0x0000b389", + "kv_value_modified": "0x0000b3cd", + "kv_visit": "0x0000b3d1", + "l2cap_add_event_handler": "0x0000b485", + "l2cap_can_send_packet_now": "0x0000b495", + "l2cap_create_le_credit_based_connection_request": "0x0000b651", + "l2cap_credit_based_send": "0x0000b795", + "l2cap_credit_based_send_continue": "0x0000b7c1", + "l2cap_disconnect": "0x0000b83d", + "l2cap_get_le_credit_based_connection_credits": "0x0000ba8d", + "l2cap_get_peer_mtu_for_local_cid": "0x0000baa9", + "l2cap_init": "0x0000be7d", + "l2cap_le_send_flow_control_credit": "0x0000bf73", + "l2cap_max_le_mtu": "0x0000c27d", + "l2cap_register_packet_handler": "0x0000c3a5", + "l2cap_register_service": "0x0000c3b1", + "l2cap_request_can_send_now_event": "0x0000c4c1", + "l2cap_request_connection_parameter_update": "0x0000c4db", + "l2cap_send_echo_request": "0x0000c9ad", + "l2cap_unregister_service": "0x0000ca6d", + "le_device_db_add": "0x0000cac5", + "le_device_db_find": "0x0000cb99", + "le_device_db_from_key": "0x0000cbc5", + "le_device_db_iter_cur": "0x0000cbcd", + "le_device_db_iter_cur_key": "0x0000cbd1", + "le_device_db_iter_init": "0x0000cbd5", + "le_device_db_iter_next": "0x0000cbdd", + "le_device_db_remove_key": "0x0000cc03", + "ll_ackable_packet_alloc": "0x0000cc2f", + "ll_ackable_packet_get_status": "0x0000cd37", + "ll_ackable_packet_run": "0x0000cda9", + "ll_ackable_packet_set_tx_data": "0x0000ce61", + "ll_adjust_conn_peer_tx_power": "0x0000ce89", + "ll_aes_encrypt": "0x0000ceb5", + "ll_dhkey_generated": "0x0000d14d", + "ll_free": "0x0000d17d", + "ll_get_conn_events_info": "0x0000d189", + "ll_get_conn_info": "0x0000d265", + "ll_hint_on_ce_len": "0x0000d2a5", + "ll_install_ecc_engine": "0x0000d2dd", + "ll_legacy_adv_set_interval": "0x0000d2e9", + "ll_lock_frequency": "0x0000d2f9", + "ll_malloc": "0x0000d351", + "ll_p256_key_pair_generated": "0x0000d359", + "ll_raw_packet_alloc": "0x0000d509", + "ll_raw_packet_free": "0x0000d5dd", + "ll_raw_packet_get_bare_rx_data": "0x0000d607", + "ll_raw_packet_get_rx_data": "0x0000d6cd", + "ll_raw_packet_recv": "0x0000d76d", + "ll_raw_packet_send": "0x0000d829", + "ll_raw_packet_set_bare_data": "0x0000d911", + "ll_raw_packet_set_bare_mode": "0x0000d94f", + "ll_raw_packet_set_param": "0x0000da55", + "ll_raw_packet_set_tx_data": "0x0000dab3", + "ll_scan_set_fixed_channel": "0x0000db71", + "ll_set_adv_access_address": "0x0000dc85", + "ll_set_adv_coded_scheme": "0x0000dc91", + "ll_set_conn_coded_scheme": "0x0000dcc1", + "ll_set_conn_interval_unit": "0x0000dced", + "ll_set_conn_latency": "0x0000dcf9", + "ll_set_conn_tx_power": "0x0000dd29", + "ll_set_def_antenna": "0x0000dd65", + "ll_set_initiating_coded_scheme": "0x0000dd81", + "ll_set_max_conn_number": "0x0000dd8d", + "ll_set_tx_power_range": "0x0000de29", + "ll_unlock_frequency": "0x0000de51", + "nibble_for_char": "0x0001f421", + "platform_32k_rc_auto_tune": "0x0001f4d1", + "platform_32k_rc_tune": "0x0001f54d", + "platform_calibrate_32k": "0x0001f561", + "platform_config": "0x0001f565", + "platform_enable_irq": "0x0001f659", + "platform_get_current_task": "0x0001f691", + "platform_get_gen_os_driver": "0x0001f6b5", + "platform_get_heap_status": "0x0001f6bd", + "platform_get_task_handle": "0x0001f6d5", + "platform_get_us_time": "0x0001f6f5", + "platform_get_version": "0x0001f6f9", + "platform_hrng": "0x0001f701", + "platform_install_isr_stack": "0x0001f709", + "platform_install_task_stack": "0x0001f715", + "platform_patch_rf_init_data": "0x0001f74d", + "platform_printf": "0x0001f759", + "platform_raise_assertion": "0x0001f76d", + "platform_rand": "0x0001f781", + "platform_read_info": "0x0001f785", + "platform_read_persistent_reg": "0x0001f7b5", + "platform_reset": "0x0001f7c5", + "platform_set_evt_callback": "0x0001f7e9", + "platform_set_evt_callback_table": "0x0001f7fd", + "platform_set_irq_callback": "0x0001f809", + "platform_set_irq_callback_table": "0x0001f825", + "platform_set_rf_clk_source": "0x0001f831", + "platform_set_rf_init_data": "0x0001f83d", + "platform_set_rf_power_mapping": "0x0001f849", + "platform_set_timer": "0x0001f855", + "platform_shutdown": "0x0001f859", + "platform_switch_app": "0x0001f85d", + "platform_trace_raw": "0x0001f889", + "platform_write_persistent_reg": "0x0001f8a1", + "printf_hexdump": "0x0001fa55", + "pvPortMalloc": "0x00020545", + "pvTaskIncrementMutexHeldCount": "0x0002062d", + "pvTimerGetTimerID": "0x00020645", + "pxPortInitialiseStack": "0x00020671", + "reverse_128": "0x00020819", + "reverse_24": "0x0002081f", + "reverse_48": "0x00020825", + "reverse_56": "0x0002082b", + "reverse_64": "0x00020831", + "reverse_bd_addr": "0x00020837", + "reverse_bytes": "0x0002083d", + "sm_add_event_handler": "0x000209e9", + "sm_address_resolution_lookup": "0x00020b41", + "sm_authenticated": "0x00020ea1", + "sm_authorization_decline": "0x00020eaf", + "sm_authorization_grant": "0x00020ecf", + "sm_authorization_state": "0x00020eef", + "sm_bonding_decline": "0x00020f09", + "sm_config": "0x00021329", + "sm_config_conn": "0x00021341", + "sm_encryption_key_size": "0x000214f7", + "sm_just_works_confirm": "0x00021a31", + "sm_le_device_key": "0x00021d6d", + "sm_passkey_input": "0x00021e03", + "sm_private_random_address_generation_get": "0x000221b1", + "sm_private_random_address_generation_get_mode": "0x000221b9", + "sm_private_random_address_generation_set_mode": "0x000221c5", + "sm_private_random_address_generation_set_update_period": "0x000221ed", + "sm_register_oob_data_callback": "0x00022329", + "sm_request_pairing": "0x00022335", + "sm_send_security_request": "0x00022d6f", + "sm_set_accepted_stk_generation_methods": "0x00022d95", + "sm_set_authentication_requirements": "0x00022da1", + "sm_set_encryption_key_size_range": "0x00022dad", + "sscanf_bd_addr": "0x0002317d", + "sysSetPublicDeviceAddr": "0x00023531", + "uuid128_to_str": "0x00023b39", + "uuid_add_bluetooth_prefix": "0x00023b91", + "uuid_has_bluetooth_prefix": "0x00023bb1", + "uxListRemove": "0x00023bcd", + "uxQueueMessagesWaiting": "0x00023bf5", + "uxQueueMessagesWaitingFromISR": "0x00023c1d", + "uxQueueSpacesAvailable": "0x00023c39", + "uxTaskGetStackHighWaterMark": "0x00023c65", + "uxTaskPriorityGet": "0x00023c85", + "uxTaskPriorityGetFromISR": "0x00023ca1", + "vListInitialise": "0x00023d5b", + "vListInitialiseItem": "0x00023d71", + "vListInsert": "0x00023d77", + "vListInsertEnd": "0x00023da7", + "vPortEndScheduler": "0x00023dc1", + "vPortEnterCritical": "0x00023ded", + "vPortExitCritical": "0x00023e31", + "vPortFree": "0x00023e65", + "vPortSuppressTicksAndSleep": "0x00023ef9", + "vPortValidateInterruptPriority": "0x00024015", + "vQueueDelete": "0x00024071", + "vQueueWaitForMessageRestricted": "0x0002409d", + "vTaskDelay": "0x000240e5", + "vTaskInternalSetTimeOutState": "0x00024131", + "vTaskMissedYield": "0x00024141", + "vTaskPlaceOnEventList": "0x0002414d", + "vTaskPlaceOnEventListRestricted": "0x00024185", + "vTaskPriorityDisinheritAfterTimeout": "0x000241c5", + "vTaskPrioritySet": "0x00024271", + "vTaskResume": "0x00024339", + "vTaskStartScheduler": "0x000243bd", + "vTaskStepTick": "0x0002444d", + "vTaskSuspend": "0x0002447d", + "vTaskSuspendAll": "0x00024539", + "vTaskSwitchContext": "0x00024549", + "xPortStartScheduler": "0x000245f1", + "xQueueAddToSet": "0x000246b9", + "xQueueCreateCountingSemaphore": "0x000246dd", + "xQueueCreateCountingSemaphoreStatic": "0x00024719", + "xQueueCreateMutex": "0x0002475d", + "xQueueCreateMutexStatic": "0x00024773", + "xQueueCreateSet": "0x0002478d", + "xQueueGenericCreate": "0x00024795", + "xQueueGenericCreateStatic": "0x000247e1", + "xQueueGenericReset": "0x00024849", + "xQueueGenericSend": "0x000248d5", + "xQueueGenericSendFromISR": "0x00024a41", + "xQueueGiveFromISR": "0x00024b01", + "xQueueGiveMutexRecursive": "0x00024ba5", + "xQueueIsQueueEmptyFromISR": "0x00024be5", + "xQueueIsQueueFullFromISR": "0x00024c09", + "xQueuePeek": "0x00024c31", + "xQueuePeekFromISR": "0x00024d59", + "xQueueReceive": "0x00024dc5", + "xQueueReceiveFromISR": "0x00024ef1", + "xQueueRemoveFromSet": "0x00024f85", + "xQueueSelectFromSet": "0x00024fa7", + "xQueueSelectFromSetFromISR": "0x00024fb9", + "xQueueSemaphoreTake": "0x00024fcd", + "xQueueTakeMutexRecursive": "0x00025139", + "xTaskCheckForTimeOut": "0x0002517d", + "xTaskCreate": "0x000251ed", + "xTaskCreateStatic": "0x00025249", + "xTaskGetCurrentTaskHandle": "0x000252b9", + "xTaskGetSchedulerState": "0x000252c5", + "xTaskGetTickCount": "0x000252e1", + "xTaskGetTickCountFromISR": "0x000252ed", + "xTaskIncrementTick": "0x000252fd", + "xTaskPriorityDisinherit": "0x000253c9", + "xTaskPriorityInherit": "0x0002545d", + "xTaskRemoveFromEventList": "0x000254f1", + "xTaskResumeAll": "0x00025571", + "xTaskResumeFromISR": "0x00025639", + "xTimerCreate": "0x000256c5", + "xTimerCreateStatic": "0x000256f9", + "xTimerCreateTimerTask": "0x00025731", + "xTimerGenericCommand": "0x0002579d", + "xTimerGetExpiryTime": "0x0002580d", + "xTimerGetTimerDaemonTaskHandle": "0x0002582d" } \ No newline at end of file diff --git a/bundles/exp/ING9187xx/meta.json b/bundles/exp/ING9187xx/meta.json index 54a6d95e1..d1ae9dcc7 100644 --- a/bundles/exp/ING9187xx/meta.json +++ b/bundles/exp/ING9187xx/meta.json @@ -4,15 +4,15 @@ }, "ram": { "base": 536870912, - "size": 29916 + "size": 29924 }, "rom": { "base": 16384, - "size": 143816 + "size": 144232 }, "version": [ 1, 9, - 12 + 15 ] } \ No newline at end of file diff --git a/bundles/exp/ING9187xx/platform.bin b/bundles/exp/ING9187xx/platform.bin index 48ee0b351..910c5a3b4 100644 Binary files a/bundles/exp/ING9187xx/platform.bin and b/bundles/exp/ING9187xx/platform.bin differ diff --git a/bundles/exp/ING9188xx/apis.json b/bundles/exp/ING9188xx/apis.json index 819187662..88d85182c 100644 --- a/bundles/exp/ING9188xx/apis.json +++ b/bundles/exp/ING9188xx/apis.json @@ -1,362 +1,365 @@ { - "att_dispatch_client_can_send_now": "0x0000588d", - "att_dispatch_client_request_can_send_now_event": "0x00005893", - "att_dispatch_register_client": "0x00005899", - "att_dispatch_register_server": "0x000058ad", - "att_dispatch_server_can_send_now": "0x000058c1", - "att_dispatch_server_request_can_send_now_event": "0x000058c7", - "att_emit_general_event": "0x00005979", - "att_server_can_send_packet_now": "0x0000608d", - "att_server_deferred_read_response": "0x00006091", - "att_server_get_mtu": "0x000060a9", - "att_server_indicate": "0x00006121", - "att_server_init": "0x000061a5", - "att_server_notify": "0x000061e1", - "att_server_register_packet_handler": "0x000062f9", - "att_server_request_can_send_now_event": "0x00006305", - "att_set_db": "0x00006321", - "att_set_read_callback": "0x00006335", - "att_set_write_callback": "0x00006341", - "bd_addr_cmp": "0x000064b1", - "bd_addr_copy": "0x000064b7", - "bd_addr_to_str": "0x000064c1", - "big_endian_read_16": "0x000064f9", - "big_endian_read_32": "0x00006501", - "big_endian_store_16": "0x00006515", - "big_endian_store_32": "0x00006521", - "btstack_config": "0x00006675", - "btstack_memory_pool_create": "0x000067b3", - "btstack_memory_pool_free": "0x000067dd", - "btstack_memory_pool_get": "0x0000683d", - "btstack_push_user_msg": "0x000068a5", - "btstack_push_user_runnable": "0x000068b1", - "char_for_nibble": "0x00006b39", - "eTaskConfirmSleepModeStatus": "0x00006e09", - "gap_add_dev_to_periodic_list": "0x00007499", - "gap_add_whitelist": "0x000074b1", - "gap_aes_encrypt": "0x000074c5", - "gap_clear_white_lists": "0x00007509", - "gap_clr_adv_set": "0x00007519", - "gap_clr_periodic_adv_list": "0x00007529", - "gap_create_connection_cancel": "0x00007539", - "gap_default_periodic_adv_sync_transfer_param": "0x00007549", - "gap_disconnect": "0x00007561", - "gap_disconnect_all": "0x0000758d", - "gap_ext_create_connection": "0x000075cd", - "gap_get_connection_parameter_range": "0x000076dd", - "gap_le_read_channel_map": "0x00007719", - "gap_periodic_adv_create_sync": "0x0000778d", - "gap_periodic_adv_create_sync_cancel": "0x000077b1", - "gap_periodic_adv_set_info_transfer": "0x000077c1", - "gap_periodic_adv_sync_transfer": "0x000077d9", - "gap_periodic_adv_sync_transfer_param": "0x000077f1", - "gap_periodic_adv_term_sync": "0x0000780d", - "gap_read_antenna_info": "0x000078a1", - "gap_read_local_tx_power_level": "0x000078c1", - "gap_read_periodic_adv_list_size": "0x000078d5", - "gap_read_phy": "0x000078e5", - "gap_read_remote_tx_power_level": "0x000078f9", - "gap_read_remote_used_features": "0x0000790d", - "gap_read_remote_version": "0x00007921", - "gap_read_rssi": "0x00007935", - "gap_remove_whitelist": "0x00007949", - "gap_rmv_adv_set": "0x000079cd", - "gap_rmv_dev_from_periodic_list": "0x000079e1", - "gap_rx_test_v2": "0x000079f9", - "gap_rx_test_v3": "0x00007a11", - "gap_set_adv_set_random_addr": "0x00007a61", - "gap_set_connection_cte_request_enable": "0x00007aad", - "gap_set_connection_cte_response_enable": "0x00007ac9", - "gap_set_connection_cte_rx_param": "0x00007add", - "gap_set_connection_cte_tx_param": "0x00007b39", - "gap_set_connection_parameter_range": "0x00007b8d", - "gap_set_connectionless_cte_tx_enable": "0x00007ba5", - "gap_set_connectionless_cte_tx_param": "0x00007bb9", - "gap_set_connectionless_iq_sampling_enable": "0x00007c19", - "gap_set_data_length": "0x00007c7d", - "gap_set_def_phy": "0x00007c99", - "gap_set_default_subrate": "0x00007cb1", - "gap_set_ext_adv_data": "0x00007ccd", - "gap_set_ext_adv_enable": "0x00007ce5", - "gap_set_ext_adv_para": "0x00007d61", - "gap_set_ext_scan_enable": "0x00007e41", - "gap_set_ext_scan_para": "0x00007e59", - "gap_set_ext_scan_response_data": "0x00007f01", - "gap_set_host_channel_classification": "0x00007f19", - "gap_set_path_loss_reporting_enable": "0x00007f2d", - "gap_set_path_loss_reporting_param": "0x00007f41", - "gap_set_periodic_adv_data": "0x00007f61", - "gap_set_periodic_adv_enable": "0x00007fd5", - "gap_set_periodic_adv_para": "0x00007fe9", - "gap_set_periodic_adv_rx_enable": "0x00008001", - "gap_set_phy": "0x00008015", - "gap_set_random_device_address": "0x00008031", - "gap_set_tx_power_reporting_enable": "0x00008051", - "gap_start_ccm": "0x00008079", - "gap_subrate_request": "0x000080ad", - "gap_test_end": "0x000080cd", - "gap_tx_test_v2": "0x000080dd", - "gap_tx_test_v4": "0x000080f5", - "gap_update_connection_parameters": "0x0000811d", - "gap_vendor_tx_continuous_wave": "0x00008161", - "gatt_client_cancel_write": "0x00008689", - "gatt_client_discover_characteristic_descriptors": "0x000086af", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x000086ef", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x0000873f", - "gatt_client_discover_characteristics_for_service": "0x0000878f", - "gatt_client_discover_primary_services": "0x000087c5", - "gatt_client_discover_primary_services_by_uuid128": "0x000087f7", - "gatt_client_discover_primary_services_by_uuid16": "0x0000883b", - "gatt_client_execute_write": "0x00008877", - "gatt_client_find_included_services_for_service": "0x0000889d", - "gatt_client_get_mtu": "0x000088cb", - "gatt_client_is_ready": "0x0000896d", - "gatt_client_listen_for_characteristic_value_updates": "0x00008983", - "gatt_client_prepare_write": "0x000089a5", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x000089e1", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x00008a0b", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008a11", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x00008a3f", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x00008a45", - "gatt_client_read_multiple_characteristic_values": "0x00008a73", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x00008aa3", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x00008ad1", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x00008b1d", - "gatt_client_register_handler": "0x00008b69", - "gatt_client_reliable_write_long_value_of_characteristic": "0x00008b75", - "gatt_client_signed_write_without_response": "0x00008fa5", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00009069", - "gatt_client_write_client_characteristic_configuration": "0x000090a3", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x000090f5", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00009105", - "gatt_client_write_long_value_of_characteristic": "0x00009141", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x00009151", - "gatt_client_write_value_of_characteristic": "0x0000918d", - "gatt_client_write_value_of_characteristic_without_response": "0x000091c3", - "hci_add_event_handler": "0x0000a769", - "hci_power_control": "0x0000af71", - "hci_register_acl_packet_handler": "0x0000b125", - "kv_commit": "0x0000b6a1", - "kv_get": "0x0000b6f9", - "kv_init": "0x0000b711", - "kv_put": "0x0000b779", - "kv_remove": "0x0000b7f1", - "kv_remove_all": "0x0000b82d", - "kv_value_modified": "0x0000b871", - "kv_visit": "0x0000b875", - "l2cap_add_event_handler": "0x0000b929", - "l2cap_can_send_packet_now": "0x0000b939", - "l2cap_create_le_credit_based_connection_request": "0x0000baf5", - "l2cap_credit_based_send": "0x0000bc39", - "l2cap_credit_based_send_continue": "0x0000bc65", - "l2cap_disconnect": "0x0000bce1", - "l2cap_get_le_credit_based_connection_credits": "0x0000bf31", - "l2cap_get_peer_mtu_for_local_cid": "0x0000bf4d", - "l2cap_init": "0x0000c321", - "l2cap_le_send_flow_control_credit": "0x0000c417", - "l2cap_max_le_mtu": "0x0000c721", - "l2cap_register_packet_handler": "0x0000c849", - "l2cap_register_service": "0x0000c855", - "l2cap_request_can_send_now_event": "0x0000c965", - "l2cap_request_connection_parameter_update": "0x0000c97f", - "l2cap_send_echo_request": "0x0000ce51", - "l2cap_unregister_service": "0x0000cf11", - "le_device_db_add": "0x0000cf69", - "le_device_db_find": "0x0000d03d", - "le_device_db_from_key": "0x0000d069", - "le_device_db_iter_cur": "0x0000d071", - "le_device_db_iter_cur_key": "0x0000d075", - "le_device_db_iter_init": "0x0000d079", - "le_device_db_iter_next": "0x0000d081", - "le_device_db_remove_key": "0x0000d0a7", - "ll_ackable_packet_alloc": "0x0000d0d3", - "ll_ackable_packet_get_status": "0x0000d1db", - "ll_ackable_packet_run": "0x0000d24d", - "ll_ackable_packet_set_tx_data": "0x0000d2f5", - "ll_adjust_conn_peer_tx_power": "0x0000d311", - "ll_dhkey_generated": "0x0000d559", - "ll_free": "0x0000d589", - "ll_hint_on_ce_len": "0x0000d595", - "ll_install_ecc_engine": "0x0000d5cd", - "ll_legacy_adv_set_interval": "0x0000d5d9", - "ll_lock_frequency": "0x0000d5e9", - "ll_malloc": "0x0000d641", - "ll_p256_key_pair_generated": "0x0000d649", - "ll_raw_packet_alloc": "0x0000d7f9", - "ll_raw_packet_free": "0x0000d8cd", - "ll_raw_packet_get_bare_rx_data": "0x0000d8f7", - "ll_raw_packet_get_iq_samples": "0x0000d9bd", - "ll_raw_packet_get_rx_data": "0x0000da57", - "ll_raw_packet_recv": "0x0000daf9", - "ll_raw_packet_send": "0x0000dbb5", - "ll_raw_packet_set_bare_data": "0x0000dc9d", - "ll_raw_packet_set_bare_mode": "0x0000dcdb", - "ll_raw_packet_set_fake_cte_info": "0x0000dde1", - "ll_raw_packet_set_param": "0x0000de03", - "ll_raw_packet_set_rx_cte": "0x0000de61", - "ll_raw_packet_set_tx_cte": "0x0000def7", - "ll_raw_packet_set_tx_data": "0x0000df35", - "ll_scan_set_fixed_channel": "0x0000dff1", - "ll_scanner_enable_iq_sampling": "0x0000dffd", - "ll_set_adv_access_address": "0x0000e1ad", - "ll_set_adv_coded_scheme": "0x0000e1b9", - "ll_set_conn_coded_scheme": "0x0000e1e9", - "ll_set_conn_interval_unit": "0x0000e215", - "ll_set_conn_latency": "0x0000e221", - "ll_set_conn_tx_power": "0x0000e251", - "ll_set_def_antenna": "0x0000e28d", - "ll_set_initiating_coded_scheme": "0x0000e2a9", - "ll_set_max_conn_number": "0x0000e2b5", - "ll_set_tx_power_range": "0x0000e351", - "ll_unlock_frequency": "0x0000e379", - "nibble_for_char": "0x0002090d", - "platform_32k_rc_auto_tune": "0x000209bd", - "platform_32k_rc_tune": "0x00020a39", - "platform_calibrate_32k": "0x00020a4d", - "platform_config": "0x00020a51", - "platform_enable_irq": "0x00020b45", - "platform_get_current_task": "0x00020b6d", - "platform_get_gen_os_driver": "0x00020b91", - "platform_get_heap_status": "0x00020b99", - "platform_get_task_handle": "0x00020bb1", - "platform_get_us_time": "0x00020bd1", - "platform_get_version": "0x00020bd5", - "platform_hrng": "0x00020bdd", - "platform_install_isr_stack": "0x00020be5", - "platform_install_task_stack": "0x00020bf1", - "platform_patch_rf_init_data": "0x00020c29", - "platform_printf": "0x00020c35", - "platform_raise_assertion": "0x00020c49", - "platform_rand": "0x00020c5d", - "platform_read_info": "0x00020c61", - "platform_read_persistent_reg": "0x00020c91", - "platform_reset": "0x00020ca1", - "platform_set_evt_callback": "0x00020cc5", - "platform_set_evt_callback_table": "0x00020cd9", - "platform_set_irq_callback": "0x00020ce5", - "platform_set_irq_callback_table": "0x00020d01", - "platform_set_rf_clk_source": "0x00020d0d", - "platform_set_rf_init_data": "0x00020d19", - "platform_set_rf_power_mapping": "0x00020d25", - "platform_set_timer": "0x00020d31", - "platform_shutdown": "0x00020d35", - "platform_switch_app": "0x00020d39", - "platform_trace_raw": "0x00020d65", - "platform_write_persistent_reg": "0x00020d7d", - "printf_hexdump": "0x00020f31", - "pvPortMalloc": "0x00021a21", - "pvTaskIncrementMutexHeldCount": "0x00021b09", - "pvTimerGetTimerID": "0x00021b21", - "pxPortInitialiseStack": "0x00021b4d", - "reverse_128": "0x00021d2d", - "reverse_24": "0x00021d33", - "reverse_48": "0x00021d39", - "reverse_56": "0x00021d3f", - "reverse_64": "0x00021d45", - "reverse_bd_addr": "0x00021d4b", - "reverse_bytes": "0x00021d51", - "sm_add_event_handler": "0x00022031", - "sm_address_resolution_lookup": "0x00022189", - "sm_authenticated": "0x000224e9", - "sm_authorization_decline": "0x000224f7", - "sm_authorization_grant": "0x00022517", - "sm_authorization_state": "0x00022537", - "sm_bonding_decline": "0x00022551", - "sm_config": "0x00022971", - "sm_config_conn": "0x00022989", - "sm_encryption_key_size": "0x00022b3f", - "sm_just_works_confirm": "0x00023079", - "sm_le_device_key": "0x000233b5", - "sm_passkey_input": "0x0002344b", - "sm_private_random_address_generation_get": "0x000237f9", - "sm_private_random_address_generation_get_mode": "0x00023801", - "sm_private_random_address_generation_set_mode": "0x0002380d", - "sm_private_random_address_generation_set_update_period": "0x00023835", - "sm_register_oob_data_callback": "0x00023971", - "sm_request_pairing": "0x0002397d", - "sm_send_security_request": "0x000243b7", - "sm_set_accepted_stk_generation_methods": "0x000243dd", - "sm_set_authentication_requirements": "0x000243e9", - "sm_set_encryption_key_size_range": "0x000243f5", - "sscanf_bd_addr": "0x000247c5", - "sysSetPublicDeviceAddr": "0x00024b79", - "uuid128_to_str": "0x00025315", - "uuid_add_bluetooth_prefix": "0x0002536d", - "uuid_has_bluetooth_prefix": "0x0002538d", - "uxListRemove": "0x000253a9", - "uxQueueMessagesWaiting": "0x000253d1", - "uxQueueMessagesWaitingFromISR": "0x000253f9", - "uxQueueSpacesAvailable": "0x00025415", - "uxTaskGetStackHighWaterMark": "0x00025441", - "uxTaskPriorityGet": "0x00025461", - "uxTaskPriorityGetFromISR": "0x0002547d", - "vListInitialise": "0x00025537", - "vListInitialiseItem": "0x0002554d", - "vListInsert": "0x00025553", - "vListInsertEnd": "0x00025583", - "vPortEndScheduler": "0x0002559d", - "vPortEnterCritical": "0x000255c9", - "vPortExitCritical": "0x0002560d", - "vPortFree": "0x00025641", - "vPortSuppressTicksAndSleep": "0x000256d5", - "vPortValidateInterruptPriority": "0x000257f1", - "vQueueDelete": "0x0002584d", - "vQueueWaitForMessageRestricted": "0x00025879", - "vTaskDelay": "0x000258c1", - "vTaskInternalSetTimeOutState": "0x0002590d", - "vTaskMissedYield": "0x0002591d", - "vTaskPlaceOnEventList": "0x00025929", - "vTaskPlaceOnEventListRestricted": "0x00025961", - "vTaskPriorityDisinheritAfterTimeout": "0x000259a1", - "vTaskPrioritySet": "0x00025a4d", - "vTaskResume": "0x00025b15", - "vTaskStartScheduler": "0x00025b99", - "vTaskStepTick": "0x00025c29", - "vTaskSuspend": "0x00025c59", - "vTaskSuspendAll": "0x00025d15", - "vTaskSwitchContext": "0x00025d25", - "xPortStartScheduler": "0x00025dcd", - "xQueueAddToSet": "0x00025e95", - "xQueueCreateCountingSemaphore": "0x00025eb9", - "xQueueCreateCountingSemaphoreStatic": "0x00025ef5", - "xQueueCreateMutex": "0x00025f39", - "xQueueCreateMutexStatic": "0x00025f4f", - "xQueueCreateSet": "0x00025f69", - "xQueueGenericCreate": "0x00025f71", - "xQueueGenericCreateStatic": "0x00025fbd", - "xQueueGenericReset": "0x00026025", - "xQueueGenericSend": "0x000260b1", - "xQueueGenericSendFromISR": "0x0002621d", - "xQueueGiveFromISR": "0x000262dd", - "xQueueGiveMutexRecursive": "0x00026381", - "xQueueIsQueueEmptyFromISR": "0x000263c1", - "xQueueIsQueueFullFromISR": "0x000263e5", - "xQueuePeek": "0x0002640d", - "xQueuePeekFromISR": "0x00026535", - "xQueueReceive": "0x000265a1", - "xQueueReceiveFromISR": "0x000266cd", - "xQueueRemoveFromSet": "0x00026761", - "xQueueSelectFromSet": "0x00026783", - "xQueueSelectFromSetFromISR": "0x00026795", - "xQueueSemaphoreTake": "0x000267a9", - "xQueueTakeMutexRecursive": "0x00026915", - "xTaskCheckForTimeOut": "0x00026959", - "xTaskCreate": "0x000269c9", - "xTaskCreateStatic": "0x00026a25", - "xTaskGetCurrentTaskHandle": "0x00026a95", - "xTaskGetSchedulerState": "0x00026aa1", - "xTaskGetTickCount": "0x00026abd", - "xTaskGetTickCountFromISR": "0x00026ac9", - "xTaskIncrementTick": "0x00026ad9", - "xTaskPriorityDisinherit": "0x00026ba5", - "xTaskPriorityInherit": "0x00026c39", - "xTaskRemoveFromEventList": "0x00026ccd", - "xTaskResumeAll": "0x00026d4d", - "xTaskResumeFromISR": "0x00026e15", - "xTimerCreate": "0x00026ea1", - "xTimerCreateStatic": "0x00026ed5", - "xTimerCreateTimerTask": "0x00026f0d", - "xTimerGenericCommand": "0x00026f79", - "xTimerGetExpiryTime": "0x00026fe9", - "xTimerGetTimerDaemonTaskHandle": "0x00027009" + "att_dispatch_client_can_send_now": "0x00005875", + "att_dispatch_client_request_can_send_now_event": "0x0000587b", + "att_dispatch_register_client": "0x00005881", + "att_dispatch_register_server": "0x00005895", + "att_dispatch_server_can_send_now": "0x000058a9", + "att_dispatch_server_request_can_send_now_event": "0x000058af", + "att_emit_general_event": "0x00005961", + "att_server_can_send_packet_now": "0x00006075", + "att_server_deferred_read_response": "0x00006079", + "att_server_get_mtu": "0x00006091", + "att_server_indicate": "0x00006109", + "att_server_init": "0x0000618d", + "att_server_notify": "0x000061c9", + "att_server_register_packet_handler": "0x000062e1", + "att_server_request_can_send_now_event": "0x000062ed", + "att_set_db": "0x00006309", + "att_set_read_callback": "0x0000631d", + "att_set_write_callback": "0x00006329", + "bd_addr_cmp": "0x00006499", + "bd_addr_copy": "0x0000649f", + "bd_addr_to_str": "0x000064a9", + "big_endian_read_16": "0x000064e1", + "big_endian_read_32": "0x000064e9", + "big_endian_store_16": "0x000064fd", + "big_endian_store_32": "0x00006509", + "btstack_config": "0x0000665d", + "btstack_memory_pool_create": "0x0000679b", + "btstack_memory_pool_free": "0x000067c5", + "btstack_memory_pool_get": "0x00006825", + "btstack_push_user_msg": "0x0000688d", + "btstack_push_user_runnable": "0x00006899", + "char_for_nibble": "0x00006b57", + "eTaskConfirmSleepModeStatus": "0x00006e25", + "gap_add_dev_to_periodic_list": "0x000074c1", + "gap_add_whitelist": "0x000074d1", + "gap_aes_encrypt": "0x000074dd", + "gap_clear_white_lists": "0x00007521", + "gap_clr_adv_set": "0x0000752d", + "gap_clr_periodic_adv_list": "0x00007539", + "gap_create_connection_cancel": "0x00007545", + "gap_default_periodic_adv_sync_transfer_param": "0x00007551", + "gap_disconnect": "0x00007569", + "gap_disconnect_all": "0x00007595", + "gap_ext_create_connection": "0x000075d5", + "gap_get_connection_parameter_range": "0x000076e1", + "gap_le_read_channel_map": "0x0000771d", + "gap_periodic_adv_create_sync": "0x00007789", + "gap_periodic_adv_create_sync_cancel": "0x000077ad", + "gap_periodic_adv_set_info_transfer": "0x000077b9", + "gap_periodic_adv_sync_transfer": "0x000077c9", + "gap_periodic_adv_sync_transfer_param": "0x000077d9", + "gap_periodic_adv_term_sync": "0x000077f5", + "gap_read_antenna_info": "0x0000787d", + "gap_read_local_tx_power_level": "0x00007895", + "gap_read_periodic_adv_list_size": "0x000078a5", + "gap_read_phy": "0x000078b1", + "gap_read_remote_tx_power_level": "0x000078bd", + "gap_read_remote_used_features": "0x000078cd", + "gap_read_remote_version": "0x000078d9", + "gap_read_rssi": "0x000078e5", + "gap_remove_whitelist": "0x000078f1", + "gap_rmv_adv_set": "0x0000796d", + "gap_rmv_dev_from_periodic_list": "0x00007979", + "gap_rx_test_v2": "0x00007989", + "gap_rx_test_v3": "0x00007999", + "gap_set_adv_set_random_addr": "0x000079e5", + "gap_set_connection_cte_request_enable": "0x00007a2d", + "gap_set_connection_cte_response_enable": "0x00007a49", + "gap_set_connection_cte_rx_param": "0x00007a59", + "gap_set_connection_cte_tx_param": "0x00007ab5", + "gap_set_connection_parameter_range": "0x00007b09", + "gap_set_connectionless_cte_tx_enable": "0x00007b21", + "gap_set_connectionless_cte_tx_param": "0x00007b31", + "gap_set_connectionless_iq_sampling_enable": "0x00007b91", + "gap_set_data_length": "0x00007bf5", + "gap_set_def_phy": "0x00007c0d", + "gap_set_default_subrate": "0x00007c1d", + "gap_set_ext_adv_data": "0x00007c39", + "gap_set_ext_adv_enable": "0x00007c51", + "gap_set_ext_adv_para": "0x00007ccd", + "gap_set_ext_scan_enable": "0x00007da5", + "gap_set_ext_scan_para": "0x00007dbd", + "gap_set_ext_scan_response_data": "0x00007e65", + "gap_set_host_channel_classification": "0x00007e7d", + "gap_set_path_loss_reporting_enable": "0x00007e8d", + "gap_set_path_loss_reporting_param": "0x00007e9d", + "gap_set_periodic_adv_data": "0x00007eb9", + "gap_set_periodic_adv_enable": "0x00007f29", + "gap_set_periodic_adv_para": "0x00007f39", + "gap_set_periodic_adv_rx_enable": "0x00007f51", + "gap_set_phy": "0x00007f61", + "gap_set_random_device_address": "0x00007f7d", + "gap_set_tx_power_reporting_enable": "0x00007f9d", + "gap_start_ccm": "0x00007fbd", + "gap_subrate_request": "0x00008011", + "gap_test_end": "0x0000802d", + "gap_tx_test_v2": "0x00008039", + "gap_tx_test_v4": "0x00008051", + "gap_update_connection_parameters": "0x00008075", + "gap_vendor_tx_continuous_wave": "0x000080b9", + "gatt_client_cancel_write": "0x000085e1", + "gatt_client_discover_characteristic_descriptors": "0x00008607", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x00008647", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x00008697", + "gatt_client_discover_characteristics_for_service": "0x000086e7", + "gatt_client_discover_primary_services": "0x0000871d", + "gatt_client_discover_primary_services_by_uuid128": "0x0000874f", + "gatt_client_discover_primary_services_by_uuid16": "0x00008793", + "gatt_client_execute_write": "0x000087cf", + "gatt_client_find_included_services_for_service": "0x000087f5", + "gatt_client_get_mtu": "0x00008823", + "gatt_client_is_ready": "0x000088c5", + "gatt_client_listen_for_characteristic_value_updates": "0x000088db", + "gatt_client_prepare_write": "0x000088fd", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x00008939", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x00008963", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008969", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x00008997", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x0000899d", + "gatt_client_read_multiple_characteristic_values": "0x000089cb", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x000089fb", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x00008a29", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x00008a75", + "gatt_client_register_handler": "0x00008ac1", + "gatt_client_reliable_write_long_value_of_characteristic": "0x00008acd", + "gatt_client_signed_write_without_response": "0x00008efd", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008fc1", + "gatt_client_write_client_characteristic_configuration": "0x00008ffb", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x0000904d", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x0000905d", + "gatt_client_write_long_value_of_characteristic": "0x00009099", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x000090a9", + "gatt_client_write_value_of_characteristic": "0x000090e5", + "gatt_client_write_value_of_characteristic_without_response": "0x0000911b", + "hci_add_event_handler": "0x0000a6c1", + "hci_power_control": "0x0000aec9", + "hci_register_acl_packet_handler": "0x0000b07d", + "kv_commit": "0x0000b5f1", + "kv_get": "0x0000b649", + "kv_init": "0x0000b661", + "kv_put": "0x0000b6c9", + "kv_remove": "0x0000b741", + "kv_remove_all": "0x0000b77d", + "kv_value_modified": "0x0000b7c1", + "kv_visit": "0x0000b7c5", + "l2cap_add_event_handler": "0x0000b879", + "l2cap_can_send_packet_now": "0x0000b889", + "l2cap_create_le_credit_based_connection_request": "0x0000ba45", + "l2cap_credit_based_send": "0x0000bb89", + "l2cap_credit_based_send_continue": "0x0000bbb5", + "l2cap_disconnect": "0x0000bc31", + "l2cap_get_le_credit_based_connection_credits": "0x0000be81", + "l2cap_get_peer_mtu_for_local_cid": "0x0000be9d", + "l2cap_init": "0x0000c271", + "l2cap_le_send_flow_control_credit": "0x0000c367", + "l2cap_max_le_mtu": "0x0000c671", + "l2cap_register_packet_handler": "0x0000c799", + "l2cap_register_service": "0x0000c7a5", + "l2cap_request_can_send_now_event": "0x0000c8b5", + "l2cap_request_connection_parameter_update": "0x0000c8cf", + "l2cap_send_echo_request": "0x0000cda1", + "l2cap_unregister_service": "0x0000ce61", + "le_device_db_add": "0x0000ceb9", + "le_device_db_find": "0x0000cf8d", + "le_device_db_from_key": "0x0000cfb9", + "le_device_db_iter_cur": "0x0000cfc1", + "le_device_db_iter_cur_key": "0x0000cfc5", + "le_device_db_iter_init": "0x0000cfc9", + "le_device_db_iter_next": "0x0000cfd1", + "le_device_db_remove_key": "0x0000cff7", + "ll_ackable_packet_alloc": "0x0000d023", + "ll_ackable_packet_get_status": "0x0000d12b", + "ll_ackable_packet_run": "0x0000d19d", + "ll_ackable_packet_set_tx_data": "0x0000d255", + "ll_adjust_conn_peer_tx_power": "0x0000d27d", + "ll_aes_encrypt": "0x0000d2a9", + "ll_dhkey_generated": "0x0000d541", + "ll_free": "0x0000d571", + "ll_get_conn_events_info": "0x0000d57d", + "ll_get_conn_info": "0x0000d659", + "ll_hint_on_ce_len": "0x0000d699", + "ll_install_ecc_engine": "0x0000d6d1", + "ll_legacy_adv_set_interval": "0x0000d6dd", + "ll_lock_frequency": "0x0000d6ed", + "ll_malloc": "0x0000d745", + "ll_p256_key_pair_generated": "0x0000d74d", + "ll_raw_packet_alloc": "0x0000d8fd", + "ll_raw_packet_free": "0x0000d9d1", + "ll_raw_packet_get_bare_rx_data": "0x0000d9fb", + "ll_raw_packet_get_iq_samples": "0x0000dac1", + "ll_raw_packet_get_rx_data": "0x0000db5b", + "ll_raw_packet_recv": "0x0000dbfd", + "ll_raw_packet_send": "0x0000dcb9", + "ll_raw_packet_set_bare_data": "0x0000dda1", + "ll_raw_packet_set_bare_mode": "0x0000dddf", + "ll_raw_packet_set_fake_cte_info": "0x0000dee5", + "ll_raw_packet_set_param": "0x0000df07", + "ll_raw_packet_set_rx_cte": "0x0000df65", + "ll_raw_packet_set_tx_cte": "0x0000dffb", + "ll_raw_packet_set_tx_data": "0x0000e039", + "ll_scan_set_fixed_channel": "0x0000e0f5", + "ll_scanner_enable_iq_sampling": "0x0000e101", + "ll_set_adv_access_address": "0x0000e2b1", + "ll_set_adv_coded_scheme": "0x0000e2bd", + "ll_set_conn_coded_scheme": "0x0000e2ed", + "ll_set_conn_interval_unit": "0x0000e319", + "ll_set_conn_latency": "0x0000e325", + "ll_set_conn_tx_power": "0x0000e355", + "ll_set_def_antenna": "0x0000e391", + "ll_set_initiating_coded_scheme": "0x0000e3ad", + "ll_set_max_conn_number": "0x0000e3b9", + "ll_set_tx_power_range": "0x0000e455", + "ll_unlock_frequency": "0x0000e47d", + "nibble_for_char": "0x00020a59", + "platform_32k_rc_auto_tune": "0x00020b09", + "platform_32k_rc_tune": "0x00020b85", + "platform_calibrate_32k": "0x00020b99", + "platform_config": "0x00020b9d", + "platform_enable_irq": "0x00020c91", + "platform_get_current_task": "0x00020cc9", + "platform_get_gen_os_driver": "0x00020ced", + "platform_get_heap_status": "0x00020cf5", + "platform_get_task_handle": "0x00020d0d", + "platform_get_us_time": "0x00020d2d", + "platform_get_version": "0x00020d31", + "platform_hrng": "0x00020d39", + "platform_install_isr_stack": "0x00020d41", + "platform_install_task_stack": "0x00020d4d", + "platform_patch_rf_init_data": "0x00020d85", + "platform_printf": "0x00020d91", + "platform_raise_assertion": "0x00020da5", + "platform_rand": "0x00020db9", + "platform_read_info": "0x00020dbd", + "platform_read_persistent_reg": "0x00020ded", + "platform_reset": "0x00020dfd", + "platform_set_evt_callback": "0x00020e21", + "platform_set_evt_callback_table": "0x00020e35", + "platform_set_irq_callback": "0x00020e41", + "platform_set_irq_callback_table": "0x00020e5d", + "platform_set_rf_clk_source": "0x00020e69", + "platform_set_rf_init_data": "0x00020e75", + "platform_set_rf_power_mapping": "0x00020e81", + "platform_set_timer": "0x00020e8d", + "platform_shutdown": "0x00020e91", + "platform_switch_app": "0x00020e95", + "platform_trace_raw": "0x00020ec1", + "platform_write_persistent_reg": "0x00020ed9", + "printf_hexdump": "0x0002108d", + "pvPortMalloc": "0x00021b7d", + "pvTaskIncrementMutexHeldCount": "0x00021c65", + "pvTimerGetTimerID": "0x00021c7d", + "pxPortInitialiseStack": "0x00021ca9", + "reverse_128": "0x00021e89", + "reverse_24": "0x00021e8f", + "reverse_48": "0x00021e95", + "reverse_56": "0x00021e9b", + "reverse_64": "0x00021ea1", + "reverse_bd_addr": "0x00021ea7", + "reverse_bytes": "0x00021ead", + "sm_add_event_handler": "0x000221ad", + "sm_address_resolution_lookup": "0x00022305", + "sm_authenticated": "0x00022665", + "sm_authorization_decline": "0x00022673", + "sm_authorization_grant": "0x00022693", + "sm_authorization_state": "0x000226b3", + "sm_bonding_decline": "0x000226cd", + "sm_config": "0x00022aed", + "sm_config_conn": "0x00022b05", + "sm_encryption_key_size": "0x00022cbb", + "sm_just_works_confirm": "0x000231f5", + "sm_le_device_key": "0x00023531", + "sm_passkey_input": "0x000235c7", + "sm_private_random_address_generation_get": "0x00023975", + "sm_private_random_address_generation_get_mode": "0x0002397d", + "sm_private_random_address_generation_set_mode": "0x00023989", + "sm_private_random_address_generation_set_update_period": "0x000239b1", + "sm_register_oob_data_callback": "0x00023aed", + "sm_request_pairing": "0x00023af9", + "sm_send_security_request": "0x00024533", + "sm_set_accepted_stk_generation_methods": "0x00024559", + "sm_set_authentication_requirements": "0x00024565", + "sm_set_encryption_key_size_range": "0x00024571", + "sscanf_bd_addr": "0x00024941", + "sysSetPublicDeviceAddr": "0x00024cf5", + "uuid128_to_str": "0x00025491", + "uuid_add_bluetooth_prefix": "0x000254e9", + "uuid_has_bluetooth_prefix": "0x00025509", + "uxListRemove": "0x00025525", + "uxQueueMessagesWaiting": "0x0002554d", + "uxQueueMessagesWaitingFromISR": "0x00025575", + "uxQueueSpacesAvailable": "0x00025591", + "uxTaskGetStackHighWaterMark": "0x000255bd", + "uxTaskPriorityGet": "0x000255dd", + "uxTaskPriorityGetFromISR": "0x000255f9", + "vListInitialise": "0x000256b3", + "vListInitialiseItem": "0x000256c9", + "vListInsert": "0x000256cf", + "vListInsertEnd": "0x000256ff", + "vPortEndScheduler": "0x00025719", + "vPortEnterCritical": "0x00025745", + "vPortExitCritical": "0x00025789", + "vPortFree": "0x000257bd", + "vPortSuppressTicksAndSleep": "0x00025851", + "vPortValidateInterruptPriority": "0x0002596d", + "vQueueDelete": "0x000259c9", + "vQueueWaitForMessageRestricted": "0x000259f5", + "vTaskDelay": "0x00025a3d", + "vTaskInternalSetTimeOutState": "0x00025a89", + "vTaskMissedYield": "0x00025a99", + "vTaskPlaceOnEventList": "0x00025aa5", + "vTaskPlaceOnEventListRestricted": "0x00025add", + "vTaskPriorityDisinheritAfterTimeout": "0x00025b1d", + "vTaskPrioritySet": "0x00025bc9", + "vTaskResume": "0x00025c91", + "vTaskStartScheduler": "0x00025d15", + "vTaskStepTick": "0x00025da5", + "vTaskSuspend": "0x00025dd5", + "vTaskSuspendAll": "0x00025e91", + "vTaskSwitchContext": "0x00025ea1", + "xPortStartScheduler": "0x00025f49", + "xQueueAddToSet": "0x00026011", + "xQueueCreateCountingSemaphore": "0x00026035", + "xQueueCreateCountingSemaphoreStatic": "0x00026071", + "xQueueCreateMutex": "0x000260b5", + "xQueueCreateMutexStatic": "0x000260cb", + "xQueueCreateSet": "0x000260e5", + "xQueueGenericCreate": "0x000260ed", + "xQueueGenericCreateStatic": "0x00026139", + "xQueueGenericReset": "0x000261a1", + "xQueueGenericSend": "0x0002622d", + "xQueueGenericSendFromISR": "0x00026399", + "xQueueGiveFromISR": "0x00026459", + "xQueueGiveMutexRecursive": "0x000264fd", + "xQueueIsQueueEmptyFromISR": "0x0002653d", + "xQueueIsQueueFullFromISR": "0x00026561", + "xQueuePeek": "0x00026589", + "xQueuePeekFromISR": "0x000266b1", + "xQueueReceive": "0x0002671d", + "xQueueReceiveFromISR": "0x00026849", + "xQueueRemoveFromSet": "0x000268dd", + "xQueueSelectFromSet": "0x000268ff", + "xQueueSelectFromSetFromISR": "0x00026911", + "xQueueSemaphoreTake": "0x00026925", + "xQueueTakeMutexRecursive": "0x00026a91", + "xTaskCheckForTimeOut": "0x00026ad5", + "xTaskCreate": "0x00026b45", + "xTaskCreateStatic": "0x00026ba1", + "xTaskGetCurrentTaskHandle": "0x00026c11", + "xTaskGetSchedulerState": "0x00026c1d", + "xTaskGetTickCount": "0x00026c39", + "xTaskGetTickCountFromISR": "0x00026c45", + "xTaskIncrementTick": "0x00026c55", + "xTaskPriorityDisinherit": "0x00026d21", + "xTaskPriorityInherit": "0x00026db5", + "xTaskRemoveFromEventList": "0x00026e49", + "xTaskResumeAll": "0x00026ec9", + "xTaskResumeFromISR": "0x00026f91", + "xTimerCreate": "0x0002701d", + "xTimerCreateStatic": "0x00027051", + "xTimerCreateTimerTask": "0x00027089", + "xTimerGenericCommand": "0x000270f5", + "xTimerGetExpiryTime": "0x00027165", + "xTimerGetTimerDaemonTaskHandle": "0x00027185" } \ No newline at end of file diff --git a/bundles/exp/ING9188xx/meta.json b/bundles/exp/ING9188xx/meta.json index d83ede3c6..add08bc23 100644 --- a/bundles/exp/ING9188xx/meta.json +++ b/bundles/exp/ING9188xx/meta.json @@ -4,15 +4,15 @@ }, "ram": { "base": 536870912, - "size": 29916 + "size": 29924 }, "rom": { "base": 16384, - "size": 150792 + "size": 151176 }, "version": [ 1, 9, - 12 + 15 ] } \ No newline at end of file diff --git a/bundles/exp/ING9188xx/platform.bin b/bundles/exp/ING9188xx/platform.bin index 4fa2efd4b..9a34d1904 100644 Binary files a/bundles/exp/ING9188xx/platform.bin and b/bundles/exp/ING9188xx/platform.bin differ diff --git a/bundles/exp/inc/gap.h b/bundles/exp/inc/gap.h index ee2894c56..a8efb6793 100644 --- a/bundles/exp/inc/gap.h +++ b/bundles/exp/inc/gap.h @@ -47,14 +47,15 @@ typedef enum scan_type * @brief set random address device * * @param address random address + * @return 0: Message is sent to controller; others: failed */ -void gap_set_random_device_address(const uint8_t *address); +uint8_t gap_set_random_device_address(const uint8_t *address); /** * @brief Disconnect connection with handle * * @param handle Used to identify an advertising set. Range: 0x00 to 0xEF - * @return 0: Message is sent out or the connection alreay release + * @return 0: Message is sent out or the connection already release */ uint8_t gap_disconnect(hci_con_handle_t handle); @@ -67,7 +68,7 @@ void gap_disconnect_all(void); * * @param[in] address BLE address * @param[in] addtype BLE address type - * @return 0: Message is sent to controller + * @return 0: Message is sent to controller */ uint8_t gap_add_whitelist(const uint8_t *address,bd_addr_type_t addtype); @@ -1312,30 +1313,27 @@ uint8_t gap_vendor_tx_continuous_wave(uint8_t enable, uint8_t power_level_index, #define HCI_VENDOR_CCM 0xFC01 /** - * @brief host require controller to do AES-CCM functionality, and CCM referece to + * @brief Host require controller to do AES-CCM functionality, and CCM reference to * the document rfc3610:Counter with CBC-MAC (CCM) * - * @param type 0: encrypt 1:decrypt - * - * @param mic_size 8: mic size in 8 bytes 4: mic size in 4 bytes - * - * @param msg_len messge length to be encrypt or decrypt - * - * @param aad_len Additional authenticated data length - * - * @param tag a value to identify a AES-CCM request. - * - * @param key 128 bits long key as required by AES-CCM - * - * @param nonce random value of each AES-CCM require 13 bytes long - * - * @param msg pointer to the message input + * All input buffers (key, nonce, msg, aad) must be kept in memory until AES-CCM completed. * - * @param aad Additional authenticated data + * `return_param` passed to `cb` is casted from `event_vendor_ccm_complete_t`. * - * @param out_msg the output buffer to store the result of the AES-CCM ,calculated by controller. + * @param[in] type 0: encrypt 1:decrypt + * @param[in] mic_size 8: mic size in 8 bytes 4: mic size in 4 bytes + * @param[in] msg_len message length to be encrypt or decrypt (<= 384 bytes) + * @param[in] aad_len Additional authenticated data length (<= 16 bytes) + * @param[in] tag a value to identify a AES-CCM request. + * @param[in] key 128 bits long key as required by AES-CCM + * @param[in] nonce random value of each AES-CCM require 13 bytes long + * @param[in] msg pointer to the message input + * @param[in] aad Additional authenticated data + * @param[out] out_msg the output buffer to store the result of the AES-CCM + * @param[in] cb callback function on the corresponding command complete event + * @param[in] user_data user data for the callback function * - * @return 0: success others: failed + * @return 0: success others: failed */ uint8_t gap_start_ccm( uint8_t type, // 0: encrypt 1: decrypt @@ -1343,11 +1341,13 @@ uint8_t gap_start_ccm( uint16_t msg_len, uint16_t aad_len, uint32_t tag, // same value will be reported in event - uint8_t *key, - uint8_t *nonce, - uint8_t *msg, - uint8_t *aad, - uint8_t *out_msg); + const uint8_t *key, + const uint8_t *nonce, + const uint8_t *msg, + const uint8_t *aad, + uint8_t *out_msg, + gap_hci_cmd_complete_cb_t cb, + void *user_data); //HCI func interface diff --git a/bundles/exp/inc/ll_api.h b/bundles/exp/inc/ll_api.h index 108b8f67c..ec8609ee8 100644 --- a/bundles/exp/inc/ll_api.h +++ b/bundles/exp/inc/ll_api.h @@ -118,6 +118,48 @@ void ll_set_conn_coded_scheme(uint16_t conn_handle, int ci); */ void ll_set_conn_latency(uint16_t conn_handle, int latency); +/** + **************************************************************************************** + * @brief Get connection basic information of a connection + * + * @param[in] conn_handle handle of an existing connection + * @param[out] access_addr Access address + * @param[out] crc_init CRC init value + * @param[out] interval interval (unit: us) + * @return 0 if successful else non-0 + **************************************************************************************** + */ +int ll_get_conn_info(const uint16_t conn_handle, + uint32_t *access_addr, + uint32_t *crc_init, + uint32_t *interval); + +/** + **************************************************************************************** + * @brief Get information of upcoming connection events of a connection + * + * Information of consecutive N connection events after `from_time` can be retrieved, + * where N = `number`. + * + * Sub-rating is ignored. If channel map updated within these events, then `channel_ids` + * are not reliable. + * + * @param[in] conn_handle handle of an existing connection + * @param[in] number number of connection events to be queried + * @param[in] from_time the first connection event shall be after `from_time` (unit: us) + * @param[out] time_offset time offset between the start of the first connection event and `from_time` (unit: us) + * @param[out] event_count connection event count of the first connection event + * @param[out] channel_ids physical channel IDs of the upcoming `number` connection events + * @return 0 if successful else non-0 + **************************************************************************************** + */ +int ll_get_conn_events_info(const uint16_t conn_handle, + int number, + uint64_t from_time, + uint32_t *time_offset, + uint16_t *event_count, + uint8_t *channel_ids); + /** **************************************************************************************** * @brief Set default antenna ID @@ -739,6 +781,21 @@ void ll_dhkey_generated(int status, const uint8_t *dh_key); */ void ll_install_ecc_engine(f_start_generate_p256_key_pair start_generate_p256_key_pair, f_start_generate_dhkey start_generate_dhkey); + +/** + **************************************************************************************** + * @brief Low level AES encryption in blocking mode + * + * @param[in] key key (little-endian) + * @param[in] plaintext plaintext (little-endian) + * @param[out] ciphertext ciphertext (big-endian) + * @return 0 if completed successfully; non-0 if hardware is not ready or busy + * When non-0 is returned, it is possible to retry later. + **************************************************************************************** + */ +int ll_aes_encrypt(const uint8_t *key, const uint8_t *plaintext, + uint8_t *ciphertext); + #ifdef __cplusplus } #endif diff --git a/bundles/extension/ING9168xx/apis.json b/bundles/extension/ING9168xx/apis.json index 48e40213d..58144cdf7 100644 --- a/bundles/extension/ING9168xx/apis.json +++ b/bundles/extension/ING9168xx/apis.json @@ -1,356 +1,357 @@ { - "att_dispatch_client_can_send_now": "0x02004461", - "att_dispatch_client_request_can_send_now_event": "0x02004467", - "att_dispatch_register_client": "0x0200446d", - "att_dispatch_register_server": "0x02004481", - "att_dispatch_server_can_send_now": "0x02004495", - "att_dispatch_server_request_can_send_now_event": "0x0200449b", - "att_emit_general_event": "0x0200454d", - "att_server_can_send_packet_now": "0x02004c69", - "att_server_deferred_read_response": "0x02004c6d", - "att_server_get_mtu": "0x02004c85", - "att_server_indicate": "0x02004cfd", - "att_server_init": "0x02004d81", - "att_server_notify": "0x02004dbd", - "att_server_register_packet_handler": "0x02004ed5", - "att_server_request_can_send_now_event": "0x02004ee1", - "att_set_db": "0x02004efd", - "att_set_read_callback": "0x02004f11", - "att_set_write_callback": "0x02004f1d", - "bd_addr_cmp": "0x02005105", - "bd_addr_copy": "0x0200510b", - "bd_addr_to_str": "0x02005115", - "big_endian_read_16": "0x0200514d", - "big_endian_read_32": "0x02005155", - "big_endian_store_16": "0x02005169", - "big_endian_store_32": "0x02005175", - "btstack_config": "0x020052d5", - "btstack_memory_pool_create": "0x02005413", - "btstack_memory_pool_free": "0x0200543d", - "btstack_memory_pool_get": "0x0200549d", - "btstack_push_user_msg": "0x02005505", - "btstack_push_user_runnable": "0x02005511", - "char_for_nibble": "0x020057af", - "eTaskConfirmSleepModeStatus": "0x02005b01", - "gap_add_dev_to_periodic_list": "0x02006195", - "gap_add_whitelist": "0x020061ad", - "gap_aes_encrypt": "0x020061c1", - "gap_clear_white_lists": "0x02006205", - "gap_clr_adv_set": "0x02006215", - "gap_clr_periodic_adv_list": "0x02006225", - "gap_create_connection_cancel": "0x02006235", - "gap_default_periodic_adv_sync_transfer_param": "0x02006245", - "gap_disconnect": "0x0200625d", - "gap_disconnect_all": "0x02006289", - "gap_ext_create_connection": "0x020062c9", - "gap_get_connection_parameter_range": "0x020063b9", - "gap_le_read_channel_map": "0x020063f5", - "gap_periodic_adv_create_sync": "0x02006469", - "gap_periodic_adv_create_sync_cancel": "0x0200648d", - "gap_periodic_adv_set_info_transfer": "0x0200649d", - "gap_periodic_adv_sync_transfer": "0x020064b5", - "gap_periodic_adv_sync_transfer_param": "0x020064cd", - "gap_periodic_adv_term_sync": "0x020064e9", - "gap_read_antenna_info": "0x0200657d", - "gap_read_periodic_adv_list_size": "0x0200658d", - "gap_read_phy": "0x0200659d", - "gap_read_remote_used_features": "0x020065b1", - "gap_read_remote_version": "0x020065c5", - "gap_read_rssi": "0x020065d9", - "gap_remove_whitelist": "0x020065ed", - "gap_rmv_adv_set": "0x02006671", - "gap_rmv_dev_from_periodic_list": "0x02006685", - "gap_rx_test_v2": "0x0200669d", - "gap_rx_test_v3": "0x020066b5", - "gap_set_adv_set_random_addr": "0x02006705", - "gap_set_connection_cte_request_enable": "0x02006751", - "gap_set_connection_cte_response_enable": "0x0200676d", - "gap_set_connection_cte_rx_param": "0x02006781", - "gap_set_connection_cte_tx_param": "0x020067dd", - "gap_set_connection_parameter_range": "0x02006831", - "gap_set_connectionless_cte_tx_enable": "0x02006849", - "gap_set_connectionless_cte_tx_param": "0x0200685d", - "gap_set_connectionless_iq_sampling_enable": "0x020068bd", - "gap_set_data_length": "0x02006921", - "gap_set_def_phy": "0x0200693d", - "gap_set_ext_adv_data": "0x02006955", - "gap_set_ext_adv_enable": "0x0200696d", - "gap_set_ext_adv_para": "0x020069e9", - "gap_set_ext_scan_enable": "0x02006ac1", - "gap_set_ext_scan_para": "0x02006ad9", - "gap_set_ext_scan_response_data": "0x02006b81", - "gap_set_host_channel_classification": "0x02006b99", - "gap_set_periodic_adv_data": "0x02006bad", - "gap_set_periodic_adv_enable": "0x02006c21", - "gap_set_periodic_adv_para": "0x02006c35", - "gap_set_periodic_adv_rx_enable": "0x02006c4d", - "gap_set_phy": "0x02006c61", - "gap_set_random_device_address": "0x02006c7d", - "gap_start_ccm": "0x02006cad", - "gap_test_end": "0x02006ce1", - "gap_tx_test_v2": "0x02006cf1", - "gap_tx_test_v4": "0x02006d09", - "gap_update_connection_parameters": "0x02006d31", - "gap_vendor_tx_continuous_wave": "0x02006d75", - "gatt_client_cancel_write": "0x0200729d", - "gatt_client_discover_characteristic_descriptors": "0x020072c3", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x02007303", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x02007353", - "gatt_client_discover_characteristics_for_service": "0x020073a3", - "gatt_client_discover_primary_services": "0x020073d9", - "gatt_client_discover_primary_services_by_uuid128": "0x0200740b", - "gatt_client_discover_primary_services_by_uuid16": "0x0200744f", - "gatt_client_execute_write": "0x0200748d", - "gatt_client_find_included_services_for_service": "0x020074b3", - "gatt_client_get_mtu": "0x020074e1", - "gatt_client_is_ready": "0x020075a5", - "gatt_client_listen_for_characteristic_value_updates": "0x020075bb", - "gatt_client_prepare_write": "0x020075dd", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x02007619", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x02007643", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x02007649", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x02007677", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x0200767d", - "gatt_client_read_multiple_characteristic_values": "0x020076ab", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x020076db", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x02007709", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x02007755", - "gatt_client_register_handler": "0x020077a1", - "gatt_client_reliable_write_long_value_of_characteristic": "0x020077ad", - "gatt_client_signed_write_without_response": "0x02007be1", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x02007ca5", - "gatt_client_write_client_characteristic_configuration": "0x02007cdf", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x02007d31", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x02007d41", - "gatt_client_write_long_value_of_characteristic": "0x02007d7d", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x02007d8d", - "gatt_client_write_value_of_characteristic": "0x02007dc9", - "gatt_client_write_value_of_characteristic_without_response": "0x02007dff", - "hci_add_event_handler": "0x020093f9", - "hci_power_control": "0x02009bf9", - "hci_register_acl_packet_handler": "0x02009dad", - "kv_commit": "0x0200a2e9", - "kv_get": "0x0200a341", - "kv_init": "0x0200a359", - "kv_put": "0x0200a3c1", - "kv_remove": "0x0200a439", - "kv_remove_all": "0x0200a475", - "kv_value_modified": "0x0200a4b9", - "kv_visit": "0x0200a4bd", - "l2cap_add_event_handler": "0x0200a571", - "l2cap_can_send_packet_now": "0x0200a581", - "l2cap_create_le_credit_based_connection_request": "0x0200a745", - "l2cap_credit_based_send": "0x0200a88d", - "l2cap_credit_based_send_continue": "0x0200a8b9", - "l2cap_disconnect": "0x0200a935", - "l2cap_get_le_credit_based_connection_credits": "0x0200ab21", - "l2cap_get_peer_mtu_for_local_cid": "0x0200ab3d", - "l2cap_init": "0x0200af7d", - "l2cap_le_send_flow_control_credit": "0x0200b073", - "l2cap_max_le_mtu": "0x0200b381", - "l2cap_register_packet_handler": "0x0200b4a9", - "l2cap_register_service": "0x0200b4b5", - "l2cap_request_can_send_now_event": "0x0200b5c5", - "l2cap_request_connection_parameter_update": "0x0200b5df", - "l2cap_send_echo_request": "0x0200bac1", - "l2cap_unregister_service": "0x0200bba1", - "le_device_db_add": "0x0200bbf9", - "le_device_db_find": "0x0200bccd", - "le_device_db_from_key": "0x0200bcf9", - "le_device_db_iter_cur": "0x0200bd01", - "le_device_db_iter_cur_key": "0x0200bd05", - "le_device_db_iter_init": "0x0200bd09", - "le_device_db_iter_next": "0x0200bd11", - "le_device_db_remove_key": "0x0200bd37", - "ll_ackable_packet_alloc": "0x0200bd63", - "ll_ackable_packet_get_status": "0x0200be6f", - "ll_ackable_packet_run": "0x0200bedd", - "ll_ackable_packet_set_tx_data": "0x0200bfa1", - "ll_adjust_conn_peer_tx_power": "0x0200bfbd", - "ll_allow_nonstandard_adv_type": "0x0200bfe9", - "ll_attach_cte_to_adv_set": "0x0200c001", - "ll_free": "0x0200c199", - "ll_hint_on_ce_len": "0x0200c1a5", - "ll_legacy_adv_set_interval": "0x0200c1dd", - "ll_lock_frequency": "0x0200c1ed", - "ll_malloc": "0x0200c241", - "ll_override_whitening_init_value": "0x0200c249", - "ll_raw_packet_alloc": "0x0200c371", - "ll_raw_packet_free": "0x0200c445", - "ll_raw_packet_get_bare_rx_data": "0x0200c46f", - "ll_raw_packet_get_iq_samples": "0x0200c52f", - "ll_raw_packet_get_rx_data": "0x0200c5c9", - "ll_raw_packet_recv": "0x0200c65d", - "ll_raw_packet_send": "0x0200c731", - "ll_raw_packet_set_bare_data": "0x0200c84d", - "ll_raw_packet_set_bare_mode": "0x0200c88b", - "ll_raw_packet_set_param": "0x0200c98f", - "ll_raw_packet_set_rx_cte": "0x0200c9f1", - "ll_raw_packet_set_tx_cte": "0x0200ca87", - "ll_raw_packet_set_tx_data": "0x0200cac5", - "ll_scan_set_fixed_channel": "0x0200cb7d", - "ll_scanner_enable_iq_sampling": "0x0200cb89", - "ll_scanner_enable_iq_sampling_on_legacy": "0x0200cc31", - "ll_set_adv_access_address": "0x0200ce1d", - "ll_set_adv_coded_scheme": "0x0200ce29", - "ll_set_conn_coded_scheme": "0x0200ce61", - "ll_set_conn_interval_unit": "0x0200ce8d", - "ll_set_conn_latency": "0x0200ce99", - "ll_set_conn_tx_power": "0x0200cec9", - "ll_set_cte_bit": "0x0200cef9", - "ll_set_def_antenna": "0x0200cf21", - "ll_set_initiating_coded_scheme": "0x0200cf41", - "ll_set_max_conn_number": "0x0200cf4d", - "ll_set_tx_power_range": "0x0200cfe9", - "ll_unlock_frequency": "0x0200d011", - "nibble_for_char": "0x0201fb65", - "platform_32k_rc_auto_tune": "0x0201fc11", - "platform_32k_rc_tune": "0x0201fc5d", - "platform_calibrate_32k": "0x0201fc79", - "platform_config": "0x0201fc7d", - "platform_enable_irq": "0x0201fd85", - "platform_get_current_task": "0x0201fdad", - "platform_get_gen_os_driver": "0x0201fdd1", - "platform_get_heap_status": "0x0201fdd9", - "platform_get_task_handle": "0x0201fdf1", - "platform_get_us_time": "0x0201fe11", - "platform_get_version": "0x0201fe15", - "platform_hrng": "0x0201fe1d", - "platform_install_isr_stack": "0x0201fe25", - "platform_install_task_stack": "0x0201fe31", - "platform_patch_rf_init_data": "0x0201fe69", - "platform_printf": "0x0201fe75", - "platform_raise_assertion": "0x0201fe89", - "platform_rand": "0x0201fe9d", - "platform_read_info": "0x0201fea1", - "platform_read_persistent_reg": "0x0201fed1", - "platform_reset": "0x0201fedd", - "platform_set_evt_callback": "0x0201fef1", - "platform_set_evt_callback_table": "0x0201ff05", - "platform_set_irq_callback": "0x0201ff11", - "platform_set_irq_callback_table": "0x0201ff2d", - "platform_set_rf_clk_source": "0x0201ff39", - "platform_set_rf_init_data": "0x0201ff45", - "platform_set_rf_power_mapping": "0x0201ff51", - "platform_set_timer": "0x0201ff5d", - "platform_shutdown": "0x0201ff61", - "platform_switch_app": "0x0201ff65", - "platform_trace_raw": "0x0201ff7d", - "platform_write_persistent_reg": "0x0201ff95", - "printf_hexdump": "0x0202014d", - "pvPortMalloc": "0x02020c21", - "pvTaskIncrementMutexHeldCount": "0x02020d09", - "pvTimerGetTimerID": "0x02020d21", - "pxPortInitialiseStack": "0x02020d4d", - "reverse_128": "0x02020f35", - "reverse_24": "0x02020f3b", - "reverse_48": "0x02020f41", - "reverse_56": "0x02020f47", - "reverse_64": "0x02020f4d", - "reverse_bd_addr": "0x02020f53", - "reverse_bytes": "0x02020f59", - "sm_add_event_handler": "0x02021295", - "sm_address_resolution_lookup": "0x020213ed", - "sm_authenticated": "0x0202174d", - "sm_authorization_decline": "0x0202175b", - "sm_authorization_grant": "0x0202177b", - "sm_authorization_state": "0x0202179b", - "sm_bonding_decline": "0x020217b5", - "sm_config": "0x02021bcd", - "sm_config_conn": "0x02021be5", - "sm_encryption_key_size": "0x02021d9b", - "sm_just_works_confirm": "0x020222d5", - "sm_le_device_key": "0x02022611", - "sm_passkey_input": "0x020226a7", - "sm_private_random_address_generation_get": "0x02022a55", - "sm_private_random_address_generation_get_mode": "0x02022a5d", - "sm_private_random_address_generation_set_mode": "0x02022a69", - "sm_private_random_address_generation_set_update_period": "0x02022a91", - "sm_register_oob_data_callback": "0x02022bcd", - "sm_request_pairing": "0x02022bd9", - "sm_send_security_request": "0x02023617", - "sm_set_accepted_stk_generation_methods": "0x0202363d", - "sm_set_authentication_requirements": "0x02023649", - "sm_set_encryption_key_size_range": "0x02023655", - "sscanf_bd_addr": "0x02023a2d", - "sysSetPublicDeviceAddr": "0x02023e99", - "uuid128_to_str": "0x02024645", - "uuid_add_bluetooth_prefix": "0x0202469d", - "uuid_has_bluetooth_prefix": "0x020246bd", - "uxListRemove": "0x020246d9", - "uxQueueMessagesWaiting": "0x02024701", - "uxQueueMessagesWaitingFromISR": "0x02024729", - "uxQueueSpacesAvailable": "0x02024745", - "uxTaskGetStackHighWaterMark": "0x02024771", - "uxTaskPriorityGet": "0x02024791", - "uxTaskPriorityGetFromISR": "0x020247ad", - "vListInitialise": "0x02024853", - "vListInitialiseItem": "0x02024869", - "vListInsert": "0x0202486f", - "vListInsertEnd": "0x0202489f", - "vPortEndScheduler": "0x020248b9", - "vPortEnterCritical": "0x020248e5", - "vPortExitCritical": "0x02024929", - "vPortFree": "0x0202495d", - "vPortSuppressTicksAndSleep": "0x02024a01", - "vPortValidateInterruptPriority": "0x02024b29", - "vQueueDelete": "0x02024b85", - "vQueueWaitForMessageRestricted": "0x02024bb1", - "vTaskDelay": "0x02024bf5", - "vTaskInternalSetTimeOutState": "0x02024c41", - "vTaskMissedYield": "0x02024c51", - "vTaskPlaceOnEventList": "0x02024c5d", - "vTaskPlaceOnEventListRestricted": "0x02024c95", - "vTaskPriorityDisinheritAfterTimeout": "0x02024cd5", - "vTaskPrioritySet": "0x02024d81", - "vTaskResume": "0x02024e49", - "vTaskStartScheduler": "0x02024ecd", - "vTaskStepTick": "0x02024f5d", - "vTaskSuspend": "0x02024f8d", - "vTaskSuspendAll": "0x02025049", - "vTaskSwitchContext": "0x02025059", - "xPortStartScheduler": "0x02025101", - "xQueueAddToSet": "0x02025205", - "xQueueCreateCountingSemaphore": "0x02025229", - "xQueueCreateCountingSemaphoreStatic": "0x02025265", - "xQueueCreateMutex": "0x020252a9", - "xQueueCreateMutexStatic": "0x020252bf", - "xQueueCreateSet": "0x020252d9", - "xQueueGenericCreate": "0x020252e1", - "xQueueGenericCreateStatic": "0x0202532d", - "xQueueGenericReset": "0x02025395", - "xQueueGenericSend": "0x02025421", - "xQueueGenericSendFromISR": "0x0202558d", - "xQueueGiveFromISR": "0x0202564d", - "xQueueGiveMutexRecursive": "0x020256f1", - "xQueueIsQueueEmptyFromISR": "0x02025731", - "xQueueIsQueueFullFromISR": "0x02025755", - "xQueuePeek": "0x0202577d", - "xQueuePeekFromISR": "0x020258a5", - "xQueueReceive": "0x02025911", - "xQueueReceiveFromISR": "0x02025a3d", - "xQueueRemoveFromSet": "0x02025ad1", - "xQueueSelectFromSet": "0x02025af3", - "xQueueSelectFromSetFromISR": "0x02025b05", - "xQueueSemaphoreTake": "0x02025b19", - "xQueueTakeMutexRecursive": "0x02025c85", - "xTaskCheckForTimeOut": "0x02025cc9", - "xTaskCreate": "0x02025d39", - "xTaskCreateStatic": "0x02025d95", - "xTaskGetCurrentTaskHandle": "0x02025e05", - "xTaskGetSchedulerState": "0x02025e11", - "xTaskGetTickCount": "0x02025e2d", - "xTaskGetTickCountFromISR": "0x02025e39", - "xTaskIncrementTick": "0x02025e49", - "xTaskPriorityDisinherit": "0x02025f15", - "xTaskPriorityInherit": "0x02025fa9", - "xTaskRemoveFromEventList": "0x0202603d", - "xTaskResumeAll": "0x020260bd", - "xTaskResumeFromISR": "0x02026185", - "xTimerCreate": "0x02026211", - "xTimerCreateStatic": "0x02026245", - "xTimerCreateTimerTask": "0x0202627d", - "xTimerGenericCommand": "0x020262e9", - "xTimerGetExpiryTime": "0x02026359", - "xTimerGetTimerDaemonTaskHandle": "0x02026379" + "att_dispatch_client_can_send_now": "0x02004449", + "att_dispatch_client_request_can_send_now_event": "0x0200444f", + "att_dispatch_register_client": "0x02004455", + "att_dispatch_register_server": "0x02004469", + "att_dispatch_server_can_send_now": "0x0200447d", + "att_dispatch_server_request_can_send_now_event": "0x02004483", + "att_emit_general_event": "0x02004535", + "att_server_can_send_packet_now": "0x02004c51", + "att_server_deferred_read_response": "0x02004c55", + "att_server_get_mtu": "0x02004c6d", + "att_server_indicate": "0x02004ce5", + "att_server_init": "0x02004d69", + "att_server_notify": "0x02004da5", + "att_server_register_packet_handler": "0x02004ebd", + "att_server_request_can_send_now_event": "0x02004ec9", + "att_set_db": "0x02004ee5", + "att_set_read_callback": "0x02004ef9", + "att_set_write_callback": "0x02004f05", + "bd_addr_cmp": "0x020050ed", + "bd_addr_copy": "0x020050f3", + "bd_addr_to_str": "0x020050fd", + "big_endian_read_16": "0x02005135", + "big_endian_read_32": "0x0200513d", + "big_endian_store_16": "0x02005151", + "big_endian_store_32": "0x0200515d", + "btstack_config": "0x020052bd", + "btstack_memory_pool_create": "0x020053fb", + "btstack_memory_pool_free": "0x02005425", + "btstack_memory_pool_get": "0x02005485", + "btstack_push_user_msg": "0x020054ed", + "btstack_push_user_runnable": "0x020054f9", + "char_for_nibble": "0x02005797", + "eTaskConfirmSleepModeStatus": "0x02005ae9", + "gap_add_dev_to_periodic_list": "0x0200618d", + "gap_add_whitelist": "0x0200619d", + "gap_aes_encrypt": "0x020061a9", + "gap_clear_white_lists": "0x020061ed", + "gap_clr_adv_set": "0x020061f9", + "gap_clr_periodic_adv_list": "0x02006205", + "gap_create_connection_cancel": "0x02006211", + "gap_default_periodic_adv_sync_transfer_param": "0x0200621d", + "gap_disconnect": "0x02006235", + "gap_disconnect_all": "0x02006261", + "gap_ext_create_connection": "0x020062a1", + "gap_get_connection_parameter_range": "0x02006391", + "gap_le_read_channel_map": "0x020063cd", + "gap_periodic_adv_create_sync": "0x02006439", + "gap_periodic_adv_create_sync_cancel": "0x0200645d", + "gap_periodic_adv_set_info_transfer": "0x02006469", + "gap_periodic_adv_sync_transfer": "0x02006479", + "gap_periodic_adv_sync_transfer_param": "0x02006489", + "gap_periodic_adv_term_sync": "0x020064a5", + "gap_read_antenna_info": "0x0200652d", + "gap_read_periodic_adv_list_size": "0x02006539", + "gap_read_phy": "0x02006545", + "gap_read_remote_used_features": "0x02006551", + "gap_read_remote_version": "0x0200655d", + "gap_read_rssi": "0x02006569", + "gap_remove_whitelist": "0x02006575", + "gap_rmv_adv_set": "0x020065f1", + "gap_rmv_dev_from_periodic_list": "0x020065fd", + "gap_rx_test_v2": "0x0200660d", + "gap_rx_test_v3": "0x0200661d", + "gap_set_adv_set_random_addr": "0x02006669", + "gap_set_connection_cte_request_enable": "0x020066b1", + "gap_set_connection_cte_response_enable": "0x020066cd", + "gap_set_connection_cte_rx_param": "0x020066dd", + "gap_set_connection_cte_tx_param": "0x02006739", + "gap_set_connection_parameter_range": "0x0200678d", + "gap_set_connectionless_cte_tx_enable": "0x020067a5", + "gap_set_connectionless_cte_tx_param": "0x020067b5", + "gap_set_connectionless_iq_sampling_enable": "0x02006815", + "gap_set_data_length": "0x02006879", + "gap_set_def_phy": "0x02006891", + "gap_set_ext_adv_data": "0x020068a1", + "gap_set_ext_adv_enable": "0x020068b9", + "gap_set_ext_adv_para": "0x02006935", + "gap_set_ext_scan_enable": "0x02006a05", + "gap_set_ext_scan_para": "0x02006a1d", + "gap_set_ext_scan_response_data": "0x02006ac5", + "gap_set_host_channel_classification": "0x02006add", + "gap_set_periodic_adv_data": "0x02006aed", + "gap_set_periodic_adv_enable": "0x02006b5d", + "gap_set_periodic_adv_para": "0x02006b6d", + "gap_set_periodic_adv_rx_enable": "0x02006b85", + "gap_set_phy": "0x02006b95", + "gap_set_random_device_address": "0x02006bb1", + "gap_start_ccm": "0x02006be1", + "gap_test_end": "0x02006c35", + "gap_tx_test_v2": "0x02006c41", + "gap_tx_test_v4": "0x02006c59", + "gap_update_connection_parameters": "0x02006c7d", + "gap_vendor_tx_continuous_wave": "0x02006cc1", + "gatt_client_cancel_write": "0x020071e9", + "gatt_client_discover_characteristic_descriptors": "0x0200720f", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x0200724f", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x0200729f", + "gatt_client_discover_characteristics_for_service": "0x020072ef", + "gatt_client_discover_primary_services": "0x02007325", + "gatt_client_discover_primary_services_by_uuid128": "0x02007357", + "gatt_client_discover_primary_services_by_uuid16": "0x0200739b", + "gatt_client_execute_write": "0x020073d9", + "gatt_client_find_included_services_for_service": "0x020073ff", + "gatt_client_get_mtu": "0x0200742d", + "gatt_client_is_ready": "0x020074f1", + "gatt_client_listen_for_characteristic_value_updates": "0x02007507", + "gatt_client_prepare_write": "0x02007529", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x02007565", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x0200758f", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x02007595", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x020075c3", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x020075c9", + "gatt_client_read_multiple_characteristic_values": "0x020075f7", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x02007627", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x02007655", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x020076a1", + "gatt_client_register_handler": "0x020076ed", + "gatt_client_reliable_write_long_value_of_characteristic": "0x020076f9", + "gatt_client_signed_write_without_response": "0x02007b2d", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x02007bf1", + "gatt_client_write_client_characteristic_configuration": "0x02007c2b", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x02007c7d", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x02007c8d", + "gatt_client_write_long_value_of_characteristic": "0x02007cc9", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x02007cd9", + "gatt_client_write_value_of_characteristic": "0x02007d15", + "gatt_client_write_value_of_characteristic_without_response": "0x02007d4b", + "hci_add_event_handler": "0x02009345", + "hci_power_control": "0x02009b45", + "hci_register_acl_packet_handler": "0x02009cf9", + "kv_commit": "0x0200a22d", + "kv_get": "0x0200a285", + "kv_init": "0x0200a29d", + "kv_put": "0x0200a305", + "kv_remove": "0x0200a37d", + "kv_remove_all": "0x0200a3b9", + "kv_value_modified": "0x0200a3fd", + "kv_visit": "0x0200a401", + "l2cap_add_event_handler": "0x0200a4b5", + "l2cap_can_send_packet_now": "0x0200a4c5", + "l2cap_create_le_credit_based_connection_request": "0x0200a689", + "l2cap_credit_based_send": "0x0200a7d1", + "l2cap_credit_based_send_continue": "0x0200a7fd", + "l2cap_disconnect": "0x0200a879", + "l2cap_get_le_credit_based_connection_credits": "0x0200aa65", + "l2cap_get_peer_mtu_for_local_cid": "0x0200aa81", + "l2cap_init": "0x0200aec1", + "l2cap_le_send_flow_control_credit": "0x0200afb7", + "l2cap_max_le_mtu": "0x0200b2c5", + "l2cap_register_packet_handler": "0x0200b3ed", + "l2cap_register_service": "0x0200b3f9", + "l2cap_request_can_send_now_event": "0x0200b509", + "l2cap_request_connection_parameter_update": "0x0200b523", + "l2cap_send_echo_request": "0x0200ba05", + "l2cap_unregister_service": "0x0200bae5", + "le_device_db_add": "0x0200bb3d", + "le_device_db_find": "0x0200bc11", + "le_device_db_from_key": "0x0200bc3d", + "le_device_db_iter_cur": "0x0200bc45", + "le_device_db_iter_cur_key": "0x0200bc49", + "le_device_db_iter_init": "0x0200bc4d", + "le_device_db_iter_next": "0x0200bc55", + "le_device_db_remove_key": "0x0200bc7b", + "ll_ackable_packet_alloc": "0x0200bca7", + "ll_ackable_packet_get_status": "0x0200bdb3", + "ll_ackable_packet_run": "0x0200be21", + "ll_ackable_packet_set_tx_data": "0x0200bee5", + "ll_adjust_conn_peer_tx_power": "0x0200bf01", + "ll_aes_encrypt": "0x0200bf2d", + "ll_allow_nonstandard_adv_type": "0x0200bfa1", + "ll_attach_cte_to_adv_set": "0x0200bfb9", + "ll_free": "0x0200c151", + "ll_hint_on_ce_len": "0x0200c15d", + "ll_legacy_adv_set_interval": "0x0200c195", + "ll_lock_frequency": "0x0200c1a5", + "ll_malloc": "0x0200c1f9", + "ll_override_whitening_init_value": "0x0200c201", + "ll_raw_packet_alloc": "0x0200c329", + "ll_raw_packet_free": "0x0200c3fd", + "ll_raw_packet_get_bare_rx_data": "0x0200c427", + "ll_raw_packet_get_iq_samples": "0x0200c4e7", + "ll_raw_packet_get_rx_data": "0x0200c581", + "ll_raw_packet_recv": "0x0200c615", + "ll_raw_packet_send": "0x0200c6e9", + "ll_raw_packet_set_bare_data": "0x0200c805", + "ll_raw_packet_set_bare_mode": "0x0200c843", + "ll_raw_packet_set_param": "0x0200c947", + "ll_raw_packet_set_rx_cte": "0x0200c9a9", + "ll_raw_packet_set_tx_cte": "0x0200ca3f", + "ll_raw_packet_set_tx_data": "0x0200ca7d", + "ll_scan_set_fixed_channel": "0x0200cb35", + "ll_scanner_enable_iq_sampling": "0x0200cb41", + "ll_scanner_enable_iq_sampling_on_legacy": "0x0200cbe9", + "ll_set_adv_access_address": "0x0200cdd5", + "ll_set_adv_coded_scheme": "0x0200cde1", + "ll_set_conn_coded_scheme": "0x0200ce19", + "ll_set_conn_interval_unit": "0x0200ce45", + "ll_set_conn_latency": "0x0200ce51", + "ll_set_conn_tx_power": "0x0200ce81", + "ll_set_cte_bit": "0x0200ceb1", + "ll_set_def_antenna": "0x0200ced9", + "ll_set_initiating_coded_scheme": "0x0200cef9", + "ll_set_max_conn_number": "0x0200cf05", + "ll_set_tx_power_range": "0x0200cfa1", + "ll_unlock_frequency": "0x0200cfc9", + "nibble_for_char": "0x0201fb25", + "platform_32k_rc_auto_tune": "0x0201fbd1", + "platform_32k_rc_tune": "0x0201fc1d", + "platform_calibrate_32k": "0x0201fc39", + "platform_config": "0x0201fc3d", + "platform_enable_irq": "0x0201fd45", + "platform_get_current_task": "0x0201fd79", + "platform_get_gen_os_driver": "0x0201fd9d", + "platform_get_heap_status": "0x0201fda5", + "platform_get_task_handle": "0x0201fdbd", + "platform_get_us_time": "0x0201fddd", + "platform_get_version": "0x0201fde1", + "platform_hrng": "0x0201fde9", + "platform_install_isr_stack": "0x0201fdf1", + "platform_install_task_stack": "0x0201fdfd", + "platform_patch_rf_init_data": "0x0201fe35", + "platform_printf": "0x0201fe41", + "platform_raise_assertion": "0x0201fe55", + "platform_rand": "0x0201fe69", + "platform_read_info": "0x0201fe6d", + "platform_read_persistent_reg": "0x0201fe9d", + "platform_reset": "0x0201fea9", + "platform_set_evt_callback": "0x0201febd", + "platform_set_evt_callback_table": "0x0201fed1", + "platform_set_irq_callback": "0x0201fedd", + "platform_set_irq_callback_table": "0x0201fef9", + "platform_set_rf_clk_source": "0x0201ff05", + "platform_set_rf_init_data": "0x0201ff11", + "platform_set_rf_power_mapping": "0x0201ff1d", + "platform_set_timer": "0x0201ff29", + "platform_shutdown": "0x0201ff2d", + "platform_switch_app": "0x0201ff31", + "platform_trace_raw": "0x0201ff49", + "platform_write_persistent_reg": "0x0201ff61", + "printf_hexdump": "0x02020119", + "pvPortMalloc": "0x02020bed", + "pvTaskIncrementMutexHeldCount": "0x02020cd5", + "pvTimerGetTimerID": "0x02020ced", + "pxPortInitialiseStack": "0x02020d19", + "reverse_128": "0x02020f01", + "reverse_24": "0x02020f07", + "reverse_48": "0x02020f0d", + "reverse_56": "0x02020f13", + "reverse_64": "0x02020f19", + "reverse_bd_addr": "0x02020f1f", + "reverse_bytes": "0x02020f25", + "sm_add_event_handler": "0x02021261", + "sm_address_resolution_lookup": "0x020213b9", + "sm_authenticated": "0x02021719", + "sm_authorization_decline": "0x02021727", + "sm_authorization_grant": "0x02021747", + "sm_authorization_state": "0x02021767", + "sm_bonding_decline": "0x02021781", + "sm_config": "0x02021b99", + "sm_config_conn": "0x02021bb1", + "sm_encryption_key_size": "0x02021d67", + "sm_just_works_confirm": "0x020222a1", + "sm_le_device_key": "0x020225dd", + "sm_passkey_input": "0x02022673", + "sm_private_random_address_generation_get": "0x02022a21", + "sm_private_random_address_generation_get_mode": "0x02022a29", + "sm_private_random_address_generation_set_mode": "0x02022a35", + "sm_private_random_address_generation_set_update_period": "0x02022a5d", + "sm_register_oob_data_callback": "0x02022b99", + "sm_request_pairing": "0x02022ba5", + "sm_send_security_request": "0x020235e3", + "sm_set_accepted_stk_generation_methods": "0x02023609", + "sm_set_authentication_requirements": "0x02023615", + "sm_set_encryption_key_size_range": "0x02023621", + "sscanf_bd_addr": "0x020239f9", + "sysSetPublicDeviceAddr": "0x02023e65", + "uuid128_to_str": "0x02024611", + "uuid_add_bluetooth_prefix": "0x02024669", + "uuid_has_bluetooth_prefix": "0x02024689", + "uxListRemove": "0x020246a5", + "uxQueueMessagesWaiting": "0x020246cd", + "uxQueueMessagesWaitingFromISR": "0x020246f5", + "uxQueueSpacesAvailable": "0x02024711", + "uxTaskGetStackHighWaterMark": "0x0202473d", + "uxTaskPriorityGet": "0x0202475d", + "uxTaskPriorityGetFromISR": "0x02024779", + "vListInitialise": "0x0202481f", + "vListInitialiseItem": "0x02024835", + "vListInsert": "0x0202483b", + "vListInsertEnd": "0x0202486b", + "vPortEndScheduler": "0x02024885", + "vPortEnterCritical": "0x020248b1", + "vPortExitCritical": "0x020248f5", + "vPortFree": "0x02024929", + "vPortSuppressTicksAndSleep": "0x020249cd", + "vPortValidateInterruptPriority": "0x02024af5", + "vQueueDelete": "0x02024b51", + "vQueueWaitForMessageRestricted": "0x02024b7d", + "vTaskDelay": "0x02024bc1", + "vTaskInternalSetTimeOutState": "0x02024c0d", + "vTaskMissedYield": "0x02024c1d", + "vTaskPlaceOnEventList": "0x02024c29", + "vTaskPlaceOnEventListRestricted": "0x02024c61", + "vTaskPriorityDisinheritAfterTimeout": "0x02024ca1", + "vTaskPrioritySet": "0x02024d4d", + "vTaskResume": "0x02024e15", + "vTaskStartScheduler": "0x02024e99", + "vTaskStepTick": "0x02024f29", + "vTaskSuspend": "0x02024f59", + "vTaskSuspendAll": "0x02025015", + "vTaskSwitchContext": "0x02025025", + "xPortStartScheduler": "0x020250cd", + "xQueueAddToSet": "0x020251d1", + "xQueueCreateCountingSemaphore": "0x020251f5", + "xQueueCreateCountingSemaphoreStatic": "0x02025231", + "xQueueCreateMutex": "0x02025275", + "xQueueCreateMutexStatic": "0x0202528b", + "xQueueCreateSet": "0x020252a5", + "xQueueGenericCreate": "0x020252ad", + "xQueueGenericCreateStatic": "0x020252f9", + "xQueueGenericReset": "0x02025361", + "xQueueGenericSend": "0x020253ed", + "xQueueGenericSendFromISR": "0x02025559", + "xQueueGiveFromISR": "0x02025619", + "xQueueGiveMutexRecursive": "0x020256bd", + "xQueueIsQueueEmptyFromISR": "0x020256fd", + "xQueueIsQueueFullFromISR": "0x02025721", + "xQueuePeek": "0x02025749", + "xQueuePeekFromISR": "0x02025871", + "xQueueReceive": "0x020258dd", + "xQueueReceiveFromISR": "0x02025a09", + "xQueueRemoveFromSet": "0x02025a9d", + "xQueueSelectFromSet": "0x02025abf", + "xQueueSelectFromSetFromISR": "0x02025ad1", + "xQueueSemaphoreTake": "0x02025ae5", + "xQueueTakeMutexRecursive": "0x02025c51", + "xTaskCheckForTimeOut": "0x02025c95", + "xTaskCreate": "0x02025d05", + "xTaskCreateStatic": "0x02025d61", + "xTaskGetCurrentTaskHandle": "0x02025dd1", + "xTaskGetSchedulerState": "0x02025ddd", + "xTaskGetTickCount": "0x02025df9", + "xTaskGetTickCountFromISR": "0x02025e05", + "xTaskIncrementTick": "0x02025e15", + "xTaskPriorityDisinherit": "0x02025ee1", + "xTaskPriorityInherit": "0x02025f75", + "xTaskRemoveFromEventList": "0x02026009", + "xTaskResumeAll": "0x02026089", + "xTaskResumeFromISR": "0x02026151", + "xTimerCreate": "0x020261dd", + "xTimerCreateStatic": "0x02026211", + "xTimerCreateTimerTask": "0x02026249", + "xTimerGenericCommand": "0x020262b5", + "xTimerGetExpiryTime": "0x02026325", + "xTimerGetTimerDaemonTaskHandle": "0x02026345" } \ No newline at end of file diff --git a/bundles/extension/ING9168xx/meta.json b/bundles/extension/ING9168xx/meta.json index cb3579db5..2938eb20d 100644 --- a/bundles/extension/ING9168xx/meta.json +++ b/bundles/extension/ING9168xx/meta.json @@ -8,11 +8,11 @@ }, "rom": { "base": 33562624, - "size": 157540 + "size": 157488 }, "version": [ 2, 2, - 10 + 12 ] } \ No newline at end of file diff --git a/bundles/extension/ING9168xx/platform.bin b/bundles/extension/ING9168xx/platform.bin index 6d8b300f3..8e327dcec 100644 Binary files a/bundles/extension/ING9168xx/platform.bin and b/bundles/extension/ING9168xx/platform.bin differ diff --git a/bundles/extension/ING9187xx/apis.json b/bundles/extension/ING9187xx/apis.json index 2522592fc..9ad5889fd 100644 --- a/bundles/extension/ING9187xx/apis.json +++ b/bundles/extension/ING9187xx/apis.json @@ -1,332 +1,333 @@ { - "att_dispatch_client_can_send_now": "0x00005769", - "att_dispatch_client_request_can_send_now_event": "0x0000576f", - "att_dispatch_register_client": "0x00005775", - "att_dispatch_register_server": "0x00005789", - "att_dispatch_server_can_send_now": "0x0000579d", - "att_dispatch_server_request_can_send_now_event": "0x000057a3", - "att_emit_general_event": "0x00005855", - "att_server_can_send_packet_now": "0x00005f69", - "att_server_deferred_read_response": "0x00005f6d", - "att_server_get_mtu": "0x00005f85", - "att_server_indicate": "0x00005ffd", - "att_server_init": "0x00006081", - "att_server_notify": "0x000060bd", - "att_server_register_packet_handler": "0x000061d5", - "att_server_request_can_send_now_event": "0x000061e1", - "att_set_db": "0x000061fd", - "att_set_read_callback": "0x00006211", - "att_set_write_callback": "0x0000621d", - "bd_addr_cmp": "0x0000638d", - "bd_addr_copy": "0x00006393", - "bd_addr_to_str": "0x0000639d", - "big_endian_read_16": "0x000063d5", - "big_endian_read_32": "0x000063dd", - "big_endian_store_16": "0x000063f1", - "big_endian_store_32": "0x000063fd", - "btstack_config": "0x00006551", - "btstack_memory_pool_create": "0x0000668f", - "btstack_memory_pool_free": "0x000066b9", - "btstack_memory_pool_get": "0x00006719", - "btstack_push_user_msg": "0x00006781", - "btstack_push_user_runnable": "0x0000678d", - "char_for_nibble": "0x00006a15", - "eTaskConfirmSleepModeStatus": "0x00006ce5", - "gap_add_dev_to_periodic_list": "0x00007305", - "gap_add_whitelist": "0x0000731d", - "gap_aes_encrypt": "0x00007331", - "gap_clear_white_lists": "0x00007375", - "gap_clr_adv_set": "0x00007385", - "gap_clr_periodic_adv_list": "0x00007395", - "gap_create_connection_cancel": "0x000073a5", - "gap_disconnect": "0x000073b5", - "gap_disconnect_all": "0x000073e1", - "gap_ext_create_connection": "0x00007421", - "gap_get_connection_parameter_range": "0x00007511", - "gap_le_read_channel_map": "0x0000754d", - "gap_periodic_adv_create_sync": "0x000075c1", - "gap_periodic_adv_create_sync_cancel": "0x000075e5", - "gap_periodic_adv_term_sync": "0x000075f5", - "gap_read_periodic_adv_list_size": "0x00007689", - "gap_read_phy": "0x00007699", - "gap_read_remote_used_features": "0x000076ad", - "gap_read_remote_version": "0x000076c1", - "gap_read_rssi": "0x000076d5", - "gap_remove_whitelist": "0x000076e9", - "gap_rmv_adv_set": "0x0000776d", - "gap_rmv_dev_from_periodic_list": "0x00007781", - "gap_rx_test_v2": "0x00007799", - "gap_set_adv_set_random_addr": "0x000077d9", - "gap_set_connection_parameter_range": "0x00007825", - "gap_set_data_length": "0x0000783d", - "gap_set_def_phy": "0x00007859", - "gap_set_ext_adv_data": "0x00007871", - "gap_set_ext_adv_enable": "0x00007889", - "gap_set_ext_adv_para": "0x00007905", - "gap_set_ext_scan_enable": "0x000079e5", - "gap_set_ext_scan_para": "0x000079fd", - "gap_set_ext_scan_response_data": "0x00007aa5", - "gap_set_host_channel_classification": "0x00007abd", - "gap_set_periodic_adv_data": "0x00007ad1", - "gap_set_periodic_adv_enable": "0x00007b45", - "gap_set_periodic_adv_para": "0x00007b59", - "gap_set_phy": "0x00007b71", - "gap_set_random_device_address": "0x00007b8d", - "gap_start_ccm": "0x00007bbd", - "gap_test_end": "0x00007bf1", - "gap_tx_test_v2": "0x00007c01", - "gap_tx_test_v4": "0x00007c19", - "gap_update_connection_parameters": "0x00007c41", - "gap_vendor_tx_continuous_wave": "0x00007c85", - "gatt_client_cancel_write": "0x000081ad", - "gatt_client_discover_characteristic_descriptors": "0x000081d3", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x00008213", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x00008263", - "gatt_client_discover_characteristics_for_service": "0x000082b3", - "gatt_client_discover_primary_services": "0x000082e9", - "gatt_client_discover_primary_services_by_uuid128": "0x0000831b", - "gatt_client_discover_primary_services_by_uuid16": "0x0000835f", - "gatt_client_execute_write": "0x0000839b", - "gatt_client_find_included_services_for_service": "0x000083c1", - "gatt_client_get_mtu": "0x000083ef", - "gatt_client_is_ready": "0x00008491", - "gatt_client_listen_for_characteristic_value_updates": "0x000084a7", - "gatt_client_prepare_write": "0x000084c9", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x00008505", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x0000852f", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008535", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x00008563", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x00008569", - "gatt_client_read_multiple_characteristic_values": "0x00008597", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x000085c7", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x000085f5", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x00008641", - "gatt_client_register_handler": "0x0000868d", - "gatt_client_reliable_write_long_value_of_characteristic": "0x00008699", - "gatt_client_signed_write_without_response": "0x00008ac9", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008b8d", - "gatt_client_write_client_characteristic_configuration": "0x00008bc7", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008c19", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008c29", - "gatt_client_write_long_value_of_characteristic": "0x00008c65", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008c75", - "gatt_client_write_value_of_characteristic": "0x00008cb1", - "gatt_client_write_value_of_characteristic_without_response": "0x00008ce7", - "hci_add_event_handler": "0x0000a20d", - "hci_power_control": "0x0000aa05", - "hci_register_acl_packet_handler": "0x0000abb9", - "kv_commit": "0x0000b135", - "kv_get": "0x0000b18d", - "kv_init": "0x0000b1a5", - "kv_put": "0x0000b20d", - "kv_remove": "0x0000b285", - "kv_remove_all": "0x0000b2c1", - "kv_value_modified": "0x0000b305", - "kv_visit": "0x0000b309", - "l2cap_add_event_handler": "0x0000b3bd", - "l2cap_can_send_packet_now": "0x0000b3cd", - "l2cap_create_le_credit_based_connection_request": "0x0000b589", - "l2cap_credit_based_send": "0x0000b6cd", - "l2cap_credit_based_send_continue": "0x0000b6f9", - "l2cap_disconnect": "0x0000b775", - "l2cap_get_le_credit_based_connection_credits": "0x0000b9c5", - "l2cap_get_peer_mtu_for_local_cid": "0x0000b9e1", - "l2cap_init": "0x0000bdb5", - "l2cap_le_send_flow_control_credit": "0x0000beab", - "l2cap_max_le_mtu": "0x0000c1b5", - "l2cap_register_packet_handler": "0x0000c2dd", - "l2cap_register_service": "0x0000c2e9", - "l2cap_request_can_send_now_event": "0x0000c3f9", - "l2cap_request_connection_parameter_update": "0x0000c413", - "l2cap_send_echo_request": "0x0000c8e5", - "l2cap_unregister_service": "0x0000c9a5", - "le_device_db_add": "0x0000c9fd", - "le_device_db_find": "0x0000cad1", - "le_device_db_from_key": "0x0000cafd", - "le_device_db_iter_cur": "0x0000cb05", - "le_device_db_iter_cur_key": "0x0000cb09", - "le_device_db_iter_init": "0x0000cb0d", - "le_device_db_iter_next": "0x0000cb15", - "le_device_db_remove_key": "0x0000cb3b", - "ll_ackable_packet_alloc": "0x0000cb67", - "ll_ackable_packet_get_status": "0x0000cc6f", - "ll_ackable_packet_run": "0x0000cce1", - "ll_ackable_packet_set_tx_data": "0x0000cd89", - "ll_free": "0x0000cda3", - "ll_hint_on_ce_len": "0x0000cdad", - "ll_legacy_adv_set_interval": "0x0000cde5", - "ll_lock_frequency": "0x0000cdf5", - "ll_malloc": "0x0000ce4d", - "ll_query_timing_info": "0x0000cf85", - "ll_raw_packet_alloc": "0x0000cfd1", - "ll_raw_packet_free": "0x0000d0a5", - "ll_raw_packet_get_bare_rx_data": "0x0000d0cf", - "ll_raw_packet_get_rx_data": "0x0000d195", - "ll_raw_packet_recv": "0x0000d235", - "ll_raw_packet_send": "0x0000d2f1", - "ll_raw_packet_set_bare_data": "0x0000d3d9", - "ll_raw_packet_set_bare_mode": "0x0000d417", - "ll_raw_packet_set_param": "0x0000d51d", - "ll_raw_packet_set_tx_data": "0x0000d57b", - "ll_scan_set_fixed_channel": "0x0000d639", - "ll_set_adv_access_address": "0x0000d74d", - "ll_set_adv_coded_scheme": "0x0000d759", - "ll_set_conn_coded_scheme": "0x0000d789", - "ll_set_conn_interval_unit": "0x0000d7b5", - "ll_set_conn_latency": "0x0000d7c1", - "ll_set_conn_tx_power": "0x0000d7f1", - "ll_set_def_antenna": "0x0000d839", - "ll_set_initiating_coded_scheme": "0x0000d855", - "ll_set_max_conn_number": "0x0000d861", - "ll_unlock_frequency": "0x0000d8fd", - "nibble_for_char": "0x0001d8ed", - "platform_32k_rc_auto_tune": "0x0001d999", - "platform_32k_rc_tune": "0x0001da15", - "platform_calibrate_32k": "0x0001da29", - "platform_config": "0x0001da2d", - "platform_enable_irq": "0x0001db21", - "platform_get_current_task": "0x0001db49", - "platform_get_gen_os_driver": "0x0001db6d", - "platform_get_heap_status": "0x0001db75", - "platform_get_task_handle": "0x0001db8d", - "platform_get_us_time": "0x0001dbad", - "platform_get_version": "0x0001dbb1", - "platform_hrng": "0x0001dbb9", - "platform_install_isr_stack": "0x0001dbc1", - "platform_install_task_stack": "0x0001dbcd", - "platform_patch_rf_init_data": "0x0001dc05", - "platform_printf": "0x0001dc11", - "platform_raise_assertion": "0x0001dc25", - "platform_rand": "0x0001dc39", - "platform_read_info": "0x0001dc3d", - "platform_read_persistent_reg": "0x0001dc6d", - "platform_reset": "0x0001dc7d", - "platform_set_evt_callback": "0x0001dca1", - "platform_set_evt_callback_table": "0x0001dcb5", - "platform_set_irq_callback": "0x0001dcc1", - "platform_set_irq_callback_table": "0x0001dcdd", - "platform_set_rf_clk_source": "0x0001dce9", - "platform_set_rf_init_data": "0x0001dcf5", - "platform_set_rf_power_mapping": "0x0001dd01", - "platform_set_timer": "0x0001dd0d", - "platform_shutdown": "0x0001dd11", - "platform_switch_app": "0x0001dd15", - "platform_trace_raw": "0x0001dd41", - "platform_write_persistent_reg": "0x0001dd59", - "printf_hexdump": "0x0001df0d", - "pvPortMalloc": "0x0001e9fd", - "pvTaskIncrementMutexHeldCount": "0x0001eae5", - "pvTimerGetTimerID": "0x0001eafd", - "pxPortInitialiseStack": "0x0001eb29", - "reverse_128": "0x0001ecd1", - "reverse_24": "0x0001ecd7", - "reverse_48": "0x0001ecdd", - "reverse_56": "0x0001ece3", - "reverse_64": "0x0001ece9", - "reverse_bd_addr": "0x0001ecef", - "reverse_bytes": "0x0001ecf5", - "sm_add_event_handler": "0x0001ee81", - "sm_address_resolution_lookup": "0x0001efd9", - "sm_authenticated": "0x0001f339", - "sm_authorization_decline": "0x0001f347", - "sm_authorization_grant": "0x0001f367", - "sm_authorization_state": "0x0001f387", - "sm_bonding_decline": "0x0001f3a1", - "sm_config": "0x0001f7c1", - "sm_config_conn": "0x0001f7d9", - "sm_encryption_key_size": "0x0001f98f", - "sm_just_works_confirm": "0x0001fec9", - "sm_le_device_key": "0x00020205", - "sm_passkey_input": "0x0002029b", - "sm_private_random_address_generation_get": "0x00020649", - "sm_private_random_address_generation_get_mode": "0x00020651", - "sm_private_random_address_generation_set_mode": "0x0002065d", - "sm_private_random_address_generation_set_update_period": "0x00020685", - "sm_register_oob_data_callback": "0x000207c1", - "sm_request_pairing": "0x000207cd", - "sm_send_security_request": "0x00021207", - "sm_set_accepted_stk_generation_methods": "0x0002122d", - "sm_set_authentication_requirements": "0x00021239", - "sm_set_encryption_key_size_range": "0x00021245", - "sscanf_bd_addr": "0x00021615", - "sysSetPublicDeviceAddr": "0x000219c9", - "uuid128_to_str": "0x00021fa9", - "uuid_add_bluetooth_prefix": "0x00022001", - "uuid_has_bluetooth_prefix": "0x00022021", - "uxListRemove": "0x0002203d", - "uxQueueMessagesWaiting": "0x00022065", - "uxQueueMessagesWaitingFromISR": "0x0002208d", - "uxQueueSpacesAvailable": "0x000220a9", - "uxTaskGetStackHighWaterMark": "0x000220d5", - "uxTaskPriorityGet": "0x000220f5", - "uxTaskPriorityGetFromISR": "0x00022111", - "vListInitialise": "0x000221cb", - "vListInitialiseItem": "0x000221e1", - "vListInsert": "0x000221e7", - "vListInsertEnd": "0x00022217", - "vPortEndScheduler": "0x00022231", - "vPortEnterCritical": "0x0002225d", - "vPortExitCritical": "0x000222a1", - "vPortFree": "0x000222d5", - "vPortSuppressTicksAndSleep": "0x00022369", - "vPortValidateInterruptPriority": "0x00022485", - "vQueueDelete": "0x000224e1", - "vQueueWaitForMessageRestricted": "0x0002250d", - "vTaskDelay": "0x00022555", - "vTaskInternalSetTimeOutState": "0x000225a1", - "vTaskMissedYield": "0x000225b1", - "vTaskPlaceOnEventList": "0x000225bd", - "vTaskPlaceOnEventListRestricted": "0x000225f5", - "vTaskPriorityDisinheritAfterTimeout": "0x00022635", - "vTaskPrioritySet": "0x000226e1", - "vTaskResume": "0x000227a9", - "vTaskStartScheduler": "0x0002282d", - "vTaskStepTick": "0x000228bd", - "vTaskSuspend": "0x000228ed", - "vTaskSuspendAll": "0x000229a9", - "vTaskSwitchContext": "0x000229b9", - "xPortStartScheduler": "0x00022a61", - "xQueueAddToSet": "0x00022b29", - "xQueueCreateCountingSemaphore": "0x00022b4d", - "xQueueCreateCountingSemaphoreStatic": "0x00022b89", - "xQueueCreateMutex": "0x00022bcd", - "xQueueCreateMutexStatic": "0x00022be3", - "xQueueCreateSet": "0x00022bfd", - "xQueueGenericCreate": "0x00022c05", - "xQueueGenericCreateStatic": "0x00022c51", - "xQueueGenericReset": "0x00022cb9", - "xQueueGenericSend": "0x00022d45", - "xQueueGenericSendFromISR": "0x00022eb1", - "xQueueGiveFromISR": "0x00022f71", - "xQueueGiveMutexRecursive": "0x00023015", - "xQueueIsQueueEmptyFromISR": "0x00023055", - "xQueueIsQueueFullFromISR": "0x00023079", - "xQueuePeek": "0x000230a1", - "xQueuePeekFromISR": "0x000231c9", - "xQueueReceive": "0x00023235", - "xQueueReceiveFromISR": "0x00023361", - "xQueueRemoveFromSet": "0x000233f5", - "xQueueSelectFromSet": "0x00023417", - "xQueueSelectFromSetFromISR": "0x00023429", - "xQueueSemaphoreTake": "0x0002343d", - "xQueueTakeMutexRecursive": "0x000235a9", - "xTaskCheckForTimeOut": "0x000235ed", - "xTaskCreate": "0x0002365d", - "xTaskCreateStatic": "0x000236b9", - "xTaskGetCurrentTaskHandle": "0x00023729", - "xTaskGetSchedulerState": "0x00023735", - "xTaskGetTickCount": "0x00023751", - "xTaskGetTickCountFromISR": "0x0002375d", - "xTaskIncrementTick": "0x0002376d", - "xTaskPriorityDisinherit": "0x00023839", - "xTaskPriorityInherit": "0x000238cd", - "xTaskRemoveFromEventList": "0x00023961", - "xTaskResumeAll": "0x000239e1", - "xTaskResumeFromISR": "0x00023aa9", - "xTimerCreate": "0x00023b35", - "xTimerCreateStatic": "0x00023b69", - "xTimerCreateTimerTask": "0x00023ba1", - "xTimerGenericCommand": "0x00023c0d", - "xTimerGetExpiryTime": "0x00023c7d", - "xTimerGetTimerDaemonTaskHandle": "0x00023c9d" + "att_dispatch_client_can_send_now": "0x00005751", + "att_dispatch_client_request_can_send_now_event": "0x00005757", + "att_dispatch_register_client": "0x0000575d", + "att_dispatch_register_server": "0x00005771", + "att_dispatch_server_can_send_now": "0x00005785", + "att_dispatch_server_request_can_send_now_event": "0x0000578b", + "att_emit_general_event": "0x0000583d", + "att_server_can_send_packet_now": "0x00005f51", + "att_server_deferred_read_response": "0x00005f55", + "att_server_get_mtu": "0x00005f6d", + "att_server_indicate": "0x00005fe5", + "att_server_init": "0x00006069", + "att_server_notify": "0x000060a5", + "att_server_register_packet_handler": "0x000061bd", + "att_server_request_can_send_now_event": "0x000061c9", + "att_set_db": "0x000061e5", + "att_set_read_callback": "0x000061f9", + "att_set_write_callback": "0x00006205", + "bd_addr_cmp": "0x00006375", + "bd_addr_copy": "0x0000637b", + "bd_addr_to_str": "0x00006385", + "big_endian_read_16": "0x000063bd", + "big_endian_read_32": "0x000063c5", + "big_endian_store_16": "0x000063d9", + "big_endian_store_32": "0x000063e5", + "btstack_config": "0x00006539", + "btstack_memory_pool_create": "0x00006677", + "btstack_memory_pool_free": "0x000066a1", + "btstack_memory_pool_get": "0x00006701", + "btstack_push_user_msg": "0x00006769", + "btstack_push_user_runnable": "0x00006775", + "char_for_nibble": "0x000069fd", + "eTaskConfirmSleepModeStatus": "0x00006ccd", + "gap_add_dev_to_periodic_list": "0x000072f9", + "gap_add_whitelist": "0x00007309", + "gap_aes_encrypt": "0x00007315", + "gap_clear_white_lists": "0x00007359", + "gap_clr_adv_set": "0x00007365", + "gap_clr_periodic_adv_list": "0x00007371", + "gap_create_connection_cancel": "0x0000737d", + "gap_disconnect": "0x00007389", + "gap_disconnect_all": "0x000073b5", + "gap_ext_create_connection": "0x000073f5", + "gap_get_connection_parameter_range": "0x000074e5", + "gap_le_read_channel_map": "0x00007521", + "gap_periodic_adv_create_sync": "0x0000758d", + "gap_periodic_adv_create_sync_cancel": "0x000075b1", + "gap_periodic_adv_term_sync": "0x000075bd", + "gap_read_periodic_adv_list_size": "0x00007645", + "gap_read_phy": "0x00007651", + "gap_read_remote_used_features": "0x0000765d", + "gap_read_remote_version": "0x00007669", + "gap_read_rssi": "0x00007675", + "gap_remove_whitelist": "0x00007681", + "gap_rmv_adv_set": "0x000076fd", + "gap_rmv_dev_from_periodic_list": "0x00007709", + "gap_rx_test_v2": "0x00007719", + "gap_set_adv_set_random_addr": "0x00007751", + "gap_set_connection_parameter_range": "0x00007799", + "gap_set_data_length": "0x000077b1", + "gap_set_def_phy": "0x000077c9", + "gap_set_ext_adv_data": "0x000077d9", + "gap_set_ext_adv_enable": "0x000077f1", + "gap_set_ext_adv_para": "0x0000786d", + "gap_set_ext_scan_enable": "0x00007945", + "gap_set_ext_scan_para": "0x0000795d", + "gap_set_ext_scan_response_data": "0x00007a05", + "gap_set_host_channel_classification": "0x00007a1d", + "gap_set_periodic_adv_data": "0x00007a2d", + "gap_set_periodic_adv_enable": "0x00007a9d", + "gap_set_periodic_adv_para": "0x00007aad", + "gap_set_phy": "0x00007ac5", + "gap_set_random_device_address": "0x00007ae1", + "gap_start_ccm": "0x00007b11", + "gap_test_end": "0x00007b65", + "gap_tx_test_v2": "0x00007b71", + "gap_tx_test_v4": "0x00007b89", + "gap_update_connection_parameters": "0x00007bad", + "gap_vendor_tx_continuous_wave": "0x00007bf1", + "gatt_client_cancel_write": "0x00008119", + "gatt_client_discover_characteristic_descriptors": "0x0000813f", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x0000817f", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x000081cf", + "gatt_client_discover_characteristics_for_service": "0x0000821f", + "gatt_client_discover_primary_services": "0x00008255", + "gatt_client_discover_primary_services_by_uuid128": "0x00008287", + "gatt_client_discover_primary_services_by_uuid16": "0x000082cb", + "gatt_client_execute_write": "0x00008307", + "gatt_client_find_included_services_for_service": "0x0000832d", + "gatt_client_get_mtu": "0x0000835b", + "gatt_client_is_ready": "0x000083fd", + "gatt_client_listen_for_characteristic_value_updates": "0x00008413", + "gatt_client_prepare_write": "0x00008435", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x00008471", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x0000849b", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x000084a1", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x000084cf", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x000084d5", + "gatt_client_read_multiple_characteristic_values": "0x00008503", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x00008533", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x00008561", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x000085ad", + "gatt_client_register_handler": "0x000085f9", + "gatt_client_reliable_write_long_value_of_characteristic": "0x00008605", + "gatt_client_signed_write_without_response": "0x00008a35", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008af9", + "gatt_client_write_client_characteristic_configuration": "0x00008b33", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008b85", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008b95", + "gatt_client_write_long_value_of_characteristic": "0x00008bd1", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008be1", + "gatt_client_write_value_of_characteristic": "0x00008c1d", + "gatt_client_write_value_of_characteristic_without_response": "0x00008c53", + "hci_add_event_handler": "0x0000a179", + "hci_power_control": "0x0000a971", + "hci_register_acl_packet_handler": "0x0000ab25", + "kv_commit": "0x0000b099", + "kv_get": "0x0000b0f1", + "kv_init": "0x0000b109", + "kv_put": "0x0000b171", + "kv_remove": "0x0000b1e9", + "kv_remove_all": "0x0000b225", + "kv_value_modified": "0x0000b269", + "kv_visit": "0x0000b26d", + "l2cap_add_event_handler": "0x0000b321", + "l2cap_can_send_packet_now": "0x0000b331", + "l2cap_create_le_credit_based_connection_request": "0x0000b4ed", + "l2cap_credit_based_send": "0x0000b631", + "l2cap_credit_based_send_continue": "0x0000b65d", + "l2cap_disconnect": "0x0000b6d9", + "l2cap_get_le_credit_based_connection_credits": "0x0000b929", + "l2cap_get_peer_mtu_for_local_cid": "0x0000b945", + "l2cap_init": "0x0000bd19", + "l2cap_le_send_flow_control_credit": "0x0000be0f", + "l2cap_max_le_mtu": "0x0000c119", + "l2cap_register_packet_handler": "0x0000c241", + "l2cap_register_service": "0x0000c24d", + "l2cap_request_can_send_now_event": "0x0000c35d", + "l2cap_request_connection_parameter_update": "0x0000c377", + "l2cap_send_echo_request": "0x0000c849", + "l2cap_unregister_service": "0x0000c909", + "le_device_db_add": "0x0000c961", + "le_device_db_find": "0x0000ca35", + "le_device_db_from_key": "0x0000ca61", + "le_device_db_iter_cur": "0x0000ca69", + "le_device_db_iter_cur_key": "0x0000ca6d", + "le_device_db_iter_init": "0x0000ca71", + "le_device_db_iter_next": "0x0000ca79", + "le_device_db_remove_key": "0x0000ca9f", + "ll_ackable_packet_alloc": "0x0000cacb", + "ll_ackable_packet_get_status": "0x0000cbd3", + "ll_ackable_packet_run": "0x0000cc45", + "ll_ackable_packet_set_tx_data": "0x0000cced", + "ll_aes_encrypt": "0x0000cd09", + "ll_free": "0x0000cd85", + "ll_hint_on_ce_len": "0x0000cd91", + "ll_legacy_adv_set_interval": "0x0000cdc9", + "ll_lock_frequency": "0x0000cdd9", + "ll_malloc": "0x0000ce31", + "ll_query_timing_info": "0x0000cf69", + "ll_raw_packet_alloc": "0x0000cfb5", + "ll_raw_packet_free": "0x0000d089", + "ll_raw_packet_get_bare_rx_data": "0x0000d0b3", + "ll_raw_packet_get_rx_data": "0x0000d179", + "ll_raw_packet_recv": "0x0000d219", + "ll_raw_packet_send": "0x0000d2d5", + "ll_raw_packet_set_bare_data": "0x0000d3bd", + "ll_raw_packet_set_bare_mode": "0x0000d3fb", + "ll_raw_packet_set_param": "0x0000d501", + "ll_raw_packet_set_tx_data": "0x0000d55f", + "ll_scan_set_fixed_channel": "0x0000d61d", + "ll_set_adv_access_address": "0x0000d731", + "ll_set_adv_coded_scheme": "0x0000d73d", + "ll_set_conn_coded_scheme": "0x0000d76d", + "ll_set_conn_interval_unit": "0x0000d799", + "ll_set_conn_latency": "0x0000d7a5", + "ll_set_conn_tx_power": "0x0000d7d5", + "ll_set_def_antenna": "0x0000d81d", + "ll_set_initiating_coded_scheme": "0x0000d839", + "ll_set_max_conn_number": "0x0000d845", + "ll_unlock_frequency": "0x0000d8e1", + "nibble_for_char": "0x0001d8e5", + "platform_32k_rc_auto_tune": "0x0001d991", + "platform_32k_rc_tune": "0x0001da0d", + "platform_calibrate_32k": "0x0001da21", + "platform_config": "0x0001da25", + "platform_enable_irq": "0x0001db19", + "platform_get_current_task": "0x0001db51", + "platform_get_gen_os_driver": "0x0001db75", + "platform_get_heap_status": "0x0001db7d", + "platform_get_task_handle": "0x0001db95", + "platform_get_us_time": "0x0001dbb5", + "platform_get_version": "0x0001dbb9", + "platform_hrng": "0x0001dbc1", + "platform_install_isr_stack": "0x0001dbc9", + "platform_install_task_stack": "0x0001dbd5", + "platform_patch_rf_init_data": "0x0001dc0d", + "platform_printf": "0x0001dc19", + "platform_raise_assertion": "0x0001dc2d", + "platform_rand": "0x0001dc41", + "platform_read_info": "0x0001dc45", + "platform_read_persistent_reg": "0x0001dc75", + "platform_reset": "0x0001dc85", + "platform_set_evt_callback": "0x0001dca9", + "platform_set_evt_callback_table": "0x0001dcbd", + "platform_set_irq_callback": "0x0001dcc9", + "platform_set_irq_callback_table": "0x0001dce5", + "platform_set_rf_clk_source": "0x0001dcf1", + "platform_set_rf_init_data": "0x0001dcfd", + "platform_set_rf_power_mapping": "0x0001dd09", + "platform_set_timer": "0x0001dd15", + "platform_shutdown": "0x0001dd19", + "platform_switch_app": "0x0001dd1d", + "platform_trace_raw": "0x0001dd49", + "platform_write_persistent_reg": "0x0001dd61", + "printf_hexdump": "0x0001df15", + "pvPortMalloc": "0x0001ea05", + "pvTaskIncrementMutexHeldCount": "0x0001eaed", + "pvTimerGetTimerID": "0x0001eb05", + "pxPortInitialiseStack": "0x0001eb31", + "reverse_128": "0x0001ecd9", + "reverse_24": "0x0001ecdf", + "reverse_48": "0x0001ece5", + "reverse_56": "0x0001eceb", + "reverse_64": "0x0001ecf1", + "reverse_bd_addr": "0x0001ecf7", + "reverse_bytes": "0x0001ecfd", + "sm_add_event_handler": "0x0001ee89", + "sm_address_resolution_lookup": "0x0001efe1", + "sm_authenticated": "0x0001f341", + "sm_authorization_decline": "0x0001f34f", + "sm_authorization_grant": "0x0001f36f", + "sm_authorization_state": "0x0001f38f", + "sm_bonding_decline": "0x0001f3a9", + "sm_config": "0x0001f7c9", + "sm_config_conn": "0x0001f7e1", + "sm_encryption_key_size": "0x0001f997", + "sm_just_works_confirm": "0x0001fed1", + "sm_le_device_key": "0x0002020d", + "sm_passkey_input": "0x000202a3", + "sm_private_random_address_generation_get": "0x00020651", + "sm_private_random_address_generation_get_mode": "0x00020659", + "sm_private_random_address_generation_set_mode": "0x00020665", + "sm_private_random_address_generation_set_update_period": "0x0002068d", + "sm_register_oob_data_callback": "0x000207c9", + "sm_request_pairing": "0x000207d5", + "sm_send_security_request": "0x0002120f", + "sm_set_accepted_stk_generation_methods": "0x00021235", + "sm_set_authentication_requirements": "0x00021241", + "sm_set_encryption_key_size_range": "0x0002124d", + "sscanf_bd_addr": "0x0002161d", + "sysSetPublicDeviceAddr": "0x000219d1", + "uuid128_to_str": "0x00021fb1", + "uuid_add_bluetooth_prefix": "0x00022009", + "uuid_has_bluetooth_prefix": "0x00022029", + "uxListRemove": "0x00022045", + "uxQueueMessagesWaiting": "0x0002206d", + "uxQueueMessagesWaitingFromISR": "0x00022095", + "uxQueueSpacesAvailable": "0x000220b1", + "uxTaskGetStackHighWaterMark": "0x000220dd", + "uxTaskPriorityGet": "0x000220fd", + "uxTaskPriorityGetFromISR": "0x00022119", + "vListInitialise": "0x000221d3", + "vListInitialiseItem": "0x000221e9", + "vListInsert": "0x000221ef", + "vListInsertEnd": "0x0002221f", + "vPortEndScheduler": "0x00022239", + "vPortEnterCritical": "0x00022265", + "vPortExitCritical": "0x000222a9", + "vPortFree": "0x000222dd", + "vPortSuppressTicksAndSleep": "0x00022371", + "vPortValidateInterruptPriority": "0x0002248d", + "vQueueDelete": "0x000224e9", + "vQueueWaitForMessageRestricted": "0x00022515", + "vTaskDelay": "0x0002255d", + "vTaskInternalSetTimeOutState": "0x000225a9", + "vTaskMissedYield": "0x000225b9", + "vTaskPlaceOnEventList": "0x000225c5", + "vTaskPlaceOnEventListRestricted": "0x000225fd", + "vTaskPriorityDisinheritAfterTimeout": "0x0002263d", + "vTaskPrioritySet": "0x000226e9", + "vTaskResume": "0x000227b1", + "vTaskStartScheduler": "0x00022835", + "vTaskStepTick": "0x000228c5", + "vTaskSuspend": "0x000228f5", + "vTaskSuspendAll": "0x000229b1", + "vTaskSwitchContext": "0x000229c1", + "xPortStartScheduler": "0x00022a69", + "xQueueAddToSet": "0x00022b31", + "xQueueCreateCountingSemaphore": "0x00022b55", + "xQueueCreateCountingSemaphoreStatic": "0x00022b91", + "xQueueCreateMutex": "0x00022bd5", + "xQueueCreateMutexStatic": "0x00022beb", + "xQueueCreateSet": "0x00022c05", + "xQueueGenericCreate": "0x00022c0d", + "xQueueGenericCreateStatic": "0x00022c59", + "xQueueGenericReset": "0x00022cc1", + "xQueueGenericSend": "0x00022d4d", + "xQueueGenericSendFromISR": "0x00022eb9", + "xQueueGiveFromISR": "0x00022f79", + "xQueueGiveMutexRecursive": "0x0002301d", + "xQueueIsQueueEmptyFromISR": "0x0002305d", + "xQueueIsQueueFullFromISR": "0x00023081", + "xQueuePeek": "0x000230a9", + "xQueuePeekFromISR": "0x000231d1", + "xQueueReceive": "0x0002323d", + "xQueueReceiveFromISR": "0x00023369", + "xQueueRemoveFromSet": "0x000233fd", + "xQueueSelectFromSet": "0x0002341f", + "xQueueSelectFromSetFromISR": "0x00023431", + "xQueueSemaphoreTake": "0x00023445", + "xQueueTakeMutexRecursive": "0x000235b1", + "xTaskCheckForTimeOut": "0x000235f5", + "xTaskCreate": "0x00023665", + "xTaskCreateStatic": "0x000236c1", + "xTaskGetCurrentTaskHandle": "0x00023731", + "xTaskGetSchedulerState": "0x0002373d", + "xTaskGetTickCount": "0x00023759", + "xTaskGetTickCountFromISR": "0x00023765", + "xTaskIncrementTick": "0x00023775", + "xTaskPriorityDisinherit": "0x00023841", + "xTaskPriorityInherit": "0x000238d5", + "xTaskRemoveFromEventList": "0x00023969", + "xTaskResumeAll": "0x000239e9", + "xTaskResumeFromISR": "0x00023ab1", + "xTimerCreate": "0x00023b3d", + "xTimerCreateStatic": "0x00023b71", + "xTimerCreateTimerTask": "0x00023ba9", + "xTimerGenericCommand": "0x00023c15", + "xTimerGetExpiryTime": "0x00023c85", + "xTimerGetTimerDaemonTaskHandle": "0x00023ca5" } \ No newline at end of file diff --git a/bundles/extension/ING9187xx/meta.json b/bundles/extension/ING9187xx/meta.json index 0b209b6eb..b11d076c5 100644 --- a/bundles/extension/ING9187xx/meta.json +++ b/bundles/extension/ING9187xx/meta.json @@ -4,15 +4,15 @@ }, "ram": { "base": 536870912, - "size": 29812 + "size": 29820 }, "rom": { "base": 16384, - "size": 136480 + "size": 136488 }, "version": [ 1, 9, - 12 + 15 ] } \ No newline at end of file diff --git a/bundles/extension/ING9187xx/platform.bin b/bundles/extension/ING9187xx/platform.bin index ec0db730d..c62562692 100644 Binary files a/bundles/extension/ING9187xx/platform.bin and b/bundles/extension/ING9187xx/platform.bin differ diff --git a/bundles/extension/ING9188xx/apis.json b/bundles/extension/ING9188xx/apis.json index dbc8298e3..812ca65c9 100644 --- a/bundles/extension/ING9188xx/apis.json +++ b/bundles/extension/ING9188xx/apis.json @@ -1,352 +1,353 @@ { - "att_dispatch_client_can_send_now": "0x0000588d", - "att_dispatch_client_request_can_send_now_event": "0x00005893", - "att_dispatch_register_client": "0x00005899", - "att_dispatch_register_server": "0x000058ad", - "att_dispatch_server_can_send_now": "0x000058c1", - "att_dispatch_server_request_can_send_now_event": "0x000058c7", - "att_emit_general_event": "0x00005979", - "att_server_can_send_packet_now": "0x0000608d", - "att_server_deferred_read_response": "0x00006091", - "att_server_get_mtu": "0x000060a9", - "att_server_indicate": "0x00006121", - "att_server_init": "0x000061a5", - "att_server_notify": "0x000061e1", - "att_server_register_packet_handler": "0x000062f9", - "att_server_request_can_send_now_event": "0x00006305", - "att_set_db": "0x00006321", - "att_set_read_callback": "0x00006335", - "att_set_write_callback": "0x00006341", - "bd_addr_cmp": "0x000064b1", - "bd_addr_copy": "0x000064b7", - "bd_addr_to_str": "0x000064c1", - "big_endian_read_16": "0x000064f9", - "big_endian_read_32": "0x00006501", - "big_endian_store_16": "0x00006515", - "big_endian_store_32": "0x00006521", - "btstack_config": "0x00006675", - "btstack_memory_pool_create": "0x000067b3", - "btstack_memory_pool_free": "0x000067dd", - "btstack_memory_pool_get": "0x0000683d", - "btstack_push_user_msg": "0x000068a5", - "btstack_push_user_runnable": "0x000068b1", - "char_for_nibble": "0x00006b39", - "eTaskConfirmSleepModeStatus": "0x00006e09", - "gap_add_dev_to_periodic_list": "0x00007499", - "gap_add_whitelist": "0x000074b1", - "gap_aes_encrypt": "0x000074c5", - "gap_clear_white_lists": "0x00007509", - "gap_clr_adv_set": "0x00007519", - "gap_clr_periodic_adv_list": "0x00007529", - "gap_create_connection_cancel": "0x00007539", - "gap_default_periodic_adv_sync_transfer_param": "0x00007549", - "gap_disconnect": "0x00007561", - "gap_disconnect_all": "0x0000758d", - "gap_ext_create_connection": "0x000075cd", - "gap_get_connection_parameter_range": "0x000076bd", - "gap_le_read_channel_map": "0x000076f9", - "gap_periodic_adv_create_sync": "0x0000776d", - "gap_periodic_adv_create_sync_cancel": "0x00007791", - "gap_periodic_adv_set_info_transfer": "0x000077a1", - "gap_periodic_adv_sync_transfer": "0x000077b9", - "gap_periodic_adv_sync_transfer_param": "0x000077d1", - "gap_periodic_adv_term_sync": "0x000077ed", - "gap_read_antenna_info": "0x00007881", - "gap_read_periodic_adv_list_size": "0x00007891", - "gap_read_phy": "0x000078a1", - "gap_read_remote_used_features": "0x000078b5", - "gap_read_remote_version": "0x000078c9", - "gap_read_rssi": "0x000078dd", - "gap_remove_whitelist": "0x000078f1", - "gap_rmv_adv_set": "0x00007975", - "gap_rmv_dev_from_periodic_list": "0x00007989", - "gap_rx_test_v2": "0x000079a1", - "gap_rx_test_v3": "0x000079b9", - "gap_set_adv_set_random_addr": "0x00007a09", - "gap_set_connection_cte_request_enable": "0x00007a55", - "gap_set_connection_cte_response_enable": "0x00007a71", - "gap_set_connection_cte_rx_param": "0x00007a85", - "gap_set_connection_cte_tx_param": "0x00007ae1", - "gap_set_connection_parameter_range": "0x00007b35", - "gap_set_connectionless_cte_tx_enable": "0x00007b4d", - "gap_set_connectionless_cte_tx_param": "0x00007b61", - "gap_set_connectionless_iq_sampling_enable": "0x00007bc1", - "gap_set_data_length": "0x00007c25", - "gap_set_def_phy": "0x00007c41", - "gap_set_ext_adv_data": "0x00007c59", - "gap_set_ext_adv_enable": "0x00007c71", - "gap_set_ext_adv_para": "0x00007ced", - "gap_set_ext_scan_enable": "0x00007dcd", - "gap_set_ext_scan_para": "0x00007de5", - "gap_set_ext_scan_response_data": "0x00007e8d", - "gap_set_host_channel_classification": "0x00007ea5", - "gap_set_periodic_adv_data": "0x00007eb9", - "gap_set_periodic_adv_enable": "0x00007f2d", - "gap_set_periodic_adv_para": "0x00007f41", - "gap_set_periodic_adv_rx_enable": "0x00007f59", - "gap_set_phy": "0x00007f6d", - "gap_set_random_device_address": "0x00007f89", - "gap_start_ccm": "0x00007fb9", - "gap_test_end": "0x00007fed", - "gap_tx_test_v2": "0x00007ffd", - "gap_tx_test_v4": "0x00008015", - "gap_update_connection_parameters": "0x0000803d", - "gap_vendor_tx_continuous_wave": "0x00008081", - "gatt_client_cancel_write": "0x000085a9", - "gatt_client_discover_characteristic_descriptors": "0x000085cf", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x0000860f", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x0000865f", - "gatt_client_discover_characteristics_for_service": "0x000086af", - "gatt_client_discover_primary_services": "0x000086e5", - "gatt_client_discover_primary_services_by_uuid128": "0x00008717", - "gatt_client_discover_primary_services_by_uuid16": "0x0000875b", - "gatt_client_execute_write": "0x00008797", - "gatt_client_find_included_services_for_service": "0x000087bd", - "gatt_client_get_mtu": "0x000087eb", - "gatt_client_is_ready": "0x0000888d", - "gatt_client_listen_for_characteristic_value_updates": "0x000088a3", - "gatt_client_prepare_write": "0x000088c5", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x00008901", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x0000892b", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008931", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x0000895f", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x00008965", - "gatt_client_read_multiple_characteristic_values": "0x00008993", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x000089c3", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x000089f1", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x00008a3d", - "gatt_client_register_handler": "0x00008a89", - "gatt_client_reliable_write_long_value_of_characteristic": "0x00008a95", - "gatt_client_signed_write_without_response": "0x00008ec5", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008f89", - "gatt_client_write_client_characteristic_configuration": "0x00008fc3", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00009015", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00009025", - "gatt_client_write_long_value_of_characteristic": "0x00009061", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x00009071", - "gatt_client_write_value_of_characteristic": "0x000090ad", - "gatt_client_write_value_of_characteristic_without_response": "0x000090e3", - "hci_add_event_handler": "0x0000a625", - "hci_power_control": "0x0000ae1d", - "hci_register_acl_packet_handler": "0x0000afd1", - "kv_commit": "0x0000b54d", - "kv_get": "0x0000b5a5", - "kv_init": "0x0000b5bd", - "kv_put": "0x0000b625", - "kv_remove": "0x0000b69d", - "kv_remove_all": "0x0000b6d9", - "kv_value_modified": "0x0000b71d", - "kv_visit": "0x0000b721", - "l2cap_add_event_handler": "0x0000b7d5", - "l2cap_can_send_packet_now": "0x0000b7e5", - "l2cap_create_le_credit_based_connection_request": "0x0000b9a1", - "l2cap_credit_based_send": "0x0000bae5", - "l2cap_credit_based_send_continue": "0x0000bb11", - "l2cap_disconnect": "0x0000bb8d", - "l2cap_get_le_credit_based_connection_credits": "0x0000bddd", - "l2cap_get_peer_mtu_for_local_cid": "0x0000bdf9", - "l2cap_init": "0x0000c1cd", - "l2cap_le_send_flow_control_credit": "0x0000c2c3", - "l2cap_max_le_mtu": "0x0000c5cd", - "l2cap_register_packet_handler": "0x0000c6f5", - "l2cap_register_service": "0x0000c701", - "l2cap_request_can_send_now_event": "0x0000c811", - "l2cap_request_connection_parameter_update": "0x0000c82b", - "l2cap_send_echo_request": "0x0000ccfd", - "l2cap_unregister_service": "0x0000cdbd", - "le_device_db_add": "0x0000ce15", - "le_device_db_find": "0x0000cee9", - "le_device_db_from_key": "0x0000cf15", - "le_device_db_iter_cur": "0x0000cf1d", - "le_device_db_iter_cur_key": "0x0000cf21", - "le_device_db_iter_init": "0x0000cf25", - "le_device_db_iter_next": "0x0000cf2d", - "le_device_db_remove_key": "0x0000cf53", - "ll_ackable_packet_alloc": "0x0000cf7f", - "ll_ackable_packet_get_status": "0x0000d087", - "ll_ackable_packet_run": "0x0000d0f9", - "ll_ackable_packet_set_tx_data": "0x0000d1a1", - "ll_attach_cte_to_adv_set": "0x0000d1bd", - "ll_free": "0x0000d355", - "ll_hint_on_ce_len": "0x0000d361", - "ll_legacy_adv_set_interval": "0x0000d399", - "ll_lock_frequency": "0x0000d3a9", - "ll_malloc": "0x0000d401", - "ll_query_timing_info": "0x0000d539", - "ll_raw_packet_alloc": "0x0000d585", - "ll_raw_packet_free": "0x0000d659", - "ll_raw_packet_get_bare_rx_data": "0x0000d683", - "ll_raw_packet_get_iq_samples": "0x0000d749", - "ll_raw_packet_get_rx_data": "0x0000d7e3", - "ll_raw_packet_recv": "0x0000d885", - "ll_raw_packet_send": "0x0000d941", - "ll_raw_packet_set_bare_data": "0x0000da29", - "ll_raw_packet_set_bare_mode": "0x0000da67", - "ll_raw_packet_set_fake_cte_info": "0x0000db6d", - "ll_raw_packet_set_param": "0x0000db8f", - "ll_raw_packet_set_rx_cte": "0x0000dbed", - "ll_raw_packet_set_tx_cte": "0x0000dc83", - "ll_raw_packet_set_tx_data": "0x0000dcc1", - "ll_scan_set_fixed_channel": "0x0000dd7d", - "ll_scanner_enable_iq_sampling": "0x0000dd89", - "ll_set_adv_access_address": "0x0000df39", - "ll_set_adv_coded_scheme": "0x0000df45", - "ll_set_conn_coded_scheme": "0x0000df75", - "ll_set_conn_interval_unit": "0x0000dfa1", - "ll_set_conn_latency": "0x0000dfad", - "ll_set_conn_tx_power": "0x0000dfdd", - "ll_set_def_antenna": "0x0000e025", - "ll_set_initiating_coded_scheme": "0x0000e041", - "ll_set_max_conn_number": "0x0000e04d", - "ll_unlock_frequency": "0x0000e0e9", - "nibble_for_char": "0x0001f0b9", - "platform_32k_rc_auto_tune": "0x0001f165", - "platform_32k_rc_tune": "0x0001f1e1", - "platform_calibrate_32k": "0x0001f1f5", - "platform_config": "0x0001f1f9", - "platform_enable_irq": "0x0001f2ed", - "platform_get_current_task": "0x0001f315", - "platform_get_gen_os_driver": "0x0001f339", - "platform_get_heap_status": "0x0001f341", - "platform_get_task_handle": "0x0001f359", - "platform_get_us_time": "0x0001f379", - "platform_get_version": "0x0001f37d", - "platform_hrng": "0x0001f385", - "platform_install_isr_stack": "0x0001f38d", - "platform_install_task_stack": "0x0001f399", - "platform_patch_rf_init_data": "0x0001f3d1", - "platform_printf": "0x0001f3dd", - "platform_raise_assertion": "0x0001f3f1", - "platform_rand": "0x0001f405", - "platform_read_info": "0x0001f409", - "platform_read_persistent_reg": "0x0001f439", - "platform_reset": "0x0001f449", - "platform_set_evt_callback": "0x0001f46d", - "platform_set_evt_callback_table": "0x0001f481", - "platform_set_irq_callback": "0x0001f48d", - "platform_set_irq_callback_table": "0x0001f4a9", - "platform_set_rf_clk_source": "0x0001f4b5", - "platform_set_rf_init_data": "0x0001f4c1", - "platform_set_rf_power_mapping": "0x0001f4cd", - "platform_set_timer": "0x0001f4d9", - "platform_shutdown": "0x0001f4dd", - "platform_switch_app": "0x0001f4e1", - "platform_trace_raw": "0x0001f50d", - "platform_write_persistent_reg": "0x0001f525", - "printf_hexdump": "0x0001f6d9", - "pvPortMalloc": "0x000201c9", - "pvTaskIncrementMutexHeldCount": "0x000202b1", - "pvTimerGetTimerID": "0x000202c9", - "pxPortInitialiseStack": "0x000202f5", - "reverse_128": "0x000204d5", - "reverse_24": "0x000204db", - "reverse_48": "0x000204e1", - "reverse_56": "0x000204e7", - "reverse_64": "0x000204ed", - "reverse_bd_addr": "0x000204f3", - "reverse_bytes": "0x000204f9", - "sm_add_event_handler": "0x000207d9", - "sm_address_resolution_lookup": "0x00020931", - "sm_authenticated": "0x00020c91", - "sm_authorization_decline": "0x00020c9f", - "sm_authorization_grant": "0x00020cbf", - "sm_authorization_state": "0x00020cdf", - "sm_bonding_decline": "0x00020cf9", - "sm_config": "0x00021119", - "sm_config_conn": "0x00021131", - "sm_encryption_key_size": "0x000212e7", - "sm_just_works_confirm": "0x00021821", - "sm_le_device_key": "0x00021b5d", - "sm_passkey_input": "0x00021bf3", - "sm_private_random_address_generation_get": "0x00021fa1", - "sm_private_random_address_generation_get_mode": "0x00021fa9", - "sm_private_random_address_generation_set_mode": "0x00021fb5", - "sm_private_random_address_generation_set_update_period": "0x00021fdd", - "sm_register_oob_data_callback": "0x00022119", - "sm_request_pairing": "0x00022125", - "sm_send_security_request": "0x00022b5f", - "sm_set_accepted_stk_generation_methods": "0x00022b85", - "sm_set_authentication_requirements": "0x00022b91", - "sm_set_encryption_key_size_range": "0x00022b9d", - "sscanf_bd_addr": "0x00022f6d", - "sysSetPublicDeviceAddr": "0x00023321", - "uuid128_to_str": "0x00023a95", - "uuid_add_bluetooth_prefix": "0x00023aed", - "uuid_has_bluetooth_prefix": "0x00023b0d", - "uxListRemove": "0x00023b29", - "uxQueueMessagesWaiting": "0x00023b51", - "uxQueueMessagesWaitingFromISR": "0x00023b79", - "uxQueueSpacesAvailable": "0x00023b95", - "uxTaskGetStackHighWaterMark": "0x00023bc1", - "uxTaskPriorityGet": "0x00023be1", - "uxTaskPriorityGetFromISR": "0x00023bfd", - "vListInitialise": "0x00023cb7", - "vListInitialiseItem": "0x00023ccd", - "vListInsert": "0x00023cd3", - "vListInsertEnd": "0x00023d03", - "vPortEndScheduler": "0x00023d1d", - "vPortEnterCritical": "0x00023d49", - "vPortExitCritical": "0x00023d8d", - "vPortFree": "0x00023dc1", - "vPortSuppressTicksAndSleep": "0x00023e55", - "vPortValidateInterruptPriority": "0x00023f71", - "vQueueDelete": "0x00023fcd", - "vQueueWaitForMessageRestricted": "0x00023ff9", - "vTaskDelay": "0x00024041", - "vTaskInternalSetTimeOutState": "0x0002408d", - "vTaskMissedYield": "0x0002409d", - "vTaskPlaceOnEventList": "0x000240a9", - "vTaskPlaceOnEventListRestricted": "0x000240e1", - "vTaskPriorityDisinheritAfterTimeout": "0x00024121", - "vTaskPrioritySet": "0x000241cd", - "vTaskResume": "0x00024295", - "vTaskStartScheduler": "0x00024319", - "vTaskStepTick": "0x000243a9", - "vTaskSuspend": "0x000243d9", - "vTaskSuspendAll": "0x00024495", - "vTaskSwitchContext": "0x000244a5", - "xPortStartScheduler": "0x0002454d", - "xQueueAddToSet": "0x00024615", - "xQueueCreateCountingSemaphore": "0x00024639", - "xQueueCreateCountingSemaphoreStatic": "0x00024675", - "xQueueCreateMutex": "0x000246b9", - "xQueueCreateMutexStatic": "0x000246cf", - "xQueueCreateSet": "0x000246e9", - "xQueueGenericCreate": "0x000246f1", - "xQueueGenericCreateStatic": "0x0002473d", - "xQueueGenericReset": "0x000247a5", - "xQueueGenericSend": "0x00024831", - "xQueueGenericSendFromISR": "0x0002499d", - "xQueueGiveFromISR": "0x00024a5d", - "xQueueGiveMutexRecursive": "0x00024b01", - "xQueueIsQueueEmptyFromISR": "0x00024b41", - "xQueueIsQueueFullFromISR": "0x00024b65", - "xQueuePeek": "0x00024b8d", - "xQueuePeekFromISR": "0x00024cb5", - "xQueueReceive": "0x00024d21", - "xQueueReceiveFromISR": "0x00024e4d", - "xQueueRemoveFromSet": "0x00024ee1", - "xQueueSelectFromSet": "0x00024f03", - "xQueueSelectFromSetFromISR": "0x00024f15", - "xQueueSemaphoreTake": "0x00024f29", - "xQueueTakeMutexRecursive": "0x00025095", - "xTaskCheckForTimeOut": "0x000250d9", - "xTaskCreate": "0x00025149", - "xTaskCreateStatic": "0x000251a5", - "xTaskGetCurrentTaskHandle": "0x00025215", - "xTaskGetSchedulerState": "0x00025221", - "xTaskGetTickCount": "0x0002523d", - "xTaskGetTickCountFromISR": "0x00025249", - "xTaskIncrementTick": "0x00025259", - "xTaskPriorityDisinherit": "0x00025325", - "xTaskPriorityInherit": "0x000253b9", - "xTaskRemoveFromEventList": "0x0002544d", - "xTaskResumeAll": "0x000254cd", - "xTaskResumeFromISR": "0x00025595", - "xTimerCreate": "0x00025621", - "xTimerCreateStatic": "0x00025655", - "xTimerCreateTimerTask": "0x0002568d", - "xTimerGenericCommand": "0x000256f9", - "xTimerGetExpiryTime": "0x00025769", - "xTimerGetTimerDaemonTaskHandle": "0x00025789" + "att_dispatch_client_can_send_now": "0x00005875", + "att_dispatch_client_request_can_send_now_event": "0x0000587b", + "att_dispatch_register_client": "0x00005881", + "att_dispatch_register_server": "0x00005895", + "att_dispatch_server_can_send_now": "0x000058a9", + "att_dispatch_server_request_can_send_now_event": "0x000058af", + "att_emit_general_event": "0x00005961", + "att_server_can_send_packet_now": "0x00006075", + "att_server_deferred_read_response": "0x00006079", + "att_server_get_mtu": "0x00006091", + "att_server_indicate": "0x00006109", + "att_server_init": "0x0000618d", + "att_server_notify": "0x000061c9", + "att_server_register_packet_handler": "0x000062e1", + "att_server_request_can_send_now_event": "0x000062ed", + "att_set_db": "0x00006309", + "att_set_read_callback": "0x0000631d", + "att_set_write_callback": "0x00006329", + "bd_addr_cmp": "0x00006499", + "bd_addr_copy": "0x0000649f", + "bd_addr_to_str": "0x000064a9", + "big_endian_read_16": "0x000064e1", + "big_endian_read_32": "0x000064e9", + "big_endian_store_16": "0x000064fd", + "big_endian_store_32": "0x00006509", + "btstack_config": "0x0000665d", + "btstack_memory_pool_create": "0x0000679b", + "btstack_memory_pool_free": "0x000067c5", + "btstack_memory_pool_get": "0x00006825", + "btstack_push_user_msg": "0x0000688d", + "btstack_push_user_runnable": "0x00006899", + "char_for_nibble": "0x00006b21", + "eTaskConfirmSleepModeStatus": "0x00006df1", + "gap_add_dev_to_periodic_list": "0x0000748d", + "gap_add_whitelist": "0x0000749d", + "gap_aes_encrypt": "0x000074a9", + "gap_clear_white_lists": "0x000074ed", + "gap_clr_adv_set": "0x000074f9", + "gap_clr_periodic_adv_list": "0x00007505", + "gap_create_connection_cancel": "0x00007511", + "gap_default_periodic_adv_sync_transfer_param": "0x0000751d", + "gap_disconnect": "0x00007535", + "gap_disconnect_all": "0x00007561", + "gap_ext_create_connection": "0x000075a1", + "gap_get_connection_parameter_range": "0x00007691", + "gap_le_read_channel_map": "0x000076cd", + "gap_periodic_adv_create_sync": "0x00007739", + "gap_periodic_adv_create_sync_cancel": "0x0000775d", + "gap_periodic_adv_set_info_transfer": "0x00007769", + "gap_periodic_adv_sync_transfer": "0x00007779", + "gap_periodic_adv_sync_transfer_param": "0x00007789", + "gap_periodic_adv_term_sync": "0x000077a5", + "gap_read_antenna_info": "0x0000782d", + "gap_read_periodic_adv_list_size": "0x00007839", + "gap_read_phy": "0x00007845", + "gap_read_remote_used_features": "0x00007851", + "gap_read_remote_version": "0x0000785d", + "gap_read_rssi": "0x00007869", + "gap_remove_whitelist": "0x00007875", + "gap_rmv_adv_set": "0x000078f1", + "gap_rmv_dev_from_periodic_list": "0x000078fd", + "gap_rx_test_v2": "0x0000790d", + "gap_rx_test_v3": "0x0000791d", + "gap_set_adv_set_random_addr": "0x00007969", + "gap_set_connection_cte_request_enable": "0x000079b1", + "gap_set_connection_cte_response_enable": "0x000079cd", + "gap_set_connection_cte_rx_param": "0x000079dd", + "gap_set_connection_cte_tx_param": "0x00007a39", + "gap_set_connection_parameter_range": "0x00007a8d", + "gap_set_connectionless_cte_tx_enable": "0x00007aa5", + "gap_set_connectionless_cte_tx_param": "0x00007ab5", + "gap_set_connectionless_iq_sampling_enable": "0x00007b15", + "gap_set_data_length": "0x00007b79", + "gap_set_def_phy": "0x00007b91", + "gap_set_ext_adv_data": "0x00007ba1", + "gap_set_ext_adv_enable": "0x00007bb9", + "gap_set_ext_adv_para": "0x00007c35", + "gap_set_ext_scan_enable": "0x00007d0d", + "gap_set_ext_scan_para": "0x00007d25", + "gap_set_ext_scan_response_data": "0x00007dcd", + "gap_set_host_channel_classification": "0x00007de5", + "gap_set_periodic_adv_data": "0x00007df5", + "gap_set_periodic_adv_enable": "0x00007e65", + "gap_set_periodic_adv_para": "0x00007e75", + "gap_set_periodic_adv_rx_enable": "0x00007e8d", + "gap_set_phy": "0x00007e9d", + "gap_set_random_device_address": "0x00007eb9", + "gap_start_ccm": "0x00007ee9", + "gap_test_end": "0x00007f3d", + "gap_tx_test_v2": "0x00007f49", + "gap_tx_test_v4": "0x00007f61", + "gap_update_connection_parameters": "0x00007f85", + "gap_vendor_tx_continuous_wave": "0x00007fc9", + "gatt_client_cancel_write": "0x000084f1", + "gatt_client_discover_characteristic_descriptors": "0x00008517", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x00008557", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x000085a7", + "gatt_client_discover_characteristics_for_service": "0x000085f7", + "gatt_client_discover_primary_services": "0x0000862d", + "gatt_client_discover_primary_services_by_uuid128": "0x0000865f", + "gatt_client_discover_primary_services_by_uuid16": "0x000086a3", + "gatt_client_execute_write": "0x000086df", + "gatt_client_find_included_services_for_service": "0x00008705", + "gatt_client_get_mtu": "0x00008733", + "gatt_client_is_ready": "0x000087d5", + "gatt_client_listen_for_characteristic_value_updates": "0x000087eb", + "gatt_client_prepare_write": "0x0000880d", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x00008849", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x00008873", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008879", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x000088a7", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x000088ad", + "gatt_client_read_multiple_characteristic_values": "0x000088db", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x0000890b", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x00008939", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x00008985", + "gatt_client_register_handler": "0x000089d1", + "gatt_client_reliable_write_long_value_of_characteristic": "0x000089dd", + "gatt_client_signed_write_without_response": "0x00008e0d", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008ed1", + "gatt_client_write_client_characteristic_configuration": "0x00008f0b", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008f5d", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008f6d", + "gatt_client_write_long_value_of_characteristic": "0x00008fa9", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008fb9", + "gatt_client_write_value_of_characteristic": "0x00008ff5", + "gatt_client_write_value_of_characteristic_without_response": "0x0000902b", + "hci_add_event_handler": "0x0000a56d", + "hci_power_control": "0x0000ad65", + "hci_register_acl_packet_handler": "0x0000af19", + "kv_commit": "0x0000b48d", + "kv_get": "0x0000b4e5", + "kv_init": "0x0000b4fd", + "kv_put": "0x0000b565", + "kv_remove": "0x0000b5dd", + "kv_remove_all": "0x0000b619", + "kv_value_modified": "0x0000b65d", + "kv_visit": "0x0000b661", + "l2cap_add_event_handler": "0x0000b715", + "l2cap_can_send_packet_now": "0x0000b725", + "l2cap_create_le_credit_based_connection_request": "0x0000b8e1", + "l2cap_credit_based_send": "0x0000ba25", + "l2cap_credit_based_send_continue": "0x0000ba51", + "l2cap_disconnect": "0x0000bacd", + "l2cap_get_le_credit_based_connection_credits": "0x0000bd1d", + "l2cap_get_peer_mtu_for_local_cid": "0x0000bd39", + "l2cap_init": "0x0000c10d", + "l2cap_le_send_flow_control_credit": "0x0000c203", + "l2cap_max_le_mtu": "0x0000c50d", + "l2cap_register_packet_handler": "0x0000c635", + "l2cap_register_service": "0x0000c641", + "l2cap_request_can_send_now_event": "0x0000c751", + "l2cap_request_connection_parameter_update": "0x0000c76b", + "l2cap_send_echo_request": "0x0000cc3d", + "l2cap_unregister_service": "0x0000ccfd", + "le_device_db_add": "0x0000cd55", + "le_device_db_find": "0x0000ce29", + "le_device_db_from_key": "0x0000ce55", + "le_device_db_iter_cur": "0x0000ce5d", + "le_device_db_iter_cur_key": "0x0000ce61", + "le_device_db_iter_init": "0x0000ce65", + "le_device_db_iter_next": "0x0000ce6d", + "le_device_db_remove_key": "0x0000ce93", + "ll_ackable_packet_alloc": "0x0000cebf", + "ll_ackable_packet_get_status": "0x0000cfc7", + "ll_ackable_packet_run": "0x0000d039", + "ll_ackable_packet_set_tx_data": "0x0000d0e1", + "ll_aes_encrypt": "0x0000d0fd", + "ll_attach_cte_to_adv_set": "0x0000d179", + "ll_free": "0x0000d311", + "ll_hint_on_ce_len": "0x0000d31d", + "ll_legacy_adv_set_interval": "0x0000d355", + "ll_lock_frequency": "0x0000d365", + "ll_malloc": "0x0000d3bd", + "ll_query_timing_info": "0x0000d4f5", + "ll_raw_packet_alloc": "0x0000d541", + "ll_raw_packet_free": "0x0000d615", + "ll_raw_packet_get_bare_rx_data": "0x0000d63f", + "ll_raw_packet_get_iq_samples": "0x0000d705", + "ll_raw_packet_get_rx_data": "0x0000d79f", + "ll_raw_packet_recv": "0x0000d841", + "ll_raw_packet_send": "0x0000d8fd", + "ll_raw_packet_set_bare_data": "0x0000d9e5", + "ll_raw_packet_set_bare_mode": "0x0000da23", + "ll_raw_packet_set_fake_cte_info": "0x0000db29", + "ll_raw_packet_set_param": "0x0000db4b", + "ll_raw_packet_set_rx_cte": "0x0000dba9", + "ll_raw_packet_set_tx_cte": "0x0000dc3f", + "ll_raw_packet_set_tx_data": "0x0000dc7d", + "ll_scan_set_fixed_channel": "0x0000dd39", + "ll_scanner_enable_iq_sampling": "0x0000dd45", + "ll_set_adv_access_address": "0x0000def5", + "ll_set_adv_coded_scheme": "0x0000df01", + "ll_set_conn_coded_scheme": "0x0000df31", + "ll_set_conn_interval_unit": "0x0000df5d", + "ll_set_conn_latency": "0x0000df69", + "ll_set_conn_tx_power": "0x0000df99", + "ll_set_def_antenna": "0x0000dfe1", + "ll_set_initiating_coded_scheme": "0x0000dffd", + "ll_set_max_conn_number": "0x0000e009", + "ll_unlock_frequency": "0x0000e0a5", + "nibble_for_char": "0x0001f089", + "platform_32k_rc_auto_tune": "0x0001f135", + "platform_32k_rc_tune": "0x0001f1b1", + "platform_calibrate_32k": "0x0001f1c5", + "platform_config": "0x0001f1c9", + "platform_enable_irq": "0x0001f2bd", + "platform_get_current_task": "0x0001f2f5", + "platform_get_gen_os_driver": "0x0001f319", + "platform_get_heap_status": "0x0001f321", + "platform_get_task_handle": "0x0001f339", + "platform_get_us_time": "0x0001f359", + "platform_get_version": "0x0001f35d", + "platform_hrng": "0x0001f365", + "platform_install_isr_stack": "0x0001f36d", + "platform_install_task_stack": "0x0001f379", + "platform_patch_rf_init_data": "0x0001f3b1", + "platform_printf": "0x0001f3bd", + "platform_raise_assertion": "0x0001f3d1", + "platform_rand": "0x0001f3e5", + "platform_read_info": "0x0001f3e9", + "platform_read_persistent_reg": "0x0001f419", + "platform_reset": "0x0001f429", + "platform_set_evt_callback": "0x0001f44d", + "platform_set_evt_callback_table": "0x0001f461", + "platform_set_irq_callback": "0x0001f46d", + "platform_set_irq_callback_table": "0x0001f489", + "platform_set_rf_clk_source": "0x0001f495", + "platform_set_rf_init_data": "0x0001f4a1", + "platform_set_rf_power_mapping": "0x0001f4ad", + "platform_set_timer": "0x0001f4b9", + "platform_shutdown": "0x0001f4bd", + "platform_switch_app": "0x0001f4c1", + "platform_trace_raw": "0x0001f4ed", + "platform_write_persistent_reg": "0x0001f505", + "printf_hexdump": "0x0001f6b9", + "pvPortMalloc": "0x000201a9", + "pvTaskIncrementMutexHeldCount": "0x00020291", + "pvTimerGetTimerID": "0x000202a9", + "pxPortInitialiseStack": "0x000202d5", + "reverse_128": "0x000204b5", + "reverse_24": "0x000204bb", + "reverse_48": "0x000204c1", + "reverse_56": "0x000204c7", + "reverse_64": "0x000204cd", + "reverse_bd_addr": "0x000204d3", + "reverse_bytes": "0x000204d9", + "sm_add_event_handler": "0x000207b9", + "sm_address_resolution_lookup": "0x00020911", + "sm_authenticated": "0x00020c71", + "sm_authorization_decline": "0x00020c7f", + "sm_authorization_grant": "0x00020c9f", + "sm_authorization_state": "0x00020cbf", + "sm_bonding_decline": "0x00020cd9", + "sm_config": "0x000210f9", + "sm_config_conn": "0x00021111", + "sm_encryption_key_size": "0x000212c7", + "sm_just_works_confirm": "0x00021801", + "sm_le_device_key": "0x00021b3d", + "sm_passkey_input": "0x00021bd3", + "sm_private_random_address_generation_get": "0x00021f81", + "sm_private_random_address_generation_get_mode": "0x00021f89", + "sm_private_random_address_generation_set_mode": "0x00021f95", + "sm_private_random_address_generation_set_update_period": "0x00021fbd", + "sm_register_oob_data_callback": "0x000220f9", + "sm_request_pairing": "0x00022105", + "sm_send_security_request": "0x00022b3f", + "sm_set_accepted_stk_generation_methods": "0x00022b65", + "sm_set_authentication_requirements": "0x00022b71", + "sm_set_encryption_key_size_range": "0x00022b7d", + "sscanf_bd_addr": "0x00022f4d", + "sysSetPublicDeviceAddr": "0x00023301", + "uuid128_to_str": "0x00023a75", + "uuid_add_bluetooth_prefix": "0x00023acd", + "uuid_has_bluetooth_prefix": "0x00023aed", + "uxListRemove": "0x00023b09", + "uxQueueMessagesWaiting": "0x00023b31", + "uxQueueMessagesWaitingFromISR": "0x00023b59", + "uxQueueSpacesAvailable": "0x00023b75", + "uxTaskGetStackHighWaterMark": "0x00023ba1", + "uxTaskPriorityGet": "0x00023bc1", + "uxTaskPriorityGetFromISR": "0x00023bdd", + "vListInitialise": "0x00023c97", + "vListInitialiseItem": "0x00023cad", + "vListInsert": "0x00023cb3", + "vListInsertEnd": "0x00023ce3", + "vPortEndScheduler": "0x00023cfd", + "vPortEnterCritical": "0x00023d29", + "vPortExitCritical": "0x00023d6d", + "vPortFree": "0x00023da1", + "vPortSuppressTicksAndSleep": "0x00023e35", + "vPortValidateInterruptPriority": "0x00023f51", + "vQueueDelete": "0x00023fad", + "vQueueWaitForMessageRestricted": "0x00023fd9", + "vTaskDelay": "0x00024021", + "vTaskInternalSetTimeOutState": "0x0002406d", + "vTaskMissedYield": "0x0002407d", + "vTaskPlaceOnEventList": "0x00024089", + "vTaskPlaceOnEventListRestricted": "0x000240c1", + "vTaskPriorityDisinheritAfterTimeout": "0x00024101", + "vTaskPrioritySet": "0x000241ad", + "vTaskResume": "0x00024275", + "vTaskStartScheduler": "0x000242f9", + "vTaskStepTick": "0x00024389", + "vTaskSuspend": "0x000243b9", + "vTaskSuspendAll": "0x00024475", + "vTaskSwitchContext": "0x00024485", + "xPortStartScheduler": "0x0002452d", + "xQueueAddToSet": "0x000245f5", + "xQueueCreateCountingSemaphore": "0x00024619", + "xQueueCreateCountingSemaphoreStatic": "0x00024655", + "xQueueCreateMutex": "0x00024699", + "xQueueCreateMutexStatic": "0x000246af", + "xQueueCreateSet": "0x000246c9", + "xQueueGenericCreate": "0x000246d1", + "xQueueGenericCreateStatic": "0x0002471d", + "xQueueGenericReset": "0x00024785", + "xQueueGenericSend": "0x00024811", + "xQueueGenericSendFromISR": "0x0002497d", + "xQueueGiveFromISR": "0x00024a3d", + "xQueueGiveMutexRecursive": "0x00024ae1", + "xQueueIsQueueEmptyFromISR": "0x00024b21", + "xQueueIsQueueFullFromISR": "0x00024b45", + "xQueuePeek": "0x00024b6d", + "xQueuePeekFromISR": "0x00024c95", + "xQueueReceive": "0x00024d01", + "xQueueReceiveFromISR": "0x00024e2d", + "xQueueRemoveFromSet": "0x00024ec1", + "xQueueSelectFromSet": "0x00024ee3", + "xQueueSelectFromSetFromISR": "0x00024ef5", + "xQueueSemaphoreTake": "0x00024f09", + "xQueueTakeMutexRecursive": "0x00025075", + "xTaskCheckForTimeOut": "0x000250b9", + "xTaskCreate": "0x00025129", + "xTaskCreateStatic": "0x00025185", + "xTaskGetCurrentTaskHandle": "0x000251f5", + "xTaskGetSchedulerState": "0x00025201", + "xTaskGetTickCount": "0x0002521d", + "xTaskGetTickCountFromISR": "0x00025229", + "xTaskIncrementTick": "0x00025239", + "xTaskPriorityDisinherit": "0x00025305", + "xTaskPriorityInherit": "0x00025399", + "xTaskRemoveFromEventList": "0x0002542d", + "xTaskResumeAll": "0x000254ad", + "xTaskResumeFromISR": "0x00025575", + "xTimerCreate": "0x00025601", + "xTimerCreateStatic": "0x00025635", + "xTimerCreateTimerTask": "0x0002566d", + "xTimerGenericCommand": "0x000256d9", + "xTimerGetExpiryTime": "0x00025749", + "xTimerGetTimerDaemonTaskHandle": "0x00025769" } \ No newline at end of file diff --git a/bundles/extension/ING9188xx/meta.json b/bundles/extension/ING9188xx/meta.json index eaebe3398..d210808c4 100644 --- a/bundles/extension/ING9188xx/meta.json +++ b/bundles/extension/ING9188xx/meta.json @@ -4,15 +4,15 @@ }, "ram": { "base": 536870912, - "size": 29812 + "size": 29820 }, "rom": { "base": 16384, - "size": 143828 + "size": 143796 }, "version": [ 1, 9, - 12 + 15 ] } \ No newline at end of file diff --git a/bundles/extension/ING9188xx/platform.bin b/bundles/extension/ING9188xx/platform.bin index cf6735490..9463b3498 100644 Binary files a/bundles/extension/ING9188xx/platform.bin and b/bundles/extension/ING9188xx/platform.bin differ diff --git a/bundles/extension/inc/gap.h b/bundles/extension/inc/gap.h index 413b9423a..cc0896b57 100644 --- a/bundles/extension/inc/gap.h +++ b/bundles/extension/inc/gap.h @@ -47,14 +47,15 @@ typedef enum scan_type * @brief set random address device * * @param address random address + * @return 0: Message is sent to controller; others: failed */ -void gap_set_random_device_address(const uint8_t *address); +uint8_t gap_set_random_device_address(const uint8_t *address); /** * @brief Disconnect connection with handle * * @param handle Used to identify an advertising set. Range: 0x00 to 0xEF - * @return 0: Message is sent out or the connection alreay release + * @return 0: Message is sent out or the connection already release */ uint8_t gap_disconnect(hci_con_handle_t handle); @@ -67,7 +68,7 @@ void gap_disconnect_all(void); * * @param[in] address BLE address * @param[in] addtype BLE address type - * @return 0: Message is sent to controller + * @return 0: Message is sent to controller */ uint8_t gap_add_whitelist(const uint8_t *address,bd_addr_type_t addtype); @@ -1326,30 +1327,27 @@ uint8_t gap_vendor_tx_continuous_wave(uint8_t enable, uint8_t power_level_index, #define HCI_VENDOR_CCM 0xFC01 /** - * @brief host require controller to do AES-CCM functionality, and CCM referece to + * @brief Host require controller to do AES-CCM functionality, and CCM reference to * the document rfc3610:Counter with CBC-MAC (CCM) * - * @param type 0: encrypt 1:decrypt - * - * @param mic_size 8: mic size in 8 bytes 4: mic size in 4 bytes - * - * @param msg_len messge length to be encrypt or decrypt - * - * @param aad_len Additional authenticated data length - * - * @param tag a value to identify a AES-CCM request. - * - * @param key 128 bits long key as required by AES-CCM - * - * @param nonce random value of each AES-CCM require 13 bytes long - * - * @param msg pointer to the message input + * All input buffers (key, nonce, msg, aad) must be kept in memory until AES-CCM completed. * - * @param aad Additional authenticated data + * `return_param` passed to `cb` is casted from `event_vendor_ccm_complete_t`. * - * @param out_msg the output buffer to store the result of the AES-CCM ,calculated by controller. + * @param[in] type 0: encrypt 1:decrypt + * @param[in] mic_size 8: mic size in 8 bytes 4: mic size in 4 bytes + * @param[in] msg_len message length to be encrypt or decrypt (<= 384 bytes) + * @param[in] aad_len Additional authenticated data length (<= 16 bytes) + * @param[in] tag a value to identify a AES-CCM request. + * @param[in] key 128 bits long key as required by AES-CCM + * @param[in] nonce random value of each AES-CCM require 13 bytes long + * @param[in] msg pointer to the message input + * @param[in] aad Additional authenticated data + * @param[out] out_msg the output buffer to store the result of the AES-CCM + * @param[in] cb callback function on the corresponding command complete event + * @param[in] user_data user data for the callback function * - * @return 0: success others: failed + * @return 0: success others: failed */ uint8_t gap_start_ccm( uint8_t type, // 0: encrypt 1: decrypt @@ -1357,11 +1355,13 @@ uint8_t gap_start_ccm( uint16_t msg_len, uint16_t aad_len, uint32_t tag, // same value will be reported in event - uint8_t *key, - uint8_t *nonce, - uint8_t *msg, - uint8_t *aad, - uint8_t *out_msg); + const uint8_t *key, + const uint8_t *nonce, + const uint8_t *msg, + const uint8_t *aad, + uint8_t *out_msg, + gap_hci_cmd_complete_cb_t cb, + void *user_data); //HCI func interface diff --git a/bundles/extension/inc/ll_api.h b/bundles/extension/inc/ll_api.h index 41dfbe74f..e3030014e 100644 --- a/bundles/extension/inc/ll_api.h +++ b/bundles/extension/inc/ll_api.h @@ -118,6 +118,52 @@ void ll_set_conn_coded_scheme(uint16_t conn_handle, int ci); */ void ll_set_conn_latency(uint16_t conn_handle, int latency); +/** + **************************************************************************************** + * @brief Get connection basic information of a connection + * + * @param[in] conn_handle handle of an existing connection + * @param[out] access_addr Access address + * @param[out] crc_init CRC init value + * @param[out] interval interval (unit: us) + * @return 0 if successful else non-0 + **************************************************************************************** + */ +// int ll_get_conn_info(const uint16_t conn_handle, +// uint32_t *access_addr, +// uint32_t *crc_init, +// uint32_t *interval); +// WARNING: ^^^ this API is not available in this release + + +/** + **************************************************************************************** + * @brief Get information of upcoming connection events of a connection + * + * Information of consecutive N connection events after `from_time` can be retrieved, + * where N = `number`. + * + * Sub-rating is ignored. If channel map updated within these events, then `channel_ids` + * are not reliable. + * + * @param[in] conn_handle handle of an existing connection + * @param[in] number number of connection events to be queried + * @param[in] from_time the first connection event shall be after `from_time` (unit: us) + * @param[out] time_offset time offset between the start of the first connection event and `from_time` (unit: us) + * @param[out] event_count connection event count of the first connection event + * @param[out] channel_ids physical channel IDs of the upcoming `number` connection events + * @return 0 if successful else non-0 + **************************************************************************************** + */ +// int ll_get_conn_events_info(const uint16_t conn_handle, +// int number, +// uint64_t from_time, +// uint32_t *time_offset, +// uint16_t *event_count, +// uint8_t *channel_ids); +// WARNING: ^^^ this API is not available in this release + + /** **************************************************************************************** * @brief Set default antenna ID @@ -737,6 +783,21 @@ typedef int (*f_start_generate_dhkey)(int key_type, const uint8_t *remote_pub_k // f_start_generate_dhkey start_generate_dhkey); // WARNING: ^^^ this API is not available in this release + +/** + **************************************************************************************** + * @brief Low level AES encryption in blocking mode + * + * @param[in] key key (little-endian) + * @param[in] plaintext plaintext (little-endian) + * @param[out] ciphertext ciphertext (big-endian) + * @return 0 if completed successfully; non-0 if hardware is not ready or busy + * When non-0 is returned, it is possible to retry later. + **************************************************************************************** + */ +int ll_aes_encrypt(const uint8_t *key, const uint8_t *plaintext, + uint8_t *ciphertext); + #ifdef __cplusplus } #endif diff --git a/bundles/mass_conn/ING9168xx/apis.json b/bundles/mass_conn/ING9168xx/apis.json index 6448295db..0355537f4 100644 --- a/bundles/mass_conn/ING9168xx/apis.json +++ b/bundles/mass_conn/ING9168xx/apis.json @@ -1,330 +1,331 @@ { - "att_dispatch_client_can_send_now": "0x02004461", - "att_dispatch_client_request_can_send_now_event": "0x02004467", - "att_dispatch_register_client": "0x0200446d", - "att_dispatch_register_server": "0x02004481", - "att_dispatch_server_can_send_now": "0x02004495", - "att_dispatch_server_request_can_send_now_event": "0x0200449b", - "att_emit_general_event": "0x0200454d", - "att_server_can_send_packet_now": "0x02004c69", - "att_server_deferred_read_response": "0x02004c6d", - "att_server_get_mtu": "0x02004c85", - "att_server_indicate": "0x02004cfd", - "att_server_init": "0x02004d81", - "att_server_notify": "0x02004dbd", - "att_server_register_packet_handler": "0x02004ed5", - "att_server_request_can_send_now_event": "0x02004ee1", - "att_set_db": "0x02004efd", - "att_set_read_callback": "0x02004f11", - "att_set_write_callback": "0x02004f1d", - "bd_addr_cmp": "0x02005105", - "bd_addr_copy": "0x0200510b", - "bd_addr_to_str": "0x02005115", - "big_endian_read_16": "0x0200514d", - "big_endian_read_32": "0x02005155", - "big_endian_store_16": "0x02005169", - "big_endian_store_32": "0x02005175", - "btstack_config": "0x020052d5", - "btstack_memory_pool_create": "0x02005413", - "btstack_memory_pool_free": "0x0200543d", - "btstack_memory_pool_get": "0x0200549d", - "btstack_push_user_msg": "0x02005505", - "btstack_push_user_runnable": "0x02005511", - "char_for_nibble": "0x020057af", - "eTaskConfirmSleepModeStatus": "0x02005afd", - "gap_add_dev_to_periodic_list": "0x02006191", - "gap_add_whitelist": "0x020061a9", - "gap_aes_encrypt": "0x020061bd", - "gap_clear_white_lists": "0x02006201", - "gap_clr_adv_set": "0x02006211", - "gap_clr_periodic_adv_list": "0x02006221", - "gap_create_connection_cancel": "0x02006231", - "gap_default_periodic_adv_sync_transfer_param": "0x02006241", - "gap_disconnect": "0x02006259", - "gap_disconnect_all": "0x02006285", - "gap_ext_create_connection": "0x020062c5", - "gap_get_connection_parameter_range": "0x020063b5", - "gap_le_read_channel_map": "0x020063f1", - "gap_periodic_adv_create_sync": "0x02006465", - "gap_periodic_adv_create_sync_cancel": "0x02006489", - "gap_periodic_adv_set_info_transfer": "0x02006499", - "gap_periodic_adv_sync_transfer": "0x020064b1", - "gap_periodic_adv_sync_transfer_param": "0x020064c9", - "gap_periodic_adv_term_sync": "0x020064e5", - "gap_read_antenna_info": "0x02006579", - "gap_read_periodic_adv_list_size": "0x02006589", - "gap_read_phy": "0x02006599", - "gap_read_remote_used_features": "0x020065ad", - "gap_read_remote_version": "0x020065c1", - "gap_read_rssi": "0x020065d5", - "gap_remove_whitelist": "0x020065e9", - "gap_rmv_adv_set": "0x0200666d", - "gap_rmv_dev_from_periodic_list": "0x02006681", - "gap_rx_test_v2": "0x02006699", - "gap_rx_test_v3": "0x020066b1", - "gap_set_adv_set_random_addr": "0x02006701", - "gap_set_connection_cte_request_enable": "0x0200674d", - "gap_set_connection_cte_response_enable": "0x02006769", - "gap_set_connection_cte_rx_param": "0x0200677d", - "gap_set_connection_cte_tx_param": "0x020067d9", - "gap_set_connection_parameter_range": "0x0200682d", - "gap_set_connectionless_cte_tx_enable": "0x02006845", - "gap_set_connectionless_cte_tx_param": "0x02006859", - "gap_set_connectionless_iq_sampling_enable": "0x020068b9", - "gap_set_data_length": "0x0200691d", - "gap_set_def_phy": "0x02006939", - "gap_set_ext_adv_data": "0x02006951", - "gap_set_ext_adv_enable": "0x02006969", - "gap_set_ext_adv_para": "0x020069e5", - "gap_set_ext_scan_enable": "0x02006abd", - "gap_set_ext_scan_para": "0x02006ad5", - "gap_set_ext_scan_response_data": "0x02006b7d", - "gap_set_host_channel_classification": "0x02006b95", - "gap_set_periodic_adv_data": "0x02006ba9", - "gap_set_periodic_adv_enable": "0x02006c1d", - "gap_set_periodic_adv_para": "0x02006c31", - "gap_set_periodic_adv_rx_enable": "0x02006c49", - "gap_set_phy": "0x02006c5d", - "gap_set_random_device_address": "0x02006c79", - "gap_start_ccm": "0x02006ca9", - "gap_test_end": "0x02006cdd", - "gap_tx_test_v2": "0x02006ced", - "gap_tx_test_v4": "0x02006d05", - "gap_update_connection_parameters": "0x02006d2d", - "gap_vendor_tx_continuous_wave": "0x02006d71", - "gatt_client_cancel_write": "0x02007299", - "gatt_client_discover_characteristic_descriptors": "0x020072bf", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x020072ff", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x0200734f", - "gatt_client_discover_characteristics_for_service": "0x0200739f", - "gatt_client_discover_primary_services": "0x020073d5", - "gatt_client_discover_primary_services_by_uuid128": "0x02007407", - "gatt_client_discover_primary_services_by_uuid16": "0x0200744b", - "gatt_client_execute_write": "0x02007489", - "gatt_client_find_included_services_for_service": "0x020074af", - "gatt_client_get_mtu": "0x020074dd", - "gatt_client_is_ready": "0x020075a1", - "gatt_client_listen_for_characteristic_value_updates": "0x020075b7", - "gatt_client_prepare_write": "0x020075d9", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x02007615", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x0200763f", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x02007645", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x02007673", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x02007679", - "gatt_client_read_multiple_characteristic_values": "0x020076a7", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x020076d7", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x02007705", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x02007751", - "gatt_client_register_handler": "0x0200779d", - "gatt_client_reliable_write_long_value_of_characteristic": "0x020077a9", - "gatt_client_signed_write_without_response": "0x02007bdd", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x02007ca1", - "gatt_client_write_client_characteristic_configuration": "0x02007cdb", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x02007d2d", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x02007d3d", - "gatt_client_write_long_value_of_characteristic": "0x02007d79", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x02007d89", - "gatt_client_write_value_of_characteristic": "0x02007dc5", - "gatt_client_write_value_of_characteristic_without_response": "0x02007dfb", - "hci_add_event_handler": "0x020093f1", - "hci_power_control": "0x02009bf1", - "hci_register_acl_packet_handler": "0x02009da5", - "kv_commit": "0x0200a2e1", - "kv_get": "0x0200a339", - "kv_init": "0x0200a351", - "kv_put": "0x0200a3b9", - "kv_remove": "0x0200a431", - "kv_remove_all": "0x0200a46d", - "kv_value_modified": "0x0200a4b1", - "kv_visit": "0x0200a4b5", - "l2cap_add_event_handler": "0x0200a569", - "l2cap_can_send_packet_now": "0x0200a579", - "l2cap_create_le_credit_based_connection_request": "0x0200a73d", - "l2cap_credit_based_send": "0x0200a885", - "l2cap_credit_based_send_continue": "0x0200a8b1", - "l2cap_disconnect": "0x0200a92d", - "l2cap_get_le_credit_based_connection_credits": "0x0200ab19", - "l2cap_get_peer_mtu_for_local_cid": "0x0200ab35", - "l2cap_init": "0x0200af75", - "l2cap_le_send_flow_control_credit": "0x0200b06b", - "l2cap_max_le_mtu": "0x0200b379", - "l2cap_register_packet_handler": "0x0200b4a1", - "l2cap_register_service": "0x0200b4ad", - "l2cap_request_can_send_now_event": "0x0200b5bd", - "l2cap_request_connection_parameter_update": "0x0200b5d7", - "l2cap_send_echo_request": "0x0200bab9", - "l2cap_unregister_service": "0x0200bb99", - "le_device_db_add": "0x0200bbf1", - "le_device_db_find": "0x0200bcc5", - "le_device_db_from_key": "0x0200bcf1", - "le_device_db_iter_cur": "0x0200bcf9", - "le_device_db_iter_cur_key": "0x0200bcfd", - "le_device_db_iter_init": "0x0200bd01", - "le_device_db_iter_next": "0x0200bd09", - "le_device_db_remove_key": "0x0200bd2f", - "ll_adjust_conn_peer_tx_power": "0x0200bd5d", - "ll_free": "0x0200bd89", - "ll_hint_on_ce_len": "0x0200bd95", - "ll_legacy_adv_set_interval": "0x0200bdcd", - "ll_malloc": "0x0200bddd", - "ll_scan_set_fixed_channel": "0x0200bf4d", - "ll_set_adv_access_address": "0x0200c061", - "ll_set_adv_coded_scheme": "0x0200c06d", - "ll_set_conn_coded_scheme": "0x0200c0a5", - "ll_set_conn_latency": "0x0200c0d1", - "ll_set_conn_tx_power": "0x0200c101", - "ll_set_def_antenna": "0x0200c13d", - "ll_set_initiating_coded_scheme": "0x0200c15d", - "ll_set_max_conn_number": "0x0200c169", - "ll_set_tx_power_range": "0x0200c205", - "nibble_for_char": "0x0201ea19", - "platform_32k_rc_auto_tune": "0x0201eac5", - "platform_32k_rc_tune": "0x0201eb11", - "platform_calibrate_32k": "0x0201eb2d", - "platform_config": "0x0201eb31", - "platform_enable_irq": "0x0201ec39", - "platform_get_current_task": "0x0201ec61", - "platform_get_gen_os_driver": "0x0201ec85", - "platform_get_heap_status": "0x0201ec8d", - "platform_get_task_handle": "0x0201eca5", - "platform_get_us_time": "0x0201ecc5", - "platform_get_version": "0x0201ecc9", - "platform_hrng": "0x0201ecd1", - "platform_install_isr_stack": "0x0201ecd9", - "platform_install_task_stack": "0x0201ece5", - "platform_patch_rf_init_data": "0x0201ed1d", - "platform_printf": "0x0201ed29", - "platform_raise_assertion": "0x0201ed3d", - "platform_rand": "0x0201ed51", - "platform_read_info": "0x0201ed55", - "platform_read_persistent_reg": "0x0201ed85", - "platform_reset": "0x0201ed91", - "platform_set_evt_callback": "0x0201eda5", - "platform_set_evt_callback_table": "0x0201edb9", - "platform_set_irq_callback": "0x0201edc5", - "platform_set_irq_callback_table": "0x0201ede1", - "platform_set_rf_clk_source": "0x0201eded", - "platform_set_rf_init_data": "0x0201edf9", - "platform_set_rf_power_mapping": "0x0201ee05", - "platform_set_timer": "0x0201ee11", - "platform_shutdown": "0x0201ee15", - "platform_switch_app": "0x0201ee19", - "platform_trace_raw": "0x0201ee31", - "platform_write_persistent_reg": "0x0201ee49", - "printf_hexdump": "0x0201f001", - "pvPortMalloc": "0x0201fad5", - "pvTaskIncrementMutexHeldCount": "0x0201fbbd", - "pvTimerGetTimerID": "0x0201fbd5", - "pxPortInitialiseStack": "0x0201fc01", - "reverse_128": "0x0201fde9", - "reverse_24": "0x0201fdef", - "reverse_48": "0x0201fdf5", - "reverse_56": "0x0201fdfb", - "reverse_64": "0x0201fe01", - "reverse_bd_addr": "0x0201fe07", - "reverse_bytes": "0x0201fe0d", - "sm_add_event_handler": "0x02020129", - "sm_address_resolution_lookup": "0x02020281", - "sm_authenticated": "0x020205e1", - "sm_authorization_decline": "0x020205ef", - "sm_authorization_grant": "0x0202060f", - "sm_authorization_state": "0x0202062f", - "sm_bonding_decline": "0x02020649", - "sm_config": "0x02020a61", - "sm_config_conn": "0x02020a79", - "sm_encryption_key_size": "0x02020c2f", - "sm_just_works_confirm": "0x02021169", - "sm_le_device_key": "0x020214a5", - "sm_passkey_input": "0x0202153b", - "sm_private_random_address_generation_get": "0x020218e9", - "sm_private_random_address_generation_get_mode": "0x020218f1", - "sm_private_random_address_generation_set_mode": "0x020218fd", - "sm_private_random_address_generation_set_update_period": "0x02021925", - "sm_register_oob_data_callback": "0x02021a61", - "sm_request_pairing": "0x02021a6d", - "sm_send_security_request": "0x020224ab", - "sm_set_accepted_stk_generation_methods": "0x020224d1", - "sm_set_authentication_requirements": "0x020224dd", - "sm_set_encryption_key_size_range": "0x020224e9", - "sscanf_bd_addr": "0x02022849", - "sysSetPublicDeviceAddr": "0x02022cb5", - "uuid128_to_str": "0x02023461", - "uuid_add_bluetooth_prefix": "0x020234b9", - "uuid_has_bluetooth_prefix": "0x020234d9", - "uxListRemove": "0x020234f5", - "uxQueueMessagesWaiting": "0x0202351d", - "uxQueueMessagesWaitingFromISR": "0x02023545", - "uxQueueSpacesAvailable": "0x02023561", - "uxTaskGetStackHighWaterMark": "0x0202358d", - "uxTaskPriorityGet": "0x020235ad", - "uxTaskPriorityGetFromISR": "0x020235c9", - "vListInitialise": "0x0202366f", - "vListInitialiseItem": "0x02023685", - "vListInsert": "0x0202368b", - "vListInsertEnd": "0x020236bb", - "vPortEndScheduler": "0x020236d5", - "vPortEnterCritical": "0x02023701", - "vPortExitCritical": "0x02023745", - "vPortFree": "0x02023779", - "vPortSuppressTicksAndSleep": "0x0202381d", - "vPortValidateInterruptPriority": "0x02023945", - "vQueueDelete": "0x020239a1", - "vQueueWaitForMessageRestricted": "0x020239cd", - "vTaskDelay": "0x02023a11", - "vTaskInternalSetTimeOutState": "0x02023a5d", - "vTaskMissedYield": "0x02023a6d", - "vTaskPlaceOnEventList": "0x02023a79", - "vTaskPlaceOnEventListRestricted": "0x02023ab1", - "vTaskPriorityDisinheritAfterTimeout": "0x02023af1", - "vTaskPrioritySet": "0x02023b9d", - "vTaskResume": "0x02023c65", - "vTaskStartScheduler": "0x02023ce9", - "vTaskStepTick": "0x02023d79", - "vTaskSuspend": "0x02023da9", - "vTaskSuspendAll": "0x02023e65", - "vTaskSwitchContext": "0x02023e75", - "xPortStartScheduler": "0x02023f1d", - "xQueueAddToSet": "0x02024021", - "xQueueCreateCountingSemaphore": "0x02024045", - "xQueueCreateCountingSemaphoreStatic": "0x02024081", - "xQueueCreateMutex": "0x020240c5", - "xQueueCreateMutexStatic": "0x020240db", - "xQueueCreateSet": "0x020240f5", - "xQueueGenericCreate": "0x020240fd", - "xQueueGenericCreateStatic": "0x02024149", - "xQueueGenericReset": "0x020241b1", - "xQueueGenericSend": "0x0202423d", - "xQueueGenericSendFromISR": "0x020243a9", - "xQueueGiveFromISR": "0x02024469", - "xQueueGiveMutexRecursive": "0x0202450d", - "xQueueIsQueueEmptyFromISR": "0x0202454d", - "xQueueIsQueueFullFromISR": "0x02024571", - "xQueuePeek": "0x02024599", - "xQueuePeekFromISR": "0x020246c1", - "xQueueReceive": "0x0202472d", - "xQueueReceiveFromISR": "0x02024859", - "xQueueRemoveFromSet": "0x020248ed", - "xQueueSelectFromSet": "0x0202490f", - "xQueueSelectFromSetFromISR": "0x02024921", - "xQueueSemaphoreTake": "0x02024935", - "xQueueTakeMutexRecursive": "0x02024aa1", - "xTaskCheckForTimeOut": "0x02024ae5", - "xTaskCreate": "0x02024b55", - "xTaskCreateStatic": "0x02024bb1", - "xTaskGetCurrentTaskHandle": "0x02024c21", - "xTaskGetSchedulerState": "0x02024c2d", - "xTaskGetTickCount": "0x02024c49", - "xTaskGetTickCountFromISR": "0x02024c55", - "xTaskIncrementTick": "0x02024c65", - "xTaskPriorityDisinherit": "0x02024d31", - "xTaskPriorityInherit": "0x02024dc5", - "xTaskRemoveFromEventList": "0x02024e59", - "xTaskResumeAll": "0x02024ed9", - "xTaskResumeFromISR": "0x02024fa1", - "xTimerCreate": "0x0202502d", - "xTimerCreateStatic": "0x02025061", - "xTimerCreateTimerTask": "0x02025099", - "xTimerGenericCommand": "0x02025105", - "xTimerGetExpiryTime": "0x02025175", - "xTimerGetTimerDaemonTaskHandle": "0x02025195" + "att_dispatch_client_can_send_now": "0x02004449", + "att_dispatch_client_request_can_send_now_event": "0x0200444f", + "att_dispatch_register_client": "0x02004455", + "att_dispatch_register_server": "0x02004469", + "att_dispatch_server_can_send_now": "0x0200447d", + "att_dispatch_server_request_can_send_now_event": "0x02004483", + "att_emit_general_event": "0x02004535", + "att_server_can_send_packet_now": "0x02004c51", + "att_server_deferred_read_response": "0x02004c55", + "att_server_get_mtu": "0x02004c6d", + "att_server_indicate": "0x02004ce5", + "att_server_init": "0x02004d69", + "att_server_notify": "0x02004da5", + "att_server_register_packet_handler": "0x02004ebd", + "att_server_request_can_send_now_event": "0x02004ec9", + "att_set_db": "0x02004ee5", + "att_set_read_callback": "0x02004ef9", + "att_set_write_callback": "0x02004f05", + "bd_addr_cmp": "0x020050ed", + "bd_addr_copy": "0x020050f3", + "bd_addr_to_str": "0x020050fd", + "big_endian_read_16": "0x02005135", + "big_endian_read_32": "0x0200513d", + "big_endian_store_16": "0x02005151", + "big_endian_store_32": "0x0200515d", + "btstack_config": "0x020052bd", + "btstack_memory_pool_create": "0x020053fb", + "btstack_memory_pool_free": "0x02005425", + "btstack_memory_pool_get": "0x02005485", + "btstack_push_user_msg": "0x020054ed", + "btstack_push_user_runnable": "0x020054f9", + "char_for_nibble": "0x02005797", + "eTaskConfirmSleepModeStatus": "0x02005ae5", + "gap_add_dev_to_periodic_list": "0x02006189", + "gap_add_whitelist": "0x02006199", + "gap_aes_encrypt": "0x020061a5", + "gap_clear_white_lists": "0x020061e9", + "gap_clr_adv_set": "0x020061f5", + "gap_clr_periodic_adv_list": "0x02006201", + "gap_create_connection_cancel": "0x0200620d", + "gap_default_periodic_adv_sync_transfer_param": "0x02006219", + "gap_disconnect": "0x02006231", + "gap_disconnect_all": "0x0200625d", + "gap_ext_create_connection": "0x0200629d", + "gap_get_connection_parameter_range": "0x0200638d", + "gap_le_read_channel_map": "0x020063c9", + "gap_periodic_adv_create_sync": "0x02006435", + "gap_periodic_adv_create_sync_cancel": "0x02006459", + "gap_periodic_adv_set_info_transfer": "0x02006465", + "gap_periodic_adv_sync_transfer": "0x02006475", + "gap_periodic_adv_sync_transfer_param": "0x02006485", + "gap_periodic_adv_term_sync": "0x020064a1", + "gap_read_antenna_info": "0x02006529", + "gap_read_periodic_adv_list_size": "0x02006535", + "gap_read_phy": "0x02006541", + "gap_read_remote_used_features": "0x0200654d", + "gap_read_remote_version": "0x02006559", + "gap_read_rssi": "0x02006565", + "gap_remove_whitelist": "0x02006571", + "gap_rmv_adv_set": "0x020065ed", + "gap_rmv_dev_from_periodic_list": "0x020065f9", + "gap_rx_test_v2": "0x02006609", + "gap_rx_test_v3": "0x02006619", + "gap_set_adv_set_random_addr": "0x02006665", + "gap_set_connection_cte_request_enable": "0x020066ad", + "gap_set_connection_cte_response_enable": "0x020066c9", + "gap_set_connection_cte_rx_param": "0x020066d9", + "gap_set_connection_cte_tx_param": "0x02006735", + "gap_set_connection_parameter_range": "0x02006789", + "gap_set_connectionless_cte_tx_enable": "0x020067a1", + "gap_set_connectionless_cte_tx_param": "0x020067b1", + "gap_set_connectionless_iq_sampling_enable": "0x02006811", + "gap_set_data_length": "0x02006875", + "gap_set_def_phy": "0x0200688d", + "gap_set_ext_adv_data": "0x0200689d", + "gap_set_ext_adv_enable": "0x020068b5", + "gap_set_ext_adv_para": "0x02006931", + "gap_set_ext_scan_enable": "0x02006a01", + "gap_set_ext_scan_para": "0x02006a19", + "gap_set_ext_scan_response_data": "0x02006ac1", + "gap_set_host_channel_classification": "0x02006ad9", + "gap_set_periodic_adv_data": "0x02006ae9", + "gap_set_periodic_adv_enable": "0x02006b59", + "gap_set_periodic_adv_para": "0x02006b69", + "gap_set_periodic_adv_rx_enable": "0x02006b81", + "gap_set_phy": "0x02006b91", + "gap_set_random_device_address": "0x02006bad", + "gap_start_ccm": "0x02006bdd", + "gap_test_end": "0x02006c31", + "gap_tx_test_v2": "0x02006c3d", + "gap_tx_test_v4": "0x02006c55", + "gap_update_connection_parameters": "0x02006c79", + "gap_vendor_tx_continuous_wave": "0x02006cbd", + "gatt_client_cancel_write": "0x020071e5", + "gatt_client_discover_characteristic_descriptors": "0x0200720b", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x0200724b", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x0200729b", + "gatt_client_discover_characteristics_for_service": "0x020072eb", + "gatt_client_discover_primary_services": "0x02007321", + "gatt_client_discover_primary_services_by_uuid128": "0x02007353", + "gatt_client_discover_primary_services_by_uuid16": "0x02007397", + "gatt_client_execute_write": "0x020073d5", + "gatt_client_find_included_services_for_service": "0x020073fb", + "gatt_client_get_mtu": "0x02007429", + "gatt_client_is_ready": "0x020074ed", + "gatt_client_listen_for_characteristic_value_updates": "0x02007503", + "gatt_client_prepare_write": "0x02007525", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x02007561", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x0200758b", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x02007591", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x020075bf", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x020075c5", + "gatt_client_read_multiple_characteristic_values": "0x020075f3", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x02007623", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x02007651", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x0200769d", + "gatt_client_register_handler": "0x020076e9", + "gatt_client_reliable_write_long_value_of_characteristic": "0x020076f5", + "gatt_client_signed_write_without_response": "0x02007b29", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x02007bed", + "gatt_client_write_client_characteristic_configuration": "0x02007c27", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x02007c79", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x02007c89", + "gatt_client_write_long_value_of_characteristic": "0x02007cc5", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x02007cd5", + "gatt_client_write_value_of_characteristic": "0x02007d11", + "gatt_client_write_value_of_characteristic_without_response": "0x02007d47", + "hci_add_event_handler": "0x0200933d", + "hci_power_control": "0x02009b3d", + "hci_register_acl_packet_handler": "0x02009cf1", + "kv_commit": "0x0200a225", + "kv_get": "0x0200a27d", + "kv_init": "0x0200a295", + "kv_put": "0x0200a2fd", + "kv_remove": "0x0200a375", + "kv_remove_all": "0x0200a3b1", + "kv_value_modified": "0x0200a3f5", + "kv_visit": "0x0200a3f9", + "l2cap_add_event_handler": "0x0200a4ad", + "l2cap_can_send_packet_now": "0x0200a4bd", + "l2cap_create_le_credit_based_connection_request": "0x0200a681", + "l2cap_credit_based_send": "0x0200a7c9", + "l2cap_credit_based_send_continue": "0x0200a7f5", + "l2cap_disconnect": "0x0200a871", + "l2cap_get_le_credit_based_connection_credits": "0x0200aa5d", + "l2cap_get_peer_mtu_for_local_cid": "0x0200aa79", + "l2cap_init": "0x0200aeb9", + "l2cap_le_send_flow_control_credit": "0x0200afaf", + "l2cap_max_le_mtu": "0x0200b2bd", + "l2cap_register_packet_handler": "0x0200b3e5", + "l2cap_register_service": "0x0200b3f1", + "l2cap_request_can_send_now_event": "0x0200b501", + "l2cap_request_connection_parameter_update": "0x0200b51b", + "l2cap_send_echo_request": "0x0200b9fd", + "l2cap_unregister_service": "0x0200badd", + "le_device_db_add": "0x0200bb35", + "le_device_db_find": "0x0200bc09", + "le_device_db_from_key": "0x0200bc35", + "le_device_db_iter_cur": "0x0200bc3d", + "le_device_db_iter_cur_key": "0x0200bc41", + "le_device_db_iter_init": "0x0200bc45", + "le_device_db_iter_next": "0x0200bc4d", + "le_device_db_remove_key": "0x0200bc73", + "ll_adjust_conn_peer_tx_power": "0x0200bca1", + "ll_aes_encrypt": "0x0200bccd", + "ll_free": "0x0200bd41", + "ll_hint_on_ce_len": "0x0200bd4d", + "ll_legacy_adv_set_interval": "0x0200bd85", + "ll_malloc": "0x0200bd95", + "ll_scan_set_fixed_channel": "0x0200bf05", + "ll_set_adv_access_address": "0x0200c019", + "ll_set_adv_coded_scheme": "0x0200c025", + "ll_set_conn_coded_scheme": "0x0200c05d", + "ll_set_conn_latency": "0x0200c089", + "ll_set_conn_tx_power": "0x0200c0b9", + "ll_set_def_antenna": "0x0200c0f5", + "ll_set_initiating_coded_scheme": "0x0200c115", + "ll_set_max_conn_number": "0x0200c121", + "ll_set_tx_power_range": "0x0200c1bd", + "nibble_for_char": "0x0201e9d9", + "platform_32k_rc_auto_tune": "0x0201ea85", + "platform_32k_rc_tune": "0x0201ead1", + "platform_calibrate_32k": "0x0201eaed", + "platform_config": "0x0201eaf1", + "platform_enable_irq": "0x0201ebf9", + "platform_get_current_task": "0x0201ec2d", + "platform_get_gen_os_driver": "0x0201ec51", + "platform_get_heap_status": "0x0201ec59", + "platform_get_task_handle": "0x0201ec71", + "platform_get_us_time": "0x0201ec91", + "platform_get_version": "0x0201ec95", + "platform_hrng": "0x0201ec9d", + "platform_install_isr_stack": "0x0201eca5", + "platform_install_task_stack": "0x0201ecb1", + "platform_patch_rf_init_data": "0x0201ece9", + "platform_printf": "0x0201ecf5", + "platform_raise_assertion": "0x0201ed09", + "platform_rand": "0x0201ed1d", + "platform_read_info": "0x0201ed21", + "platform_read_persistent_reg": "0x0201ed51", + "platform_reset": "0x0201ed5d", + "platform_set_evt_callback": "0x0201ed71", + "platform_set_evt_callback_table": "0x0201ed85", + "platform_set_irq_callback": "0x0201ed91", + "platform_set_irq_callback_table": "0x0201edad", + "platform_set_rf_clk_source": "0x0201edb9", + "platform_set_rf_init_data": "0x0201edc5", + "platform_set_rf_power_mapping": "0x0201edd1", + "platform_set_timer": "0x0201eddd", + "platform_shutdown": "0x0201ede1", + "platform_switch_app": "0x0201ede5", + "platform_trace_raw": "0x0201edfd", + "platform_write_persistent_reg": "0x0201ee15", + "printf_hexdump": "0x0201efcd", + "pvPortMalloc": "0x0201faa1", + "pvTaskIncrementMutexHeldCount": "0x0201fb89", + "pvTimerGetTimerID": "0x0201fba1", + "pxPortInitialiseStack": "0x0201fbcd", + "reverse_128": "0x0201fdb5", + "reverse_24": "0x0201fdbb", + "reverse_48": "0x0201fdc1", + "reverse_56": "0x0201fdc7", + "reverse_64": "0x0201fdcd", + "reverse_bd_addr": "0x0201fdd3", + "reverse_bytes": "0x0201fdd9", + "sm_add_event_handler": "0x020200f5", + "sm_address_resolution_lookup": "0x0202024d", + "sm_authenticated": "0x020205ad", + "sm_authorization_decline": "0x020205bb", + "sm_authorization_grant": "0x020205db", + "sm_authorization_state": "0x020205fb", + "sm_bonding_decline": "0x02020615", + "sm_config": "0x02020a2d", + "sm_config_conn": "0x02020a45", + "sm_encryption_key_size": "0x02020bfb", + "sm_just_works_confirm": "0x02021135", + "sm_le_device_key": "0x02021471", + "sm_passkey_input": "0x02021507", + "sm_private_random_address_generation_get": "0x020218b5", + "sm_private_random_address_generation_get_mode": "0x020218bd", + "sm_private_random_address_generation_set_mode": "0x020218c9", + "sm_private_random_address_generation_set_update_period": "0x020218f1", + "sm_register_oob_data_callback": "0x02021a2d", + "sm_request_pairing": "0x02021a39", + "sm_send_security_request": "0x02022477", + "sm_set_accepted_stk_generation_methods": "0x0202249d", + "sm_set_authentication_requirements": "0x020224a9", + "sm_set_encryption_key_size_range": "0x020224b5", + "sscanf_bd_addr": "0x02022815", + "sysSetPublicDeviceAddr": "0x02022c81", + "uuid128_to_str": "0x0202342d", + "uuid_add_bluetooth_prefix": "0x02023485", + "uuid_has_bluetooth_prefix": "0x020234a5", + "uxListRemove": "0x020234c1", + "uxQueueMessagesWaiting": "0x020234e9", + "uxQueueMessagesWaitingFromISR": "0x02023511", + "uxQueueSpacesAvailable": "0x0202352d", + "uxTaskGetStackHighWaterMark": "0x02023559", + "uxTaskPriorityGet": "0x02023579", + "uxTaskPriorityGetFromISR": "0x02023595", + "vListInitialise": "0x0202363b", + "vListInitialiseItem": "0x02023651", + "vListInsert": "0x02023657", + "vListInsertEnd": "0x02023687", + "vPortEndScheduler": "0x020236a1", + "vPortEnterCritical": "0x020236cd", + "vPortExitCritical": "0x02023711", + "vPortFree": "0x02023745", + "vPortSuppressTicksAndSleep": "0x020237e9", + "vPortValidateInterruptPriority": "0x02023911", + "vQueueDelete": "0x0202396d", + "vQueueWaitForMessageRestricted": "0x02023999", + "vTaskDelay": "0x020239dd", + "vTaskInternalSetTimeOutState": "0x02023a29", + "vTaskMissedYield": "0x02023a39", + "vTaskPlaceOnEventList": "0x02023a45", + "vTaskPlaceOnEventListRestricted": "0x02023a7d", + "vTaskPriorityDisinheritAfterTimeout": "0x02023abd", + "vTaskPrioritySet": "0x02023b69", + "vTaskResume": "0x02023c31", + "vTaskStartScheduler": "0x02023cb5", + "vTaskStepTick": "0x02023d45", + "vTaskSuspend": "0x02023d75", + "vTaskSuspendAll": "0x02023e31", + "vTaskSwitchContext": "0x02023e41", + "xPortStartScheduler": "0x02023ee9", + "xQueueAddToSet": "0x02023fed", + "xQueueCreateCountingSemaphore": "0x02024011", + "xQueueCreateCountingSemaphoreStatic": "0x0202404d", + "xQueueCreateMutex": "0x02024091", + "xQueueCreateMutexStatic": "0x020240a7", + "xQueueCreateSet": "0x020240c1", + "xQueueGenericCreate": "0x020240c9", + "xQueueGenericCreateStatic": "0x02024115", + "xQueueGenericReset": "0x0202417d", + "xQueueGenericSend": "0x02024209", + "xQueueGenericSendFromISR": "0x02024375", + "xQueueGiveFromISR": "0x02024435", + "xQueueGiveMutexRecursive": "0x020244d9", + "xQueueIsQueueEmptyFromISR": "0x02024519", + "xQueueIsQueueFullFromISR": "0x0202453d", + "xQueuePeek": "0x02024565", + "xQueuePeekFromISR": "0x0202468d", + "xQueueReceive": "0x020246f9", + "xQueueReceiveFromISR": "0x02024825", + "xQueueRemoveFromSet": "0x020248b9", + "xQueueSelectFromSet": "0x020248db", + "xQueueSelectFromSetFromISR": "0x020248ed", + "xQueueSemaphoreTake": "0x02024901", + "xQueueTakeMutexRecursive": "0x02024a6d", + "xTaskCheckForTimeOut": "0x02024ab1", + "xTaskCreate": "0x02024b21", + "xTaskCreateStatic": "0x02024b7d", + "xTaskGetCurrentTaskHandle": "0x02024bed", + "xTaskGetSchedulerState": "0x02024bf9", + "xTaskGetTickCount": "0x02024c15", + "xTaskGetTickCountFromISR": "0x02024c21", + "xTaskIncrementTick": "0x02024c31", + "xTaskPriorityDisinherit": "0x02024cfd", + "xTaskPriorityInherit": "0x02024d91", + "xTaskRemoveFromEventList": "0x02024e25", + "xTaskResumeAll": "0x02024ea5", + "xTaskResumeFromISR": "0x02024f6d", + "xTimerCreate": "0x02024ff9", + "xTimerCreateStatic": "0x0202502d", + "xTimerCreateTimerTask": "0x02025065", + "xTimerGenericCommand": "0x020250d1", + "xTimerGetExpiryTime": "0x02025141", + "xTimerGetTimerDaemonTaskHandle": "0x02025161" } \ No newline at end of file diff --git a/bundles/mass_conn/ING9168xx/meta.json b/bundles/mass_conn/ING9168xx/meta.json index 4db562d88..149b4b25d 100644 --- a/bundles/mass_conn/ING9168xx/meta.json +++ b/bundles/mass_conn/ING9168xx/meta.json @@ -8,11 +8,11 @@ }, "rom": { "base": 33562624, - "size": 152880 + "size": 152828 }, "version": [ 2, 2, - 10 + 12 ] } \ No newline at end of file diff --git a/bundles/mass_conn/ING9168xx/platform.bin b/bundles/mass_conn/ING9168xx/platform.bin index 1e5152b51..43959a35b 100644 Binary files a/bundles/mass_conn/ING9168xx/platform.bin and b/bundles/mass_conn/ING9168xx/platform.bin differ diff --git a/bundles/mass_conn/ING9187xx/apis.json b/bundles/mass_conn/ING9187xx/apis.json index 46fbee0e5..d3a6ab908 100644 --- a/bundles/mass_conn/ING9187xx/apis.json +++ b/bundles/mass_conn/ING9187xx/apis.json @@ -1,315 +1,316 @@ { - "att_dispatch_client_can_send_now": "0x00005769", - "att_dispatch_client_request_can_send_now_event": "0x0000576f", - "att_dispatch_register_client": "0x00005775", - "att_dispatch_register_server": "0x00005789", - "att_dispatch_server_can_send_now": "0x0000579d", - "att_dispatch_server_request_can_send_now_event": "0x000057a3", - "att_emit_general_event": "0x00005855", - "att_server_can_send_packet_now": "0x00005f69", - "att_server_deferred_read_response": "0x00005f6d", - "att_server_get_mtu": "0x00005f85", - "att_server_indicate": "0x00005ffd", - "att_server_init": "0x00006081", - "att_server_notify": "0x000060bd", - "att_server_register_packet_handler": "0x000061d5", - "att_server_request_can_send_now_event": "0x000061e1", - "att_set_db": "0x000061fd", - "att_set_read_callback": "0x00006211", - "att_set_write_callback": "0x0000621d", - "bd_addr_cmp": "0x0000638d", - "bd_addr_copy": "0x00006393", - "bd_addr_to_str": "0x0000639d", - "big_endian_read_16": "0x000063d5", - "big_endian_read_32": "0x000063dd", - "big_endian_store_16": "0x000063f1", - "big_endian_store_32": "0x000063fd", - "btstack_config": "0x00006551", - "btstack_memory_pool_create": "0x0000668f", - "btstack_memory_pool_free": "0x000066b9", - "btstack_memory_pool_get": "0x00006719", - "btstack_push_user_msg": "0x00006781", - "btstack_push_user_runnable": "0x0000678d", - "char_for_nibble": "0x00006a15", - "eTaskConfirmSleepModeStatus": "0x00006ce1", - "gap_add_dev_to_periodic_list": "0x000072f5", - "gap_add_whitelist": "0x0000730d", - "gap_aes_encrypt": "0x00007321", - "gap_clear_white_lists": "0x00007365", - "gap_clr_adv_set": "0x00007375", - "gap_clr_periodic_adv_list": "0x00007385", - "gap_create_connection_cancel": "0x00007395", - "gap_disconnect": "0x000073a5", - "gap_disconnect_all": "0x000073d1", - "gap_ext_create_connection": "0x00007411", - "gap_get_connection_parameter_range": "0x00007501", - "gap_le_read_channel_map": "0x00007539", - "gap_periodic_adv_create_sync": "0x000075ad", - "gap_periodic_adv_create_sync_cancel": "0x000075d1", - "gap_periodic_adv_term_sync": "0x000075e1", - "gap_read_periodic_adv_list_size": "0x00007675", - "gap_read_phy": "0x00007685", - "gap_read_remote_used_features": "0x00007699", - "gap_read_remote_version": "0x000076ad", - "gap_read_rssi": "0x000076c1", - "gap_remove_whitelist": "0x000076d5", - "gap_rmv_adv_set": "0x00007759", - "gap_rmv_dev_from_periodic_list": "0x0000776d", - "gap_rx_test_v2": "0x00007785", - "gap_set_adv_set_random_addr": "0x000077c5", - "gap_set_connection_parameter_range": "0x00007815", - "gap_set_data_length": "0x00007831", - "gap_set_def_phy": "0x0000784d", - "gap_set_ext_adv_data": "0x00007865", - "gap_set_ext_adv_enable": "0x0000787d", - "gap_set_ext_adv_para": "0x000078f9", - "gap_set_ext_scan_enable": "0x000079d9", - "gap_set_ext_scan_para": "0x000079f1", - "gap_set_ext_scan_response_data": "0x00007a99", - "gap_set_host_channel_classification": "0x00007ab1", - "gap_set_periodic_adv_data": "0x00007ac5", - "gap_set_periodic_adv_enable": "0x00007b39", - "gap_set_periodic_adv_para": "0x00007b4d", - "gap_set_phy": "0x00007b65", - "gap_set_random_device_address": "0x00007b81", - "gap_start_ccm": "0x00007bb1", - "gap_test_end": "0x00007be5", - "gap_tx_test_v2": "0x00007bf5", - "gap_tx_test_v4": "0x00007c0d", - "gap_update_connection_parameters": "0x00007c35", - "gap_vendor_tx_continuous_wave": "0x00007c79", - "gatt_client_cancel_write": "0x000081a1", - "gatt_client_discover_characteristic_descriptors": "0x000081c7", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x00008207", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x00008257", - "gatt_client_discover_characteristics_for_service": "0x000082a7", - "gatt_client_discover_primary_services": "0x000082dd", - "gatt_client_discover_primary_services_by_uuid128": "0x0000830f", - "gatt_client_discover_primary_services_by_uuid16": "0x00008353", - "gatt_client_execute_write": "0x0000838f", - "gatt_client_find_included_services_for_service": "0x000083b5", - "gatt_client_get_mtu": "0x000083e3", - "gatt_client_is_ready": "0x00008485", - "gatt_client_listen_for_characteristic_value_updates": "0x0000849b", - "gatt_client_prepare_write": "0x000084bd", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x000084f9", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x00008523", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008529", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x00008557", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x0000855d", - "gatt_client_read_multiple_characteristic_values": "0x0000858b", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x000085bb", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x000085e9", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x00008635", - "gatt_client_register_handler": "0x00008681", - "gatt_client_reliable_write_long_value_of_characteristic": "0x0000868d", - "gatt_client_signed_write_without_response": "0x00008abd", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008b81", - "gatt_client_write_client_characteristic_configuration": "0x00008bbb", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008c0d", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008c1d", - "gatt_client_write_long_value_of_characteristic": "0x00008c59", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008c69", - "gatt_client_write_value_of_characteristic": "0x00008ca5", - "gatt_client_write_value_of_characteristic_without_response": "0x00008cdb", - "hci_add_event_handler": "0x0000a201", - "hci_power_control": "0x0000a99d", - "hci_register_acl_packet_handler": "0x0000ab51", - "kv_commit": "0x0000b139", - "kv_get": "0x0000b191", - "kv_init": "0x0000b1a9", - "kv_put": "0x0000b211", - "kv_remove": "0x0000b289", - "kv_remove_all": "0x0000b2c5", - "kv_value_modified": "0x0000b309", - "kv_visit": "0x0000b30d", - "l2cap_add_event_handler": "0x0000b3c1", - "l2cap_can_send_packet_now": "0x0000b3d1", - "l2cap_create_le_credit_based_connection_request": "0x0000b58d", - "l2cap_credit_based_send": "0x0000b6d1", - "l2cap_credit_based_send_continue": "0x0000b6fd", - "l2cap_disconnect": "0x0000b779", - "l2cap_get_le_credit_based_connection_credits": "0x0000b9c9", - "l2cap_get_peer_mtu_for_local_cid": "0x0000b9e5", - "l2cap_init": "0x0000bdb9", - "l2cap_le_send_flow_control_credit": "0x0000beaf", - "l2cap_max_le_mtu": "0x0000c1b9", - "l2cap_register_packet_handler": "0x0000c2e1", - "l2cap_register_service": "0x0000c2ed", - "l2cap_request_can_send_now_event": "0x0000c3fd", - "l2cap_request_connection_parameter_update": "0x0000c417", - "l2cap_send_echo_request": "0x0000c8e9", - "l2cap_unregister_service": "0x0000c9a9", - "le_device_db_add": "0x0000ca01", - "le_device_db_find": "0x0000cad5", - "le_device_db_from_key": "0x0000cb01", - "le_device_db_iter_cur": "0x0000cb09", - "le_device_db_iter_cur_key": "0x0000cb0d", - "le_device_db_iter_init": "0x0000cb11", - "le_device_db_iter_next": "0x0000cb19", - "le_device_db_remove_key": "0x0000cb3f", - "ll_free": "0x0000cb6b", - "ll_hint_on_ce_len": "0x0000cb75", - "ll_legacy_adv_set_interval": "0x0000cbad", - "ll_malloc": "0x0000cbbd", - "ll_query_timing_info": "0x0000ccf5", - "ll_scan_set_fixed_channel": "0x0000cd99", - "ll_set_adv_access_address": "0x0000cead", - "ll_set_adv_coded_scheme": "0x0000ceb9", - "ll_set_conn_coded_scheme": "0x0000cee9", - "ll_set_conn_latency": "0x0000cf15", - "ll_set_conn_tx_power": "0x0000cf45", - "ll_set_def_antenna": "0x0000cf8d", - "ll_set_initiating_coded_scheme": "0x0000cfa9", - "ll_set_max_conn_number": "0x0000cfb5", - "nibble_for_char": "0x0001cefd", - "platform_32k_rc_auto_tune": "0x0001cfa9", - "platform_32k_rc_tune": "0x0001d025", - "platform_calibrate_32k": "0x0001d039", - "platform_config": "0x0001d03d", - "platform_enable_irq": "0x0001d131", - "platform_get_current_task": "0x0001d159", - "platform_get_gen_os_driver": "0x0001d17d", - "platform_get_heap_status": "0x0001d185", - "platform_get_task_handle": "0x0001d19d", - "platform_get_us_time": "0x0001d1bd", - "platform_get_version": "0x0001d1c1", - "platform_hrng": "0x0001d1c9", - "platform_install_isr_stack": "0x0001d1d1", - "platform_install_task_stack": "0x0001d1dd", - "platform_patch_rf_init_data": "0x0001d215", - "platform_printf": "0x0001d221", - "platform_raise_assertion": "0x0001d235", - "platform_rand": "0x0001d249", - "platform_read_info": "0x0001d24d", - "platform_read_persistent_reg": "0x0001d27d", - "platform_reset": "0x0001d28d", - "platform_set_evt_callback": "0x0001d2b1", - "platform_set_evt_callback_table": "0x0001d2c5", - "platform_set_irq_callback": "0x0001d2d1", - "platform_set_irq_callback_table": "0x0001d2ed", - "platform_set_rf_clk_source": "0x0001d2f9", - "platform_set_rf_init_data": "0x0001d305", - "platform_set_rf_power_mapping": "0x0001d311", - "platform_set_timer": "0x0001d31d", - "platform_shutdown": "0x0001d321", - "platform_switch_app": "0x0001d325", - "platform_trace_raw": "0x0001d351", - "platform_write_persistent_reg": "0x0001d369", - "printf_hexdump": "0x0001d51d", - "pvPortMalloc": "0x0001e00d", - "pvTaskIncrementMutexHeldCount": "0x0001e0f5", - "pvTimerGetTimerID": "0x0001e10d", - "pxPortInitialiseStack": "0x0001e139", - "reverse_128": "0x0001e2e1", - "reverse_24": "0x0001e2e7", - "reverse_48": "0x0001e2ed", - "reverse_56": "0x0001e2f3", - "reverse_64": "0x0001e2f9", - "reverse_bd_addr": "0x0001e2ff", - "reverse_bytes": "0x0001e305", - "sm_add_event_handler": "0x0001e471", - "sm_address_resolution_lookup": "0x0001e5c9", - "sm_authenticated": "0x0001e929", - "sm_authorization_decline": "0x0001e937", - "sm_authorization_grant": "0x0001e957", - "sm_authorization_state": "0x0001e977", - "sm_bonding_decline": "0x0001e991", - "sm_config": "0x0001edb1", - "sm_config_conn": "0x0001edc9", - "sm_encryption_key_size": "0x0001ef7f", - "sm_just_works_confirm": "0x0001f4b9", - "sm_le_device_key": "0x0001f7f5", - "sm_passkey_input": "0x0001f88b", - "sm_private_random_address_generation_get": "0x0001fc39", - "sm_private_random_address_generation_get_mode": "0x0001fc41", - "sm_private_random_address_generation_set_mode": "0x0001fc4d", - "sm_private_random_address_generation_set_update_period": "0x0001fc75", - "sm_register_oob_data_callback": "0x0001fdb1", - "sm_request_pairing": "0x0001fdbd", - "sm_send_security_request": "0x000207f7", - "sm_set_accepted_stk_generation_methods": "0x0002081d", - "sm_set_authentication_requirements": "0x00020829", - "sm_set_encryption_key_size_range": "0x00020835", - "sscanf_bd_addr": "0x00020b91", - "sysSetPublicDeviceAddr": "0x00020f45", - "uuid128_to_str": "0x00021525", - "uuid_add_bluetooth_prefix": "0x0002157d", - "uuid_has_bluetooth_prefix": "0x0002159d", - "uxListRemove": "0x000215b9", - "uxQueueMessagesWaiting": "0x000215e1", - "uxQueueMessagesWaitingFromISR": "0x00021609", - "uxQueueSpacesAvailable": "0x00021625", - "uxTaskGetStackHighWaterMark": "0x00021651", - "uxTaskPriorityGet": "0x00021671", - "uxTaskPriorityGetFromISR": "0x0002168d", - "vListInitialise": "0x00021747", - "vListInitialiseItem": "0x0002175d", - "vListInsert": "0x00021763", - "vListInsertEnd": "0x00021793", - "vPortEndScheduler": "0x000217ad", - "vPortEnterCritical": "0x000217d9", - "vPortExitCritical": "0x0002181d", - "vPortFree": "0x00021851", - "vPortSuppressTicksAndSleep": "0x000218e5", - "vPortValidateInterruptPriority": "0x00021a01", - "vQueueDelete": "0x00021a5d", - "vQueueWaitForMessageRestricted": "0x00021a89", - "vTaskDelay": "0x00021ad1", - "vTaskInternalSetTimeOutState": "0x00021b1d", - "vTaskMissedYield": "0x00021b2d", - "vTaskPlaceOnEventList": "0x00021b39", - "vTaskPlaceOnEventListRestricted": "0x00021b71", - "vTaskPriorityDisinheritAfterTimeout": "0x00021bb1", - "vTaskPrioritySet": "0x00021c5d", - "vTaskResume": "0x00021d25", - "vTaskStartScheduler": "0x00021da9", - "vTaskStepTick": "0x00021e39", - "vTaskSuspend": "0x00021e69", - "vTaskSuspendAll": "0x00021f25", - "vTaskSwitchContext": "0x00021f35", - "xPortStartScheduler": "0x00021fdd", - "xQueueAddToSet": "0x000220a5", - "xQueueCreateCountingSemaphore": "0x000220c9", - "xQueueCreateCountingSemaphoreStatic": "0x00022105", - "xQueueCreateMutex": "0x00022149", - "xQueueCreateMutexStatic": "0x0002215f", - "xQueueCreateSet": "0x00022179", - "xQueueGenericCreate": "0x00022181", - "xQueueGenericCreateStatic": "0x000221cd", - "xQueueGenericReset": "0x00022235", - "xQueueGenericSend": "0x000222c1", - "xQueueGenericSendFromISR": "0x0002242d", - "xQueueGiveFromISR": "0x000224ed", - "xQueueGiveMutexRecursive": "0x00022591", - "xQueueIsQueueEmptyFromISR": "0x000225d1", - "xQueueIsQueueFullFromISR": "0x000225f5", - "xQueuePeek": "0x0002261d", - "xQueuePeekFromISR": "0x00022745", - "xQueueReceive": "0x000227b1", - "xQueueReceiveFromISR": "0x000228dd", - "xQueueRemoveFromSet": "0x00022971", - "xQueueSelectFromSet": "0x00022993", - "xQueueSelectFromSetFromISR": "0x000229a5", - "xQueueSemaphoreTake": "0x000229b9", - "xQueueTakeMutexRecursive": "0x00022b25", - "xTaskCheckForTimeOut": "0x00022b69", - "xTaskCreate": "0x00022bd9", - "xTaskCreateStatic": "0x00022c35", - "xTaskGetCurrentTaskHandle": "0x00022ca5", - "xTaskGetSchedulerState": "0x00022cb1", - "xTaskGetTickCount": "0x00022ccd", - "xTaskGetTickCountFromISR": "0x00022cd9", - "xTaskIncrementTick": "0x00022ce9", - "xTaskPriorityDisinherit": "0x00022db5", - "xTaskPriorityInherit": "0x00022e49", - "xTaskRemoveFromEventList": "0x00022edd", - "xTaskResumeAll": "0x00022f5d", - "xTaskResumeFromISR": "0x00023025", - "xTimerCreate": "0x000230b1", - "xTimerCreateStatic": "0x000230e5", - "xTimerCreateTimerTask": "0x0002311d", - "xTimerGenericCommand": "0x00023189", - "xTimerGetExpiryTime": "0x000231f9", - "xTimerGetTimerDaemonTaskHandle": "0x00023219" + "att_dispatch_client_can_send_now": "0x00005751", + "att_dispatch_client_request_can_send_now_event": "0x00005757", + "att_dispatch_register_client": "0x0000575d", + "att_dispatch_register_server": "0x00005771", + "att_dispatch_server_can_send_now": "0x00005785", + "att_dispatch_server_request_can_send_now_event": "0x0000578b", + "att_emit_general_event": "0x0000583d", + "att_server_can_send_packet_now": "0x00005f51", + "att_server_deferred_read_response": "0x00005f55", + "att_server_get_mtu": "0x00005f6d", + "att_server_indicate": "0x00005fe5", + "att_server_init": "0x00006069", + "att_server_notify": "0x000060a5", + "att_server_register_packet_handler": "0x000061bd", + "att_server_request_can_send_now_event": "0x000061c9", + "att_set_db": "0x000061e5", + "att_set_read_callback": "0x000061f9", + "att_set_write_callback": "0x00006205", + "bd_addr_cmp": "0x00006375", + "bd_addr_copy": "0x0000637b", + "bd_addr_to_str": "0x00006385", + "big_endian_read_16": "0x000063bd", + "big_endian_read_32": "0x000063c5", + "big_endian_store_16": "0x000063d9", + "big_endian_store_32": "0x000063e5", + "btstack_config": "0x00006539", + "btstack_memory_pool_create": "0x00006677", + "btstack_memory_pool_free": "0x000066a1", + "btstack_memory_pool_get": "0x00006701", + "btstack_push_user_msg": "0x00006769", + "btstack_push_user_runnable": "0x00006775", + "char_for_nibble": "0x000069fd", + "eTaskConfirmSleepModeStatus": "0x00006cc9", + "gap_add_dev_to_periodic_list": "0x000072ed", + "gap_add_whitelist": "0x000072fd", + "gap_aes_encrypt": "0x00007309", + "gap_clear_white_lists": "0x0000734d", + "gap_clr_adv_set": "0x00007359", + "gap_clr_periodic_adv_list": "0x00007365", + "gap_create_connection_cancel": "0x00007371", + "gap_disconnect": "0x0000737d", + "gap_disconnect_all": "0x000073a9", + "gap_ext_create_connection": "0x000073e9", + "gap_get_connection_parameter_range": "0x000074d9", + "gap_le_read_channel_map": "0x00007511", + "gap_periodic_adv_create_sync": "0x0000757d", + "gap_periodic_adv_create_sync_cancel": "0x000075a1", + "gap_periodic_adv_term_sync": "0x000075ad", + "gap_read_periodic_adv_list_size": "0x00007635", + "gap_read_phy": "0x00007641", + "gap_read_remote_used_features": "0x0000764d", + "gap_read_remote_version": "0x00007659", + "gap_read_rssi": "0x00007665", + "gap_remove_whitelist": "0x00007671", + "gap_rmv_adv_set": "0x000076ed", + "gap_rmv_dev_from_periodic_list": "0x000076f9", + "gap_rx_test_v2": "0x00007709", + "gap_set_adv_set_random_addr": "0x00007741", + "gap_set_connection_parameter_range": "0x0000778d", + "gap_set_data_length": "0x000077a9", + "gap_set_def_phy": "0x000077c1", + "gap_set_ext_adv_data": "0x000077d1", + "gap_set_ext_adv_enable": "0x000077e9", + "gap_set_ext_adv_para": "0x00007865", + "gap_set_ext_scan_enable": "0x0000793d", + "gap_set_ext_scan_para": "0x00007955", + "gap_set_ext_scan_response_data": "0x000079fd", + "gap_set_host_channel_classification": "0x00007a15", + "gap_set_periodic_adv_data": "0x00007a25", + "gap_set_periodic_adv_enable": "0x00007a95", + "gap_set_periodic_adv_para": "0x00007aa5", + "gap_set_phy": "0x00007abd", + "gap_set_random_device_address": "0x00007ad9", + "gap_start_ccm": "0x00007b09", + "gap_test_end": "0x00007b5d", + "gap_tx_test_v2": "0x00007b69", + "gap_tx_test_v4": "0x00007b81", + "gap_update_connection_parameters": "0x00007ba5", + "gap_vendor_tx_continuous_wave": "0x00007be9", + "gatt_client_cancel_write": "0x00008111", + "gatt_client_discover_characteristic_descriptors": "0x00008137", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x00008177", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x000081c7", + "gatt_client_discover_characteristics_for_service": "0x00008217", + "gatt_client_discover_primary_services": "0x0000824d", + "gatt_client_discover_primary_services_by_uuid128": "0x0000827f", + "gatt_client_discover_primary_services_by_uuid16": "0x000082c3", + "gatt_client_execute_write": "0x000082ff", + "gatt_client_find_included_services_for_service": "0x00008325", + "gatt_client_get_mtu": "0x00008353", + "gatt_client_is_ready": "0x000083f5", + "gatt_client_listen_for_characteristic_value_updates": "0x0000840b", + "gatt_client_prepare_write": "0x0000842d", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x00008469", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x00008493", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008499", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x000084c7", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x000084cd", + "gatt_client_read_multiple_characteristic_values": "0x000084fb", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x0000852b", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x00008559", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x000085a5", + "gatt_client_register_handler": "0x000085f1", + "gatt_client_reliable_write_long_value_of_characteristic": "0x000085fd", + "gatt_client_signed_write_without_response": "0x00008a2d", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008af1", + "gatt_client_write_client_characteristic_configuration": "0x00008b2b", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008b7d", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008b8d", + "gatt_client_write_long_value_of_characteristic": "0x00008bc9", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008bd9", + "gatt_client_write_value_of_characteristic": "0x00008c15", + "gatt_client_write_value_of_characteristic_without_response": "0x00008c4b", + "hci_add_event_handler": "0x0000a171", + "hci_power_control": "0x0000a90d", + "hci_register_acl_packet_handler": "0x0000aac1", + "kv_commit": "0x0000b0a1", + "kv_get": "0x0000b0f9", + "kv_init": "0x0000b111", + "kv_put": "0x0000b179", + "kv_remove": "0x0000b1f1", + "kv_remove_all": "0x0000b22d", + "kv_value_modified": "0x0000b271", + "kv_visit": "0x0000b275", + "l2cap_add_event_handler": "0x0000b329", + "l2cap_can_send_packet_now": "0x0000b339", + "l2cap_create_le_credit_based_connection_request": "0x0000b4f5", + "l2cap_credit_based_send": "0x0000b639", + "l2cap_credit_based_send_continue": "0x0000b665", + "l2cap_disconnect": "0x0000b6e1", + "l2cap_get_le_credit_based_connection_credits": "0x0000b931", + "l2cap_get_peer_mtu_for_local_cid": "0x0000b94d", + "l2cap_init": "0x0000bd21", + "l2cap_le_send_flow_control_credit": "0x0000be17", + "l2cap_max_le_mtu": "0x0000c121", + "l2cap_register_packet_handler": "0x0000c249", + "l2cap_register_service": "0x0000c255", + "l2cap_request_can_send_now_event": "0x0000c365", + "l2cap_request_connection_parameter_update": "0x0000c37f", + "l2cap_send_echo_request": "0x0000c851", + "l2cap_unregister_service": "0x0000c911", + "le_device_db_add": "0x0000c969", + "le_device_db_find": "0x0000ca3d", + "le_device_db_from_key": "0x0000ca69", + "le_device_db_iter_cur": "0x0000ca71", + "le_device_db_iter_cur_key": "0x0000ca75", + "le_device_db_iter_init": "0x0000ca79", + "le_device_db_iter_next": "0x0000ca81", + "le_device_db_remove_key": "0x0000caa7", + "ll_aes_encrypt": "0x0000cad5", + "ll_free": "0x0000cb51", + "ll_hint_on_ce_len": "0x0000cb5d", + "ll_legacy_adv_set_interval": "0x0000cb95", + "ll_malloc": "0x0000cba5", + "ll_query_timing_info": "0x0000ccdd", + "ll_scan_set_fixed_channel": "0x0000cd81", + "ll_set_adv_access_address": "0x0000ce95", + "ll_set_adv_coded_scheme": "0x0000cea1", + "ll_set_conn_coded_scheme": "0x0000ced1", + "ll_set_conn_latency": "0x0000cefd", + "ll_set_conn_tx_power": "0x0000cf2d", + "ll_set_def_antenna": "0x0000cf75", + "ll_set_initiating_coded_scheme": "0x0000cf91", + "ll_set_max_conn_number": "0x0000cf9d", + "nibble_for_char": "0x0001cef9", + "platform_32k_rc_auto_tune": "0x0001cfa5", + "platform_32k_rc_tune": "0x0001d021", + "platform_calibrate_32k": "0x0001d035", + "platform_config": "0x0001d039", + "platform_enable_irq": "0x0001d12d", + "platform_get_current_task": "0x0001d165", + "platform_get_gen_os_driver": "0x0001d189", + "platform_get_heap_status": "0x0001d191", + "platform_get_task_handle": "0x0001d1a9", + "platform_get_us_time": "0x0001d1c9", + "platform_get_version": "0x0001d1cd", + "platform_hrng": "0x0001d1d5", + "platform_install_isr_stack": "0x0001d1dd", + "platform_install_task_stack": "0x0001d1e9", + "platform_patch_rf_init_data": "0x0001d221", + "platform_printf": "0x0001d22d", + "platform_raise_assertion": "0x0001d241", + "platform_rand": "0x0001d255", + "platform_read_info": "0x0001d259", + "platform_read_persistent_reg": "0x0001d289", + "platform_reset": "0x0001d299", + "platform_set_evt_callback": "0x0001d2bd", + "platform_set_evt_callback_table": "0x0001d2d1", + "platform_set_irq_callback": "0x0001d2dd", + "platform_set_irq_callback_table": "0x0001d2f9", + "platform_set_rf_clk_source": "0x0001d305", + "platform_set_rf_init_data": "0x0001d311", + "platform_set_rf_power_mapping": "0x0001d31d", + "platform_set_timer": "0x0001d329", + "platform_shutdown": "0x0001d32d", + "platform_switch_app": "0x0001d331", + "platform_trace_raw": "0x0001d35d", + "platform_write_persistent_reg": "0x0001d375", + "printf_hexdump": "0x0001d529", + "pvPortMalloc": "0x0001e019", + "pvTaskIncrementMutexHeldCount": "0x0001e101", + "pvTimerGetTimerID": "0x0001e119", + "pxPortInitialiseStack": "0x0001e145", + "reverse_128": "0x0001e2ed", + "reverse_24": "0x0001e2f3", + "reverse_48": "0x0001e2f9", + "reverse_56": "0x0001e2ff", + "reverse_64": "0x0001e305", + "reverse_bd_addr": "0x0001e30b", + "reverse_bytes": "0x0001e311", + "sm_add_event_handler": "0x0001e47d", + "sm_address_resolution_lookup": "0x0001e5d5", + "sm_authenticated": "0x0001e935", + "sm_authorization_decline": "0x0001e943", + "sm_authorization_grant": "0x0001e963", + "sm_authorization_state": "0x0001e983", + "sm_bonding_decline": "0x0001e99d", + "sm_config": "0x0001edbd", + "sm_config_conn": "0x0001edd5", + "sm_encryption_key_size": "0x0001ef8b", + "sm_just_works_confirm": "0x0001f4c5", + "sm_le_device_key": "0x0001f801", + "sm_passkey_input": "0x0001f897", + "sm_private_random_address_generation_get": "0x0001fc45", + "sm_private_random_address_generation_get_mode": "0x0001fc4d", + "sm_private_random_address_generation_set_mode": "0x0001fc59", + "sm_private_random_address_generation_set_update_period": "0x0001fc81", + "sm_register_oob_data_callback": "0x0001fdbd", + "sm_request_pairing": "0x0001fdc9", + "sm_send_security_request": "0x00020803", + "sm_set_accepted_stk_generation_methods": "0x00020829", + "sm_set_authentication_requirements": "0x00020835", + "sm_set_encryption_key_size_range": "0x00020841", + "sscanf_bd_addr": "0x00020b9d", + "sysSetPublicDeviceAddr": "0x00020f51", + "uuid128_to_str": "0x00021531", + "uuid_add_bluetooth_prefix": "0x00021589", + "uuid_has_bluetooth_prefix": "0x000215a9", + "uxListRemove": "0x000215c5", + "uxQueueMessagesWaiting": "0x000215ed", + "uxQueueMessagesWaitingFromISR": "0x00021615", + "uxQueueSpacesAvailable": "0x00021631", + "uxTaskGetStackHighWaterMark": "0x0002165d", + "uxTaskPriorityGet": "0x0002167d", + "uxTaskPriorityGetFromISR": "0x00021699", + "vListInitialise": "0x00021753", + "vListInitialiseItem": "0x00021769", + "vListInsert": "0x0002176f", + "vListInsertEnd": "0x0002179f", + "vPortEndScheduler": "0x000217b9", + "vPortEnterCritical": "0x000217e5", + "vPortExitCritical": "0x00021829", + "vPortFree": "0x0002185d", + "vPortSuppressTicksAndSleep": "0x000218f1", + "vPortValidateInterruptPriority": "0x00021a0d", + "vQueueDelete": "0x00021a69", + "vQueueWaitForMessageRestricted": "0x00021a95", + "vTaskDelay": "0x00021add", + "vTaskInternalSetTimeOutState": "0x00021b29", + "vTaskMissedYield": "0x00021b39", + "vTaskPlaceOnEventList": "0x00021b45", + "vTaskPlaceOnEventListRestricted": "0x00021b7d", + "vTaskPriorityDisinheritAfterTimeout": "0x00021bbd", + "vTaskPrioritySet": "0x00021c69", + "vTaskResume": "0x00021d31", + "vTaskStartScheduler": "0x00021db5", + "vTaskStepTick": "0x00021e45", + "vTaskSuspend": "0x00021e75", + "vTaskSuspendAll": "0x00021f31", + "vTaskSwitchContext": "0x00021f41", + "xPortStartScheduler": "0x00021fe9", + "xQueueAddToSet": "0x000220b1", + "xQueueCreateCountingSemaphore": "0x000220d5", + "xQueueCreateCountingSemaphoreStatic": "0x00022111", + "xQueueCreateMutex": "0x00022155", + "xQueueCreateMutexStatic": "0x0002216b", + "xQueueCreateSet": "0x00022185", + "xQueueGenericCreate": "0x0002218d", + "xQueueGenericCreateStatic": "0x000221d9", + "xQueueGenericReset": "0x00022241", + "xQueueGenericSend": "0x000222cd", + "xQueueGenericSendFromISR": "0x00022439", + "xQueueGiveFromISR": "0x000224f9", + "xQueueGiveMutexRecursive": "0x0002259d", + "xQueueIsQueueEmptyFromISR": "0x000225dd", + "xQueueIsQueueFullFromISR": "0x00022601", + "xQueuePeek": "0x00022629", + "xQueuePeekFromISR": "0x00022751", + "xQueueReceive": "0x000227bd", + "xQueueReceiveFromISR": "0x000228e9", + "xQueueRemoveFromSet": "0x0002297d", + "xQueueSelectFromSet": "0x0002299f", + "xQueueSelectFromSetFromISR": "0x000229b1", + "xQueueSemaphoreTake": "0x000229c5", + "xQueueTakeMutexRecursive": "0x00022b31", + "xTaskCheckForTimeOut": "0x00022b75", + "xTaskCreate": "0x00022be5", + "xTaskCreateStatic": "0x00022c41", + "xTaskGetCurrentTaskHandle": "0x00022cb1", + "xTaskGetSchedulerState": "0x00022cbd", + "xTaskGetTickCount": "0x00022cd9", + "xTaskGetTickCountFromISR": "0x00022ce5", + "xTaskIncrementTick": "0x00022cf5", + "xTaskPriorityDisinherit": "0x00022dc1", + "xTaskPriorityInherit": "0x00022e55", + "xTaskRemoveFromEventList": "0x00022ee9", + "xTaskResumeAll": "0x00022f69", + "xTaskResumeFromISR": "0x00023031", + "xTimerCreate": "0x000230bd", + "xTimerCreateStatic": "0x000230f1", + "xTimerCreateTimerTask": "0x00023129", + "xTimerGenericCommand": "0x00023195", + "xTimerGetExpiryTime": "0x00023205", + "xTimerGetTimerDaemonTaskHandle": "0x00023225" } \ No newline at end of file diff --git a/bundles/mass_conn/ING9187xx/meta.json b/bundles/mass_conn/ING9187xx/meta.json index 32510787d..93ca22939 100644 --- a/bundles/mass_conn/ING9187xx/meta.json +++ b/bundles/mass_conn/ING9187xx/meta.json @@ -8,11 +8,11 @@ }, "rom": { "base": 16384, - "size": 133712 + "size": 133724 }, "version": [ 1, 9, - 12 + 15 ] } \ No newline at end of file diff --git a/bundles/mass_conn/ING9187xx/platform.bin b/bundles/mass_conn/ING9187xx/platform.bin index 2f4f0a2d6..6fa01bae7 100644 Binary files a/bundles/mass_conn/ING9187xx/platform.bin and b/bundles/mass_conn/ING9187xx/platform.bin differ diff --git a/bundles/mass_conn/ING9188xx/apis.json b/bundles/mass_conn/ING9188xx/apis.json index 88b49b12b..2ee8910c8 100644 --- a/bundles/mass_conn/ING9188xx/apis.json +++ b/bundles/mass_conn/ING9188xx/apis.json @@ -1,329 +1,330 @@ { - "att_dispatch_client_can_send_now": "0x0000588d", - "att_dispatch_client_request_can_send_now_event": "0x00005893", - "att_dispatch_register_client": "0x00005899", - "att_dispatch_register_server": "0x000058ad", - "att_dispatch_server_can_send_now": "0x000058c1", - "att_dispatch_server_request_can_send_now_event": "0x000058c7", - "att_emit_general_event": "0x00005979", - "att_server_can_send_packet_now": "0x0000608d", - "att_server_deferred_read_response": "0x00006091", - "att_server_get_mtu": "0x000060a9", - "att_server_indicate": "0x00006121", - "att_server_init": "0x000061a5", - "att_server_notify": "0x000061e1", - "att_server_register_packet_handler": "0x000062f9", - "att_server_request_can_send_now_event": "0x00006305", - "att_set_db": "0x00006321", - "att_set_read_callback": "0x00006335", - "att_set_write_callback": "0x00006341", - "bd_addr_cmp": "0x000064b1", - "bd_addr_copy": "0x000064b7", - "bd_addr_to_str": "0x000064c1", - "big_endian_read_16": "0x000064f9", - "big_endian_read_32": "0x00006501", - "big_endian_store_16": "0x00006515", - "big_endian_store_32": "0x00006521", - "btstack_config": "0x00006675", - "btstack_memory_pool_create": "0x000067b3", - "btstack_memory_pool_free": "0x000067dd", - "btstack_memory_pool_get": "0x0000683d", - "btstack_push_user_msg": "0x000068a5", - "btstack_push_user_runnable": "0x000068b1", - "char_for_nibble": "0x00006b39", - "eTaskConfirmSleepModeStatus": "0x00006e05", - "gap_add_dev_to_periodic_list": "0x00007489", - "gap_add_whitelist": "0x000074a1", - "gap_aes_encrypt": "0x000074b5", - "gap_clear_white_lists": "0x000074f9", - "gap_clr_adv_set": "0x00007509", - "gap_clr_periodic_adv_list": "0x00007519", - "gap_create_connection_cancel": "0x00007529", - "gap_default_periodic_adv_sync_transfer_param": "0x00007539", - "gap_disconnect": "0x00007551", - "gap_disconnect_all": "0x0000757d", - "gap_ext_create_connection": "0x000075bd", - "gap_get_connection_parameter_range": "0x000076ad", - "gap_le_read_channel_map": "0x000076e5", - "gap_periodic_adv_create_sync": "0x00007759", - "gap_periodic_adv_create_sync_cancel": "0x0000777d", - "gap_periodic_adv_set_info_transfer": "0x0000778d", - "gap_periodic_adv_sync_transfer": "0x000077a5", - "gap_periodic_adv_sync_transfer_param": "0x000077bd", - "gap_periodic_adv_term_sync": "0x000077d9", - "gap_read_antenna_info": "0x0000786d", - "gap_read_periodic_adv_list_size": "0x0000787d", - "gap_read_phy": "0x0000788d", - "gap_read_remote_used_features": "0x000078a1", - "gap_read_remote_version": "0x000078b5", - "gap_read_rssi": "0x000078c9", - "gap_remove_whitelist": "0x000078dd", - "gap_rmv_adv_set": "0x00007961", - "gap_rmv_dev_from_periodic_list": "0x00007975", - "gap_rx_test_v2": "0x0000798d", - "gap_rx_test_v3": "0x000079a5", - "gap_set_adv_set_random_addr": "0x000079f5", - "gap_set_connection_cte_request_enable": "0x00007a45", - "gap_set_connection_cte_response_enable": "0x00007a61", - "gap_set_connection_cte_rx_param": "0x00007a75", - "gap_set_connection_cte_tx_param": "0x00007ad1", - "gap_set_connection_parameter_range": "0x00007b25", - "gap_set_connectionless_cte_tx_enable": "0x00007b41", - "gap_set_connectionless_cte_tx_param": "0x00007b55", - "gap_set_connectionless_iq_sampling_enable": "0x00007bb5", - "gap_set_data_length": "0x00007c19", - "gap_set_def_phy": "0x00007c35", - "gap_set_ext_adv_data": "0x00007c4d", - "gap_set_ext_adv_enable": "0x00007c65", - "gap_set_ext_adv_para": "0x00007ce1", - "gap_set_ext_scan_enable": "0x00007dc1", - "gap_set_ext_scan_para": "0x00007dd9", - "gap_set_ext_scan_response_data": "0x00007e81", - "gap_set_host_channel_classification": "0x00007e99", - "gap_set_periodic_adv_data": "0x00007ead", - "gap_set_periodic_adv_enable": "0x00007f21", - "gap_set_periodic_adv_para": "0x00007f35", - "gap_set_periodic_adv_rx_enable": "0x00007f4d", - "gap_set_phy": "0x00007f61", - "gap_set_random_device_address": "0x00007f7d", - "gap_start_ccm": "0x00007fad", - "gap_test_end": "0x00007fe1", - "gap_tx_test_v2": "0x00007ff1", - "gap_tx_test_v4": "0x00008009", - "gap_update_connection_parameters": "0x00008031", - "gap_vendor_tx_continuous_wave": "0x00008075", - "gatt_client_cancel_write": "0x0000859d", - "gatt_client_discover_characteristic_descriptors": "0x000085c3", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x00008603", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x00008653", - "gatt_client_discover_characteristics_for_service": "0x000086a3", - "gatt_client_discover_primary_services": "0x000086d9", - "gatt_client_discover_primary_services_by_uuid128": "0x0000870b", - "gatt_client_discover_primary_services_by_uuid16": "0x0000874f", - "gatt_client_execute_write": "0x0000878b", - "gatt_client_find_included_services_for_service": "0x000087b1", - "gatt_client_get_mtu": "0x000087df", - "gatt_client_is_ready": "0x00008881", - "gatt_client_listen_for_characteristic_value_updates": "0x00008897", - "gatt_client_prepare_write": "0x000088b9", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x000088f5", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x0000891f", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008925", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x00008953", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x00008959", - "gatt_client_read_multiple_characteristic_values": "0x00008987", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x000089b7", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x000089e5", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x00008a31", - "gatt_client_register_handler": "0x00008a7d", - "gatt_client_reliable_write_long_value_of_characteristic": "0x00008a89", - "gatt_client_signed_write_without_response": "0x00008eb9", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008f7d", - "gatt_client_write_client_characteristic_configuration": "0x00008fb7", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00009009", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00009019", - "gatt_client_write_long_value_of_characteristic": "0x00009055", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x00009065", - "gatt_client_write_value_of_characteristic": "0x000090a1", - "gatt_client_write_value_of_characteristic_without_response": "0x000090d7", - "hci_add_event_handler": "0x0000a619", - "hci_power_control": "0x0000adb5", - "hci_register_acl_packet_handler": "0x0000af69", - "kv_commit": "0x0000b551", - "kv_get": "0x0000b5a9", - "kv_init": "0x0000b5c1", - "kv_put": "0x0000b629", - "kv_remove": "0x0000b6a1", - "kv_remove_all": "0x0000b6dd", - "kv_value_modified": "0x0000b721", - "kv_visit": "0x0000b725", - "l2cap_add_event_handler": "0x0000b7d9", - "l2cap_can_send_packet_now": "0x0000b7e9", - "l2cap_create_le_credit_based_connection_request": "0x0000b9a5", - "l2cap_credit_based_send": "0x0000bae9", - "l2cap_credit_based_send_continue": "0x0000bb15", - "l2cap_disconnect": "0x0000bb91", - "l2cap_get_le_credit_based_connection_credits": "0x0000bde1", - "l2cap_get_peer_mtu_for_local_cid": "0x0000bdfd", - "l2cap_init": "0x0000c1d1", - "l2cap_le_send_flow_control_credit": "0x0000c2c7", - "l2cap_max_le_mtu": "0x0000c5d1", - "l2cap_register_packet_handler": "0x0000c6f9", - "l2cap_register_service": "0x0000c705", - "l2cap_request_can_send_now_event": "0x0000c815", - "l2cap_request_connection_parameter_update": "0x0000c82f", - "l2cap_send_echo_request": "0x0000cd01", - "l2cap_unregister_service": "0x0000cdc1", - "le_device_db_add": "0x0000ce19", - "le_device_db_find": "0x0000ceed", - "le_device_db_from_key": "0x0000cf19", - "le_device_db_iter_cur": "0x0000cf21", - "le_device_db_iter_cur_key": "0x0000cf25", - "le_device_db_iter_init": "0x0000cf29", - "le_device_db_iter_next": "0x0000cf31", - "le_device_db_remove_key": "0x0000cf57", - "ll_free": "0x0000cf83", - "ll_hint_on_ce_len": "0x0000cf8d", - "ll_legacy_adv_set_interval": "0x0000cfc5", - "ll_malloc": "0x0000cfd5", - "ll_query_timing_info": "0x0000d10d", - "ll_scan_set_fixed_channel": "0x0000d1b1", - "ll_set_adv_access_address": "0x0000d2c5", - "ll_set_adv_coded_scheme": "0x0000d2d1", - "ll_set_conn_coded_scheme": "0x0000d301", - "ll_set_conn_latency": "0x0000d32d", - "ll_set_conn_tx_power": "0x0000d35d", - "ll_set_def_antenna": "0x0000d3a5", - "ll_set_initiating_coded_scheme": "0x0000d3c1", - "ll_set_max_conn_number": "0x0000d3cd", - "nibble_for_char": "0x0001e1f5", - "platform_32k_rc_auto_tune": "0x0001e2a1", - "platform_32k_rc_tune": "0x0001e31d", - "platform_calibrate_32k": "0x0001e331", - "platform_config": "0x0001e335", - "platform_enable_irq": "0x0001e429", - "platform_get_current_task": "0x0001e451", - "platform_get_gen_os_driver": "0x0001e475", - "platform_get_heap_status": "0x0001e47d", - "platform_get_task_handle": "0x0001e495", - "platform_get_us_time": "0x0001e4b5", - "platform_get_version": "0x0001e4b9", - "platform_hrng": "0x0001e4c1", - "platform_install_isr_stack": "0x0001e4c9", - "platform_install_task_stack": "0x0001e4d5", - "platform_patch_rf_init_data": "0x0001e50d", - "platform_printf": "0x0001e519", - "platform_raise_assertion": "0x0001e52d", - "platform_rand": "0x0001e541", - "platform_read_info": "0x0001e545", - "platform_read_persistent_reg": "0x0001e575", - "platform_reset": "0x0001e585", - "platform_set_evt_callback": "0x0001e5a9", - "platform_set_evt_callback_table": "0x0001e5bd", - "platform_set_irq_callback": "0x0001e5c9", - "platform_set_irq_callback_table": "0x0001e5e5", - "platform_set_rf_clk_source": "0x0001e5f1", - "platform_set_rf_init_data": "0x0001e5fd", - "platform_set_rf_power_mapping": "0x0001e609", - "platform_set_timer": "0x0001e615", - "platform_shutdown": "0x0001e619", - "platform_switch_app": "0x0001e61d", - "platform_trace_raw": "0x0001e649", - "platform_write_persistent_reg": "0x0001e661", - "printf_hexdump": "0x0001e815", - "pvPortMalloc": "0x0001f305", - "pvTaskIncrementMutexHeldCount": "0x0001f3ed", - "pvTimerGetTimerID": "0x0001f405", - "pxPortInitialiseStack": "0x0001f431", - "reverse_128": "0x0001f611", - "reverse_24": "0x0001f617", - "reverse_48": "0x0001f61d", - "reverse_56": "0x0001f623", - "reverse_64": "0x0001f629", - "reverse_bd_addr": "0x0001f62f", - "reverse_bytes": "0x0001f635", - "sm_add_event_handler": "0x0001f8f5", - "sm_address_resolution_lookup": "0x0001fa4d", - "sm_authenticated": "0x0001fdad", - "sm_authorization_decline": "0x0001fdbb", - "sm_authorization_grant": "0x0001fddb", - "sm_authorization_state": "0x0001fdfb", - "sm_bonding_decline": "0x0001fe15", - "sm_config": "0x00020235", - "sm_config_conn": "0x0002024d", - "sm_encryption_key_size": "0x00020403", - "sm_just_works_confirm": "0x0002093d", - "sm_le_device_key": "0x00020c79", - "sm_passkey_input": "0x00020d0f", - "sm_private_random_address_generation_get": "0x000210bd", - "sm_private_random_address_generation_get_mode": "0x000210c5", - "sm_private_random_address_generation_set_mode": "0x000210d1", - "sm_private_random_address_generation_set_update_period": "0x000210f9", - "sm_register_oob_data_callback": "0x00021235", - "sm_request_pairing": "0x00021241", - "sm_send_security_request": "0x00021c7b", - "sm_set_accepted_stk_generation_methods": "0x00021ca1", - "sm_set_authentication_requirements": "0x00021cad", - "sm_set_encryption_key_size_range": "0x00021cb9", - "sscanf_bd_addr": "0x00022015", - "sysSetPublicDeviceAddr": "0x000223c9", - "uuid128_to_str": "0x00022b3d", - "uuid_add_bluetooth_prefix": "0x00022b95", - "uuid_has_bluetooth_prefix": "0x00022bb5", - "uxListRemove": "0x00022bd1", - "uxQueueMessagesWaiting": "0x00022bf9", - "uxQueueMessagesWaitingFromISR": "0x00022c21", - "uxQueueSpacesAvailable": "0x00022c3d", - "uxTaskGetStackHighWaterMark": "0x00022c69", - "uxTaskPriorityGet": "0x00022c89", - "uxTaskPriorityGetFromISR": "0x00022ca5", - "vListInitialise": "0x00022d5f", - "vListInitialiseItem": "0x00022d75", - "vListInsert": "0x00022d7b", - "vListInsertEnd": "0x00022dab", - "vPortEndScheduler": "0x00022dc5", - "vPortEnterCritical": "0x00022df1", - "vPortExitCritical": "0x00022e35", - "vPortFree": "0x00022e69", - "vPortSuppressTicksAndSleep": "0x00022efd", - "vPortValidateInterruptPriority": "0x00023019", - "vQueueDelete": "0x00023075", - "vQueueWaitForMessageRestricted": "0x000230a1", - "vTaskDelay": "0x000230e9", - "vTaskInternalSetTimeOutState": "0x00023135", - "vTaskMissedYield": "0x00023145", - "vTaskPlaceOnEventList": "0x00023151", - "vTaskPlaceOnEventListRestricted": "0x00023189", - "vTaskPriorityDisinheritAfterTimeout": "0x000231c9", - "vTaskPrioritySet": "0x00023275", - "vTaskResume": "0x0002333d", - "vTaskStartScheduler": "0x000233c1", - "vTaskStepTick": "0x00023451", - "vTaskSuspend": "0x00023481", - "vTaskSuspendAll": "0x0002353d", - "vTaskSwitchContext": "0x0002354d", - "xPortStartScheduler": "0x000235f5", - "xQueueAddToSet": "0x000236bd", - "xQueueCreateCountingSemaphore": "0x000236e1", - "xQueueCreateCountingSemaphoreStatic": "0x0002371d", - "xQueueCreateMutex": "0x00023761", - "xQueueCreateMutexStatic": "0x00023777", - "xQueueCreateSet": "0x00023791", - "xQueueGenericCreate": "0x00023799", - "xQueueGenericCreateStatic": "0x000237e5", - "xQueueGenericReset": "0x0002384d", - "xQueueGenericSend": "0x000238d9", - "xQueueGenericSendFromISR": "0x00023a45", - "xQueueGiveFromISR": "0x00023b05", - "xQueueGiveMutexRecursive": "0x00023ba9", - "xQueueIsQueueEmptyFromISR": "0x00023be9", - "xQueueIsQueueFullFromISR": "0x00023c0d", - "xQueuePeek": "0x00023c35", - "xQueuePeekFromISR": "0x00023d5d", - "xQueueReceive": "0x00023dc9", - "xQueueReceiveFromISR": "0x00023ef5", - "xQueueRemoveFromSet": "0x00023f89", - "xQueueSelectFromSet": "0x00023fab", - "xQueueSelectFromSetFromISR": "0x00023fbd", - "xQueueSemaphoreTake": "0x00023fd1", - "xQueueTakeMutexRecursive": "0x0002413d", - "xTaskCheckForTimeOut": "0x00024181", - "xTaskCreate": "0x000241f1", - "xTaskCreateStatic": "0x0002424d", - "xTaskGetCurrentTaskHandle": "0x000242bd", - "xTaskGetSchedulerState": "0x000242c9", - "xTaskGetTickCount": "0x000242e5", - "xTaskGetTickCountFromISR": "0x000242f1", - "xTaskIncrementTick": "0x00024301", - "xTaskPriorityDisinherit": "0x000243cd", - "xTaskPriorityInherit": "0x00024461", - "xTaskRemoveFromEventList": "0x000244f5", - "xTaskResumeAll": "0x00024575", - "xTaskResumeFromISR": "0x0002463d", - "xTimerCreate": "0x000246c9", - "xTimerCreateStatic": "0x000246fd", - "xTimerCreateTimerTask": "0x00024735", - "xTimerGenericCommand": "0x000247a1", - "xTimerGetExpiryTime": "0x00024811", - "xTimerGetTimerDaemonTaskHandle": "0x00024831" + "att_dispatch_client_can_send_now": "0x00005875", + "att_dispatch_client_request_can_send_now_event": "0x0000587b", + "att_dispatch_register_client": "0x00005881", + "att_dispatch_register_server": "0x00005895", + "att_dispatch_server_can_send_now": "0x000058a9", + "att_dispatch_server_request_can_send_now_event": "0x000058af", + "att_emit_general_event": "0x00005961", + "att_server_can_send_packet_now": "0x00006075", + "att_server_deferred_read_response": "0x00006079", + "att_server_get_mtu": "0x00006091", + "att_server_indicate": "0x00006109", + "att_server_init": "0x0000618d", + "att_server_notify": "0x000061c9", + "att_server_register_packet_handler": "0x000062e1", + "att_server_request_can_send_now_event": "0x000062ed", + "att_set_db": "0x00006309", + "att_set_read_callback": "0x0000631d", + "att_set_write_callback": "0x00006329", + "bd_addr_cmp": "0x00006499", + "bd_addr_copy": "0x0000649f", + "bd_addr_to_str": "0x000064a9", + "big_endian_read_16": "0x000064e1", + "big_endian_read_32": "0x000064e9", + "big_endian_store_16": "0x000064fd", + "big_endian_store_32": "0x00006509", + "btstack_config": "0x0000665d", + "btstack_memory_pool_create": "0x0000679b", + "btstack_memory_pool_free": "0x000067c5", + "btstack_memory_pool_get": "0x00006825", + "btstack_push_user_msg": "0x0000688d", + "btstack_push_user_runnable": "0x00006899", + "char_for_nibble": "0x00006b21", + "eTaskConfirmSleepModeStatus": "0x00006ded", + "gap_add_dev_to_periodic_list": "0x00007481", + "gap_add_whitelist": "0x00007491", + "gap_aes_encrypt": "0x0000749d", + "gap_clear_white_lists": "0x000074e1", + "gap_clr_adv_set": "0x000074ed", + "gap_clr_periodic_adv_list": "0x000074f9", + "gap_create_connection_cancel": "0x00007505", + "gap_default_periodic_adv_sync_transfer_param": "0x00007511", + "gap_disconnect": "0x00007529", + "gap_disconnect_all": "0x00007555", + "gap_ext_create_connection": "0x00007595", + "gap_get_connection_parameter_range": "0x00007685", + "gap_le_read_channel_map": "0x000076bd", + "gap_periodic_adv_create_sync": "0x00007729", + "gap_periodic_adv_create_sync_cancel": "0x0000774d", + "gap_periodic_adv_set_info_transfer": "0x00007759", + "gap_periodic_adv_sync_transfer": "0x00007769", + "gap_periodic_adv_sync_transfer_param": "0x00007779", + "gap_periodic_adv_term_sync": "0x00007795", + "gap_read_antenna_info": "0x0000781d", + "gap_read_periodic_adv_list_size": "0x00007829", + "gap_read_phy": "0x00007835", + "gap_read_remote_used_features": "0x00007841", + "gap_read_remote_version": "0x0000784d", + "gap_read_rssi": "0x00007859", + "gap_remove_whitelist": "0x00007865", + "gap_rmv_adv_set": "0x000078e1", + "gap_rmv_dev_from_periodic_list": "0x000078ed", + "gap_rx_test_v2": "0x000078fd", + "gap_rx_test_v3": "0x0000790d", + "gap_set_adv_set_random_addr": "0x00007959", + "gap_set_connection_cte_request_enable": "0x000079a5", + "gap_set_connection_cte_response_enable": "0x000079c1", + "gap_set_connection_cte_rx_param": "0x000079d1", + "gap_set_connection_cte_tx_param": "0x00007a2d", + "gap_set_connection_parameter_range": "0x00007a81", + "gap_set_connectionless_cte_tx_enable": "0x00007a9d", + "gap_set_connectionless_cte_tx_param": "0x00007aad", + "gap_set_connectionless_iq_sampling_enable": "0x00007b0d", + "gap_set_data_length": "0x00007b71", + "gap_set_def_phy": "0x00007b89", + "gap_set_ext_adv_data": "0x00007b99", + "gap_set_ext_adv_enable": "0x00007bb1", + "gap_set_ext_adv_para": "0x00007c2d", + "gap_set_ext_scan_enable": "0x00007d05", + "gap_set_ext_scan_para": "0x00007d1d", + "gap_set_ext_scan_response_data": "0x00007dc5", + "gap_set_host_channel_classification": "0x00007ddd", + "gap_set_periodic_adv_data": "0x00007ded", + "gap_set_periodic_adv_enable": "0x00007e5d", + "gap_set_periodic_adv_para": "0x00007e6d", + "gap_set_periodic_adv_rx_enable": "0x00007e85", + "gap_set_phy": "0x00007e95", + "gap_set_random_device_address": "0x00007eb1", + "gap_start_ccm": "0x00007ee1", + "gap_test_end": "0x00007f35", + "gap_tx_test_v2": "0x00007f41", + "gap_tx_test_v4": "0x00007f59", + "gap_update_connection_parameters": "0x00007f7d", + "gap_vendor_tx_continuous_wave": "0x00007fc1", + "gatt_client_cancel_write": "0x000084e9", + "gatt_client_discover_characteristic_descriptors": "0x0000850f", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x0000854f", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x0000859f", + "gatt_client_discover_characteristics_for_service": "0x000085ef", + "gatt_client_discover_primary_services": "0x00008625", + "gatt_client_discover_primary_services_by_uuid128": "0x00008657", + "gatt_client_discover_primary_services_by_uuid16": "0x0000869b", + "gatt_client_execute_write": "0x000086d7", + "gatt_client_find_included_services_for_service": "0x000086fd", + "gatt_client_get_mtu": "0x0000872b", + "gatt_client_is_ready": "0x000087cd", + "gatt_client_listen_for_characteristic_value_updates": "0x000087e3", + "gatt_client_prepare_write": "0x00008805", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x00008841", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x0000886b", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008871", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x0000889f", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x000088a5", + "gatt_client_read_multiple_characteristic_values": "0x000088d3", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x00008903", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x00008931", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x0000897d", + "gatt_client_register_handler": "0x000089c9", + "gatt_client_reliable_write_long_value_of_characteristic": "0x000089d5", + "gatt_client_signed_write_without_response": "0x00008e05", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008ec9", + "gatt_client_write_client_characteristic_configuration": "0x00008f03", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008f55", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008f65", + "gatt_client_write_long_value_of_characteristic": "0x00008fa1", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008fb1", + "gatt_client_write_value_of_characteristic": "0x00008fed", + "gatt_client_write_value_of_characteristic_without_response": "0x00009023", + "hci_add_event_handler": "0x0000a565", + "hci_power_control": "0x0000ad01", + "hci_register_acl_packet_handler": "0x0000aeb5", + "kv_commit": "0x0000b495", + "kv_get": "0x0000b4ed", + "kv_init": "0x0000b505", + "kv_put": "0x0000b56d", + "kv_remove": "0x0000b5e5", + "kv_remove_all": "0x0000b621", + "kv_value_modified": "0x0000b665", + "kv_visit": "0x0000b669", + "l2cap_add_event_handler": "0x0000b71d", + "l2cap_can_send_packet_now": "0x0000b72d", + "l2cap_create_le_credit_based_connection_request": "0x0000b8e9", + "l2cap_credit_based_send": "0x0000ba2d", + "l2cap_credit_based_send_continue": "0x0000ba59", + "l2cap_disconnect": "0x0000bad5", + "l2cap_get_le_credit_based_connection_credits": "0x0000bd25", + "l2cap_get_peer_mtu_for_local_cid": "0x0000bd41", + "l2cap_init": "0x0000c115", + "l2cap_le_send_flow_control_credit": "0x0000c20b", + "l2cap_max_le_mtu": "0x0000c515", + "l2cap_register_packet_handler": "0x0000c63d", + "l2cap_register_service": "0x0000c649", + "l2cap_request_can_send_now_event": "0x0000c759", + "l2cap_request_connection_parameter_update": "0x0000c773", + "l2cap_send_echo_request": "0x0000cc45", + "l2cap_unregister_service": "0x0000cd05", + "le_device_db_add": "0x0000cd5d", + "le_device_db_find": "0x0000ce31", + "le_device_db_from_key": "0x0000ce5d", + "le_device_db_iter_cur": "0x0000ce65", + "le_device_db_iter_cur_key": "0x0000ce69", + "le_device_db_iter_init": "0x0000ce6d", + "le_device_db_iter_next": "0x0000ce75", + "le_device_db_remove_key": "0x0000ce9b", + "ll_aes_encrypt": "0x0000cec9", + "ll_free": "0x0000cf45", + "ll_hint_on_ce_len": "0x0000cf51", + "ll_legacy_adv_set_interval": "0x0000cf89", + "ll_malloc": "0x0000cf99", + "ll_query_timing_info": "0x0000d0d1", + "ll_scan_set_fixed_channel": "0x0000d175", + "ll_set_adv_access_address": "0x0000d289", + "ll_set_adv_coded_scheme": "0x0000d295", + "ll_set_conn_coded_scheme": "0x0000d2c5", + "ll_set_conn_latency": "0x0000d2f1", + "ll_set_conn_tx_power": "0x0000d321", + "ll_set_def_antenna": "0x0000d369", + "ll_set_initiating_coded_scheme": "0x0000d385", + "ll_set_max_conn_number": "0x0000d391", + "nibble_for_char": "0x0001e1cd", + "platform_32k_rc_auto_tune": "0x0001e279", + "platform_32k_rc_tune": "0x0001e2f5", + "platform_calibrate_32k": "0x0001e309", + "platform_config": "0x0001e30d", + "platform_enable_irq": "0x0001e401", + "platform_get_current_task": "0x0001e439", + "platform_get_gen_os_driver": "0x0001e45d", + "platform_get_heap_status": "0x0001e465", + "platform_get_task_handle": "0x0001e47d", + "platform_get_us_time": "0x0001e49d", + "platform_get_version": "0x0001e4a1", + "platform_hrng": "0x0001e4a9", + "platform_install_isr_stack": "0x0001e4b1", + "platform_install_task_stack": "0x0001e4bd", + "platform_patch_rf_init_data": "0x0001e4f5", + "platform_printf": "0x0001e501", + "platform_raise_assertion": "0x0001e515", + "platform_rand": "0x0001e529", + "platform_read_info": "0x0001e52d", + "platform_read_persistent_reg": "0x0001e55d", + "platform_reset": "0x0001e56d", + "platform_set_evt_callback": "0x0001e591", + "platform_set_evt_callback_table": "0x0001e5a5", + "platform_set_irq_callback": "0x0001e5b1", + "platform_set_irq_callback_table": "0x0001e5cd", + "platform_set_rf_clk_source": "0x0001e5d9", + "platform_set_rf_init_data": "0x0001e5e5", + "platform_set_rf_power_mapping": "0x0001e5f1", + "platform_set_timer": "0x0001e5fd", + "platform_shutdown": "0x0001e601", + "platform_switch_app": "0x0001e605", + "platform_trace_raw": "0x0001e631", + "platform_write_persistent_reg": "0x0001e649", + "printf_hexdump": "0x0001e7fd", + "pvPortMalloc": "0x0001f2ed", + "pvTaskIncrementMutexHeldCount": "0x0001f3d5", + "pvTimerGetTimerID": "0x0001f3ed", + "pxPortInitialiseStack": "0x0001f419", + "reverse_128": "0x0001f5f9", + "reverse_24": "0x0001f5ff", + "reverse_48": "0x0001f605", + "reverse_56": "0x0001f60b", + "reverse_64": "0x0001f611", + "reverse_bd_addr": "0x0001f617", + "reverse_bytes": "0x0001f61d", + "sm_add_event_handler": "0x0001f8dd", + "sm_address_resolution_lookup": "0x0001fa35", + "sm_authenticated": "0x0001fd95", + "sm_authorization_decline": "0x0001fda3", + "sm_authorization_grant": "0x0001fdc3", + "sm_authorization_state": "0x0001fde3", + "sm_bonding_decline": "0x0001fdfd", + "sm_config": "0x0002021d", + "sm_config_conn": "0x00020235", + "sm_encryption_key_size": "0x000203eb", + "sm_just_works_confirm": "0x00020925", + "sm_le_device_key": "0x00020c61", + "sm_passkey_input": "0x00020cf7", + "sm_private_random_address_generation_get": "0x000210a5", + "sm_private_random_address_generation_get_mode": "0x000210ad", + "sm_private_random_address_generation_set_mode": "0x000210b9", + "sm_private_random_address_generation_set_update_period": "0x000210e1", + "sm_register_oob_data_callback": "0x0002121d", + "sm_request_pairing": "0x00021229", + "sm_send_security_request": "0x00021c63", + "sm_set_accepted_stk_generation_methods": "0x00021c89", + "sm_set_authentication_requirements": "0x00021c95", + "sm_set_encryption_key_size_range": "0x00021ca1", + "sscanf_bd_addr": "0x00021ffd", + "sysSetPublicDeviceAddr": "0x000223b1", + "uuid128_to_str": "0x00022b25", + "uuid_add_bluetooth_prefix": "0x00022b7d", + "uuid_has_bluetooth_prefix": "0x00022b9d", + "uxListRemove": "0x00022bb9", + "uxQueueMessagesWaiting": "0x00022be1", + "uxQueueMessagesWaitingFromISR": "0x00022c09", + "uxQueueSpacesAvailable": "0x00022c25", + "uxTaskGetStackHighWaterMark": "0x00022c51", + "uxTaskPriorityGet": "0x00022c71", + "uxTaskPriorityGetFromISR": "0x00022c8d", + "vListInitialise": "0x00022d47", + "vListInitialiseItem": "0x00022d5d", + "vListInsert": "0x00022d63", + "vListInsertEnd": "0x00022d93", + "vPortEndScheduler": "0x00022dad", + "vPortEnterCritical": "0x00022dd9", + "vPortExitCritical": "0x00022e1d", + "vPortFree": "0x00022e51", + "vPortSuppressTicksAndSleep": "0x00022ee5", + "vPortValidateInterruptPriority": "0x00023001", + "vQueueDelete": "0x0002305d", + "vQueueWaitForMessageRestricted": "0x00023089", + "vTaskDelay": "0x000230d1", + "vTaskInternalSetTimeOutState": "0x0002311d", + "vTaskMissedYield": "0x0002312d", + "vTaskPlaceOnEventList": "0x00023139", + "vTaskPlaceOnEventListRestricted": "0x00023171", + "vTaskPriorityDisinheritAfterTimeout": "0x000231b1", + "vTaskPrioritySet": "0x0002325d", + "vTaskResume": "0x00023325", + "vTaskStartScheduler": "0x000233a9", + "vTaskStepTick": "0x00023439", + "vTaskSuspend": "0x00023469", + "vTaskSuspendAll": "0x00023525", + "vTaskSwitchContext": "0x00023535", + "xPortStartScheduler": "0x000235dd", + "xQueueAddToSet": "0x000236a5", + "xQueueCreateCountingSemaphore": "0x000236c9", + "xQueueCreateCountingSemaphoreStatic": "0x00023705", + "xQueueCreateMutex": "0x00023749", + "xQueueCreateMutexStatic": "0x0002375f", + "xQueueCreateSet": "0x00023779", + "xQueueGenericCreate": "0x00023781", + "xQueueGenericCreateStatic": "0x000237cd", + "xQueueGenericReset": "0x00023835", + "xQueueGenericSend": "0x000238c1", + "xQueueGenericSendFromISR": "0x00023a2d", + "xQueueGiveFromISR": "0x00023aed", + "xQueueGiveMutexRecursive": "0x00023b91", + "xQueueIsQueueEmptyFromISR": "0x00023bd1", + "xQueueIsQueueFullFromISR": "0x00023bf5", + "xQueuePeek": "0x00023c1d", + "xQueuePeekFromISR": "0x00023d45", + "xQueueReceive": "0x00023db1", + "xQueueReceiveFromISR": "0x00023edd", + "xQueueRemoveFromSet": "0x00023f71", + "xQueueSelectFromSet": "0x00023f93", + "xQueueSelectFromSetFromISR": "0x00023fa5", + "xQueueSemaphoreTake": "0x00023fb9", + "xQueueTakeMutexRecursive": "0x00024125", + "xTaskCheckForTimeOut": "0x00024169", + "xTaskCreate": "0x000241d9", + "xTaskCreateStatic": "0x00024235", + "xTaskGetCurrentTaskHandle": "0x000242a5", + "xTaskGetSchedulerState": "0x000242b1", + "xTaskGetTickCount": "0x000242cd", + "xTaskGetTickCountFromISR": "0x000242d9", + "xTaskIncrementTick": "0x000242e9", + "xTaskPriorityDisinherit": "0x000243b5", + "xTaskPriorityInherit": "0x00024449", + "xTaskRemoveFromEventList": "0x000244dd", + "xTaskResumeAll": "0x0002455d", + "xTaskResumeFromISR": "0x00024625", + "xTimerCreate": "0x000246b1", + "xTimerCreateStatic": "0x000246e5", + "xTimerCreateTimerTask": "0x0002471d", + "xTimerGenericCommand": "0x00024789", + "xTimerGetExpiryTime": "0x000247f9", + "xTimerGetTimerDaemonTaskHandle": "0x00024819" } \ No newline at end of file diff --git a/bundles/mass_conn/ING9188xx/meta.json b/bundles/mass_conn/ING9188xx/meta.json index 57702bf63..3af8c210b 100644 --- a/bundles/mass_conn/ING9188xx/meta.json +++ b/bundles/mass_conn/ING9188xx/meta.json @@ -8,11 +8,11 @@ }, "rom": { "base": 16384, - "size": 139824 + "size": 139800 }, "version": [ 1, 9, - 12 + 15 ] } \ No newline at end of file diff --git a/bundles/mass_conn/ING9188xx/platform.bin b/bundles/mass_conn/ING9188xx/platform.bin index 5a9b43784..dfe1fe378 100644 Binary files a/bundles/mass_conn/ING9188xx/platform.bin and b/bundles/mass_conn/ING9188xx/platform.bin differ diff --git a/bundles/mass_conn/inc/gap.h b/bundles/mass_conn/inc/gap.h index 413b9423a..cc0896b57 100644 --- a/bundles/mass_conn/inc/gap.h +++ b/bundles/mass_conn/inc/gap.h @@ -47,14 +47,15 @@ typedef enum scan_type * @brief set random address device * * @param address random address + * @return 0: Message is sent to controller; others: failed */ -void gap_set_random_device_address(const uint8_t *address); +uint8_t gap_set_random_device_address(const uint8_t *address); /** * @brief Disconnect connection with handle * * @param handle Used to identify an advertising set. Range: 0x00 to 0xEF - * @return 0: Message is sent out or the connection alreay release + * @return 0: Message is sent out or the connection already release */ uint8_t gap_disconnect(hci_con_handle_t handle); @@ -67,7 +68,7 @@ void gap_disconnect_all(void); * * @param[in] address BLE address * @param[in] addtype BLE address type - * @return 0: Message is sent to controller + * @return 0: Message is sent to controller */ uint8_t gap_add_whitelist(const uint8_t *address,bd_addr_type_t addtype); @@ -1326,30 +1327,27 @@ uint8_t gap_vendor_tx_continuous_wave(uint8_t enable, uint8_t power_level_index, #define HCI_VENDOR_CCM 0xFC01 /** - * @brief host require controller to do AES-CCM functionality, and CCM referece to + * @brief Host require controller to do AES-CCM functionality, and CCM reference to * the document rfc3610:Counter with CBC-MAC (CCM) * - * @param type 0: encrypt 1:decrypt - * - * @param mic_size 8: mic size in 8 bytes 4: mic size in 4 bytes - * - * @param msg_len messge length to be encrypt or decrypt - * - * @param aad_len Additional authenticated data length - * - * @param tag a value to identify a AES-CCM request. - * - * @param key 128 bits long key as required by AES-CCM - * - * @param nonce random value of each AES-CCM require 13 bytes long - * - * @param msg pointer to the message input + * All input buffers (key, nonce, msg, aad) must be kept in memory until AES-CCM completed. * - * @param aad Additional authenticated data + * `return_param` passed to `cb` is casted from `event_vendor_ccm_complete_t`. * - * @param out_msg the output buffer to store the result of the AES-CCM ,calculated by controller. + * @param[in] type 0: encrypt 1:decrypt + * @param[in] mic_size 8: mic size in 8 bytes 4: mic size in 4 bytes + * @param[in] msg_len message length to be encrypt or decrypt (<= 384 bytes) + * @param[in] aad_len Additional authenticated data length (<= 16 bytes) + * @param[in] tag a value to identify a AES-CCM request. + * @param[in] key 128 bits long key as required by AES-CCM + * @param[in] nonce random value of each AES-CCM require 13 bytes long + * @param[in] msg pointer to the message input + * @param[in] aad Additional authenticated data + * @param[out] out_msg the output buffer to store the result of the AES-CCM + * @param[in] cb callback function on the corresponding command complete event + * @param[in] user_data user data for the callback function * - * @return 0: success others: failed + * @return 0: success others: failed */ uint8_t gap_start_ccm( uint8_t type, // 0: encrypt 1: decrypt @@ -1357,11 +1355,13 @@ uint8_t gap_start_ccm( uint16_t msg_len, uint16_t aad_len, uint32_t tag, // same value will be reported in event - uint8_t *key, - uint8_t *nonce, - uint8_t *msg, - uint8_t *aad, - uint8_t *out_msg); + const uint8_t *key, + const uint8_t *nonce, + const uint8_t *msg, + const uint8_t *aad, + uint8_t *out_msg, + gap_hci_cmd_complete_cb_t cb, + void *user_data); //HCI func interface diff --git a/bundles/mass_conn/inc/ll_api.h b/bundles/mass_conn/inc/ll_api.h index c32f31e3e..f49c2f484 100644 --- a/bundles/mass_conn/inc/ll_api.h +++ b/bundles/mass_conn/inc/ll_api.h @@ -118,6 +118,52 @@ void ll_set_conn_coded_scheme(uint16_t conn_handle, int ci); */ void ll_set_conn_latency(uint16_t conn_handle, int latency); +/** + **************************************************************************************** + * @brief Get connection basic information of a connection + * + * @param[in] conn_handle handle of an existing connection + * @param[out] access_addr Access address + * @param[out] crc_init CRC init value + * @param[out] interval interval (unit: us) + * @return 0 if successful else non-0 + **************************************************************************************** + */ +// int ll_get_conn_info(const uint16_t conn_handle, +// uint32_t *access_addr, +// uint32_t *crc_init, +// uint32_t *interval); +// WARNING: ^^^ this API is not available in this release + + +/** + **************************************************************************************** + * @brief Get information of upcoming connection events of a connection + * + * Information of consecutive N connection events after `from_time` can be retrieved, + * where N = `number`. + * + * Sub-rating is ignored. If channel map updated within these events, then `channel_ids` + * are not reliable. + * + * @param[in] conn_handle handle of an existing connection + * @param[in] number number of connection events to be queried + * @param[in] from_time the first connection event shall be after `from_time` (unit: us) + * @param[out] time_offset time offset between the start of the first connection event and `from_time` (unit: us) + * @param[out] event_count connection event count of the first connection event + * @param[out] channel_ids physical channel IDs of the upcoming `number` connection events + * @return 0 if successful else non-0 + **************************************************************************************** + */ +// int ll_get_conn_events_info(const uint16_t conn_handle, +// int number, +// uint64_t from_time, +// uint32_t *time_offset, +// uint16_t *event_count, +// uint8_t *channel_ids); +// WARNING: ^^^ this API is not available in this release + + /** **************************************************************************************** * @brief Set default antenna ID @@ -789,6 +835,21 @@ typedef int (*f_start_generate_dhkey)(int key_type, const uint8_t *remote_pub_k // f_start_generate_dhkey start_generate_dhkey); // WARNING: ^^^ this API is not available in this release + +/** + **************************************************************************************** + * @brief Low level AES encryption in blocking mode + * + * @param[in] key key (little-endian) + * @param[in] plaintext plaintext (little-endian) + * @param[out] ciphertext ciphertext (big-endian) + * @return 0 if completed successfully; non-0 if hardware is not ready or busy + * When non-0 is returned, it is possible to retry later. + **************************************************************************************** + */ +int ll_aes_encrypt(const uint8_t *key, const uint8_t *plaintext, + uint8_t *ciphertext); + #ifdef __cplusplus } #endif diff --git a/bundles/mini/ING9168xx/apis.json b/bundles/mini/ING9168xx/apis.json index 0dcd814ec..ccadc6e9f 100644 --- a/bundles/mini/ING9168xx/apis.json +++ b/bundles/mini/ING9168xx/apis.json @@ -1,330 +1,331 @@ { - "att_dispatch_client_can_send_now": "0x02004459", - "att_dispatch_client_request_can_send_now_event": "0x0200445f", - "att_dispatch_register_client": "0x02004465", - "att_dispatch_register_server": "0x02004479", - "att_dispatch_server_can_send_now": "0x0200448d", - "att_dispatch_server_request_can_send_now_event": "0x02004493", - "att_emit_general_event": "0x02004545", - "att_server_can_send_packet_now": "0x02004c5d", - "att_server_deferred_read_response": "0x02004c61", - "att_server_get_mtu": "0x02004c79", - "att_server_indicate": "0x02004ce5", - "att_server_init": "0x02004d69", - "att_server_notify": "0x02004da5", - "att_server_register_packet_handler": "0x02004ebd", - "att_server_request_can_send_now_event": "0x02004ec9", - "att_set_db": "0x02004ee5", - "att_set_read_callback": "0x02004ef9", - "att_set_write_callback": "0x02004f05", - "bd_addr_cmp": "0x020050ed", - "bd_addr_copy": "0x020050f3", - "bd_addr_to_str": "0x020050fd", - "big_endian_read_16": "0x02005135", - "big_endian_read_32": "0x0200513d", - "big_endian_store_16": "0x02005151", - "big_endian_store_32": "0x0200515d", - "btstack_config": "0x020052bd", - "btstack_memory_pool_create": "0x020053fb", - "btstack_memory_pool_free": "0x02005425", - "btstack_memory_pool_get": "0x02005485", - "btstack_push_user_msg": "0x020054ed", - "btstack_push_user_runnable": "0x020054f9", - "char_for_nibble": "0x02005797", - "eTaskConfirmSleepModeStatus": "0x02005ae1", - "gap_add_dev_to_periodic_list": "0x02006171", - "gap_add_whitelist": "0x02006189", - "gap_aes_encrypt": "0x0200619d", - "gap_clear_white_lists": "0x020061e1", - "gap_clr_adv_set": "0x020061f1", - "gap_clr_periodic_adv_list": "0x02006201", - "gap_create_connection_cancel": "0x02006211", - "gap_default_periodic_adv_sync_transfer_param": "0x02006221", - "gap_disconnect": "0x02006239", - "gap_disconnect_all": "0x02006265", - "gap_ext_create_connection": "0x020062a5", - "gap_get_connection_parameter_range": "0x02006395", - "gap_le_read_channel_map": "0x020063cd", - "gap_periodic_adv_create_sync": "0x02006441", - "gap_periodic_adv_create_sync_cancel": "0x02006465", - "gap_periodic_adv_set_info_transfer": "0x02006475", - "gap_periodic_adv_sync_transfer": "0x0200648d", - "gap_periodic_adv_sync_transfer_param": "0x020064a5", - "gap_periodic_adv_term_sync": "0x020064c1", - "gap_read_antenna_info": "0x02006555", - "gap_read_periodic_adv_list_size": "0x02006565", - "gap_read_phy": "0x02006575", - "gap_read_remote_used_features": "0x02006589", - "gap_read_remote_version": "0x0200659d", - "gap_read_rssi": "0x020065b1", - "gap_remove_whitelist": "0x020065c5", - "gap_rmv_adv_set": "0x02006649", - "gap_rmv_dev_from_periodic_list": "0x0200665d", - "gap_rx_test_v2": "0x02006675", - "gap_rx_test_v3": "0x0200668d", - "gap_set_adv_set_random_addr": "0x020066dd", - "gap_set_connection_cte_request_enable": "0x02006729", - "gap_set_connection_cte_response_enable": "0x02006745", - "gap_set_connection_cte_rx_param": "0x02006759", - "gap_set_connection_cte_tx_param": "0x020067b5", - "gap_set_connection_parameter_range": "0x02006809", - "gap_set_connectionless_cte_tx_enable": "0x02006821", - "gap_set_connectionless_cte_tx_param": "0x02006835", - "gap_set_connectionless_iq_sampling_enable": "0x02006895", - "gap_set_data_length": "0x020068f9", - "gap_set_def_phy": "0x02006915", - "gap_set_ext_adv_data": "0x0200692d", - "gap_set_ext_adv_enable": "0x02006945", - "gap_set_ext_adv_para": "0x020069c1", - "gap_set_ext_scan_enable": "0x02006a99", - "gap_set_ext_scan_para": "0x02006ab1", - "gap_set_ext_scan_response_data": "0x02006b59", - "gap_set_host_channel_classification": "0x02006b71", - "gap_set_periodic_adv_data": "0x02006b85", - "gap_set_periodic_adv_enable": "0x02006bf9", - "gap_set_periodic_adv_para": "0x02006c0d", - "gap_set_periodic_adv_rx_enable": "0x02006c25", - "gap_set_phy": "0x02006c39", - "gap_set_random_device_address": "0x02006c55", - "gap_start_ccm": "0x02006c85", - "gap_test_end": "0x02006cb9", - "gap_tx_test_v2": "0x02006cc9", - "gap_tx_test_v4": "0x02006ce1", - "gap_update_connection_parameters": "0x02006d09", - "gap_vendor_tx_continuous_wave": "0x02006d49", - "gatt_client_cancel_write": "0x02007271", - "gatt_client_discover_characteristic_descriptors": "0x02007297", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x020072d7", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x02007327", - "gatt_client_discover_characteristics_for_service": "0x02007377", - "gatt_client_discover_primary_services": "0x020073ad", - "gatt_client_discover_primary_services_by_uuid128": "0x020073df", - "gatt_client_discover_primary_services_by_uuid16": "0x02007423", - "gatt_client_execute_write": "0x02007461", - "gatt_client_find_included_services_for_service": "0x02007487", - "gatt_client_get_mtu": "0x020074b5", - "gatt_client_is_ready": "0x02007579", - "gatt_client_listen_for_characteristic_value_updates": "0x0200758f", - "gatt_client_prepare_write": "0x020075af", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x020075eb", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x02007615", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x0200761b", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x02007649", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x0200764f", - "gatt_client_read_multiple_characteristic_values": "0x0200767d", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x020076ad", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x020076db", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x02007727", - "gatt_client_register_handler": "0x02007771", - "gatt_client_reliable_write_long_value_of_characteristic": "0x0200777d", - "gatt_client_signed_write_without_response": "0x02007b85", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x02007c49", - "gatt_client_write_client_characteristic_configuration": "0x02007c83", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x02007cd5", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x02007ce5", - "gatt_client_write_long_value_of_characteristic": "0x02007d21", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x02007d31", - "gatt_client_write_value_of_characteristic": "0x02007d6d", - "gatt_client_write_value_of_characteristic_without_response": "0x02007da3", - "hci_add_event_handler": "0x0200938d", - "hci_power_control": "0x02009b79", - "hci_register_acl_packet_handler": "0x02009d2d", - "kv_commit": "0x0200a265", - "kv_get": "0x0200a2bd", - "kv_init": "0x0200a2d5", - "kv_put": "0x0200a339", - "kv_remove": "0x0200a3ad", - "kv_remove_all": "0x0200a3e9", - "kv_value_modified": "0x0200a42d", - "kv_visit": "0x0200a431", - "l2cap_add_event_handler": "0x0200a4e5", - "l2cap_can_send_packet_now": "0x0200a4f5", - "l2cap_create_le_credit_based_connection_request": "0x0200a6b9", - "l2cap_credit_based_send": "0x0200a801", - "l2cap_credit_based_send_continue": "0x0200a82d", - "l2cap_disconnect": "0x0200a8a9", - "l2cap_get_le_credit_based_connection_credits": "0x0200aa95", - "l2cap_get_peer_mtu_for_local_cid": "0x0200aab1", - "l2cap_init": "0x0200aef1", - "l2cap_le_send_flow_control_credit": "0x0200afe7", - "l2cap_max_le_mtu": "0x0200b2f5", - "l2cap_register_packet_handler": "0x0200b41d", - "l2cap_register_service": "0x0200b429", - "l2cap_request_can_send_now_event": "0x0200b539", - "l2cap_request_connection_parameter_update": "0x0200b553", - "l2cap_send_echo_request": "0x0200ba35", - "l2cap_unregister_service": "0x0200bb15", - "le_device_db_add": "0x0200bb6d", - "le_device_db_find": "0x0200bc31", - "le_device_db_from_key": "0x0200bc5d", - "le_device_db_iter_cur": "0x0200bc65", - "le_device_db_iter_cur_key": "0x0200bc69", - "le_device_db_iter_init": "0x0200bc6d", - "le_device_db_iter_next": "0x0200bc75", - "le_device_db_remove_key": "0x0200bc9b", - "ll_adjust_conn_peer_tx_power": "0x0200bcc9", - "ll_free": "0x0200bcf1", - "ll_hint_on_ce_len": "0x0200bcfd", - "ll_legacy_adv_set_interval": "0x0200bd35", - "ll_malloc": "0x0200bd45", - "ll_scan_set_fixed_channel": "0x0200beb5", - "ll_set_adv_access_address": "0x0200bfc9", - "ll_set_adv_coded_scheme": "0x0200bfd5", - "ll_set_conn_coded_scheme": "0x0200c005", - "ll_set_conn_latency": "0x0200c02d", - "ll_set_conn_tx_power": "0x0200c059", - "ll_set_def_antenna": "0x0200c091", - "ll_set_initiating_coded_scheme": "0x0200c0b1", - "ll_set_max_conn_number": "0x0200c0bd", - "ll_set_tx_power_range": "0x0200c159", - "nibble_for_char": "0x0201e83d", - "platform_32k_rc_auto_tune": "0x0201e8dd", - "platform_32k_rc_tune": "0x0201e929", - "platform_calibrate_32k": "0x0201e945", - "platform_config": "0x0201e949", - "platform_enable_irq": "0x0201ea51", - "platform_get_current_task": "0x0201ea79", - "platform_get_gen_os_driver": "0x0201ea9d", - "platform_get_heap_status": "0x0201eaa5", - "platform_get_task_handle": "0x0201eabd", - "platform_get_us_time": "0x0201eadd", - "platform_get_version": "0x0201eae1", - "platform_hrng": "0x0201eae9", - "platform_install_isr_stack": "0x0201eaf1", - "platform_install_task_stack": "0x0201eafd", - "platform_patch_rf_init_data": "0x0201eb35", - "platform_printf": "0x0201eb41", - "platform_raise_assertion": "0x0201eb55", - "platform_rand": "0x0201eb69", - "platform_read_info": "0x0201eb6d", - "platform_read_persistent_reg": "0x0201eb9d", - "platform_reset": "0x0201eba9", - "platform_set_evt_callback": "0x0201ebbd", - "platform_set_evt_callback_table": "0x0201ebd1", - "platform_set_irq_callback": "0x0201ebdd", - "platform_set_irq_callback_table": "0x0201ebf9", - "platform_set_rf_clk_source": "0x0201ec05", - "platform_set_rf_init_data": "0x0201ec11", - "platform_set_rf_power_mapping": "0x0201ec1d", - "platform_set_timer": "0x0201ec29", - "platform_shutdown": "0x0201ec2d", - "platform_switch_app": "0x0201ec31", - "platform_trace_raw": "0x0201ec49", - "platform_write_persistent_reg": "0x0201ec61", - "printf_hexdump": "0x0201ee19", - "pvPortMalloc": "0x0201f8e5", - "pvTaskIncrementMutexHeldCount": "0x0201f9cd", - "pvTimerGetTimerID": "0x0201f9e5", - "pxPortInitialiseStack": "0x0201fa11", - "reverse_128": "0x0201fbf9", - "reverse_24": "0x0201fbff", - "reverse_48": "0x0201fc05", - "reverse_56": "0x0201fc0b", - "reverse_64": "0x0201fc11", - "reverse_bd_addr": "0x0201fc17", - "reverse_bytes": "0x0201fc1d", - "sm_add_event_handler": "0x0201ff39", - "sm_address_resolution_lookup": "0x02020091", - "sm_authenticated": "0x020203f1", - "sm_authorization_decline": "0x020203ff", - "sm_authorization_grant": "0x0202041f", - "sm_authorization_state": "0x0202043f", - "sm_bonding_decline": "0x02020459", - "sm_config": "0x02020871", - "sm_config_conn": "0x02020889", - "sm_encryption_key_size": "0x02020a3f", - "sm_just_works_confirm": "0x02020f79", - "sm_le_device_key": "0x020212b5", - "sm_passkey_input": "0x0202134b", - "sm_private_random_address_generation_get": "0x020216f9", - "sm_private_random_address_generation_get_mode": "0x02021701", - "sm_private_random_address_generation_set_mode": "0x0202170d", - "sm_private_random_address_generation_set_update_period": "0x02021735", - "sm_register_oob_data_callback": "0x02021871", - "sm_request_pairing": "0x0202187d", - "sm_send_security_request": "0x020222bb", - "sm_set_accepted_stk_generation_methods": "0x020222e1", - "sm_set_authentication_requirements": "0x020222ed", - "sm_set_encryption_key_size_range": "0x020222f9", - "sscanf_bd_addr": "0x02022659", - "sysSetPublicDeviceAddr": "0x02022ac5", - "uuid128_to_str": "0x02023271", - "uuid_add_bluetooth_prefix": "0x020232c9", - "uuid_has_bluetooth_prefix": "0x020232e9", - "uxListRemove": "0x02023305", - "uxQueueMessagesWaiting": "0x0202332d", - "uxQueueMessagesWaitingFromISR": "0x02023355", - "uxQueueSpacesAvailable": "0x02023371", - "uxTaskGetStackHighWaterMark": "0x0202339d", - "uxTaskPriorityGet": "0x020233bd", - "uxTaskPriorityGetFromISR": "0x020233d9", - "vListInitialise": "0x0202347f", - "vListInitialiseItem": "0x02023495", - "vListInsert": "0x0202349b", - "vListInsertEnd": "0x020234cb", - "vPortEndScheduler": "0x020234e5", - "vPortEnterCritical": "0x02023511", - "vPortExitCritical": "0x02023555", - "vPortFree": "0x02023589", - "vPortSuppressTicksAndSleep": "0x0202362d", - "vPortValidateInterruptPriority": "0x02023755", - "vQueueDelete": "0x020237b1", - "vQueueWaitForMessageRestricted": "0x020237dd", - "vTaskDelay": "0x02023821", - "vTaskInternalSetTimeOutState": "0x0202386d", - "vTaskMissedYield": "0x0202387d", - "vTaskPlaceOnEventList": "0x02023889", - "vTaskPlaceOnEventListRestricted": "0x020238c1", - "vTaskPriorityDisinheritAfterTimeout": "0x02023901", - "vTaskPrioritySet": "0x020239ad", - "vTaskResume": "0x02023a75", - "vTaskStartScheduler": "0x02023af9", - "vTaskStepTick": "0x02023b89", - "vTaskSuspend": "0x02023bb9", - "vTaskSuspendAll": "0x02023c75", - "vTaskSwitchContext": "0x02023c85", - "xPortStartScheduler": "0x02023d29", - "xQueueAddToSet": "0x02023e2d", - "xQueueCreateCountingSemaphore": "0x02023e51", - "xQueueCreateCountingSemaphoreStatic": "0x02023e8d", - "xQueueCreateMutex": "0x02023ed1", - "xQueueCreateMutexStatic": "0x02023ee7", - "xQueueCreateSet": "0x02023f01", - "xQueueGenericCreate": "0x02023f09", - "xQueueGenericCreateStatic": "0x02023f55", - "xQueueGenericReset": "0x02023fbd", - "xQueueGenericSend": "0x02024049", - "xQueueGenericSendFromISR": "0x020241b5", - "xQueueGiveFromISR": "0x02024275", - "xQueueGiveMutexRecursive": "0x02024319", - "xQueueIsQueueEmptyFromISR": "0x02024359", - "xQueueIsQueueFullFromISR": "0x0202437d", - "xQueuePeek": "0x020243a5", - "xQueuePeekFromISR": "0x020244cd", - "xQueueReceive": "0x02024539", - "xQueueReceiveFromISR": "0x02024665", - "xQueueRemoveFromSet": "0x020246f9", - "xQueueSelectFromSet": "0x0202471b", - "xQueueSelectFromSetFromISR": "0x0202472d", - "xQueueSemaphoreTake": "0x02024741", - "xQueueTakeMutexRecursive": "0x020248ad", - "xTaskCheckForTimeOut": "0x020248f1", - "xTaskCreate": "0x02024961", - "xTaskCreateStatic": "0x020249bd", - "xTaskGetCurrentTaskHandle": "0x02024a2d", - "xTaskGetSchedulerState": "0x02024a39", - "xTaskGetTickCount": "0x02024a55", - "xTaskGetTickCountFromISR": "0x02024a61", - "xTaskIncrementTick": "0x02024a71", - "xTaskPriorityDisinherit": "0x02024b3d", - "xTaskPriorityInherit": "0x02024bd1", - "xTaskRemoveFromEventList": "0x02024c65", - "xTaskResumeAll": "0x02024ce5", - "xTaskResumeFromISR": "0x02024dad", - "xTimerCreate": "0x02024e39", - "xTimerCreateStatic": "0x02024e6d", - "xTimerCreateTimerTask": "0x02024ea5", - "xTimerGenericCommand": "0x02024f11", - "xTimerGetExpiryTime": "0x02024f81", - "xTimerGetTimerDaemonTaskHandle": "0x02024fa1" + "att_dispatch_client_can_send_now": "0x02004441", + "att_dispatch_client_request_can_send_now_event": "0x02004447", + "att_dispatch_register_client": "0x0200444d", + "att_dispatch_register_server": "0x02004461", + "att_dispatch_server_can_send_now": "0x02004475", + "att_dispatch_server_request_can_send_now_event": "0x0200447b", + "att_emit_general_event": "0x0200452d", + "att_server_can_send_packet_now": "0x02004c45", + "att_server_deferred_read_response": "0x02004c49", + "att_server_get_mtu": "0x02004c61", + "att_server_indicate": "0x02004ccd", + "att_server_init": "0x02004d51", + "att_server_notify": "0x02004d8d", + "att_server_register_packet_handler": "0x02004ea5", + "att_server_request_can_send_now_event": "0x02004eb1", + "att_set_db": "0x02004ecd", + "att_set_read_callback": "0x02004ee1", + "att_set_write_callback": "0x02004eed", + "bd_addr_cmp": "0x020050d5", + "bd_addr_copy": "0x020050db", + "bd_addr_to_str": "0x020050e5", + "big_endian_read_16": "0x0200511d", + "big_endian_read_32": "0x02005125", + "big_endian_store_16": "0x02005139", + "big_endian_store_32": "0x02005145", + "btstack_config": "0x020052a5", + "btstack_memory_pool_create": "0x020053e3", + "btstack_memory_pool_free": "0x0200540d", + "btstack_memory_pool_get": "0x0200546d", + "btstack_push_user_msg": "0x020054d5", + "btstack_push_user_runnable": "0x020054e1", + "char_for_nibble": "0x0200577f", + "eTaskConfirmSleepModeStatus": "0x02005ac9", + "gap_add_dev_to_periodic_list": "0x0200616d", + "gap_add_whitelist": "0x0200617d", + "gap_aes_encrypt": "0x02006189", + "gap_clear_white_lists": "0x020061cd", + "gap_clr_adv_set": "0x020061d9", + "gap_clr_periodic_adv_list": "0x020061e5", + "gap_create_connection_cancel": "0x020061f1", + "gap_default_periodic_adv_sync_transfer_param": "0x020061fd", + "gap_disconnect": "0x02006215", + "gap_disconnect_all": "0x02006241", + "gap_ext_create_connection": "0x02006281", + "gap_get_connection_parameter_range": "0x02006371", + "gap_le_read_channel_map": "0x020063a9", + "gap_periodic_adv_create_sync": "0x02006415", + "gap_periodic_adv_create_sync_cancel": "0x02006439", + "gap_periodic_adv_set_info_transfer": "0x02006445", + "gap_periodic_adv_sync_transfer": "0x02006455", + "gap_periodic_adv_sync_transfer_param": "0x02006465", + "gap_periodic_adv_term_sync": "0x02006481", + "gap_read_antenna_info": "0x02006509", + "gap_read_periodic_adv_list_size": "0x02006515", + "gap_read_phy": "0x02006521", + "gap_read_remote_used_features": "0x0200652d", + "gap_read_remote_version": "0x02006539", + "gap_read_rssi": "0x02006545", + "gap_remove_whitelist": "0x02006551", + "gap_rmv_adv_set": "0x020065cd", + "gap_rmv_dev_from_periodic_list": "0x020065d9", + "gap_rx_test_v2": "0x020065e9", + "gap_rx_test_v3": "0x020065f9", + "gap_set_adv_set_random_addr": "0x02006645", + "gap_set_connection_cte_request_enable": "0x0200668d", + "gap_set_connection_cte_response_enable": "0x020066a9", + "gap_set_connection_cte_rx_param": "0x020066b9", + "gap_set_connection_cte_tx_param": "0x02006715", + "gap_set_connection_parameter_range": "0x02006769", + "gap_set_connectionless_cte_tx_enable": "0x02006781", + "gap_set_connectionless_cte_tx_param": "0x02006791", + "gap_set_connectionless_iq_sampling_enable": "0x020067f1", + "gap_set_data_length": "0x02006855", + "gap_set_def_phy": "0x0200686d", + "gap_set_ext_adv_data": "0x0200687d", + "gap_set_ext_adv_enable": "0x02006895", + "gap_set_ext_adv_para": "0x02006911", + "gap_set_ext_scan_enable": "0x020069e1", + "gap_set_ext_scan_para": "0x020069f9", + "gap_set_ext_scan_response_data": "0x02006aa1", + "gap_set_host_channel_classification": "0x02006ab9", + "gap_set_periodic_adv_data": "0x02006ac9", + "gap_set_periodic_adv_enable": "0x02006b39", + "gap_set_periodic_adv_para": "0x02006b49", + "gap_set_periodic_adv_rx_enable": "0x02006b61", + "gap_set_phy": "0x02006b71", + "gap_set_random_device_address": "0x02006b8d", + "gap_start_ccm": "0x02006bbd", + "gap_test_end": "0x02006c11", + "gap_tx_test_v2": "0x02006c1d", + "gap_tx_test_v4": "0x02006c35", + "gap_update_connection_parameters": "0x02006c59", + "gap_vendor_tx_continuous_wave": "0x02006c99", + "gatt_client_cancel_write": "0x020071c1", + "gatt_client_discover_characteristic_descriptors": "0x020071e7", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x02007227", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x02007277", + "gatt_client_discover_characteristics_for_service": "0x020072c7", + "gatt_client_discover_primary_services": "0x020072fd", + "gatt_client_discover_primary_services_by_uuid128": "0x0200732f", + "gatt_client_discover_primary_services_by_uuid16": "0x02007373", + "gatt_client_execute_write": "0x020073b1", + "gatt_client_find_included_services_for_service": "0x020073d7", + "gatt_client_get_mtu": "0x02007405", + "gatt_client_is_ready": "0x020074c9", + "gatt_client_listen_for_characteristic_value_updates": "0x020074df", + "gatt_client_prepare_write": "0x020074ff", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x0200753b", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x02007565", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x0200756b", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x02007599", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x0200759f", + "gatt_client_read_multiple_characteristic_values": "0x020075cd", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x020075fd", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x0200762b", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x02007677", + "gatt_client_register_handler": "0x020076c1", + "gatt_client_reliable_write_long_value_of_characteristic": "0x020076cd", + "gatt_client_signed_write_without_response": "0x02007ad5", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x02007b99", + "gatt_client_write_client_characteristic_configuration": "0x02007bd3", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x02007c25", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x02007c35", + "gatt_client_write_long_value_of_characteristic": "0x02007c71", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x02007c81", + "gatt_client_write_value_of_characteristic": "0x02007cbd", + "gatt_client_write_value_of_characteristic_without_response": "0x02007cf3", + "hci_add_event_handler": "0x020092dd", + "hci_power_control": "0x02009ac9", + "hci_register_acl_packet_handler": "0x02009c7d", + "kv_commit": "0x0200a1ad", + "kv_get": "0x0200a205", + "kv_init": "0x0200a21d", + "kv_put": "0x0200a281", + "kv_remove": "0x0200a2f5", + "kv_remove_all": "0x0200a331", + "kv_value_modified": "0x0200a375", + "kv_visit": "0x0200a379", + "l2cap_add_event_handler": "0x0200a42d", + "l2cap_can_send_packet_now": "0x0200a43d", + "l2cap_create_le_credit_based_connection_request": "0x0200a601", + "l2cap_credit_based_send": "0x0200a749", + "l2cap_credit_based_send_continue": "0x0200a775", + "l2cap_disconnect": "0x0200a7f1", + "l2cap_get_le_credit_based_connection_credits": "0x0200a9dd", + "l2cap_get_peer_mtu_for_local_cid": "0x0200a9f9", + "l2cap_init": "0x0200ae39", + "l2cap_le_send_flow_control_credit": "0x0200af2f", + "l2cap_max_le_mtu": "0x0200b23d", + "l2cap_register_packet_handler": "0x0200b365", + "l2cap_register_service": "0x0200b371", + "l2cap_request_can_send_now_event": "0x0200b481", + "l2cap_request_connection_parameter_update": "0x0200b49b", + "l2cap_send_echo_request": "0x0200b97d", + "l2cap_unregister_service": "0x0200ba5d", + "le_device_db_add": "0x0200bab5", + "le_device_db_find": "0x0200bb79", + "le_device_db_from_key": "0x0200bba5", + "le_device_db_iter_cur": "0x0200bbad", + "le_device_db_iter_cur_key": "0x0200bbb1", + "le_device_db_iter_init": "0x0200bbb5", + "le_device_db_iter_next": "0x0200bbbd", + "le_device_db_remove_key": "0x0200bbe3", + "ll_adjust_conn_peer_tx_power": "0x0200bc11", + "ll_aes_encrypt": "0x0200bc39", + "ll_free": "0x0200bcad", + "ll_hint_on_ce_len": "0x0200bcb9", + "ll_legacy_adv_set_interval": "0x0200bcf1", + "ll_malloc": "0x0200bd01", + "ll_scan_set_fixed_channel": "0x0200be71", + "ll_set_adv_access_address": "0x0200bf85", + "ll_set_adv_coded_scheme": "0x0200bf91", + "ll_set_conn_coded_scheme": "0x0200bfc1", + "ll_set_conn_latency": "0x0200bfe9", + "ll_set_conn_tx_power": "0x0200c015", + "ll_set_def_antenna": "0x0200c04d", + "ll_set_initiating_coded_scheme": "0x0200c06d", + "ll_set_max_conn_number": "0x0200c079", + "ll_set_tx_power_range": "0x0200c115", + "nibble_for_char": "0x0201e801", + "platform_32k_rc_auto_tune": "0x0201e8a1", + "platform_32k_rc_tune": "0x0201e8ed", + "platform_calibrate_32k": "0x0201e909", + "platform_config": "0x0201e90d", + "platform_enable_irq": "0x0201ea15", + "platform_get_current_task": "0x0201ea49", + "platform_get_gen_os_driver": "0x0201ea6d", + "platform_get_heap_status": "0x0201ea75", + "platform_get_task_handle": "0x0201ea8d", + "platform_get_us_time": "0x0201eaad", + "platform_get_version": "0x0201eab1", + "platform_hrng": "0x0201eab9", + "platform_install_isr_stack": "0x0201eac1", + "platform_install_task_stack": "0x0201eacd", + "platform_patch_rf_init_data": "0x0201eb05", + "platform_printf": "0x0201eb11", + "platform_raise_assertion": "0x0201eb25", + "platform_rand": "0x0201eb39", + "platform_read_info": "0x0201eb3d", + "platform_read_persistent_reg": "0x0201eb6d", + "platform_reset": "0x0201eb79", + "platform_set_evt_callback": "0x0201eb8d", + "platform_set_evt_callback_table": "0x0201eba1", + "platform_set_irq_callback": "0x0201ebad", + "platform_set_irq_callback_table": "0x0201ebc9", + "platform_set_rf_clk_source": "0x0201ebd5", + "platform_set_rf_init_data": "0x0201ebe1", + "platform_set_rf_power_mapping": "0x0201ebed", + "platform_set_timer": "0x0201ebf9", + "platform_shutdown": "0x0201ebfd", + "platform_switch_app": "0x0201ec01", + "platform_trace_raw": "0x0201ec19", + "platform_write_persistent_reg": "0x0201ec31", + "printf_hexdump": "0x0201ede9", + "pvPortMalloc": "0x0201f8b5", + "pvTaskIncrementMutexHeldCount": "0x0201f99d", + "pvTimerGetTimerID": "0x0201f9b5", + "pxPortInitialiseStack": "0x0201f9e1", + "reverse_128": "0x0201fbc9", + "reverse_24": "0x0201fbcf", + "reverse_48": "0x0201fbd5", + "reverse_56": "0x0201fbdb", + "reverse_64": "0x0201fbe1", + "reverse_bd_addr": "0x0201fbe7", + "reverse_bytes": "0x0201fbed", + "sm_add_event_handler": "0x0201ff09", + "sm_address_resolution_lookup": "0x02020061", + "sm_authenticated": "0x020203c1", + "sm_authorization_decline": "0x020203cf", + "sm_authorization_grant": "0x020203ef", + "sm_authorization_state": "0x0202040f", + "sm_bonding_decline": "0x02020429", + "sm_config": "0x02020841", + "sm_config_conn": "0x02020859", + "sm_encryption_key_size": "0x02020a0f", + "sm_just_works_confirm": "0x02020f49", + "sm_le_device_key": "0x02021285", + "sm_passkey_input": "0x0202131b", + "sm_private_random_address_generation_get": "0x020216c9", + "sm_private_random_address_generation_get_mode": "0x020216d1", + "sm_private_random_address_generation_set_mode": "0x020216dd", + "sm_private_random_address_generation_set_update_period": "0x02021705", + "sm_register_oob_data_callback": "0x02021841", + "sm_request_pairing": "0x0202184d", + "sm_send_security_request": "0x0202228b", + "sm_set_accepted_stk_generation_methods": "0x020222b1", + "sm_set_authentication_requirements": "0x020222bd", + "sm_set_encryption_key_size_range": "0x020222c9", + "sscanf_bd_addr": "0x02022629", + "sysSetPublicDeviceAddr": "0x02022a95", + "uuid128_to_str": "0x02023241", + "uuid_add_bluetooth_prefix": "0x02023299", + "uuid_has_bluetooth_prefix": "0x020232b9", + "uxListRemove": "0x020232d5", + "uxQueueMessagesWaiting": "0x020232fd", + "uxQueueMessagesWaitingFromISR": "0x02023325", + "uxQueueSpacesAvailable": "0x02023341", + "uxTaskGetStackHighWaterMark": "0x0202336d", + "uxTaskPriorityGet": "0x0202338d", + "uxTaskPriorityGetFromISR": "0x020233a9", + "vListInitialise": "0x0202344f", + "vListInitialiseItem": "0x02023465", + "vListInsert": "0x0202346b", + "vListInsertEnd": "0x0202349b", + "vPortEndScheduler": "0x020234b5", + "vPortEnterCritical": "0x020234e1", + "vPortExitCritical": "0x02023525", + "vPortFree": "0x02023559", + "vPortSuppressTicksAndSleep": "0x020235fd", + "vPortValidateInterruptPriority": "0x02023725", + "vQueueDelete": "0x02023781", + "vQueueWaitForMessageRestricted": "0x020237ad", + "vTaskDelay": "0x020237f1", + "vTaskInternalSetTimeOutState": "0x0202383d", + "vTaskMissedYield": "0x0202384d", + "vTaskPlaceOnEventList": "0x02023859", + "vTaskPlaceOnEventListRestricted": "0x02023891", + "vTaskPriorityDisinheritAfterTimeout": "0x020238d1", + "vTaskPrioritySet": "0x0202397d", + "vTaskResume": "0x02023a45", + "vTaskStartScheduler": "0x02023ac9", + "vTaskStepTick": "0x02023b59", + "vTaskSuspend": "0x02023b89", + "vTaskSuspendAll": "0x02023c45", + "vTaskSwitchContext": "0x02023c55", + "xPortStartScheduler": "0x02023cf9", + "xQueueAddToSet": "0x02023dfd", + "xQueueCreateCountingSemaphore": "0x02023e21", + "xQueueCreateCountingSemaphoreStatic": "0x02023e5d", + "xQueueCreateMutex": "0x02023ea1", + "xQueueCreateMutexStatic": "0x02023eb7", + "xQueueCreateSet": "0x02023ed1", + "xQueueGenericCreate": "0x02023ed9", + "xQueueGenericCreateStatic": "0x02023f25", + "xQueueGenericReset": "0x02023f8d", + "xQueueGenericSend": "0x02024019", + "xQueueGenericSendFromISR": "0x02024185", + "xQueueGiveFromISR": "0x02024245", + "xQueueGiveMutexRecursive": "0x020242e9", + "xQueueIsQueueEmptyFromISR": "0x02024329", + "xQueueIsQueueFullFromISR": "0x0202434d", + "xQueuePeek": "0x02024375", + "xQueuePeekFromISR": "0x0202449d", + "xQueueReceive": "0x02024509", + "xQueueReceiveFromISR": "0x02024635", + "xQueueRemoveFromSet": "0x020246c9", + "xQueueSelectFromSet": "0x020246eb", + "xQueueSelectFromSetFromISR": "0x020246fd", + "xQueueSemaphoreTake": "0x02024711", + "xQueueTakeMutexRecursive": "0x0202487d", + "xTaskCheckForTimeOut": "0x020248c1", + "xTaskCreate": "0x02024931", + "xTaskCreateStatic": "0x0202498d", + "xTaskGetCurrentTaskHandle": "0x020249fd", + "xTaskGetSchedulerState": "0x02024a09", + "xTaskGetTickCount": "0x02024a25", + "xTaskGetTickCountFromISR": "0x02024a31", + "xTaskIncrementTick": "0x02024a41", + "xTaskPriorityDisinherit": "0x02024b0d", + "xTaskPriorityInherit": "0x02024ba1", + "xTaskRemoveFromEventList": "0x02024c35", + "xTaskResumeAll": "0x02024cb5", + "xTaskResumeFromISR": "0x02024d7d", + "xTimerCreate": "0x02024e09", + "xTimerCreateStatic": "0x02024e3d", + "xTimerCreateTimerTask": "0x02024e75", + "xTimerGenericCommand": "0x02024ee1", + "xTimerGetExpiryTime": "0x02024f51", + "xTimerGetTimerDaemonTaskHandle": "0x02024f71" } \ No newline at end of file diff --git a/bundles/mini/ING9168xx/meta.json b/bundles/mini/ING9168xx/meta.json index a74e96683..76806a64e 100644 --- a/bundles/mini/ING9168xx/meta.json +++ b/bundles/mini/ING9168xx/meta.json @@ -8,11 +8,11 @@ }, "rom": { "base": 33562624, - "size": 152376 + "size": 152328 }, "version": [ 2, 2, - 10 + 12 ] } \ No newline at end of file diff --git a/bundles/mini/ING9168xx/platform.bin b/bundles/mini/ING9168xx/platform.bin index f65bc5911..6813c3d75 100644 Binary files a/bundles/mini/ING9168xx/platform.bin and b/bundles/mini/ING9168xx/platform.bin differ diff --git a/bundles/mini/ING9187xx/apis.json b/bundles/mini/ING9187xx/apis.json index 80bfa83dc..b05496099 100644 --- a/bundles/mini/ING9187xx/apis.json +++ b/bundles/mini/ING9187xx/apis.json @@ -1,315 +1,316 @@ { - "att_dispatch_client_can_send_now": "0x00005761", - "att_dispatch_client_request_can_send_now_event": "0x00005767", - "att_dispatch_register_client": "0x0000576d", - "att_dispatch_register_server": "0x00005781", - "att_dispatch_server_can_send_now": "0x00005795", - "att_dispatch_server_request_can_send_now_event": "0x0000579b", - "att_emit_general_event": "0x0000584d", - "att_server_can_send_packet_now": "0x00005f5d", - "att_server_deferred_read_response": "0x00005f61", - "att_server_get_mtu": "0x00005f79", - "att_server_indicate": "0x00005fe5", - "att_server_init": "0x00006069", - "att_server_notify": "0x000060a5", - "att_server_register_packet_handler": "0x000061bd", - "att_server_request_can_send_now_event": "0x000061c9", - "att_set_db": "0x000061e5", - "att_set_read_callback": "0x000061f9", - "att_set_write_callback": "0x00006205", - "bd_addr_cmp": "0x00006375", - "bd_addr_copy": "0x0000637b", - "bd_addr_to_str": "0x00006385", - "big_endian_read_16": "0x000063bd", - "big_endian_read_32": "0x000063c5", - "big_endian_store_16": "0x000063d9", - "big_endian_store_32": "0x000063e5", - "btstack_config": "0x00006539", - "btstack_memory_pool_create": "0x00006677", - "btstack_memory_pool_free": "0x000066a1", - "btstack_memory_pool_get": "0x00006701", - "btstack_push_user_msg": "0x00006769", - "btstack_push_user_runnable": "0x00006775", - "char_for_nibble": "0x000069fd", - "eTaskConfirmSleepModeStatus": "0x00006cc5", - "gap_add_dev_to_periodic_list": "0x000072e1", - "gap_add_whitelist": "0x000072f9", - "gap_aes_encrypt": "0x0000730d", - "gap_clear_white_lists": "0x00007351", - "gap_clr_adv_set": "0x00007361", - "gap_clr_periodic_adv_list": "0x00007371", - "gap_create_connection_cancel": "0x00007381", - "gap_disconnect": "0x00007391", - "gap_disconnect_all": "0x000073bd", - "gap_ext_create_connection": "0x000073fd", - "gap_get_connection_parameter_range": "0x000074ed", - "gap_le_read_channel_map": "0x00007525", - "gap_periodic_adv_create_sync": "0x00007599", - "gap_periodic_adv_create_sync_cancel": "0x000075bd", - "gap_periodic_adv_term_sync": "0x000075cd", - "gap_read_periodic_adv_list_size": "0x00007661", - "gap_read_phy": "0x00007671", - "gap_read_remote_used_features": "0x00007685", - "gap_read_remote_version": "0x00007699", - "gap_read_rssi": "0x000076ad", - "gap_remove_whitelist": "0x000076c1", - "gap_rmv_adv_set": "0x00007745", - "gap_rmv_dev_from_periodic_list": "0x00007759", - "gap_rx_test_v2": "0x00007771", - "gap_set_adv_set_random_addr": "0x000077b1", - "gap_set_connection_parameter_range": "0x000077fd", - "gap_set_data_length": "0x00007815", - "gap_set_def_phy": "0x00007831", - "gap_set_ext_adv_data": "0x00007849", - "gap_set_ext_adv_enable": "0x00007861", - "gap_set_ext_adv_para": "0x000078dd", - "gap_set_ext_scan_enable": "0x000079bd", - "gap_set_ext_scan_para": "0x000079d5", - "gap_set_ext_scan_response_data": "0x00007a7d", - "gap_set_host_channel_classification": "0x00007a95", - "gap_set_periodic_adv_data": "0x00007aa9", - "gap_set_periodic_adv_enable": "0x00007b1d", - "gap_set_periodic_adv_para": "0x00007b31", - "gap_set_phy": "0x00007b49", - "gap_set_random_device_address": "0x00007b65", - "gap_start_ccm": "0x00007b95", - "gap_test_end": "0x00007bc9", - "gap_tx_test_v2": "0x00007bd9", - "gap_tx_test_v4": "0x00007bf1", - "gap_update_connection_parameters": "0x00007c19", - "gap_vendor_tx_continuous_wave": "0x00007c59", - "gatt_client_cancel_write": "0x00008181", - "gatt_client_discover_characteristic_descriptors": "0x000081a7", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x000081e7", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x00008237", - "gatt_client_discover_characteristics_for_service": "0x00008287", - "gatt_client_discover_primary_services": "0x000082bd", - "gatt_client_discover_primary_services_by_uuid128": "0x000082ef", - "gatt_client_discover_primary_services_by_uuid16": "0x00008333", - "gatt_client_execute_write": "0x0000836f", - "gatt_client_find_included_services_for_service": "0x00008395", - "gatt_client_get_mtu": "0x000083c3", - "gatt_client_is_ready": "0x00008461", - "gatt_client_listen_for_characteristic_value_updates": "0x00008477", - "gatt_client_prepare_write": "0x00008497", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x000084d3", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x000084fd", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008503", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x00008531", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x00008537", - "gatt_client_read_multiple_characteristic_values": "0x00008565", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x00008595", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x000085c3", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x0000860f", - "gatt_client_register_handler": "0x00008659", - "gatt_client_reliable_write_long_value_of_characteristic": "0x00008665", - "gatt_client_signed_write_without_response": "0x00008a69", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008b2d", - "gatt_client_write_client_characteristic_configuration": "0x00008b67", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008bb9", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008bc9", - "gatt_client_write_long_value_of_characteristic": "0x00008c05", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008c15", - "gatt_client_write_value_of_characteristic": "0x00008c51", - "gatt_client_write_value_of_characteristic_without_response": "0x00008c87", - "hci_add_event_handler": "0x0000a1a1", - "hci_power_control": "0x0000a981", - "hci_register_acl_packet_handler": "0x0000ab35", - "kv_commit": "0x0000b0a5", - "kv_get": "0x0000b0fd", - "kv_init": "0x0000b115", - "kv_put": "0x0000b179", - "kv_remove": "0x0000b1ed", - "kv_remove_all": "0x0000b229", - "kv_value_modified": "0x0000b26d", - "kv_visit": "0x0000b271", - "l2cap_add_event_handler": "0x0000b325", - "l2cap_can_send_packet_now": "0x0000b335", - "l2cap_create_le_credit_based_connection_request": "0x0000b4f1", - "l2cap_credit_based_send": "0x0000b635", - "l2cap_credit_based_send_continue": "0x0000b661", - "l2cap_disconnect": "0x0000b6dd", - "l2cap_get_le_credit_based_connection_credits": "0x0000b92d", - "l2cap_get_peer_mtu_for_local_cid": "0x0000b949", - "l2cap_init": "0x0000bd1d", - "l2cap_le_send_flow_control_credit": "0x0000be13", - "l2cap_max_le_mtu": "0x0000c11d", - "l2cap_register_packet_handler": "0x0000c245", - "l2cap_register_service": "0x0000c251", - "l2cap_request_can_send_now_event": "0x0000c361", - "l2cap_request_connection_parameter_update": "0x0000c37b", - "l2cap_send_echo_request": "0x0000c84d", - "l2cap_unregister_service": "0x0000c90d", - "le_device_db_add": "0x0000c965", - "le_device_db_find": "0x0000ca29", - "le_device_db_from_key": "0x0000ca55", - "le_device_db_iter_cur": "0x0000ca5d", - "le_device_db_iter_cur_key": "0x0000ca61", - "le_device_db_iter_init": "0x0000ca65", - "le_device_db_iter_next": "0x0000ca6d", - "le_device_db_remove_key": "0x0000ca93", - "ll_free": "0x0000cabf", - "ll_hint_on_ce_len": "0x0000cac9", - "ll_legacy_adv_set_interval": "0x0000cb01", - "ll_malloc": "0x0000cb11", - "ll_query_timing_info": "0x0000cc49", - "ll_scan_set_fixed_channel": "0x0000cced", - "ll_set_adv_access_address": "0x0000ce01", - "ll_set_adv_coded_scheme": "0x0000ce0d", - "ll_set_conn_coded_scheme": "0x0000ce35", - "ll_set_conn_latency": "0x0000ce5d", - "ll_set_conn_tx_power": "0x0000ce89", - "ll_set_def_antenna": "0x0000cecd", - "ll_set_initiating_coded_scheme": "0x0000cee9", - "ll_set_max_conn_number": "0x0000cef5", - "nibble_for_char": "0x0001cd01", - "platform_32k_rc_auto_tune": "0x0001cda1", - "platform_32k_rc_tune": "0x0001ce1d", - "platform_calibrate_32k": "0x0001ce31", - "platform_config": "0x0001ce35", - "platform_enable_irq": "0x0001cf29", - "platform_get_current_task": "0x0001cf51", - "platform_get_gen_os_driver": "0x0001cf75", - "platform_get_heap_status": "0x0001cf7d", - "platform_get_task_handle": "0x0001cf95", - "platform_get_us_time": "0x0001cfb5", - "platform_get_version": "0x0001cfb9", - "platform_hrng": "0x0001cfc1", - "platform_install_isr_stack": "0x0001cfc9", - "platform_install_task_stack": "0x0001cfd5", - "platform_patch_rf_init_data": "0x0001d00d", - "platform_printf": "0x0001d019", - "platform_raise_assertion": "0x0001d02d", - "platform_rand": "0x0001d041", - "platform_read_info": "0x0001d045", - "platform_read_persistent_reg": "0x0001d075", - "platform_reset": "0x0001d085", - "platform_set_evt_callback": "0x0001d0a9", - "platform_set_evt_callback_table": "0x0001d0bd", - "platform_set_irq_callback": "0x0001d0c9", - "platform_set_irq_callback_table": "0x0001d0e5", - "platform_set_rf_clk_source": "0x0001d0f1", - "platform_set_rf_init_data": "0x0001d0fd", - "platform_set_rf_power_mapping": "0x0001d109", - "platform_set_timer": "0x0001d115", - "platform_shutdown": "0x0001d119", - "platform_switch_app": "0x0001d11d", - "platform_trace_raw": "0x0001d149", - "platform_write_persistent_reg": "0x0001d161", - "printf_hexdump": "0x0001d315", - "pvPortMalloc": "0x0001ddfd", - "pvTaskIncrementMutexHeldCount": "0x0001dee5", - "pvTimerGetTimerID": "0x0001defd", - "pxPortInitialiseStack": "0x0001df29", - "reverse_128": "0x0001e0d1", - "reverse_24": "0x0001e0d7", - "reverse_48": "0x0001e0dd", - "reverse_56": "0x0001e0e3", - "reverse_64": "0x0001e0e9", - "reverse_bd_addr": "0x0001e0ef", - "reverse_bytes": "0x0001e0f5", - "sm_add_event_handler": "0x0001e261", - "sm_address_resolution_lookup": "0x0001e3b9", - "sm_authenticated": "0x0001e719", - "sm_authorization_decline": "0x0001e727", - "sm_authorization_grant": "0x0001e747", - "sm_authorization_state": "0x0001e767", - "sm_bonding_decline": "0x0001e781", - "sm_config": "0x0001eba1", - "sm_config_conn": "0x0001ebb9", - "sm_encryption_key_size": "0x0001ed6f", - "sm_just_works_confirm": "0x0001f2a9", - "sm_le_device_key": "0x0001f5e5", - "sm_passkey_input": "0x0001f67b", - "sm_private_random_address_generation_get": "0x0001fa29", - "sm_private_random_address_generation_get_mode": "0x0001fa31", - "sm_private_random_address_generation_set_mode": "0x0001fa3d", - "sm_private_random_address_generation_set_update_period": "0x0001fa65", - "sm_register_oob_data_callback": "0x0001fba1", - "sm_request_pairing": "0x0001fbad", - "sm_send_security_request": "0x000205e7", - "sm_set_accepted_stk_generation_methods": "0x0002060d", - "sm_set_authentication_requirements": "0x00020619", - "sm_set_encryption_key_size_range": "0x00020625", - "sscanf_bd_addr": "0x00020981", - "sysSetPublicDeviceAddr": "0x00020d35", - "uuid128_to_str": "0x00021315", - "uuid_add_bluetooth_prefix": "0x0002136d", - "uuid_has_bluetooth_prefix": "0x0002138d", - "uxListRemove": "0x000213a9", - "uxQueueMessagesWaiting": "0x000213d1", - "uxQueueMessagesWaitingFromISR": "0x000213f9", - "uxQueueSpacesAvailable": "0x00021415", - "uxTaskGetStackHighWaterMark": "0x00021441", - "uxTaskPriorityGet": "0x00021461", - "uxTaskPriorityGetFromISR": "0x0002147d", - "vListInitialise": "0x00021537", - "vListInitialiseItem": "0x0002154d", - "vListInsert": "0x00021553", - "vListInsertEnd": "0x00021583", - "vPortEndScheduler": "0x0002159d", - "vPortEnterCritical": "0x000215c9", - "vPortExitCritical": "0x0002160d", - "vPortFree": "0x00021641", - "vPortSuppressTicksAndSleep": "0x000216d5", - "vPortValidateInterruptPriority": "0x000217f1", - "vQueueDelete": "0x0002184d", - "vQueueWaitForMessageRestricted": "0x00021879", - "vTaskDelay": "0x000218c1", - "vTaskInternalSetTimeOutState": "0x0002190d", - "vTaskMissedYield": "0x0002191d", - "vTaskPlaceOnEventList": "0x00021929", - "vTaskPlaceOnEventListRestricted": "0x00021961", - "vTaskPriorityDisinheritAfterTimeout": "0x000219a1", - "vTaskPrioritySet": "0x00021a4d", - "vTaskResume": "0x00021b15", - "vTaskStartScheduler": "0x00021b99", - "vTaskStepTick": "0x00021c29", - "vTaskSuspend": "0x00021c59", - "vTaskSuspendAll": "0x00021d15", - "vTaskSwitchContext": "0x00021d25", - "xPortStartScheduler": "0x00021dc9", - "xQueueAddToSet": "0x00021e91", - "xQueueCreateCountingSemaphore": "0x00021eb5", - "xQueueCreateCountingSemaphoreStatic": "0x00021ef1", - "xQueueCreateMutex": "0x00021f35", - "xQueueCreateMutexStatic": "0x00021f4b", - "xQueueCreateSet": "0x00021f65", - "xQueueGenericCreate": "0x00021f6d", - "xQueueGenericCreateStatic": "0x00021fb9", - "xQueueGenericReset": "0x00022021", - "xQueueGenericSend": "0x000220ad", - "xQueueGenericSendFromISR": "0x00022219", - "xQueueGiveFromISR": "0x000222d9", - "xQueueGiveMutexRecursive": "0x0002237d", - "xQueueIsQueueEmptyFromISR": "0x000223bd", - "xQueueIsQueueFullFromISR": "0x000223e1", - "xQueuePeek": "0x00022409", - "xQueuePeekFromISR": "0x00022531", - "xQueueReceive": "0x0002259d", - "xQueueReceiveFromISR": "0x000226c9", - "xQueueRemoveFromSet": "0x0002275d", - "xQueueSelectFromSet": "0x0002277f", - "xQueueSelectFromSetFromISR": "0x00022791", - "xQueueSemaphoreTake": "0x000227a5", - "xQueueTakeMutexRecursive": "0x00022911", - "xTaskCheckForTimeOut": "0x00022955", - "xTaskCreate": "0x000229c5", - "xTaskCreateStatic": "0x00022a21", - "xTaskGetCurrentTaskHandle": "0x00022a91", - "xTaskGetSchedulerState": "0x00022a9d", - "xTaskGetTickCount": "0x00022ab9", - "xTaskGetTickCountFromISR": "0x00022ac5", - "xTaskIncrementTick": "0x00022ad5", - "xTaskPriorityDisinherit": "0x00022ba1", - "xTaskPriorityInherit": "0x00022c35", - "xTaskRemoveFromEventList": "0x00022cc9", - "xTaskResumeAll": "0x00022d49", - "xTaskResumeFromISR": "0x00022e11", - "xTimerCreate": "0x00022e9d", - "xTimerCreateStatic": "0x00022ed1", - "xTimerCreateTimerTask": "0x00022f09", - "xTimerGenericCommand": "0x00022f75", - "xTimerGetExpiryTime": "0x00022fe5", - "xTimerGetTimerDaemonTaskHandle": "0x00023005" + "att_dispatch_client_can_send_now": "0x00005749", + "att_dispatch_client_request_can_send_now_event": "0x0000574f", + "att_dispatch_register_client": "0x00005755", + "att_dispatch_register_server": "0x00005769", + "att_dispatch_server_can_send_now": "0x0000577d", + "att_dispatch_server_request_can_send_now_event": "0x00005783", + "att_emit_general_event": "0x00005835", + "att_server_can_send_packet_now": "0x00005f45", + "att_server_deferred_read_response": "0x00005f49", + "att_server_get_mtu": "0x00005f61", + "att_server_indicate": "0x00005fcd", + "att_server_init": "0x00006051", + "att_server_notify": "0x0000608d", + "att_server_register_packet_handler": "0x000061a5", + "att_server_request_can_send_now_event": "0x000061b1", + "att_set_db": "0x000061cd", + "att_set_read_callback": "0x000061e1", + "att_set_write_callback": "0x000061ed", + "bd_addr_cmp": "0x0000635d", + "bd_addr_copy": "0x00006363", + "bd_addr_to_str": "0x0000636d", + "big_endian_read_16": "0x000063a5", + "big_endian_read_32": "0x000063ad", + "big_endian_store_16": "0x000063c1", + "big_endian_store_32": "0x000063cd", + "btstack_config": "0x00006521", + "btstack_memory_pool_create": "0x0000665f", + "btstack_memory_pool_free": "0x00006689", + "btstack_memory_pool_get": "0x000066e9", + "btstack_push_user_msg": "0x00006751", + "btstack_push_user_runnable": "0x0000675d", + "char_for_nibble": "0x000069e5", + "eTaskConfirmSleepModeStatus": "0x00006cad", + "gap_add_dev_to_periodic_list": "0x000072d9", + "gap_add_whitelist": "0x000072e9", + "gap_aes_encrypt": "0x000072f5", + "gap_clear_white_lists": "0x00007339", + "gap_clr_adv_set": "0x00007345", + "gap_clr_periodic_adv_list": "0x00007351", + "gap_create_connection_cancel": "0x0000735d", + "gap_disconnect": "0x00007369", + "gap_disconnect_all": "0x00007395", + "gap_ext_create_connection": "0x000073d5", + "gap_get_connection_parameter_range": "0x000074c5", + "gap_le_read_channel_map": "0x000074fd", + "gap_periodic_adv_create_sync": "0x00007569", + "gap_periodic_adv_create_sync_cancel": "0x0000758d", + "gap_periodic_adv_term_sync": "0x00007599", + "gap_read_periodic_adv_list_size": "0x00007621", + "gap_read_phy": "0x0000762d", + "gap_read_remote_used_features": "0x00007639", + "gap_read_remote_version": "0x00007645", + "gap_read_rssi": "0x00007651", + "gap_remove_whitelist": "0x0000765d", + "gap_rmv_adv_set": "0x000076d9", + "gap_rmv_dev_from_periodic_list": "0x000076e5", + "gap_rx_test_v2": "0x000076f5", + "gap_set_adv_set_random_addr": "0x0000772d", + "gap_set_connection_parameter_range": "0x00007775", + "gap_set_data_length": "0x0000778d", + "gap_set_def_phy": "0x000077a5", + "gap_set_ext_adv_data": "0x000077b5", + "gap_set_ext_adv_enable": "0x000077cd", + "gap_set_ext_adv_para": "0x00007849", + "gap_set_ext_scan_enable": "0x00007921", + "gap_set_ext_scan_para": "0x00007939", + "gap_set_ext_scan_response_data": "0x000079e1", + "gap_set_host_channel_classification": "0x000079f9", + "gap_set_periodic_adv_data": "0x00007a09", + "gap_set_periodic_adv_enable": "0x00007a79", + "gap_set_periodic_adv_para": "0x00007a89", + "gap_set_phy": "0x00007aa1", + "gap_set_random_device_address": "0x00007abd", + "gap_start_ccm": "0x00007aed", + "gap_test_end": "0x00007b41", + "gap_tx_test_v2": "0x00007b4d", + "gap_tx_test_v4": "0x00007b65", + "gap_update_connection_parameters": "0x00007b89", + "gap_vendor_tx_continuous_wave": "0x00007bc9", + "gatt_client_cancel_write": "0x000080f1", + "gatt_client_discover_characteristic_descriptors": "0x00008117", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x00008157", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x000081a7", + "gatt_client_discover_characteristics_for_service": "0x000081f7", + "gatt_client_discover_primary_services": "0x0000822d", + "gatt_client_discover_primary_services_by_uuid128": "0x0000825f", + "gatt_client_discover_primary_services_by_uuid16": "0x000082a3", + "gatt_client_execute_write": "0x000082df", + "gatt_client_find_included_services_for_service": "0x00008305", + "gatt_client_get_mtu": "0x00008333", + "gatt_client_is_ready": "0x000083d1", + "gatt_client_listen_for_characteristic_value_updates": "0x000083e7", + "gatt_client_prepare_write": "0x00008407", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x00008443", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x0000846d", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008473", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x000084a1", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x000084a7", + "gatt_client_read_multiple_characteristic_values": "0x000084d5", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x00008505", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x00008533", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x0000857f", + "gatt_client_register_handler": "0x000085c9", + "gatt_client_reliable_write_long_value_of_characteristic": "0x000085d5", + "gatt_client_signed_write_without_response": "0x000089d9", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008a9d", + "gatt_client_write_client_characteristic_configuration": "0x00008ad7", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008b29", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008b39", + "gatt_client_write_long_value_of_characteristic": "0x00008b75", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008b85", + "gatt_client_write_value_of_characteristic": "0x00008bc1", + "gatt_client_write_value_of_characteristic_without_response": "0x00008bf7", + "hci_add_event_handler": "0x0000a111", + "hci_power_control": "0x0000a8f1", + "hci_register_acl_packet_handler": "0x0000aaa5", + "kv_commit": "0x0000b00d", + "kv_get": "0x0000b065", + "kv_init": "0x0000b07d", + "kv_put": "0x0000b0e1", + "kv_remove": "0x0000b155", + "kv_remove_all": "0x0000b191", + "kv_value_modified": "0x0000b1d5", + "kv_visit": "0x0000b1d9", + "l2cap_add_event_handler": "0x0000b28d", + "l2cap_can_send_packet_now": "0x0000b29d", + "l2cap_create_le_credit_based_connection_request": "0x0000b459", + "l2cap_credit_based_send": "0x0000b59d", + "l2cap_credit_based_send_continue": "0x0000b5c9", + "l2cap_disconnect": "0x0000b645", + "l2cap_get_le_credit_based_connection_credits": "0x0000b895", + "l2cap_get_peer_mtu_for_local_cid": "0x0000b8b1", + "l2cap_init": "0x0000bc85", + "l2cap_le_send_flow_control_credit": "0x0000bd7b", + "l2cap_max_le_mtu": "0x0000c085", + "l2cap_register_packet_handler": "0x0000c1ad", + "l2cap_register_service": "0x0000c1b9", + "l2cap_request_can_send_now_event": "0x0000c2c9", + "l2cap_request_connection_parameter_update": "0x0000c2e3", + "l2cap_send_echo_request": "0x0000c7b5", + "l2cap_unregister_service": "0x0000c875", + "le_device_db_add": "0x0000c8cd", + "le_device_db_find": "0x0000c991", + "le_device_db_from_key": "0x0000c9bd", + "le_device_db_iter_cur": "0x0000c9c5", + "le_device_db_iter_cur_key": "0x0000c9c9", + "le_device_db_iter_init": "0x0000c9cd", + "le_device_db_iter_next": "0x0000c9d5", + "le_device_db_remove_key": "0x0000c9fb", + "ll_aes_encrypt": "0x0000ca29", + "ll_free": "0x0000caa5", + "ll_hint_on_ce_len": "0x0000cab1", + "ll_legacy_adv_set_interval": "0x0000cae9", + "ll_malloc": "0x0000caf9", + "ll_query_timing_info": "0x0000cc31", + "ll_scan_set_fixed_channel": "0x0000ccd5", + "ll_set_adv_access_address": "0x0000cde9", + "ll_set_adv_coded_scheme": "0x0000cdf5", + "ll_set_conn_coded_scheme": "0x0000ce1d", + "ll_set_conn_latency": "0x0000ce45", + "ll_set_conn_tx_power": "0x0000ce71", + "ll_set_def_antenna": "0x0000ceb5", + "ll_set_initiating_coded_scheme": "0x0000ced1", + "ll_set_max_conn_number": "0x0000cedd", + "nibble_for_char": "0x0001ccfd", + "platform_32k_rc_auto_tune": "0x0001cd9d", + "platform_32k_rc_tune": "0x0001ce19", + "platform_calibrate_32k": "0x0001ce2d", + "platform_config": "0x0001ce31", + "platform_enable_irq": "0x0001cf25", + "platform_get_current_task": "0x0001cf5d", + "platform_get_gen_os_driver": "0x0001cf81", + "platform_get_heap_status": "0x0001cf89", + "platform_get_task_handle": "0x0001cfa1", + "platform_get_us_time": "0x0001cfc1", + "platform_get_version": "0x0001cfc5", + "platform_hrng": "0x0001cfcd", + "platform_install_isr_stack": "0x0001cfd5", + "platform_install_task_stack": "0x0001cfe1", + "platform_patch_rf_init_data": "0x0001d019", + "platform_printf": "0x0001d025", + "platform_raise_assertion": "0x0001d039", + "platform_rand": "0x0001d04d", + "platform_read_info": "0x0001d051", + "platform_read_persistent_reg": "0x0001d081", + "platform_reset": "0x0001d091", + "platform_set_evt_callback": "0x0001d0b5", + "platform_set_evt_callback_table": "0x0001d0c9", + "platform_set_irq_callback": "0x0001d0d5", + "platform_set_irq_callback_table": "0x0001d0f1", + "platform_set_rf_clk_source": "0x0001d0fd", + "platform_set_rf_init_data": "0x0001d109", + "platform_set_rf_power_mapping": "0x0001d115", + "platform_set_timer": "0x0001d121", + "platform_shutdown": "0x0001d125", + "platform_switch_app": "0x0001d129", + "platform_trace_raw": "0x0001d155", + "platform_write_persistent_reg": "0x0001d16d", + "printf_hexdump": "0x0001d321", + "pvPortMalloc": "0x0001de09", + "pvTaskIncrementMutexHeldCount": "0x0001def1", + "pvTimerGetTimerID": "0x0001df09", + "pxPortInitialiseStack": "0x0001df35", + "reverse_128": "0x0001e0dd", + "reverse_24": "0x0001e0e3", + "reverse_48": "0x0001e0e9", + "reverse_56": "0x0001e0ef", + "reverse_64": "0x0001e0f5", + "reverse_bd_addr": "0x0001e0fb", + "reverse_bytes": "0x0001e101", + "sm_add_event_handler": "0x0001e26d", + "sm_address_resolution_lookup": "0x0001e3c5", + "sm_authenticated": "0x0001e725", + "sm_authorization_decline": "0x0001e733", + "sm_authorization_grant": "0x0001e753", + "sm_authorization_state": "0x0001e773", + "sm_bonding_decline": "0x0001e78d", + "sm_config": "0x0001ebad", + "sm_config_conn": "0x0001ebc5", + "sm_encryption_key_size": "0x0001ed7b", + "sm_just_works_confirm": "0x0001f2b5", + "sm_le_device_key": "0x0001f5f1", + "sm_passkey_input": "0x0001f687", + "sm_private_random_address_generation_get": "0x0001fa35", + "sm_private_random_address_generation_get_mode": "0x0001fa3d", + "sm_private_random_address_generation_set_mode": "0x0001fa49", + "sm_private_random_address_generation_set_update_period": "0x0001fa71", + "sm_register_oob_data_callback": "0x0001fbad", + "sm_request_pairing": "0x0001fbb9", + "sm_send_security_request": "0x000205f3", + "sm_set_accepted_stk_generation_methods": "0x00020619", + "sm_set_authentication_requirements": "0x00020625", + "sm_set_encryption_key_size_range": "0x00020631", + "sscanf_bd_addr": "0x0002098d", + "sysSetPublicDeviceAddr": "0x00020d41", + "uuid128_to_str": "0x00021321", + "uuid_add_bluetooth_prefix": "0x00021379", + "uuid_has_bluetooth_prefix": "0x00021399", + "uxListRemove": "0x000213b5", + "uxQueueMessagesWaiting": "0x000213dd", + "uxQueueMessagesWaitingFromISR": "0x00021405", + "uxQueueSpacesAvailable": "0x00021421", + "uxTaskGetStackHighWaterMark": "0x0002144d", + "uxTaskPriorityGet": "0x0002146d", + "uxTaskPriorityGetFromISR": "0x00021489", + "vListInitialise": "0x00021543", + "vListInitialiseItem": "0x00021559", + "vListInsert": "0x0002155f", + "vListInsertEnd": "0x0002158f", + "vPortEndScheduler": "0x000215a9", + "vPortEnterCritical": "0x000215d5", + "vPortExitCritical": "0x00021619", + "vPortFree": "0x0002164d", + "vPortSuppressTicksAndSleep": "0x000216e1", + "vPortValidateInterruptPriority": "0x000217fd", + "vQueueDelete": "0x00021859", + "vQueueWaitForMessageRestricted": "0x00021885", + "vTaskDelay": "0x000218cd", + "vTaskInternalSetTimeOutState": "0x00021919", + "vTaskMissedYield": "0x00021929", + "vTaskPlaceOnEventList": "0x00021935", + "vTaskPlaceOnEventListRestricted": "0x0002196d", + "vTaskPriorityDisinheritAfterTimeout": "0x000219ad", + "vTaskPrioritySet": "0x00021a59", + "vTaskResume": "0x00021b21", + "vTaskStartScheduler": "0x00021ba5", + "vTaskStepTick": "0x00021c35", + "vTaskSuspend": "0x00021c65", + "vTaskSuspendAll": "0x00021d21", + "vTaskSwitchContext": "0x00021d31", + "xPortStartScheduler": "0x00021dd5", + "xQueueAddToSet": "0x00021e9d", + "xQueueCreateCountingSemaphore": "0x00021ec1", + "xQueueCreateCountingSemaphoreStatic": "0x00021efd", + "xQueueCreateMutex": "0x00021f41", + "xQueueCreateMutexStatic": "0x00021f57", + "xQueueCreateSet": "0x00021f71", + "xQueueGenericCreate": "0x00021f79", + "xQueueGenericCreateStatic": "0x00021fc5", + "xQueueGenericReset": "0x0002202d", + "xQueueGenericSend": "0x000220b9", + "xQueueGenericSendFromISR": "0x00022225", + "xQueueGiveFromISR": "0x000222e5", + "xQueueGiveMutexRecursive": "0x00022389", + "xQueueIsQueueEmptyFromISR": "0x000223c9", + "xQueueIsQueueFullFromISR": "0x000223ed", + "xQueuePeek": "0x00022415", + "xQueuePeekFromISR": "0x0002253d", + "xQueueReceive": "0x000225a9", + "xQueueReceiveFromISR": "0x000226d5", + "xQueueRemoveFromSet": "0x00022769", + "xQueueSelectFromSet": "0x0002278b", + "xQueueSelectFromSetFromISR": "0x0002279d", + "xQueueSemaphoreTake": "0x000227b1", + "xQueueTakeMutexRecursive": "0x0002291d", + "xTaskCheckForTimeOut": "0x00022961", + "xTaskCreate": "0x000229d1", + "xTaskCreateStatic": "0x00022a2d", + "xTaskGetCurrentTaskHandle": "0x00022a9d", + "xTaskGetSchedulerState": "0x00022aa9", + "xTaskGetTickCount": "0x00022ac5", + "xTaskGetTickCountFromISR": "0x00022ad1", + "xTaskIncrementTick": "0x00022ae1", + "xTaskPriorityDisinherit": "0x00022bad", + "xTaskPriorityInherit": "0x00022c41", + "xTaskRemoveFromEventList": "0x00022cd5", + "xTaskResumeAll": "0x00022d55", + "xTaskResumeFromISR": "0x00022e1d", + "xTimerCreate": "0x00022ea9", + "xTimerCreateStatic": "0x00022edd", + "xTimerCreateTimerTask": "0x00022f15", + "xTimerGenericCommand": "0x00022f81", + "xTimerGetExpiryTime": "0x00022ff1", + "xTimerGetTimerDaemonTaskHandle": "0x00023011" } \ No newline at end of file diff --git a/bundles/mini/ING9187xx/meta.json b/bundles/mini/ING9187xx/meta.json index 4f0376e1f..ff910a118 100644 --- a/bundles/mini/ING9187xx/meta.json +++ b/bundles/mini/ING9187xx/meta.json @@ -8,11 +8,11 @@ }, "rom": { "base": 16384, - "size": 133172 + "size": 133184 }, "version": [ 1, 9, - 12 + 15 ] } \ No newline at end of file diff --git a/bundles/mini/ING9187xx/platform.bin b/bundles/mini/ING9187xx/platform.bin index 6cd605a82..d92116054 100644 Binary files a/bundles/mini/ING9187xx/platform.bin and b/bundles/mini/ING9187xx/platform.bin differ diff --git a/bundles/mini/ING9188xx/apis.json b/bundles/mini/ING9188xx/apis.json index b6152f07a..37a274a1e 100644 --- a/bundles/mini/ING9188xx/apis.json +++ b/bundles/mini/ING9188xx/apis.json @@ -1,329 +1,330 @@ { - "att_dispatch_client_can_send_now": "0x00005885", - "att_dispatch_client_request_can_send_now_event": "0x0000588b", - "att_dispatch_register_client": "0x00005891", - "att_dispatch_register_server": "0x000058a5", - "att_dispatch_server_can_send_now": "0x000058b9", - "att_dispatch_server_request_can_send_now_event": "0x000058bf", - "att_emit_general_event": "0x00005971", - "att_server_can_send_packet_now": "0x00006081", - "att_server_deferred_read_response": "0x00006085", - "att_server_get_mtu": "0x0000609d", - "att_server_indicate": "0x00006109", - "att_server_init": "0x0000618d", - "att_server_notify": "0x000061c9", - "att_server_register_packet_handler": "0x000062e1", - "att_server_request_can_send_now_event": "0x000062ed", - "att_set_db": "0x00006309", - "att_set_read_callback": "0x0000631d", - "att_set_write_callback": "0x00006329", - "bd_addr_cmp": "0x00006499", - "bd_addr_copy": "0x0000649f", - "bd_addr_to_str": "0x000064a9", - "big_endian_read_16": "0x000064e1", - "big_endian_read_32": "0x000064e9", - "big_endian_store_16": "0x000064fd", - "big_endian_store_32": "0x00006509", - "btstack_config": "0x0000665d", - "btstack_memory_pool_create": "0x0000679b", - "btstack_memory_pool_free": "0x000067c5", - "btstack_memory_pool_get": "0x00006825", - "btstack_push_user_msg": "0x0000688d", - "btstack_push_user_runnable": "0x00006899", - "char_for_nibble": "0x00006b21", - "eTaskConfirmSleepModeStatus": "0x00006de9", - "gap_add_dev_to_periodic_list": "0x00007475", - "gap_add_whitelist": "0x0000748d", - "gap_aes_encrypt": "0x000074a1", - "gap_clear_white_lists": "0x000074e5", - "gap_clr_adv_set": "0x000074f5", - "gap_clr_periodic_adv_list": "0x00007505", - "gap_create_connection_cancel": "0x00007515", - "gap_default_periodic_adv_sync_transfer_param": "0x00007525", - "gap_disconnect": "0x0000753d", - "gap_disconnect_all": "0x00007569", - "gap_ext_create_connection": "0x000075a9", - "gap_get_connection_parameter_range": "0x00007699", - "gap_le_read_channel_map": "0x000076d1", - "gap_periodic_adv_create_sync": "0x00007745", - "gap_periodic_adv_create_sync_cancel": "0x00007769", - "gap_periodic_adv_set_info_transfer": "0x00007779", - "gap_periodic_adv_sync_transfer": "0x00007791", - "gap_periodic_adv_sync_transfer_param": "0x000077a9", - "gap_periodic_adv_term_sync": "0x000077c5", - "gap_read_antenna_info": "0x00007859", - "gap_read_periodic_adv_list_size": "0x00007869", - "gap_read_phy": "0x00007879", - "gap_read_remote_used_features": "0x0000788d", - "gap_read_remote_version": "0x000078a1", - "gap_read_rssi": "0x000078b5", - "gap_remove_whitelist": "0x000078c9", - "gap_rmv_adv_set": "0x0000794d", - "gap_rmv_dev_from_periodic_list": "0x00007961", - "gap_rx_test_v2": "0x00007979", - "gap_rx_test_v3": "0x00007991", - "gap_set_adv_set_random_addr": "0x000079e1", - "gap_set_connection_cte_request_enable": "0x00007a2d", - "gap_set_connection_cte_response_enable": "0x00007a49", - "gap_set_connection_cte_rx_param": "0x00007a5d", - "gap_set_connection_cte_tx_param": "0x00007ab9", - "gap_set_connection_parameter_range": "0x00007b0d", - "gap_set_connectionless_cte_tx_enable": "0x00007b25", - "gap_set_connectionless_cte_tx_param": "0x00007b39", - "gap_set_connectionless_iq_sampling_enable": "0x00007b99", - "gap_set_data_length": "0x00007bfd", - "gap_set_def_phy": "0x00007c19", - "gap_set_ext_adv_data": "0x00007c31", - "gap_set_ext_adv_enable": "0x00007c49", - "gap_set_ext_adv_para": "0x00007cc5", - "gap_set_ext_scan_enable": "0x00007da5", - "gap_set_ext_scan_para": "0x00007dbd", - "gap_set_ext_scan_response_data": "0x00007e65", - "gap_set_host_channel_classification": "0x00007e7d", - "gap_set_periodic_adv_data": "0x00007e91", - "gap_set_periodic_adv_enable": "0x00007f05", - "gap_set_periodic_adv_para": "0x00007f19", - "gap_set_periodic_adv_rx_enable": "0x00007f31", - "gap_set_phy": "0x00007f45", - "gap_set_random_device_address": "0x00007f61", - "gap_start_ccm": "0x00007f91", - "gap_test_end": "0x00007fc5", - "gap_tx_test_v2": "0x00007fd5", - "gap_tx_test_v4": "0x00007fed", - "gap_update_connection_parameters": "0x00008015", - "gap_vendor_tx_continuous_wave": "0x00008055", - "gatt_client_cancel_write": "0x0000857d", - "gatt_client_discover_characteristic_descriptors": "0x000085a3", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x000085e3", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x00008633", - "gatt_client_discover_characteristics_for_service": "0x00008683", - "gatt_client_discover_primary_services": "0x000086b9", - "gatt_client_discover_primary_services_by_uuid128": "0x000086eb", - "gatt_client_discover_primary_services_by_uuid16": "0x0000872f", - "gatt_client_execute_write": "0x0000876b", - "gatt_client_find_included_services_for_service": "0x00008791", - "gatt_client_get_mtu": "0x000087bf", - "gatt_client_is_ready": "0x0000885d", - "gatt_client_listen_for_characteristic_value_updates": "0x00008873", - "gatt_client_prepare_write": "0x00008893", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x000088cf", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x000088f9", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x000088ff", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x0000892d", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x00008933", - "gatt_client_read_multiple_characteristic_values": "0x00008961", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x00008991", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x000089bf", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x00008a0b", - "gatt_client_register_handler": "0x00008a55", - "gatt_client_reliable_write_long_value_of_characteristic": "0x00008a61", - "gatt_client_signed_write_without_response": "0x00008e65", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008f29", - "gatt_client_write_client_characteristic_configuration": "0x00008f63", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008fb5", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008fc5", - "gatt_client_write_long_value_of_characteristic": "0x00009001", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x00009011", - "gatt_client_write_value_of_characteristic": "0x0000904d", - "gatt_client_write_value_of_characteristic_without_response": "0x00009083", - "hci_add_event_handler": "0x0000a5b9", - "hci_power_control": "0x0000ad99", - "hci_register_acl_packet_handler": "0x0000af4d", - "kv_commit": "0x0000b4bd", - "kv_get": "0x0000b515", - "kv_init": "0x0000b52d", - "kv_put": "0x0000b591", - "kv_remove": "0x0000b605", - "kv_remove_all": "0x0000b641", - "kv_value_modified": "0x0000b685", - "kv_visit": "0x0000b689", - "l2cap_add_event_handler": "0x0000b73d", - "l2cap_can_send_packet_now": "0x0000b74d", - "l2cap_create_le_credit_based_connection_request": "0x0000b909", - "l2cap_credit_based_send": "0x0000ba4d", - "l2cap_credit_based_send_continue": "0x0000ba79", - "l2cap_disconnect": "0x0000baf5", - "l2cap_get_le_credit_based_connection_credits": "0x0000bd45", - "l2cap_get_peer_mtu_for_local_cid": "0x0000bd61", - "l2cap_init": "0x0000c135", - "l2cap_le_send_flow_control_credit": "0x0000c22b", - "l2cap_max_le_mtu": "0x0000c535", - "l2cap_register_packet_handler": "0x0000c65d", - "l2cap_register_service": "0x0000c669", - "l2cap_request_can_send_now_event": "0x0000c779", - "l2cap_request_connection_parameter_update": "0x0000c793", - "l2cap_send_echo_request": "0x0000cc65", - "l2cap_unregister_service": "0x0000cd25", - "le_device_db_add": "0x0000cd7d", - "le_device_db_find": "0x0000ce41", - "le_device_db_from_key": "0x0000ce6d", - "le_device_db_iter_cur": "0x0000ce75", - "le_device_db_iter_cur_key": "0x0000ce79", - "le_device_db_iter_init": "0x0000ce7d", - "le_device_db_iter_next": "0x0000ce85", - "le_device_db_remove_key": "0x0000ceab", - "ll_free": "0x0000ced7", - "ll_hint_on_ce_len": "0x0000cee1", - "ll_legacy_adv_set_interval": "0x0000cf19", - "ll_malloc": "0x0000cf29", - "ll_query_timing_info": "0x0000d061", - "ll_scan_set_fixed_channel": "0x0000d105", - "ll_set_adv_access_address": "0x0000d219", - "ll_set_adv_coded_scheme": "0x0000d225", - "ll_set_conn_coded_scheme": "0x0000d24d", - "ll_set_conn_latency": "0x0000d275", - "ll_set_conn_tx_power": "0x0000d2a1", - "ll_set_def_antenna": "0x0000d2e5", - "ll_set_initiating_coded_scheme": "0x0000d301", - "ll_set_max_conn_number": "0x0000d30d", - "nibble_for_char": "0x0001dfed", - "platform_32k_rc_auto_tune": "0x0001e08d", - "platform_32k_rc_tune": "0x0001e109", - "platform_calibrate_32k": "0x0001e11d", - "platform_config": "0x0001e121", - "platform_enable_irq": "0x0001e215", - "platform_get_current_task": "0x0001e23d", - "platform_get_gen_os_driver": "0x0001e261", - "platform_get_heap_status": "0x0001e269", - "platform_get_task_handle": "0x0001e281", - "platform_get_us_time": "0x0001e2a1", - "platform_get_version": "0x0001e2a5", - "platform_hrng": "0x0001e2ad", - "platform_install_isr_stack": "0x0001e2b5", - "platform_install_task_stack": "0x0001e2c1", - "platform_patch_rf_init_data": "0x0001e2f9", - "platform_printf": "0x0001e305", - "platform_raise_assertion": "0x0001e319", - "platform_rand": "0x0001e32d", - "platform_read_info": "0x0001e331", - "platform_read_persistent_reg": "0x0001e361", - "platform_reset": "0x0001e371", - "platform_set_evt_callback": "0x0001e395", - "platform_set_evt_callback_table": "0x0001e3a9", - "platform_set_irq_callback": "0x0001e3b5", - "platform_set_irq_callback_table": "0x0001e3d1", - "platform_set_rf_clk_source": "0x0001e3dd", - "platform_set_rf_init_data": "0x0001e3e9", - "platform_set_rf_power_mapping": "0x0001e3f5", - "platform_set_timer": "0x0001e401", - "platform_shutdown": "0x0001e405", - "platform_switch_app": "0x0001e409", - "platform_trace_raw": "0x0001e435", - "platform_write_persistent_reg": "0x0001e44d", - "printf_hexdump": "0x0001e601", - "pvPortMalloc": "0x0001f0e9", - "pvTaskIncrementMutexHeldCount": "0x0001f1d1", - "pvTimerGetTimerID": "0x0001f1e9", - "pxPortInitialiseStack": "0x0001f215", - "reverse_128": "0x0001f3f5", - "reverse_24": "0x0001f3fb", - "reverse_48": "0x0001f401", - "reverse_56": "0x0001f407", - "reverse_64": "0x0001f40d", - "reverse_bd_addr": "0x0001f413", - "reverse_bytes": "0x0001f419", - "sm_add_event_handler": "0x0001f6d9", - "sm_address_resolution_lookup": "0x0001f831", - "sm_authenticated": "0x0001fb91", - "sm_authorization_decline": "0x0001fb9f", - "sm_authorization_grant": "0x0001fbbf", - "sm_authorization_state": "0x0001fbdf", - "sm_bonding_decline": "0x0001fbf9", - "sm_config": "0x00020019", - "sm_config_conn": "0x00020031", - "sm_encryption_key_size": "0x000201e7", - "sm_just_works_confirm": "0x00020721", - "sm_le_device_key": "0x00020a5d", - "sm_passkey_input": "0x00020af3", - "sm_private_random_address_generation_get": "0x00020ea1", - "sm_private_random_address_generation_get_mode": "0x00020ea9", - "sm_private_random_address_generation_set_mode": "0x00020eb5", - "sm_private_random_address_generation_set_update_period": "0x00020edd", - "sm_register_oob_data_callback": "0x00021019", - "sm_request_pairing": "0x00021025", - "sm_send_security_request": "0x00021a5f", - "sm_set_accepted_stk_generation_methods": "0x00021a85", - "sm_set_authentication_requirements": "0x00021a91", - "sm_set_encryption_key_size_range": "0x00021a9d", - "sscanf_bd_addr": "0x00021df9", - "sysSetPublicDeviceAddr": "0x000221ad", - "uuid128_to_str": "0x00022921", - "uuid_add_bluetooth_prefix": "0x00022979", - "uuid_has_bluetooth_prefix": "0x00022999", - "uxListRemove": "0x000229b5", - "uxQueueMessagesWaiting": "0x000229dd", - "uxQueueMessagesWaitingFromISR": "0x00022a05", - "uxQueueSpacesAvailable": "0x00022a21", - "uxTaskGetStackHighWaterMark": "0x00022a4d", - "uxTaskPriorityGet": "0x00022a6d", - "uxTaskPriorityGetFromISR": "0x00022a89", - "vListInitialise": "0x00022b43", - "vListInitialiseItem": "0x00022b59", - "vListInsert": "0x00022b5f", - "vListInsertEnd": "0x00022b8f", - "vPortEndScheduler": "0x00022ba9", - "vPortEnterCritical": "0x00022bd5", - "vPortExitCritical": "0x00022c19", - "vPortFree": "0x00022c4d", - "vPortSuppressTicksAndSleep": "0x00022ce1", - "vPortValidateInterruptPriority": "0x00022dfd", - "vQueueDelete": "0x00022e59", - "vQueueWaitForMessageRestricted": "0x00022e85", - "vTaskDelay": "0x00022ecd", - "vTaskInternalSetTimeOutState": "0x00022f19", - "vTaskMissedYield": "0x00022f29", - "vTaskPlaceOnEventList": "0x00022f35", - "vTaskPlaceOnEventListRestricted": "0x00022f6d", - "vTaskPriorityDisinheritAfterTimeout": "0x00022fad", - "vTaskPrioritySet": "0x00023059", - "vTaskResume": "0x00023121", - "vTaskStartScheduler": "0x000231a5", - "vTaskStepTick": "0x00023235", - "vTaskSuspend": "0x00023265", - "vTaskSuspendAll": "0x00023321", - "vTaskSwitchContext": "0x00023331", - "xPortStartScheduler": "0x000233d5", - "xQueueAddToSet": "0x0002349d", - "xQueueCreateCountingSemaphore": "0x000234c1", - "xQueueCreateCountingSemaphoreStatic": "0x000234fd", - "xQueueCreateMutex": "0x00023541", - "xQueueCreateMutexStatic": "0x00023557", - "xQueueCreateSet": "0x00023571", - "xQueueGenericCreate": "0x00023579", - "xQueueGenericCreateStatic": "0x000235c5", - "xQueueGenericReset": "0x0002362d", - "xQueueGenericSend": "0x000236b9", - "xQueueGenericSendFromISR": "0x00023825", - "xQueueGiveFromISR": "0x000238e5", - "xQueueGiveMutexRecursive": "0x00023989", - "xQueueIsQueueEmptyFromISR": "0x000239c9", - "xQueueIsQueueFullFromISR": "0x000239ed", - "xQueuePeek": "0x00023a15", - "xQueuePeekFromISR": "0x00023b3d", - "xQueueReceive": "0x00023ba9", - "xQueueReceiveFromISR": "0x00023cd5", - "xQueueRemoveFromSet": "0x00023d69", - "xQueueSelectFromSet": "0x00023d8b", - "xQueueSelectFromSetFromISR": "0x00023d9d", - "xQueueSemaphoreTake": "0x00023db1", - "xQueueTakeMutexRecursive": "0x00023f1d", - "xTaskCheckForTimeOut": "0x00023f61", - "xTaskCreate": "0x00023fd1", - "xTaskCreateStatic": "0x0002402d", - "xTaskGetCurrentTaskHandle": "0x0002409d", - "xTaskGetSchedulerState": "0x000240a9", - "xTaskGetTickCount": "0x000240c5", - "xTaskGetTickCountFromISR": "0x000240d1", - "xTaskIncrementTick": "0x000240e1", - "xTaskPriorityDisinherit": "0x000241ad", - "xTaskPriorityInherit": "0x00024241", - "xTaskRemoveFromEventList": "0x000242d5", - "xTaskResumeAll": "0x00024355", - "xTaskResumeFromISR": "0x0002441d", - "xTimerCreate": "0x000244a9", - "xTimerCreateStatic": "0x000244dd", - "xTimerCreateTimerTask": "0x00024515", - "xTimerGenericCommand": "0x00024581", - "xTimerGetExpiryTime": "0x000245f1", - "xTimerGetTimerDaemonTaskHandle": "0x00024611" + "att_dispatch_client_can_send_now": "0x0000586d", + "att_dispatch_client_request_can_send_now_event": "0x00005873", + "att_dispatch_register_client": "0x00005879", + "att_dispatch_register_server": "0x0000588d", + "att_dispatch_server_can_send_now": "0x000058a1", + "att_dispatch_server_request_can_send_now_event": "0x000058a7", + "att_emit_general_event": "0x00005959", + "att_server_can_send_packet_now": "0x00006069", + "att_server_deferred_read_response": "0x0000606d", + "att_server_get_mtu": "0x00006085", + "att_server_indicate": "0x000060f1", + "att_server_init": "0x00006175", + "att_server_notify": "0x000061b1", + "att_server_register_packet_handler": "0x000062c9", + "att_server_request_can_send_now_event": "0x000062d5", + "att_set_db": "0x000062f1", + "att_set_read_callback": "0x00006305", + "att_set_write_callback": "0x00006311", + "bd_addr_cmp": "0x00006481", + "bd_addr_copy": "0x00006487", + "bd_addr_to_str": "0x00006491", + "big_endian_read_16": "0x000064c9", + "big_endian_read_32": "0x000064d1", + "big_endian_store_16": "0x000064e5", + "big_endian_store_32": "0x000064f1", + "btstack_config": "0x00006645", + "btstack_memory_pool_create": "0x00006783", + "btstack_memory_pool_free": "0x000067ad", + "btstack_memory_pool_get": "0x0000680d", + "btstack_push_user_msg": "0x00006875", + "btstack_push_user_runnable": "0x00006881", + "char_for_nibble": "0x00006b09", + "eTaskConfirmSleepModeStatus": "0x00006dd1", + "gap_add_dev_to_periodic_list": "0x0000746d", + "gap_add_whitelist": "0x0000747d", + "gap_aes_encrypt": "0x00007489", + "gap_clear_white_lists": "0x000074cd", + "gap_clr_adv_set": "0x000074d9", + "gap_clr_periodic_adv_list": "0x000074e5", + "gap_create_connection_cancel": "0x000074f1", + "gap_default_periodic_adv_sync_transfer_param": "0x000074fd", + "gap_disconnect": "0x00007515", + "gap_disconnect_all": "0x00007541", + "gap_ext_create_connection": "0x00007581", + "gap_get_connection_parameter_range": "0x00007671", + "gap_le_read_channel_map": "0x000076a9", + "gap_periodic_adv_create_sync": "0x00007715", + "gap_periodic_adv_create_sync_cancel": "0x00007739", + "gap_periodic_adv_set_info_transfer": "0x00007745", + "gap_periodic_adv_sync_transfer": "0x00007755", + "gap_periodic_adv_sync_transfer_param": "0x00007765", + "gap_periodic_adv_term_sync": "0x00007781", + "gap_read_antenna_info": "0x00007809", + "gap_read_periodic_adv_list_size": "0x00007815", + "gap_read_phy": "0x00007821", + "gap_read_remote_used_features": "0x0000782d", + "gap_read_remote_version": "0x00007839", + "gap_read_rssi": "0x00007845", + "gap_remove_whitelist": "0x00007851", + "gap_rmv_adv_set": "0x000078cd", + "gap_rmv_dev_from_periodic_list": "0x000078d9", + "gap_rx_test_v2": "0x000078e9", + "gap_rx_test_v3": "0x000078f9", + "gap_set_adv_set_random_addr": "0x00007945", + "gap_set_connection_cte_request_enable": "0x0000798d", + "gap_set_connection_cte_response_enable": "0x000079a9", + "gap_set_connection_cte_rx_param": "0x000079b9", + "gap_set_connection_cte_tx_param": "0x00007a15", + "gap_set_connection_parameter_range": "0x00007a69", + "gap_set_connectionless_cte_tx_enable": "0x00007a81", + "gap_set_connectionless_cte_tx_param": "0x00007a91", + "gap_set_connectionless_iq_sampling_enable": "0x00007af1", + "gap_set_data_length": "0x00007b55", + "gap_set_def_phy": "0x00007b6d", + "gap_set_ext_adv_data": "0x00007b7d", + "gap_set_ext_adv_enable": "0x00007b95", + "gap_set_ext_adv_para": "0x00007c11", + "gap_set_ext_scan_enable": "0x00007ce9", + "gap_set_ext_scan_para": "0x00007d01", + "gap_set_ext_scan_response_data": "0x00007da9", + "gap_set_host_channel_classification": "0x00007dc1", + "gap_set_periodic_adv_data": "0x00007dd1", + "gap_set_periodic_adv_enable": "0x00007e41", + "gap_set_periodic_adv_para": "0x00007e51", + "gap_set_periodic_adv_rx_enable": "0x00007e69", + "gap_set_phy": "0x00007e79", + "gap_set_random_device_address": "0x00007e95", + "gap_start_ccm": "0x00007ec5", + "gap_test_end": "0x00007f19", + "gap_tx_test_v2": "0x00007f25", + "gap_tx_test_v4": "0x00007f3d", + "gap_update_connection_parameters": "0x00007f61", + "gap_vendor_tx_continuous_wave": "0x00007fa1", + "gatt_client_cancel_write": "0x000084c9", + "gatt_client_discover_characteristic_descriptors": "0x000084ef", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x0000852f", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x0000857f", + "gatt_client_discover_characteristics_for_service": "0x000085cf", + "gatt_client_discover_primary_services": "0x00008605", + "gatt_client_discover_primary_services_by_uuid128": "0x00008637", + "gatt_client_discover_primary_services_by_uuid16": "0x0000867b", + "gatt_client_execute_write": "0x000086b7", + "gatt_client_find_included_services_for_service": "0x000086dd", + "gatt_client_get_mtu": "0x0000870b", + "gatt_client_is_ready": "0x000087a9", + "gatt_client_listen_for_characteristic_value_updates": "0x000087bf", + "gatt_client_prepare_write": "0x000087df", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x0000881b", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x00008845", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x0000884b", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x00008879", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x0000887f", + "gatt_client_read_multiple_characteristic_values": "0x000088ad", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x000088dd", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x0000890b", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x00008957", + "gatt_client_register_handler": "0x000089a1", + "gatt_client_reliable_write_long_value_of_characteristic": "0x000089ad", + "gatt_client_signed_write_without_response": "0x00008db1", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008e75", + "gatt_client_write_client_characteristic_configuration": "0x00008eaf", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008f01", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008f11", + "gatt_client_write_long_value_of_characteristic": "0x00008f4d", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008f5d", + "gatt_client_write_value_of_characteristic": "0x00008f99", + "gatt_client_write_value_of_characteristic_without_response": "0x00008fcf", + "hci_add_event_handler": "0x0000a505", + "hci_power_control": "0x0000ace5", + "hci_register_acl_packet_handler": "0x0000ae99", + "kv_commit": "0x0000b401", + "kv_get": "0x0000b459", + "kv_init": "0x0000b471", + "kv_put": "0x0000b4d5", + "kv_remove": "0x0000b549", + "kv_remove_all": "0x0000b585", + "kv_value_modified": "0x0000b5c9", + "kv_visit": "0x0000b5cd", + "l2cap_add_event_handler": "0x0000b681", + "l2cap_can_send_packet_now": "0x0000b691", + "l2cap_create_le_credit_based_connection_request": "0x0000b84d", + "l2cap_credit_based_send": "0x0000b991", + "l2cap_credit_based_send_continue": "0x0000b9bd", + "l2cap_disconnect": "0x0000ba39", + "l2cap_get_le_credit_based_connection_credits": "0x0000bc89", + "l2cap_get_peer_mtu_for_local_cid": "0x0000bca5", + "l2cap_init": "0x0000c079", + "l2cap_le_send_flow_control_credit": "0x0000c16f", + "l2cap_max_le_mtu": "0x0000c479", + "l2cap_register_packet_handler": "0x0000c5a1", + "l2cap_register_service": "0x0000c5ad", + "l2cap_request_can_send_now_event": "0x0000c6bd", + "l2cap_request_connection_parameter_update": "0x0000c6d7", + "l2cap_send_echo_request": "0x0000cba9", + "l2cap_unregister_service": "0x0000cc69", + "le_device_db_add": "0x0000ccc1", + "le_device_db_find": "0x0000cd85", + "le_device_db_from_key": "0x0000cdb1", + "le_device_db_iter_cur": "0x0000cdb9", + "le_device_db_iter_cur_key": "0x0000cdbd", + "le_device_db_iter_init": "0x0000cdc1", + "le_device_db_iter_next": "0x0000cdc9", + "le_device_db_remove_key": "0x0000cdef", + "ll_aes_encrypt": "0x0000ce1d", + "ll_free": "0x0000ce99", + "ll_hint_on_ce_len": "0x0000cea5", + "ll_legacy_adv_set_interval": "0x0000cedd", + "ll_malloc": "0x0000ceed", + "ll_query_timing_info": "0x0000d025", + "ll_scan_set_fixed_channel": "0x0000d0c9", + "ll_set_adv_access_address": "0x0000d1dd", + "ll_set_adv_coded_scheme": "0x0000d1e9", + "ll_set_conn_coded_scheme": "0x0000d211", + "ll_set_conn_latency": "0x0000d239", + "ll_set_conn_tx_power": "0x0000d265", + "ll_set_def_antenna": "0x0000d2a9", + "ll_set_initiating_coded_scheme": "0x0000d2c5", + "ll_set_max_conn_number": "0x0000d2d1", + "nibble_for_char": "0x0001dfc5", + "platform_32k_rc_auto_tune": "0x0001e065", + "platform_32k_rc_tune": "0x0001e0e1", + "platform_calibrate_32k": "0x0001e0f5", + "platform_config": "0x0001e0f9", + "platform_enable_irq": "0x0001e1ed", + "platform_get_current_task": "0x0001e225", + "platform_get_gen_os_driver": "0x0001e249", + "platform_get_heap_status": "0x0001e251", + "platform_get_task_handle": "0x0001e269", + "platform_get_us_time": "0x0001e289", + "platform_get_version": "0x0001e28d", + "platform_hrng": "0x0001e295", + "platform_install_isr_stack": "0x0001e29d", + "platform_install_task_stack": "0x0001e2a9", + "platform_patch_rf_init_data": "0x0001e2e1", + "platform_printf": "0x0001e2ed", + "platform_raise_assertion": "0x0001e301", + "platform_rand": "0x0001e315", + "platform_read_info": "0x0001e319", + "platform_read_persistent_reg": "0x0001e349", + "platform_reset": "0x0001e359", + "platform_set_evt_callback": "0x0001e37d", + "platform_set_evt_callback_table": "0x0001e391", + "platform_set_irq_callback": "0x0001e39d", + "platform_set_irq_callback_table": "0x0001e3b9", + "platform_set_rf_clk_source": "0x0001e3c5", + "platform_set_rf_init_data": "0x0001e3d1", + "platform_set_rf_power_mapping": "0x0001e3dd", + "platform_set_timer": "0x0001e3e9", + "platform_shutdown": "0x0001e3ed", + "platform_switch_app": "0x0001e3f1", + "platform_trace_raw": "0x0001e41d", + "platform_write_persistent_reg": "0x0001e435", + "printf_hexdump": "0x0001e5e9", + "pvPortMalloc": "0x0001f0d1", + "pvTaskIncrementMutexHeldCount": "0x0001f1b9", + "pvTimerGetTimerID": "0x0001f1d1", + "pxPortInitialiseStack": "0x0001f1fd", + "reverse_128": "0x0001f3dd", + "reverse_24": "0x0001f3e3", + "reverse_48": "0x0001f3e9", + "reverse_56": "0x0001f3ef", + "reverse_64": "0x0001f3f5", + "reverse_bd_addr": "0x0001f3fb", + "reverse_bytes": "0x0001f401", + "sm_add_event_handler": "0x0001f6c1", + "sm_address_resolution_lookup": "0x0001f819", + "sm_authenticated": "0x0001fb79", + "sm_authorization_decline": "0x0001fb87", + "sm_authorization_grant": "0x0001fba7", + "sm_authorization_state": "0x0001fbc7", + "sm_bonding_decline": "0x0001fbe1", + "sm_config": "0x00020001", + "sm_config_conn": "0x00020019", + "sm_encryption_key_size": "0x000201cf", + "sm_just_works_confirm": "0x00020709", + "sm_le_device_key": "0x00020a45", + "sm_passkey_input": "0x00020adb", + "sm_private_random_address_generation_get": "0x00020e89", + "sm_private_random_address_generation_get_mode": "0x00020e91", + "sm_private_random_address_generation_set_mode": "0x00020e9d", + "sm_private_random_address_generation_set_update_period": "0x00020ec5", + "sm_register_oob_data_callback": "0x00021001", + "sm_request_pairing": "0x0002100d", + "sm_send_security_request": "0x00021a47", + "sm_set_accepted_stk_generation_methods": "0x00021a6d", + "sm_set_authentication_requirements": "0x00021a79", + "sm_set_encryption_key_size_range": "0x00021a85", + "sscanf_bd_addr": "0x00021de1", + "sysSetPublicDeviceAddr": "0x00022195", + "uuid128_to_str": "0x00022909", + "uuid_add_bluetooth_prefix": "0x00022961", + "uuid_has_bluetooth_prefix": "0x00022981", + "uxListRemove": "0x0002299d", + "uxQueueMessagesWaiting": "0x000229c5", + "uxQueueMessagesWaitingFromISR": "0x000229ed", + "uxQueueSpacesAvailable": "0x00022a09", + "uxTaskGetStackHighWaterMark": "0x00022a35", + "uxTaskPriorityGet": "0x00022a55", + "uxTaskPriorityGetFromISR": "0x00022a71", + "vListInitialise": "0x00022b2b", + "vListInitialiseItem": "0x00022b41", + "vListInsert": "0x00022b47", + "vListInsertEnd": "0x00022b77", + "vPortEndScheduler": "0x00022b91", + "vPortEnterCritical": "0x00022bbd", + "vPortExitCritical": "0x00022c01", + "vPortFree": "0x00022c35", + "vPortSuppressTicksAndSleep": "0x00022cc9", + "vPortValidateInterruptPriority": "0x00022de5", + "vQueueDelete": "0x00022e41", + "vQueueWaitForMessageRestricted": "0x00022e6d", + "vTaskDelay": "0x00022eb5", + "vTaskInternalSetTimeOutState": "0x00022f01", + "vTaskMissedYield": "0x00022f11", + "vTaskPlaceOnEventList": "0x00022f1d", + "vTaskPlaceOnEventListRestricted": "0x00022f55", + "vTaskPriorityDisinheritAfterTimeout": "0x00022f95", + "vTaskPrioritySet": "0x00023041", + "vTaskResume": "0x00023109", + "vTaskStartScheduler": "0x0002318d", + "vTaskStepTick": "0x0002321d", + "vTaskSuspend": "0x0002324d", + "vTaskSuspendAll": "0x00023309", + "vTaskSwitchContext": "0x00023319", + "xPortStartScheduler": "0x000233bd", + "xQueueAddToSet": "0x00023485", + "xQueueCreateCountingSemaphore": "0x000234a9", + "xQueueCreateCountingSemaphoreStatic": "0x000234e5", + "xQueueCreateMutex": "0x00023529", + "xQueueCreateMutexStatic": "0x0002353f", + "xQueueCreateSet": "0x00023559", + "xQueueGenericCreate": "0x00023561", + "xQueueGenericCreateStatic": "0x000235ad", + "xQueueGenericReset": "0x00023615", + "xQueueGenericSend": "0x000236a1", + "xQueueGenericSendFromISR": "0x0002380d", + "xQueueGiveFromISR": "0x000238cd", + "xQueueGiveMutexRecursive": "0x00023971", + "xQueueIsQueueEmptyFromISR": "0x000239b1", + "xQueueIsQueueFullFromISR": "0x000239d5", + "xQueuePeek": "0x000239fd", + "xQueuePeekFromISR": "0x00023b25", + "xQueueReceive": "0x00023b91", + "xQueueReceiveFromISR": "0x00023cbd", + "xQueueRemoveFromSet": "0x00023d51", + "xQueueSelectFromSet": "0x00023d73", + "xQueueSelectFromSetFromISR": "0x00023d85", + "xQueueSemaphoreTake": "0x00023d99", + "xQueueTakeMutexRecursive": "0x00023f05", + "xTaskCheckForTimeOut": "0x00023f49", + "xTaskCreate": "0x00023fb9", + "xTaskCreateStatic": "0x00024015", + "xTaskGetCurrentTaskHandle": "0x00024085", + "xTaskGetSchedulerState": "0x00024091", + "xTaskGetTickCount": "0x000240ad", + "xTaskGetTickCountFromISR": "0x000240b9", + "xTaskIncrementTick": "0x000240c9", + "xTaskPriorityDisinherit": "0x00024195", + "xTaskPriorityInherit": "0x00024229", + "xTaskRemoveFromEventList": "0x000242bd", + "xTaskResumeAll": "0x0002433d", + "xTaskResumeFromISR": "0x00024405", + "xTimerCreate": "0x00024491", + "xTimerCreateStatic": "0x000244c5", + "xTimerCreateTimerTask": "0x000244fd", + "xTimerGenericCommand": "0x00024569", + "xTimerGetExpiryTime": "0x000245d9", + "xTimerGetTimerDaemonTaskHandle": "0x000245f9" } \ No newline at end of file diff --git a/bundles/mini/ING9188xx/meta.json b/bundles/mini/ING9188xx/meta.json index 4c0e1b7ab..3e5ec88d7 100644 --- a/bundles/mini/ING9188xx/meta.json +++ b/bundles/mini/ING9188xx/meta.json @@ -1,6 +1,6 @@ { "app": { - "base": 163840 + "base": 155648 }, "ram": { "base": 536870912, @@ -8,11 +8,11 @@ }, "rom": { "base": 16384, - "size": 139272 + "size": 139248 }, "version": [ 1, 9, - 12 + 15 ] } \ No newline at end of file diff --git a/bundles/mini/ING9188xx/platform.bin b/bundles/mini/ING9188xx/platform.bin index ac5befb29..ec0805421 100644 Binary files a/bundles/mini/ING9188xx/platform.bin and b/bundles/mini/ING9188xx/platform.bin differ diff --git a/bundles/mini/inc/gap.h b/bundles/mini/inc/gap.h index 413b9423a..cc0896b57 100644 --- a/bundles/mini/inc/gap.h +++ b/bundles/mini/inc/gap.h @@ -47,14 +47,15 @@ typedef enum scan_type * @brief set random address device * * @param address random address + * @return 0: Message is sent to controller; others: failed */ -void gap_set_random_device_address(const uint8_t *address); +uint8_t gap_set_random_device_address(const uint8_t *address); /** * @brief Disconnect connection with handle * * @param handle Used to identify an advertising set. Range: 0x00 to 0xEF - * @return 0: Message is sent out or the connection alreay release + * @return 0: Message is sent out or the connection already release */ uint8_t gap_disconnect(hci_con_handle_t handle); @@ -67,7 +68,7 @@ void gap_disconnect_all(void); * * @param[in] address BLE address * @param[in] addtype BLE address type - * @return 0: Message is sent to controller + * @return 0: Message is sent to controller */ uint8_t gap_add_whitelist(const uint8_t *address,bd_addr_type_t addtype); @@ -1326,30 +1327,27 @@ uint8_t gap_vendor_tx_continuous_wave(uint8_t enable, uint8_t power_level_index, #define HCI_VENDOR_CCM 0xFC01 /** - * @brief host require controller to do AES-CCM functionality, and CCM referece to + * @brief Host require controller to do AES-CCM functionality, and CCM reference to * the document rfc3610:Counter with CBC-MAC (CCM) * - * @param type 0: encrypt 1:decrypt - * - * @param mic_size 8: mic size in 8 bytes 4: mic size in 4 bytes - * - * @param msg_len messge length to be encrypt or decrypt - * - * @param aad_len Additional authenticated data length - * - * @param tag a value to identify a AES-CCM request. - * - * @param key 128 bits long key as required by AES-CCM - * - * @param nonce random value of each AES-CCM require 13 bytes long - * - * @param msg pointer to the message input + * All input buffers (key, nonce, msg, aad) must be kept in memory until AES-CCM completed. * - * @param aad Additional authenticated data + * `return_param` passed to `cb` is casted from `event_vendor_ccm_complete_t`. * - * @param out_msg the output buffer to store the result of the AES-CCM ,calculated by controller. + * @param[in] type 0: encrypt 1:decrypt + * @param[in] mic_size 8: mic size in 8 bytes 4: mic size in 4 bytes + * @param[in] msg_len message length to be encrypt or decrypt (<= 384 bytes) + * @param[in] aad_len Additional authenticated data length (<= 16 bytes) + * @param[in] tag a value to identify a AES-CCM request. + * @param[in] key 128 bits long key as required by AES-CCM + * @param[in] nonce random value of each AES-CCM require 13 bytes long + * @param[in] msg pointer to the message input + * @param[in] aad Additional authenticated data + * @param[out] out_msg the output buffer to store the result of the AES-CCM + * @param[in] cb callback function on the corresponding command complete event + * @param[in] user_data user data for the callback function * - * @return 0: success others: failed + * @return 0: success others: failed */ uint8_t gap_start_ccm( uint8_t type, // 0: encrypt 1: decrypt @@ -1357,11 +1355,13 @@ uint8_t gap_start_ccm( uint16_t msg_len, uint16_t aad_len, uint32_t tag, // same value will be reported in event - uint8_t *key, - uint8_t *nonce, - uint8_t *msg, - uint8_t *aad, - uint8_t *out_msg); + const uint8_t *key, + const uint8_t *nonce, + const uint8_t *msg, + const uint8_t *aad, + uint8_t *out_msg, + gap_hci_cmd_complete_cb_t cb, + void *user_data); //HCI func interface diff --git a/bundles/mini/inc/ll_api.h b/bundles/mini/inc/ll_api.h index c32f31e3e..f49c2f484 100644 --- a/bundles/mini/inc/ll_api.h +++ b/bundles/mini/inc/ll_api.h @@ -118,6 +118,52 @@ void ll_set_conn_coded_scheme(uint16_t conn_handle, int ci); */ void ll_set_conn_latency(uint16_t conn_handle, int latency); +/** + **************************************************************************************** + * @brief Get connection basic information of a connection + * + * @param[in] conn_handle handle of an existing connection + * @param[out] access_addr Access address + * @param[out] crc_init CRC init value + * @param[out] interval interval (unit: us) + * @return 0 if successful else non-0 + **************************************************************************************** + */ +// int ll_get_conn_info(const uint16_t conn_handle, +// uint32_t *access_addr, +// uint32_t *crc_init, +// uint32_t *interval); +// WARNING: ^^^ this API is not available in this release + + +/** + **************************************************************************************** + * @brief Get information of upcoming connection events of a connection + * + * Information of consecutive N connection events after `from_time` can be retrieved, + * where N = `number`. + * + * Sub-rating is ignored. If channel map updated within these events, then `channel_ids` + * are not reliable. + * + * @param[in] conn_handle handle of an existing connection + * @param[in] number number of connection events to be queried + * @param[in] from_time the first connection event shall be after `from_time` (unit: us) + * @param[out] time_offset time offset between the start of the first connection event and `from_time` (unit: us) + * @param[out] event_count connection event count of the first connection event + * @param[out] channel_ids physical channel IDs of the upcoming `number` connection events + * @return 0 if successful else non-0 + **************************************************************************************** + */ +// int ll_get_conn_events_info(const uint16_t conn_handle, +// int number, +// uint64_t from_time, +// uint32_t *time_offset, +// uint16_t *event_count, +// uint8_t *channel_ids); +// WARNING: ^^^ this API is not available in this release + + /** **************************************************************************************** * @brief Set default antenna ID @@ -789,6 +835,21 @@ typedef int (*f_start_generate_dhkey)(int key_type, const uint8_t *remote_pub_k // f_start_generate_dhkey start_generate_dhkey); // WARNING: ^^^ this API is not available in this release + +/** + **************************************************************************************** + * @brief Low level AES encryption in blocking mode + * + * @param[in] key key (little-endian) + * @param[in] plaintext plaintext (little-endian) + * @param[out] ciphertext ciphertext (big-endian) + * @return 0 if completed successfully; non-0 if hardware is not ready or busy + * When non-0 is returned, it is possible to retry later. + **************************************************************************************** + */ +int ll_aes_encrypt(const uint8_t *key, const uint8_t *plaintext, + uint8_t *ciphertext); + #ifdef __cplusplus } #endif diff --git a/bundles/noos_exp/ING9187xx/apis.json b/bundles/noos_exp/ING9187xx/apis.json index 619032e43..d56a5fffa 100644 --- a/bundles/noos_exp/ING9187xx/apis.json +++ b/bundles/noos_exp/ING9187xx/apis.json @@ -1,264 +1,267 @@ { - "att_dispatch_client_can_send_now": "0x00005675", - "att_dispatch_client_request_can_send_now_event": "0x0000567b", - "att_dispatch_register_client": "0x00005681", - "att_dispatch_register_server": "0x00005695", - "att_dispatch_server_can_send_now": "0x000056a9", - "att_dispatch_server_request_can_send_now_event": "0x000056af", - "att_emit_general_event": "0x00005761", - "att_server_can_send_packet_now": "0x00005e75", - "att_server_deferred_read_response": "0x00005e79", - "att_server_get_mtu": "0x00005e91", - "att_server_indicate": "0x00005f09", - "att_server_init": "0x00005f8d", - "att_server_notify": "0x00005fc9", - "att_server_register_packet_handler": "0x000060e1", - "att_server_request_can_send_now_event": "0x000060ed", - "att_set_db": "0x00006109", - "att_set_read_callback": "0x0000611d", - "att_set_write_callback": "0x00006129", - "bd_addr_cmp": "0x00006299", - "bd_addr_copy": "0x0000629f", - "bd_addr_to_str": "0x000062a9", - "big_endian_read_16": "0x000062e1", - "big_endian_read_32": "0x000062e9", - "big_endian_store_16": "0x000062fd", - "big_endian_store_32": "0x00006309", - "btstack_config": "0x00006441", - "btstack_memory_pool_create": "0x0000658f", - "btstack_memory_pool_free": "0x000065b9", - "btstack_memory_pool_get": "0x00006619", - "btstack_push_user_msg": "0x00006661", - "btstack_push_user_runnable": "0x0000666d", - "char_for_nibble": "0x000068dd", - "gap_add_dev_to_periodic_list": "0x00007195", - "gap_add_whitelist": "0x000071ad", - "gap_aes_encrypt": "0x000071c1", - "gap_clear_white_lists": "0x00007205", - "gap_clr_adv_set": "0x00007215", - "gap_clr_periodic_adv_list": "0x00007225", - "gap_create_connection_cancel": "0x00007235", - "gap_disconnect": "0x00007245", - "gap_disconnect_all": "0x00007271", - "gap_ext_create_connection": "0x000072b1", - "gap_get_connection_parameter_range": "0x000073c1", - "gap_le_read_channel_map": "0x000073fd", - "gap_periodic_adv_create_sync": "0x00007471", - "gap_periodic_adv_create_sync_cancel": "0x00007495", - "gap_periodic_adv_term_sync": "0x000074a5", - "gap_read_local_tx_power_level": "0x00007549", - "gap_read_periodic_adv_list_size": "0x0000755d", - "gap_read_phy": "0x0000756d", - "gap_read_remote_tx_power_level": "0x00007581", - "gap_read_remote_used_features": "0x00007595", - "gap_read_remote_version": "0x000075a9", - "gap_read_rssi": "0x000075bd", - "gap_remove_whitelist": "0x000075d1", - "gap_rmv_adv_set": "0x00007655", - "gap_rmv_dev_from_periodic_list": "0x00007669", - "gap_rx_test_v2": "0x00007681", - "gap_set_adv_set_random_addr": "0x000076c1", - "gap_set_connection_parameter_range": "0x0000770d", - "gap_set_data_length": "0x00007725", - "gap_set_def_phy": "0x00007741", - "gap_set_default_subrate": "0x00007759", - "gap_set_ext_adv_data": "0x00007775", - "gap_set_ext_adv_enable": "0x0000778d", - "gap_set_ext_adv_para": "0x00007809", - "gap_set_ext_scan_enable": "0x000078e9", - "gap_set_ext_scan_para": "0x00007901", - "gap_set_ext_scan_response_data": "0x000079a9", - "gap_set_host_channel_classification": "0x000079c1", - "gap_set_path_loss_reporting_enable": "0x000079d5", - "gap_set_path_loss_reporting_param": "0x000079e9", - "gap_set_periodic_adv_data": "0x00007a09", - "gap_set_periodic_adv_enable": "0x00007a7d", - "gap_set_periodic_adv_para": "0x00007a91", - "gap_set_phy": "0x00007aa9", - "gap_set_random_device_address": "0x00007ac5", - "gap_set_tx_power_reporting_enable": "0x00007ae5", - "gap_start_ccm": "0x00007b0d", - "gap_subrate_request": "0x00007b41", - "gap_test_end": "0x00007b61", - "gap_tx_test_v2": "0x00007b71", - "gap_tx_test_v4": "0x00007b89", - "gap_update_connection_parameters": "0x00007bb1", - "gap_vendor_tx_continuous_wave": "0x00007bf5", - "gatt_client_cancel_write": "0x0000811d", - "gatt_client_discover_characteristic_descriptors": "0x00008143", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x00008183", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x000081d3", - "gatt_client_discover_characteristics_for_service": "0x00008223", - "gatt_client_discover_primary_services": "0x00008259", - "gatt_client_discover_primary_services_by_uuid128": "0x0000828b", - "gatt_client_discover_primary_services_by_uuid16": "0x000082cf", - "gatt_client_execute_write": "0x0000830b", - "gatt_client_find_included_services_for_service": "0x00008331", - "gatt_client_get_mtu": "0x0000835f", - "gatt_client_is_ready": "0x00008401", - "gatt_client_listen_for_characteristic_value_updates": "0x00008417", - "gatt_client_prepare_write": "0x00008439", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x00008475", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x0000849f", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x000084a5", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x000084d3", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x000084d9", - "gatt_client_read_multiple_characteristic_values": "0x00008507", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x00008537", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x00008565", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x000085b1", - "gatt_client_register_handler": "0x000085fd", - "gatt_client_reliable_write_long_value_of_characteristic": "0x00008609", - "gatt_client_signed_write_without_response": "0x00008a39", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008afd", - "gatt_client_write_client_characteristic_configuration": "0x00008b37", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008b89", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008b99", - "gatt_client_write_long_value_of_characteristic": "0x00008bd5", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008be5", - "gatt_client_write_value_of_characteristic": "0x00008c21", - "gatt_client_write_value_of_characteristic_without_response": "0x00008c57", - "hci_add_event_handler": "0x0000a1e1", - "hci_power_control": "0x0000a9e9", - "hci_register_acl_packet_handler": "0x0000ab9d", - "kv_commit": "0x0000b13d", - "kv_get": "0x0000b195", - "kv_init": "0x0000b1ad", - "kv_put": "0x0000b215", - "kv_remove": "0x0000b28d", - "kv_remove_all": "0x0000b2c9", - "kv_value_modified": "0x0000b30d", - "kv_visit": "0x0000b311", - "l2cap_add_event_handler": "0x0000b3c5", - "l2cap_can_send_packet_now": "0x0000b3d5", - "l2cap_create_le_credit_based_connection_request": "0x0000b591", - "l2cap_credit_based_send": "0x0000b6d5", - "l2cap_credit_based_send_continue": "0x0000b701", - "l2cap_disconnect": "0x0000b77d", - "l2cap_get_le_credit_based_connection_credits": "0x0000b9cd", - "l2cap_get_peer_mtu_for_local_cid": "0x0000b9e9", - "l2cap_init": "0x0000bdbd", - "l2cap_le_send_flow_control_credit": "0x0000beb3", - "l2cap_max_le_mtu": "0x0000c1bd", - "l2cap_register_packet_handler": "0x0000c2e5", - "l2cap_register_service": "0x0000c2f1", - "l2cap_request_can_send_now_event": "0x0000c401", - "l2cap_request_connection_parameter_update": "0x0000c41b", - "l2cap_send_echo_request": "0x0000c8ed", - "l2cap_unregister_service": "0x0000c9ad", - "le_device_db_add": "0x0000ca05", - "le_device_db_find": "0x0000cad9", - "le_device_db_from_key": "0x0000cb05", - "le_device_db_iter_cur": "0x0000cb0d", - "le_device_db_iter_cur_key": "0x0000cb11", - "le_device_db_iter_init": "0x0000cb15", - "le_device_db_iter_next": "0x0000cb1d", - "le_device_db_remove_key": "0x0000cb43", - "ll_ackable_packet_alloc": "0x0000cb6f", - "ll_ackable_packet_get_status": "0x0000cc77", - "ll_ackable_packet_run": "0x0000cce9", - "ll_ackable_packet_set_tx_data": "0x0000cd91", - "ll_adjust_conn_peer_tx_power": "0x0000cdad", - "ll_dhkey_generated": "0x0000cff5", - "ll_free": "0x0000d025", - "ll_hint_on_ce_len": "0x0000d031", - "ll_install_ecc_engine": "0x0000d069", - "ll_legacy_adv_set_interval": "0x0000d075", - "ll_lock_frequency": "0x0000d085", - "ll_malloc": "0x0000d0dd", - "ll_p256_key_pair_generated": "0x0000d0e5", - "ll_raw_packet_alloc": "0x0000d295", - "ll_raw_packet_free": "0x0000d369", - "ll_raw_packet_get_bare_rx_data": "0x0000d393", - "ll_raw_packet_get_rx_data": "0x0000d459", - "ll_raw_packet_recv": "0x0000d4f9", - "ll_raw_packet_send": "0x0000d5b5", - "ll_raw_packet_set_bare_data": "0x0000d69d", - "ll_raw_packet_set_bare_mode": "0x0000d6db", - "ll_raw_packet_set_param": "0x0000d7e1", - "ll_raw_packet_set_tx_data": "0x0000d83f", - "ll_scan_set_fixed_channel": "0x0000d8fd", - "ll_set_adv_access_address": "0x0000da11", - "ll_set_adv_coded_scheme": "0x0000da1d", - "ll_set_conn_coded_scheme": "0x0000da4d", - "ll_set_conn_interval_unit": "0x0000da79", - "ll_set_conn_latency": "0x0000da85", - "ll_set_conn_tx_power": "0x0000dab5", - "ll_set_def_antenna": "0x0000daf1", - "ll_set_initiating_coded_scheme": "0x0000db0d", - "ll_set_max_conn_number": "0x0000db19", - "ll_set_tx_power_range": "0x0000dbb5", - "ll_unlock_frequency": "0x0000dbdd", - "nibble_for_char": "0x0001f139", - "platform_32k_rc_auto_tune": "0x0001f1d5", - "platform_32k_rc_tune": "0x0001f251", - "platform_calibrate_32k": "0x0001f265", - "platform_config": "0x0001f269", - "platform_controller_run": "0x0001f359", - "platform_enable_irq": "0x0001f391", - "platform_get_gen_os_driver": "0x0001f3b9", - "platform_get_task_handle": "0x0001f3c5", - "platform_get_us_time": "0x0001f3dd", - "platform_get_version": "0x0001f3e1", - "platform_hrng": "0x0001f3e9", - "platform_init_controller": "0x0001f3f1", - "platform_os_idle_resumed_hook": "0x0001f40d", - "platform_patch_rf_init_data": "0x0001f411", - "platform_post_sleep_processing": "0x0001f41d", - "platform_pre_sleep_processing": "0x0001f423", - "platform_pre_suppress_ticks_and_sleep_processing": "0x0001f429", - "platform_printf": "0x0001f42d", - "platform_raise_assertion": "0x0001f441", - "platform_rand": "0x0001f455", - "platform_read_info": "0x0001f459", - "platform_read_persistent_reg": "0x0001f489", - "platform_reset": "0x0001f499", - "platform_set_evt_callback": "0x0001f4bd", - "platform_set_evt_callback_table": "0x0001f4d1", - "platform_set_irq_callback": "0x0001f4dd", - "platform_set_irq_callback_table": "0x0001f4f9", - "platform_set_rf_clk_source": "0x0001f505", - "platform_set_rf_init_data": "0x0001f511", - "platform_set_rf_power_mapping": "0x0001f51d", - "platform_set_timer": "0x0001f529", - "platform_shutdown": "0x0001f52d", - "platform_switch_app": "0x0001f531", - "platform_trace_raw": "0x0001f55d", - "platform_write_persistent_reg": "0x0001f575", - "printf_hexdump": "0x0001f585", - "reverse_128": "0x0001f8c1", - "reverse_24": "0x0001f8c7", - "reverse_48": "0x0001f8cd", - "reverse_56": "0x0001f8d3", - "reverse_64": "0x0001f8d9", - "reverse_bd_addr": "0x0001f8df", - "reverse_bytes": "0x0001f8e5", - "sm_add_event_handler": "0x0001fa71", - "sm_address_resolution_lookup": "0x0001fbc9", - "sm_authenticated": "0x0001ff29", - "sm_authorization_decline": "0x0001ff37", - "sm_authorization_grant": "0x0001ff57", - "sm_authorization_state": "0x0001ff77", - "sm_bonding_decline": "0x0001ff91", - "sm_config": "0x000203b1", - "sm_config_conn": "0x000203c9", - "sm_encryption_key_size": "0x0002057f", - "sm_just_works_confirm": "0x00020ab9", - "sm_le_device_key": "0x00020df5", - "sm_passkey_input": "0x00020e8b", - "sm_private_random_address_generation_get": "0x00021239", - "sm_private_random_address_generation_get_mode": "0x00021241", - "sm_private_random_address_generation_set_mode": "0x0002124d", - "sm_private_random_address_generation_set_update_period": "0x00021275", - "sm_register_oob_data_callback": "0x000213b1", - "sm_request_pairing": "0x000213bd", - "sm_send_security_request": "0x00021df7", - "sm_set_accepted_stk_generation_methods": "0x00021e1d", - "sm_set_authentication_requirements": "0x00021e29", - "sm_set_encryption_key_size_range": "0x00021e35", - "sscanf_bd_addr": "0x00022205", - "sysSetPublicDeviceAddr": "0x000225b9", - "uuid128_to_str": "0x00022bc5", - "uuid_add_bluetooth_prefix": "0x00022c1d", - "uuid_has_bluetooth_prefix": "0x00022c3d" + "att_dispatch_client_can_send_now": "0x0000565d", + "att_dispatch_client_request_can_send_now_event": "0x00005663", + "att_dispatch_register_client": "0x00005669", + "att_dispatch_register_server": "0x0000567d", + "att_dispatch_server_can_send_now": "0x00005691", + "att_dispatch_server_request_can_send_now_event": "0x00005697", + "att_emit_general_event": "0x00005749", + "att_server_can_send_packet_now": "0x00005e5d", + "att_server_deferred_read_response": "0x00005e61", + "att_server_get_mtu": "0x00005e79", + "att_server_indicate": "0x00005ef1", + "att_server_init": "0x00005f75", + "att_server_notify": "0x00005fb1", + "att_server_register_packet_handler": "0x000060c9", + "att_server_request_can_send_now_event": "0x000060d5", + "att_set_db": "0x000060f1", + "att_set_read_callback": "0x00006105", + "att_set_write_callback": "0x00006111", + "bd_addr_cmp": "0x00006281", + "bd_addr_copy": "0x00006287", + "bd_addr_to_str": "0x00006291", + "big_endian_read_16": "0x000062c9", + "big_endian_read_32": "0x000062d1", + "big_endian_store_16": "0x000062e5", + "big_endian_store_32": "0x000062f1", + "btstack_config": "0x00006429", + "btstack_memory_pool_create": "0x00006577", + "btstack_memory_pool_free": "0x000065a1", + "btstack_memory_pool_get": "0x00006601", + "btstack_push_user_msg": "0x00006649", + "btstack_push_user_runnable": "0x00006655", + "char_for_nibble": "0x000068fb", + "gap_add_dev_to_periodic_list": "0x000071bd", + "gap_add_whitelist": "0x000071cd", + "gap_aes_encrypt": "0x000071d9", + "gap_clear_white_lists": "0x0000721d", + "gap_clr_adv_set": "0x00007229", + "gap_clr_periodic_adv_list": "0x00007235", + "gap_create_connection_cancel": "0x00007241", + "gap_disconnect": "0x0000724d", + "gap_disconnect_all": "0x00007279", + "gap_ext_create_connection": "0x000072b9", + "gap_get_connection_parameter_range": "0x000073c5", + "gap_le_read_channel_map": "0x00007401", + "gap_periodic_adv_create_sync": "0x0000746d", + "gap_periodic_adv_create_sync_cancel": "0x00007491", + "gap_periodic_adv_term_sync": "0x0000749d", + "gap_read_local_tx_power_level": "0x00007531", + "gap_read_periodic_adv_list_size": "0x00007541", + "gap_read_phy": "0x0000754d", + "gap_read_remote_tx_power_level": "0x00007559", + "gap_read_remote_used_features": "0x00007569", + "gap_read_remote_version": "0x00007575", + "gap_read_rssi": "0x00007581", + "gap_remove_whitelist": "0x0000758d", + "gap_rmv_adv_set": "0x00007609", + "gap_rmv_dev_from_periodic_list": "0x00007615", + "gap_rx_test_v2": "0x00007625", + "gap_set_adv_set_random_addr": "0x0000765d", + "gap_set_connection_parameter_range": "0x000076a5", + "gap_set_data_length": "0x000076bd", + "gap_set_def_phy": "0x000076d5", + "gap_set_default_subrate": "0x000076e5", + "gap_set_ext_adv_data": "0x00007701", + "gap_set_ext_adv_enable": "0x00007719", + "gap_set_ext_adv_para": "0x00007795", + "gap_set_ext_scan_enable": "0x0000786d", + "gap_set_ext_scan_para": "0x00007885", + "gap_set_ext_scan_response_data": "0x0000792d", + "gap_set_host_channel_classification": "0x00007945", + "gap_set_path_loss_reporting_enable": "0x00007955", + "gap_set_path_loss_reporting_param": "0x00007965", + "gap_set_periodic_adv_data": "0x00007981", + "gap_set_periodic_adv_enable": "0x000079f1", + "gap_set_periodic_adv_para": "0x00007a01", + "gap_set_phy": "0x00007a19", + "gap_set_random_device_address": "0x00007a35", + "gap_set_tx_power_reporting_enable": "0x00007a55", + "gap_start_ccm": "0x00007a75", + "gap_subrate_request": "0x00007ac9", + "gap_test_end": "0x00007ae5", + "gap_tx_test_v2": "0x00007af1", + "gap_tx_test_v4": "0x00007b09", + "gap_update_connection_parameters": "0x00007b2d", + "gap_vendor_tx_continuous_wave": "0x00007b71", + "gatt_client_cancel_write": "0x00008099", + "gatt_client_discover_characteristic_descriptors": "0x000080bf", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x000080ff", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x0000814f", + "gatt_client_discover_characteristics_for_service": "0x0000819f", + "gatt_client_discover_primary_services": "0x000081d5", + "gatt_client_discover_primary_services_by_uuid128": "0x00008207", + "gatt_client_discover_primary_services_by_uuid16": "0x0000824b", + "gatt_client_execute_write": "0x00008287", + "gatt_client_find_included_services_for_service": "0x000082ad", + "gatt_client_get_mtu": "0x000082db", + "gatt_client_is_ready": "0x0000837d", + "gatt_client_listen_for_characteristic_value_updates": "0x00008393", + "gatt_client_prepare_write": "0x000083b5", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x000083f1", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x0000841b", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008421", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x0000844f", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x00008455", + "gatt_client_read_multiple_characteristic_values": "0x00008483", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x000084b3", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x000084e1", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x0000852d", + "gatt_client_register_handler": "0x00008579", + "gatt_client_reliable_write_long_value_of_characteristic": "0x00008585", + "gatt_client_signed_write_without_response": "0x000089b5", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008a79", + "gatt_client_write_client_characteristic_configuration": "0x00008ab3", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008b05", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008b15", + "gatt_client_write_long_value_of_characteristic": "0x00008b51", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008b61", + "gatt_client_write_value_of_characteristic": "0x00008b9d", + "gatt_client_write_value_of_characteristic_without_response": "0x00008bd3", + "hci_add_event_handler": "0x0000a15d", + "hci_power_control": "0x0000a965", + "hci_register_acl_packet_handler": "0x0000ab19", + "kv_commit": "0x0000b0b1", + "kv_get": "0x0000b109", + "kv_init": "0x0000b121", + "kv_put": "0x0000b189", + "kv_remove": "0x0000b201", + "kv_remove_all": "0x0000b23d", + "kv_value_modified": "0x0000b281", + "kv_visit": "0x0000b285", + "l2cap_add_event_handler": "0x0000b339", + "l2cap_can_send_packet_now": "0x0000b349", + "l2cap_create_le_credit_based_connection_request": "0x0000b505", + "l2cap_credit_based_send": "0x0000b649", + "l2cap_credit_based_send_continue": "0x0000b675", + "l2cap_disconnect": "0x0000b6f1", + "l2cap_get_le_credit_based_connection_credits": "0x0000b941", + "l2cap_get_peer_mtu_for_local_cid": "0x0000b95d", + "l2cap_init": "0x0000bd31", + "l2cap_le_send_flow_control_credit": "0x0000be27", + "l2cap_max_le_mtu": "0x0000c131", + "l2cap_register_packet_handler": "0x0000c259", + "l2cap_register_service": "0x0000c265", + "l2cap_request_can_send_now_event": "0x0000c375", + "l2cap_request_connection_parameter_update": "0x0000c38f", + "l2cap_send_echo_request": "0x0000c861", + "l2cap_unregister_service": "0x0000c921", + "le_device_db_add": "0x0000c979", + "le_device_db_find": "0x0000ca4d", + "le_device_db_from_key": "0x0000ca79", + "le_device_db_iter_cur": "0x0000ca81", + "le_device_db_iter_cur_key": "0x0000ca85", + "le_device_db_iter_init": "0x0000ca89", + "le_device_db_iter_next": "0x0000ca91", + "le_device_db_remove_key": "0x0000cab7", + "ll_ackable_packet_alloc": "0x0000cae3", + "ll_ackable_packet_get_status": "0x0000cbeb", + "ll_ackable_packet_run": "0x0000cc5d", + "ll_ackable_packet_set_tx_data": "0x0000cd15", + "ll_adjust_conn_peer_tx_power": "0x0000cd3d", + "ll_aes_encrypt": "0x0000cd69", + "ll_dhkey_generated": "0x0000d001", + "ll_free": "0x0000d031", + "ll_get_conn_events_info": "0x0000d03d", + "ll_get_conn_info": "0x0000d119", + "ll_hint_on_ce_len": "0x0000d159", + "ll_install_ecc_engine": "0x0000d191", + "ll_legacy_adv_set_interval": "0x0000d19d", + "ll_lock_frequency": "0x0000d1ad", + "ll_malloc": "0x0000d205", + "ll_p256_key_pair_generated": "0x0000d20d", + "ll_raw_packet_alloc": "0x0000d3bd", + "ll_raw_packet_free": "0x0000d491", + "ll_raw_packet_get_bare_rx_data": "0x0000d4bb", + "ll_raw_packet_get_rx_data": "0x0000d581", + "ll_raw_packet_recv": "0x0000d621", + "ll_raw_packet_send": "0x0000d6dd", + "ll_raw_packet_set_bare_data": "0x0000d7c5", + "ll_raw_packet_set_bare_mode": "0x0000d803", + "ll_raw_packet_set_param": "0x0000d909", + "ll_raw_packet_set_tx_data": "0x0000d967", + "ll_scan_set_fixed_channel": "0x0000da25", + "ll_set_adv_access_address": "0x0000db39", + "ll_set_adv_coded_scheme": "0x0000db45", + "ll_set_conn_coded_scheme": "0x0000db75", + "ll_set_conn_interval_unit": "0x0000dba1", + "ll_set_conn_latency": "0x0000dbad", + "ll_set_conn_tx_power": "0x0000dbdd", + "ll_set_def_antenna": "0x0000dc19", + "ll_set_initiating_coded_scheme": "0x0000dc35", + "ll_set_max_conn_number": "0x0000dc41", + "ll_set_tx_power_range": "0x0000dcdd", + "ll_unlock_frequency": "0x0000dd05", + "nibble_for_char": "0x0001f2a9", + "platform_32k_rc_auto_tune": "0x0001f345", + "platform_32k_rc_tune": "0x0001f3c1", + "platform_calibrate_32k": "0x0001f3d5", + "platform_config": "0x0001f3d9", + "platform_controller_run": "0x0001f4c9", + "platform_enable_irq": "0x0001f501", + "platform_get_gen_os_driver": "0x0001f539", + "platform_get_task_handle": "0x0001f545", + "platform_get_us_time": "0x0001f55d", + "platform_get_version": "0x0001f561", + "platform_hrng": "0x0001f569", + "platform_init_controller": "0x0001f571", + "platform_os_idle_resumed_hook": "0x0001f58d", + "platform_patch_rf_init_data": "0x0001f591", + "platform_post_sleep_processing": "0x0001f59d", + "platform_pre_sleep_processing": "0x0001f5a3", + "platform_pre_suppress_ticks_and_sleep_processing": "0x0001f5a9", + "platform_printf": "0x0001f5ad", + "platform_raise_assertion": "0x0001f5c1", + "platform_rand": "0x0001f5d5", + "platform_read_info": "0x0001f5d9", + "platform_read_persistent_reg": "0x0001f609", + "platform_reset": "0x0001f619", + "platform_set_evt_callback": "0x0001f63d", + "platform_set_evt_callback_table": "0x0001f651", + "platform_set_irq_callback": "0x0001f65d", + "platform_set_irq_callback_table": "0x0001f679", + "platform_set_rf_clk_source": "0x0001f685", + "platform_set_rf_init_data": "0x0001f691", + "platform_set_rf_power_mapping": "0x0001f69d", + "platform_set_timer": "0x0001f6a9", + "platform_shutdown": "0x0001f6ad", + "platform_switch_app": "0x0001f6b1", + "platform_trace_raw": "0x0001f6dd", + "platform_write_persistent_reg": "0x0001f6f5", + "printf_hexdump": "0x0001f705", + "reverse_128": "0x0001fa41", + "reverse_24": "0x0001fa47", + "reverse_48": "0x0001fa4d", + "reverse_56": "0x0001fa53", + "reverse_64": "0x0001fa59", + "reverse_bd_addr": "0x0001fa5f", + "reverse_bytes": "0x0001fa65", + "sm_add_event_handler": "0x0001fc11", + "sm_address_resolution_lookup": "0x0001fd69", + "sm_authenticated": "0x000200c9", + "sm_authorization_decline": "0x000200d7", + "sm_authorization_grant": "0x000200f7", + "sm_authorization_state": "0x00020117", + "sm_bonding_decline": "0x00020131", + "sm_config": "0x00020551", + "sm_config_conn": "0x00020569", + "sm_encryption_key_size": "0x0002071f", + "sm_just_works_confirm": "0x00020c59", + "sm_le_device_key": "0x00020f95", + "sm_passkey_input": "0x0002102b", + "sm_private_random_address_generation_get": "0x000213d9", + "sm_private_random_address_generation_get_mode": "0x000213e1", + "sm_private_random_address_generation_set_mode": "0x000213ed", + "sm_private_random_address_generation_set_update_period": "0x00021415", + "sm_register_oob_data_callback": "0x00021551", + "sm_request_pairing": "0x0002155d", + "sm_send_security_request": "0x00021f97", + "sm_set_accepted_stk_generation_methods": "0x00021fbd", + "sm_set_authentication_requirements": "0x00021fc9", + "sm_set_encryption_key_size_range": "0x00021fd5", + "sscanf_bd_addr": "0x000223a5", + "sysSetPublicDeviceAddr": "0x00022759", + "uuid128_to_str": "0x00022d65", + "uuid_add_bluetooth_prefix": "0x00022dbd", + "uuid_has_bluetooth_prefix": "0x00022ddd" } \ No newline at end of file diff --git a/bundles/noos_exp/ING9187xx/meta.json b/bundles/noos_exp/ING9187xx/meta.json index 7d0abbc35..93ad24867 100644 --- a/bundles/noos_exp/ING9187xx/meta.json +++ b/bundles/noos_exp/ING9187xx/meta.json @@ -4,15 +4,15 @@ }, "ram": { "base": 536870912, - "size": 4452 + "size": 4460 }, "rom": { "base": 16384, - "size": 133048 + "size": 133464 }, "version": [ 1, 9, - 12 + 15 ] } \ No newline at end of file diff --git a/bundles/noos_exp/ING9187xx/platform.bin b/bundles/noos_exp/ING9187xx/platform.bin index 7f28a1582..e196d5666 100644 Binary files a/bundles/noos_exp/ING9187xx/platform.bin and b/bundles/noos_exp/ING9187xx/platform.bin differ diff --git a/bundles/noos_exp/ING9188xx/apis.json b/bundles/noos_exp/ING9188xx/apis.json index 80adbc176..5c3a6e567 100644 --- a/bundles/noos_exp/ING9188xx/apis.json +++ b/bundles/noos_exp/ING9188xx/apis.json @@ -1,283 +1,286 @@ { - "att_dispatch_client_can_send_now": "0x00005799", - "att_dispatch_client_request_can_send_now_event": "0x0000579f", - "att_dispatch_register_client": "0x000057a5", - "att_dispatch_register_server": "0x000057b9", - "att_dispatch_server_can_send_now": "0x000057cd", - "att_dispatch_server_request_can_send_now_event": "0x000057d3", - "att_emit_general_event": "0x00005885", - "att_server_can_send_packet_now": "0x00005f99", - "att_server_deferred_read_response": "0x00005f9d", - "att_server_get_mtu": "0x00005fb5", - "att_server_indicate": "0x0000602d", - "att_server_init": "0x000060b1", - "att_server_notify": "0x000060ed", - "att_server_register_packet_handler": "0x00006205", - "att_server_request_can_send_now_event": "0x00006211", - "att_set_db": "0x0000622d", - "att_set_read_callback": "0x00006241", - "att_set_write_callback": "0x0000624d", - "bd_addr_cmp": "0x000063bd", - "bd_addr_copy": "0x000063c3", - "bd_addr_to_str": "0x000063cd", - "big_endian_read_16": "0x00006405", - "big_endian_read_32": "0x0000640d", - "big_endian_store_16": "0x00006421", - "big_endian_store_32": "0x0000642d", - "btstack_config": "0x00006565", - "btstack_memory_pool_create": "0x000066b3", - "btstack_memory_pool_free": "0x000066dd", - "btstack_memory_pool_get": "0x0000673d", - "btstack_push_user_msg": "0x00006785", - "btstack_push_user_runnable": "0x00006791", - "char_for_nibble": "0x00006a01", - "gap_add_dev_to_periodic_list": "0x00007329", - "gap_add_whitelist": "0x00007341", - "gap_aes_encrypt": "0x00007355", - "gap_clear_white_lists": "0x00007399", - "gap_clr_adv_set": "0x000073a9", - "gap_clr_periodic_adv_list": "0x000073b9", - "gap_create_connection_cancel": "0x000073c9", - "gap_default_periodic_adv_sync_transfer_param": "0x000073d9", - "gap_disconnect": "0x000073f1", - "gap_disconnect_all": "0x0000741d", - "gap_ext_create_connection": "0x0000745d", - "gap_get_connection_parameter_range": "0x0000756d", - "gap_le_read_channel_map": "0x000075a9", - "gap_periodic_adv_create_sync": "0x0000761d", - "gap_periodic_adv_create_sync_cancel": "0x00007641", - "gap_periodic_adv_set_info_transfer": "0x00007651", - "gap_periodic_adv_sync_transfer": "0x00007669", - "gap_periodic_adv_sync_transfer_param": "0x00007681", - "gap_periodic_adv_term_sync": "0x0000769d", - "gap_read_antenna_info": "0x00007731", - "gap_read_local_tx_power_level": "0x00007751", - "gap_read_periodic_adv_list_size": "0x00007765", - "gap_read_phy": "0x00007775", - "gap_read_remote_tx_power_level": "0x00007789", - "gap_read_remote_used_features": "0x0000779d", - "gap_read_remote_version": "0x000077b1", - "gap_read_rssi": "0x000077c5", - "gap_remove_whitelist": "0x000077d9", - "gap_rmv_adv_set": "0x0000785d", - "gap_rmv_dev_from_periodic_list": "0x00007871", - "gap_rx_test_v2": "0x00007889", - "gap_rx_test_v3": "0x000078a1", - "gap_set_adv_set_random_addr": "0x000078f1", - "gap_set_connection_cte_request_enable": "0x0000793d", - "gap_set_connection_cte_response_enable": "0x00007959", - "gap_set_connection_cte_rx_param": "0x0000796d", - "gap_set_connection_cte_tx_param": "0x000079c9", - "gap_set_connection_parameter_range": "0x00007a1d", - "gap_set_connectionless_cte_tx_enable": "0x00007a35", - "gap_set_connectionless_cte_tx_param": "0x00007a49", - "gap_set_connectionless_iq_sampling_enable": "0x00007aa9", - "gap_set_data_length": "0x00007b0d", - "gap_set_def_phy": "0x00007b29", - "gap_set_default_subrate": "0x00007b41", - "gap_set_ext_adv_data": "0x00007b5d", - "gap_set_ext_adv_enable": "0x00007b75", - "gap_set_ext_adv_para": "0x00007bf1", - "gap_set_ext_scan_enable": "0x00007cd1", - "gap_set_ext_scan_para": "0x00007ce9", - "gap_set_ext_scan_response_data": "0x00007d91", - "gap_set_host_channel_classification": "0x00007da9", - "gap_set_path_loss_reporting_enable": "0x00007dbd", - "gap_set_path_loss_reporting_param": "0x00007dd1", - "gap_set_periodic_adv_data": "0x00007df1", - "gap_set_periodic_adv_enable": "0x00007e65", - "gap_set_periodic_adv_para": "0x00007e79", - "gap_set_periodic_adv_rx_enable": "0x00007e91", - "gap_set_phy": "0x00007ea5", - "gap_set_random_device_address": "0x00007ec1", - "gap_set_tx_power_reporting_enable": "0x00007ee1", - "gap_start_ccm": "0x00007f09", - "gap_subrate_request": "0x00007f3d", - "gap_test_end": "0x00007f5d", - "gap_tx_test_v2": "0x00007f6d", - "gap_tx_test_v4": "0x00007f85", - "gap_update_connection_parameters": "0x00007fad", - "gap_vendor_tx_continuous_wave": "0x00007ff1", - "gatt_client_cancel_write": "0x00008519", - "gatt_client_discover_characteristic_descriptors": "0x0000853f", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x0000857f", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x000085cf", - "gatt_client_discover_characteristics_for_service": "0x0000861f", - "gatt_client_discover_primary_services": "0x00008655", - "gatt_client_discover_primary_services_by_uuid128": "0x00008687", - "gatt_client_discover_primary_services_by_uuid16": "0x000086cb", - "gatt_client_execute_write": "0x00008707", - "gatt_client_find_included_services_for_service": "0x0000872d", - "gatt_client_get_mtu": "0x0000875b", - "gatt_client_is_ready": "0x000087fd", - "gatt_client_listen_for_characteristic_value_updates": "0x00008813", - "gatt_client_prepare_write": "0x00008835", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x00008871", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x0000889b", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x000088a1", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x000088cf", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x000088d5", - "gatt_client_read_multiple_characteristic_values": "0x00008903", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x00008933", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x00008961", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x000089ad", - "gatt_client_register_handler": "0x000089f9", - "gatt_client_reliable_write_long_value_of_characteristic": "0x00008a05", - "gatt_client_signed_write_without_response": "0x00008e35", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008ef9", - "gatt_client_write_client_characteristic_configuration": "0x00008f33", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008f85", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008f95", - "gatt_client_write_long_value_of_characteristic": "0x00008fd1", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008fe1", - "gatt_client_write_value_of_characteristic": "0x0000901d", - "gatt_client_write_value_of_characteristic_without_response": "0x00009053", - "hci_add_event_handler": "0x0000a5f9", - "hci_power_control": "0x0000ae01", - "hci_register_acl_packet_handler": "0x0000afb5", - "kv_commit": "0x0000b555", - "kv_get": "0x0000b5ad", - "kv_init": "0x0000b5c5", - "kv_put": "0x0000b62d", - "kv_remove": "0x0000b6a5", - "kv_remove_all": "0x0000b6e1", - "kv_value_modified": "0x0000b725", - "kv_visit": "0x0000b729", - "l2cap_add_event_handler": "0x0000b7dd", - "l2cap_can_send_packet_now": "0x0000b7ed", - "l2cap_create_le_credit_based_connection_request": "0x0000b9a9", - "l2cap_credit_based_send": "0x0000baed", - "l2cap_credit_based_send_continue": "0x0000bb19", - "l2cap_disconnect": "0x0000bb95", - "l2cap_get_le_credit_based_connection_credits": "0x0000bde5", - "l2cap_get_peer_mtu_for_local_cid": "0x0000be01", - "l2cap_init": "0x0000c1d5", - "l2cap_le_send_flow_control_credit": "0x0000c2cb", - "l2cap_max_le_mtu": "0x0000c5d5", - "l2cap_register_packet_handler": "0x0000c6fd", - "l2cap_register_service": "0x0000c709", - "l2cap_request_can_send_now_event": "0x0000c819", - "l2cap_request_connection_parameter_update": "0x0000c833", - "l2cap_send_echo_request": "0x0000cd05", - "l2cap_unregister_service": "0x0000cdc5", - "le_device_db_add": "0x0000ce1d", - "le_device_db_find": "0x0000cef1", - "le_device_db_from_key": "0x0000cf1d", - "le_device_db_iter_cur": "0x0000cf25", - "le_device_db_iter_cur_key": "0x0000cf29", - "le_device_db_iter_init": "0x0000cf2d", - "le_device_db_iter_next": "0x0000cf35", - "le_device_db_remove_key": "0x0000cf5b", - "ll_ackable_packet_alloc": "0x0000cf87", - "ll_ackable_packet_get_status": "0x0000d08f", - "ll_ackable_packet_run": "0x0000d101", - "ll_ackable_packet_set_tx_data": "0x0000d1a9", - "ll_adjust_conn_peer_tx_power": "0x0000d1c5", - "ll_dhkey_generated": "0x0000d40d", - "ll_free": "0x0000d43d", - "ll_hint_on_ce_len": "0x0000d449", - "ll_install_ecc_engine": "0x0000d481", - "ll_legacy_adv_set_interval": "0x0000d48d", - "ll_lock_frequency": "0x0000d49d", - "ll_malloc": "0x0000d4f5", - "ll_p256_key_pair_generated": "0x0000d4fd", - "ll_raw_packet_alloc": "0x0000d6ad", - "ll_raw_packet_free": "0x0000d781", - "ll_raw_packet_get_bare_rx_data": "0x0000d7ab", - "ll_raw_packet_get_iq_samples": "0x0000d871", - "ll_raw_packet_get_rx_data": "0x0000d90b", - "ll_raw_packet_recv": "0x0000d9ad", - "ll_raw_packet_send": "0x0000da69", - "ll_raw_packet_set_bare_data": "0x0000db51", - "ll_raw_packet_set_bare_mode": "0x0000db8f", - "ll_raw_packet_set_fake_cte_info": "0x0000dc95", - "ll_raw_packet_set_param": "0x0000dcb7", - "ll_raw_packet_set_rx_cte": "0x0000dd15", - "ll_raw_packet_set_tx_cte": "0x0000ddab", - "ll_raw_packet_set_tx_data": "0x0000dde9", - "ll_scan_set_fixed_channel": "0x0000dea5", - "ll_scanner_enable_iq_sampling": "0x0000deb1", - "ll_set_adv_access_address": "0x0000e061", - "ll_set_adv_coded_scheme": "0x0000e06d", - "ll_set_conn_coded_scheme": "0x0000e09d", - "ll_set_conn_interval_unit": "0x0000e0c9", - "ll_set_conn_latency": "0x0000e0d5", - "ll_set_conn_tx_power": "0x0000e105", - "ll_set_def_antenna": "0x0000e141", - "ll_set_initiating_coded_scheme": "0x0000e15d", - "ll_set_max_conn_number": "0x0000e169", - "ll_set_tx_power_range": "0x0000e205", - "ll_unlock_frequency": "0x0000e22d", - "nibble_for_char": "0x00020795", - "platform_32k_rc_auto_tune": "0x00020831", - "platform_32k_rc_tune": "0x000208ad", - "platform_calibrate_32k": "0x000208c1", - "platform_config": "0x000208c5", - "platform_controller_run": "0x000209b5", - "platform_enable_irq": "0x000209ed", - "platform_get_gen_os_driver": "0x00020a15", - "platform_get_task_handle": "0x00020a21", - "platform_get_us_time": "0x00020a39", - "platform_get_version": "0x00020a3d", - "platform_hrng": "0x00020a45", - "platform_init_controller": "0x00020a4d", - "platform_os_idle_resumed_hook": "0x00020a69", - "platform_patch_rf_init_data": "0x00020a6d", - "platform_post_sleep_processing": "0x00020a79", - "platform_pre_sleep_processing": "0x00020a7f", - "platform_pre_suppress_ticks_and_sleep_processing": "0x00020a85", - "platform_printf": "0x00020a89", - "platform_raise_assertion": "0x00020a9d", - "platform_rand": "0x00020ab1", - "platform_read_info": "0x00020ab5", - "platform_read_persistent_reg": "0x00020ae5", - "platform_reset": "0x00020af5", - "platform_set_evt_callback": "0x00020b19", - "platform_set_evt_callback_table": "0x00020b2d", - "platform_set_irq_callback": "0x00020b39", - "platform_set_irq_callback_table": "0x00020b55", - "platform_set_rf_clk_source": "0x00020b61", - "platform_set_rf_init_data": "0x00020b6d", - "platform_set_rf_power_mapping": "0x00020b79", - "platform_set_timer": "0x00020b85", - "platform_shutdown": "0x00020b89", - "platform_switch_app": "0x00020b8d", - "platform_trace_raw": "0x00020bb9", - "platform_write_persistent_reg": "0x00020bd1", - "printf_hexdump": "0x00020be1", - "reverse_128": "0x00020f55", - "reverse_24": "0x00020f5b", - "reverse_48": "0x00020f61", - "reverse_56": "0x00020f67", - "reverse_64": "0x00020f6d", - "reverse_bd_addr": "0x00020f73", - "reverse_bytes": "0x00020f79", - "sm_add_event_handler": "0x00021259", - "sm_address_resolution_lookup": "0x000213b1", - "sm_authenticated": "0x00021711", - "sm_authorization_decline": "0x0002171f", - "sm_authorization_grant": "0x0002173f", - "sm_authorization_state": "0x0002175f", - "sm_bonding_decline": "0x00021779", - "sm_config": "0x00021b99", - "sm_config_conn": "0x00021bb1", - "sm_encryption_key_size": "0x00021d67", - "sm_just_works_confirm": "0x000222a1", - "sm_le_device_key": "0x000225dd", - "sm_passkey_input": "0x00022673", - "sm_private_random_address_generation_get": "0x00022a21", - "sm_private_random_address_generation_get_mode": "0x00022a29", - "sm_private_random_address_generation_set_mode": "0x00022a35", - "sm_private_random_address_generation_set_update_period": "0x00022a5d", - "sm_register_oob_data_callback": "0x00022b99", - "sm_request_pairing": "0x00022ba5", - "sm_send_security_request": "0x000235df", - "sm_set_accepted_stk_generation_methods": "0x00023605", - "sm_set_authentication_requirements": "0x00023611", - "sm_set_encryption_key_size_range": "0x0002361d", - "sscanf_bd_addr": "0x000239ed", - "sysSetPublicDeviceAddr": "0x00023da1", - "uuid128_to_str": "0x00024541", - "uuid_add_bluetooth_prefix": "0x00024599", - "uuid_has_bluetooth_prefix": "0x000245b9" + "att_dispatch_client_can_send_now": "0x00005781", + "att_dispatch_client_request_can_send_now_event": "0x00005787", + "att_dispatch_register_client": "0x0000578d", + "att_dispatch_register_server": "0x000057a1", + "att_dispatch_server_can_send_now": "0x000057b5", + "att_dispatch_server_request_can_send_now_event": "0x000057bb", + "att_emit_general_event": "0x0000586d", + "att_server_can_send_packet_now": "0x00005f81", + "att_server_deferred_read_response": "0x00005f85", + "att_server_get_mtu": "0x00005f9d", + "att_server_indicate": "0x00006015", + "att_server_init": "0x00006099", + "att_server_notify": "0x000060d5", + "att_server_register_packet_handler": "0x000061ed", + "att_server_request_can_send_now_event": "0x000061f9", + "att_set_db": "0x00006215", + "att_set_read_callback": "0x00006229", + "att_set_write_callback": "0x00006235", + "bd_addr_cmp": "0x000063a5", + "bd_addr_copy": "0x000063ab", + "bd_addr_to_str": "0x000063b5", + "big_endian_read_16": "0x000063ed", + "big_endian_read_32": "0x000063f5", + "big_endian_store_16": "0x00006409", + "big_endian_store_32": "0x00006415", + "btstack_config": "0x0000654d", + "btstack_memory_pool_create": "0x0000669b", + "btstack_memory_pool_free": "0x000066c5", + "btstack_memory_pool_get": "0x00006725", + "btstack_push_user_msg": "0x0000676d", + "btstack_push_user_runnable": "0x00006779", + "char_for_nibble": "0x00006a1f", + "gap_add_dev_to_periodic_list": "0x00007351", + "gap_add_whitelist": "0x00007361", + "gap_aes_encrypt": "0x0000736d", + "gap_clear_white_lists": "0x000073b1", + "gap_clr_adv_set": "0x000073bd", + "gap_clr_periodic_adv_list": "0x000073c9", + "gap_create_connection_cancel": "0x000073d5", + "gap_default_periodic_adv_sync_transfer_param": "0x000073e1", + "gap_disconnect": "0x000073f9", + "gap_disconnect_all": "0x00007425", + "gap_ext_create_connection": "0x00007465", + "gap_get_connection_parameter_range": "0x00007571", + "gap_le_read_channel_map": "0x000075ad", + "gap_periodic_adv_create_sync": "0x00007619", + "gap_periodic_adv_create_sync_cancel": "0x0000763d", + "gap_periodic_adv_set_info_transfer": "0x00007649", + "gap_periodic_adv_sync_transfer": "0x00007659", + "gap_periodic_adv_sync_transfer_param": "0x00007669", + "gap_periodic_adv_term_sync": "0x00007685", + "gap_read_antenna_info": "0x0000770d", + "gap_read_local_tx_power_level": "0x00007725", + "gap_read_periodic_adv_list_size": "0x00007735", + "gap_read_phy": "0x00007741", + "gap_read_remote_tx_power_level": "0x0000774d", + "gap_read_remote_used_features": "0x0000775d", + "gap_read_remote_version": "0x00007769", + "gap_read_rssi": "0x00007775", + "gap_remove_whitelist": "0x00007781", + "gap_rmv_adv_set": "0x000077fd", + "gap_rmv_dev_from_periodic_list": "0x00007809", + "gap_rx_test_v2": "0x00007819", + "gap_rx_test_v3": "0x00007829", + "gap_set_adv_set_random_addr": "0x00007875", + "gap_set_connection_cte_request_enable": "0x000078bd", + "gap_set_connection_cte_response_enable": "0x000078d9", + "gap_set_connection_cte_rx_param": "0x000078e9", + "gap_set_connection_cte_tx_param": "0x00007945", + "gap_set_connection_parameter_range": "0x00007999", + "gap_set_connectionless_cte_tx_enable": "0x000079b1", + "gap_set_connectionless_cte_tx_param": "0x000079c1", + "gap_set_connectionless_iq_sampling_enable": "0x00007a21", + "gap_set_data_length": "0x00007a85", + "gap_set_def_phy": "0x00007a9d", + "gap_set_default_subrate": "0x00007aad", + "gap_set_ext_adv_data": "0x00007ac9", + "gap_set_ext_adv_enable": "0x00007ae1", + "gap_set_ext_adv_para": "0x00007b5d", + "gap_set_ext_scan_enable": "0x00007c35", + "gap_set_ext_scan_para": "0x00007c4d", + "gap_set_ext_scan_response_data": "0x00007cf5", + "gap_set_host_channel_classification": "0x00007d0d", + "gap_set_path_loss_reporting_enable": "0x00007d1d", + "gap_set_path_loss_reporting_param": "0x00007d2d", + "gap_set_periodic_adv_data": "0x00007d49", + "gap_set_periodic_adv_enable": "0x00007db9", + "gap_set_periodic_adv_para": "0x00007dc9", + "gap_set_periodic_adv_rx_enable": "0x00007de1", + "gap_set_phy": "0x00007df1", + "gap_set_random_device_address": "0x00007e0d", + "gap_set_tx_power_reporting_enable": "0x00007e2d", + "gap_start_ccm": "0x00007e4d", + "gap_subrate_request": "0x00007ea1", + "gap_test_end": "0x00007ebd", + "gap_tx_test_v2": "0x00007ec9", + "gap_tx_test_v4": "0x00007ee1", + "gap_update_connection_parameters": "0x00007f05", + "gap_vendor_tx_continuous_wave": "0x00007f49", + "gatt_client_cancel_write": "0x00008471", + "gatt_client_discover_characteristic_descriptors": "0x00008497", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x000084d7", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x00008527", + "gatt_client_discover_characteristics_for_service": "0x00008577", + "gatt_client_discover_primary_services": "0x000085ad", + "gatt_client_discover_primary_services_by_uuid128": "0x000085df", + "gatt_client_discover_primary_services_by_uuid16": "0x00008623", + "gatt_client_execute_write": "0x0000865f", + "gatt_client_find_included_services_for_service": "0x00008685", + "gatt_client_get_mtu": "0x000086b3", + "gatt_client_is_ready": "0x00008755", + "gatt_client_listen_for_characteristic_value_updates": "0x0000876b", + "gatt_client_prepare_write": "0x0000878d", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x000087c9", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x000087f3", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x000087f9", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x00008827", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x0000882d", + "gatt_client_read_multiple_characteristic_values": "0x0000885b", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x0000888b", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x000088b9", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x00008905", + "gatt_client_register_handler": "0x00008951", + "gatt_client_reliable_write_long_value_of_characteristic": "0x0000895d", + "gatt_client_signed_write_without_response": "0x00008d8d", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008e51", + "gatt_client_write_client_characteristic_configuration": "0x00008e8b", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008edd", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008eed", + "gatt_client_write_long_value_of_characteristic": "0x00008f29", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008f39", + "gatt_client_write_value_of_characteristic": "0x00008f75", + "gatt_client_write_value_of_characteristic_without_response": "0x00008fab", + "hci_add_event_handler": "0x0000a551", + "hci_power_control": "0x0000ad59", + "hci_register_acl_packet_handler": "0x0000af0d", + "kv_commit": "0x0000b4a5", + "kv_get": "0x0000b4fd", + "kv_init": "0x0000b515", + "kv_put": "0x0000b57d", + "kv_remove": "0x0000b5f5", + "kv_remove_all": "0x0000b631", + "kv_value_modified": "0x0000b675", + "kv_visit": "0x0000b679", + "l2cap_add_event_handler": "0x0000b72d", + "l2cap_can_send_packet_now": "0x0000b73d", + "l2cap_create_le_credit_based_connection_request": "0x0000b8f9", + "l2cap_credit_based_send": "0x0000ba3d", + "l2cap_credit_based_send_continue": "0x0000ba69", + "l2cap_disconnect": "0x0000bae5", + "l2cap_get_le_credit_based_connection_credits": "0x0000bd35", + "l2cap_get_peer_mtu_for_local_cid": "0x0000bd51", + "l2cap_init": "0x0000c125", + "l2cap_le_send_flow_control_credit": "0x0000c21b", + "l2cap_max_le_mtu": "0x0000c525", + "l2cap_register_packet_handler": "0x0000c64d", + "l2cap_register_service": "0x0000c659", + "l2cap_request_can_send_now_event": "0x0000c769", + "l2cap_request_connection_parameter_update": "0x0000c783", + "l2cap_send_echo_request": "0x0000cc55", + "l2cap_unregister_service": "0x0000cd15", + "le_device_db_add": "0x0000cd6d", + "le_device_db_find": "0x0000ce41", + "le_device_db_from_key": "0x0000ce6d", + "le_device_db_iter_cur": "0x0000ce75", + "le_device_db_iter_cur_key": "0x0000ce79", + "le_device_db_iter_init": "0x0000ce7d", + "le_device_db_iter_next": "0x0000ce85", + "le_device_db_remove_key": "0x0000ceab", + "ll_ackable_packet_alloc": "0x0000ced7", + "ll_ackable_packet_get_status": "0x0000cfdf", + "ll_ackable_packet_run": "0x0000d051", + "ll_ackable_packet_set_tx_data": "0x0000d109", + "ll_adjust_conn_peer_tx_power": "0x0000d131", + "ll_aes_encrypt": "0x0000d15d", + "ll_dhkey_generated": "0x0000d3f5", + "ll_free": "0x0000d425", + "ll_get_conn_events_info": "0x0000d431", + "ll_get_conn_info": "0x0000d50d", + "ll_hint_on_ce_len": "0x0000d54d", + "ll_install_ecc_engine": "0x0000d585", + "ll_legacy_adv_set_interval": "0x0000d591", + "ll_lock_frequency": "0x0000d5a1", + "ll_malloc": "0x0000d5f9", + "ll_p256_key_pair_generated": "0x0000d601", + "ll_raw_packet_alloc": "0x0000d7b1", + "ll_raw_packet_free": "0x0000d885", + "ll_raw_packet_get_bare_rx_data": "0x0000d8af", + "ll_raw_packet_get_iq_samples": "0x0000d975", + "ll_raw_packet_get_rx_data": "0x0000da0f", + "ll_raw_packet_recv": "0x0000dab1", + "ll_raw_packet_send": "0x0000db6d", + "ll_raw_packet_set_bare_data": "0x0000dc55", + "ll_raw_packet_set_bare_mode": "0x0000dc93", + "ll_raw_packet_set_fake_cte_info": "0x0000dd99", + "ll_raw_packet_set_param": "0x0000ddbb", + "ll_raw_packet_set_rx_cte": "0x0000de19", + "ll_raw_packet_set_tx_cte": "0x0000deaf", + "ll_raw_packet_set_tx_data": "0x0000deed", + "ll_scan_set_fixed_channel": "0x0000dfa9", + "ll_scanner_enable_iq_sampling": "0x0000dfb5", + "ll_set_adv_access_address": "0x0000e165", + "ll_set_adv_coded_scheme": "0x0000e171", + "ll_set_conn_coded_scheme": "0x0000e1a1", + "ll_set_conn_interval_unit": "0x0000e1cd", + "ll_set_conn_latency": "0x0000e1d9", + "ll_set_conn_tx_power": "0x0000e209", + "ll_set_def_antenna": "0x0000e245", + "ll_set_initiating_coded_scheme": "0x0000e261", + "ll_set_max_conn_number": "0x0000e26d", + "ll_set_tx_power_range": "0x0000e309", + "ll_unlock_frequency": "0x0000e331", + "nibble_for_char": "0x000208e1", + "platform_32k_rc_auto_tune": "0x0002097d", + "platform_32k_rc_tune": "0x000209f9", + "platform_calibrate_32k": "0x00020a0d", + "platform_config": "0x00020a11", + "platform_controller_run": "0x00020b01", + "platform_enable_irq": "0x00020b39", + "platform_get_gen_os_driver": "0x00020b71", + "platform_get_task_handle": "0x00020b7d", + "platform_get_us_time": "0x00020b95", + "platform_get_version": "0x00020b99", + "platform_hrng": "0x00020ba1", + "platform_init_controller": "0x00020ba9", + "platform_os_idle_resumed_hook": "0x00020bc5", + "platform_patch_rf_init_data": "0x00020bc9", + "platform_post_sleep_processing": "0x00020bd5", + "platform_pre_sleep_processing": "0x00020bdb", + "platform_pre_suppress_ticks_and_sleep_processing": "0x00020be1", + "platform_printf": "0x00020be5", + "platform_raise_assertion": "0x00020bf9", + "platform_rand": "0x00020c0d", + "platform_read_info": "0x00020c11", + "platform_read_persistent_reg": "0x00020c41", + "platform_reset": "0x00020c51", + "platform_set_evt_callback": "0x00020c75", + "platform_set_evt_callback_table": "0x00020c89", + "platform_set_irq_callback": "0x00020c95", + "platform_set_irq_callback_table": "0x00020cb1", + "platform_set_rf_clk_source": "0x00020cbd", + "platform_set_rf_init_data": "0x00020cc9", + "platform_set_rf_power_mapping": "0x00020cd5", + "platform_set_timer": "0x00020ce1", + "platform_shutdown": "0x00020ce5", + "platform_switch_app": "0x00020ce9", + "platform_trace_raw": "0x00020d15", + "platform_write_persistent_reg": "0x00020d2d", + "printf_hexdump": "0x00020d3d", + "reverse_128": "0x000210b1", + "reverse_24": "0x000210b7", + "reverse_48": "0x000210bd", + "reverse_56": "0x000210c3", + "reverse_64": "0x000210c9", + "reverse_bd_addr": "0x000210cf", + "reverse_bytes": "0x000210d5", + "sm_add_event_handler": "0x000213d5", + "sm_address_resolution_lookup": "0x0002152d", + "sm_authenticated": "0x0002188d", + "sm_authorization_decline": "0x0002189b", + "sm_authorization_grant": "0x000218bb", + "sm_authorization_state": "0x000218db", + "sm_bonding_decline": "0x000218f5", + "sm_config": "0x00021d15", + "sm_config_conn": "0x00021d2d", + "sm_encryption_key_size": "0x00021ee3", + "sm_just_works_confirm": "0x0002241d", + "sm_le_device_key": "0x00022759", + "sm_passkey_input": "0x000227ef", + "sm_private_random_address_generation_get": "0x00022b9d", + "sm_private_random_address_generation_get_mode": "0x00022ba5", + "sm_private_random_address_generation_set_mode": "0x00022bb1", + "sm_private_random_address_generation_set_update_period": "0x00022bd9", + "sm_register_oob_data_callback": "0x00022d15", + "sm_request_pairing": "0x00022d21", + "sm_send_security_request": "0x0002375b", + "sm_set_accepted_stk_generation_methods": "0x00023781", + "sm_set_authentication_requirements": "0x0002378d", + "sm_set_encryption_key_size_range": "0x00023799", + "sscanf_bd_addr": "0x00023b69", + "sysSetPublicDeviceAddr": "0x00023f1d", + "uuid128_to_str": "0x000246bd", + "uuid_add_bluetooth_prefix": "0x00024715", + "uuid_has_bluetooth_prefix": "0x00024735" } \ No newline at end of file diff --git a/bundles/noos_exp/ING9188xx/meta.json b/bundles/noos_exp/ING9188xx/meta.json index 7d66b35a6..d3d6def6a 100644 --- a/bundles/noos_exp/ING9188xx/meta.json +++ b/bundles/noos_exp/ING9188xx/meta.json @@ -4,15 +4,15 @@ }, "ram": { "base": 536870912, - "size": 4452 + "size": 4460 }, "rom": { "base": 16384, - "size": 140024 + "size": 140404 }, "version": [ 1, 9, - 12 + 15 ] } \ No newline at end of file diff --git a/bundles/noos_exp/ING9188xx/platform.bin b/bundles/noos_exp/ING9188xx/platform.bin index c84212e28..6f595e594 100644 Binary files a/bundles/noos_exp/ING9188xx/platform.bin and b/bundles/noos_exp/ING9188xx/platform.bin differ diff --git a/bundles/noos_exp/inc/gap.h b/bundles/noos_exp/inc/gap.h index ee2894c56..a8efb6793 100644 --- a/bundles/noos_exp/inc/gap.h +++ b/bundles/noos_exp/inc/gap.h @@ -47,14 +47,15 @@ typedef enum scan_type * @brief set random address device * * @param address random address + * @return 0: Message is sent to controller; others: failed */ -void gap_set_random_device_address(const uint8_t *address); +uint8_t gap_set_random_device_address(const uint8_t *address); /** * @brief Disconnect connection with handle * * @param handle Used to identify an advertising set. Range: 0x00 to 0xEF - * @return 0: Message is sent out or the connection alreay release + * @return 0: Message is sent out or the connection already release */ uint8_t gap_disconnect(hci_con_handle_t handle); @@ -67,7 +68,7 @@ void gap_disconnect_all(void); * * @param[in] address BLE address * @param[in] addtype BLE address type - * @return 0: Message is sent to controller + * @return 0: Message is sent to controller */ uint8_t gap_add_whitelist(const uint8_t *address,bd_addr_type_t addtype); @@ -1312,30 +1313,27 @@ uint8_t gap_vendor_tx_continuous_wave(uint8_t enable, uint8_t power_level_index, #define HCI_VENDOR_CCM 0xFC01 /** - * @brief host require controller to do AES-CCM functionality, and CCM referece to + * @brief Host require controller to do AES-CCM functionality, and CCM reference to * the document rfc3610:Counter with CBC-MAC (CCM) * - * @param type 0: encrypt 1:decrypt - * - * @param mic_size 8: mic size in 8 bytes 4: mic size in 4 bytes - * - * @param msg_len messge length to be encrypt or decrypt - * - * @param aad_len Additional authenticated data length - * - * @param tag a value to identify a AES-CCM request. - * - * @param key 128 bits long key as required by AES-CCM - * - * @param nonce random value of each AES-CCM require 13 bytes long - * - * @param msg pointer to the message input + * All input buffers (key, nonce, msg, aad) must be kept in memory until AES-CCM completed. * - * @param aad Additional authenticated data + * `return_param` passed to `cb` is casted from `event_vendor_ccm_complete_t`. * - * @param out_msg the output buffer to store the result of the AES-CCM ,calculated by controller. + * @param[in] type 0: encrypt 1:decrypt + * @param[in] mic_size 8: mic size in 8 bytes 4: mic size in 4 bytes + * @param[in] msg_len message length to be encrypt or decrypt (<= 384 bytes) + * @param[in] aad_len Additional authenticated data length (<= 16 bytes) + * @param[in] tag a value to identify a AES-CCM request. + * @param[in] key 128 bits long key as required by AES-CCM + * @param[in] nonce random value of each AES-CCM require 13 bytes long + * @param[in] msg pointer to the message input + * @param[in] aad Additional authenticated data + * @param[out] out_msg the output buffer to store the result of the AES-CCM + * @param[in] cb callback function on the corresponding command complete event + * @param[in] user_data user data for the callback function * - * @return 0: success others: failed + * @return 0: success others: failed */ uint8_t gap_start_ccm( uint8_t type, // 0: encrypt 1: decrypt @@ -1343,11 +1341,13 @@ uint8_t gap_start_ccm( uint16_t msg_len, uint16_t aad_len, uint32_t tag, // same value will be reported in event - uint8_t *key, - uint8_t *nonce, - uint8_t *msg, - uint8_t *aad, - uint8_t *out_msg); + const uint8_t *key, + const uint8_t *nonce, + const uint8_t *msg, + const uint8_t *aad, + uint8_t *out_msg, + gap_hci_cmd_complete_cb_t cb, + void *user_data); //HCI func interface diff --git a/bundles/noos_exp/inc/ll_api.h b/bundles/noos_exp/inc/ll_api.h index 108b8f67c..ec8609ee8 100644 --- a/bundles/noos_exp/inc/ll_api.h +++ b/bundles/noos_exp/inc/ll_api.h @@ -118,6 +118,48 @@ void ll_set_conn_coded_scheme(uint16_t conn_handle, int ci); */ void ll_set_conn_latency(uint16_t conn_handle, int latency); +/** + **************************************************************************************** + * @brief Get connection basic information of a connection + * + * @param[in] conn_handle handle of an existing connection + * @param[out] access_addr Access address + * @param[out] crc_init CRC init value + * @param[out] interval interval (unit: us) + * @return 0 if successful else non-0 + **************************************************************************************** + */ +int ll_get_conn_info(const uint16_t conn_handle, + uint32_t *access_addr, + uint32_t *crc_init, + uint32_t *interval); + +/** + **************************************************************************************** + * @brief Get information of upcoming connection events of a connection + * + * Information of consecutive N connection events after `from_time` can be retrieved, + * where N = `number`. + * + * Sub-rating is ignored. If channel map updated within these events, then `channel_ids` + * are not reliable. + * + * @param[in] conn_handle handle of an existing connection + * @param[in] number number of connection events to be queried + * @param[in] from_time the first connection event shall be after `from_time` (unit: us) + * @param[out] time_offset time offset between the start of the first connection event and `from_time` (unit: us) + * @param[out] event_count connection event count of the first connection event + * @param[out] channel_ids physical channel IDs of the upcoming `number` connection events + * @return 0 if successful else non-0 + **************************************************************************************** + */ +int ll_get_conn_events_info(const uint16_t conn_handle, + int number, + uint64_t from_time, + uint32_t *time_offset, + uint16_t *event_count, + uint8_t *channel_ids); + /** **************************************************************************************** * @brief Set default antenna ID @@ -739,6 +781,21 @@ void ll_dhkey_generated(int status, const uint8_t *dh_key); */ void ll_install_ecc_engine(f_start_generate_p256_key_pair start_generate_p256_key_pair, f_start_generate_dhkey start_generate_dhkey); + +/** + **************************************************************************************** + * @brief Low level AES encryption in blocking mode + * + * @param[in] key key (little-endian) + * @param[in] plaintext plaintext (little-endian) + * @param[out] ciphertext ciphertext (big-endian) + * @return 0 if completed successfully; non-0 if hardware is not ready or busy + * When non-0 is returned, it is possible to retry later. + **************************************************************************************** + */ +int ll_aes_encrypt(const uint8_t *key, const uint8_t *plaintext, + uint8_t *ciphertext); + #ifdef __cplusplus } #endif diff --git a/bundles/noos_extension/ING9168xx/apis.json b/bundles/noos_extension/ING9168xx/apis.json index 9c6353e00..07446eea1 100644 --- a/bundles/noos_extension/ING9168xx/apis.json +++ b/bundles/noos_extension/ING9168xx/apis.json @@ -1,277 +1,278 @@ { - "att_dispatch_client_can_send_now": "0x02004345", - "att_dispatch_client_request_can_send_now_event": "0x0200434b", - "att_dispatch_register_client": "0x02004351", - "att_dispatch_register_server": "0x02004365", - "att_dispatch_server_can_send_now": "0x02004379", - "att_dispatch_server_request_can_send_now_event": "0x0200437f", - "att_emit_general_event": "0x02004431", - "att_server_can_send_packet_now": "0x02004b4d", - "att_server_deferred_read_response": "0x02004b51", - "att_server_get_mtu": "0x02004b69", - "att_server_indicate": "0x02004be1", - "att_server_init": "0x02004c65", - "att_server_notify": "0x02004ca1", - "att_server_register_packet_handler": "0x02004db9", - "att_server_request_can_send_now_event": "0x02004dc5", - "att_set_db": "0x02004de1", - "att_set_read_callback": "0x02004df5", - "att_set_write_callback": "0x02004e01", - "bd_addr_cmp": "0x02004fe9", - "bd_addr_copy": "0x02004fef", - "bd_addr_to_str": "0x02004ff9", - "big_endian_read_16": "0x02005031", - "big_endian_read_32": "0x02005039", - "big_endian_store_16": "0x0200504d", - "big_endian_store_32": "0x02005059", - "btstack_config": "0x0200519d", - "btstack_memory_pool_create": "0x020052eb", - "btstack_memory_pool_free": "0x02005315", - "btstack_memory_pool_get": "0x02005375", - "btstack_push_user_msg": "0x020053bd", - "btstack_push_user_runnable": "0x020053c9", - "char_for_nibble": "0x0200564f", - "gap_add_dev_to_periodic_list": "0x02005ffd", - "gap_add_whitelist": "0x02006015", - "gap_aes_encrypt": "0x02006029", - "gap_clear_white_lists": "0x0200606d", - "gap_clr_adv_set": "0x0200607d", - "gap_clr_periodic_adv_list": "0x0200608d", - "gap_create_connection_cancel": "0x0200609d", - "gap_default_periodic_adv_sync_transfer_param": "0x020060ad", - "gap_disconnect": "0x020060c5", - "gap_disconnect_all": "0x020060f1", - "gap_ext_create_connection": "0x02006131", - "gap_get_connection_parameter_range": "0x02006221", - "gap_le_read_channel_map": "0x0200625d", - "gap_periodic_adv_create_sync": "0x020062d1", - "gap_periodic_adv_create_sync_cancel": "0x020062f5", - "gap_periodic_adv_set_info_transfer": "0x02006305", - "gap_periodic_adv_sync_transfer": "0x0200631d", - "gap_periodic_adv_sync_transfer_param": "0x02006335", - "gap_periodic_adv_term_sync": "0x02006351", - "gap_read_antenna_info": "0x020063e5", - "gap_read_periodic_adv_list_size": "0x020063f5", - "gap_read_phy": "0x02006405", - "gap_read_remote_used_features": "0x02006419", - "gap_read_remote_version": "0x0200642d", - "gap_read_rssi": "0x02006441", - "gap_remove_whitelist": "0x02006455", - "gap_rmv_adv_set": "0x020064d9", - "gap_rmv_dev_from_periodic_list": "0x020064ed", - "gap_rx_test_v2": "0x02006505", - "gap_rx_test_v3": "0x0200651d", - "gap_set_adv_set_random_addr": "0x0200656d", - "gap_set_connection_cte_request_enable": "0x020065b9", - "gap_set_connection_cte_response_enable": "0x020065d5", - "gap_set_connection_cte_rx_param": "0x020065e9", - "gap_set_connection_cte_tx_param": "0x02006645", - "gap_set_connection_parameter_range": "0x02006699", - "gap_set_connectionless_cte_tx_enable": "0x020066b1", - "gap_set_connectionless_cte_tx_param": "0x020066c5", - "gap_set_connectionless_iq_sampling_enable": "0x02006725", - "gap_set_data_length": "0x02006789", - "gap_set_def_phy": "0x020067a5", - "gap_set_ext_adv_data": "0x020067bd", - "gap_set_ext_adv_enable": "0x020067d5", - "gap_set_ext_adv_para": "0x02006851", - "gap_set_ext_scan_enable": "0x02006929", - "gap_set_ext_scan_para": "0x02006941", - "gap_set_ext_scan_response_data": "0x020069e9", - "gap_set_host_channel_classification": "0x02006a01", - "gap_set_periodic_adv_data": "0x02006a15", - "gap_set_periodic_adv_enable": "0x02006a89", - "gap_set_periodic_adv_para": "0x02006a9d", - "gap_set_periodic_adv_rx_enable": "0x02006ab5", - "gap_set_phy": "0x02006ac9", - "gap_set_random_device_address": "0x02006ae5", - "gap_start_ccm": "0x02006b15", - "gap_test_end": "0x02006b49", - "gap_tx_test_v2": "0x02006b59", - "gap_tx_test_v4": "0x02006b71", - "gap_update_connection_parameters": "0x02006b99", - "gap_vendor_tx_continuous_wave": "0x02006bdd", - "gatt_client_cancel_write": "0x02007105", - "gatt_client_discover_characteristic_descriptors": "0x0200712b", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x0200716b", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x020071bb", - "gatt_client_discover_characteristics_for_service": "0x0200720b", - "gatt_client_discover_primary_services": "0x02007241", - "gatt_client_discover_primary_services_by_uuid128": "0x02007273", - "gatt_client_discover_primary_services_by_uuid16": "0x020072b7", - "gatt_client_execute_write": "0x020072f5", - "gatt_client_find_included_services_for_service": "0x0200731b", - "gatt_client_get_mtu": "0x02007349", - "gatt_client_is_ready": "0x0200740d", - "gatt_client_listen_for_characteristic_value_updates": "0x02007423", - "gatt_client_prepare_write": "0x02007445", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x02007481", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x020074ab", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x020074b1", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x020074df", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x020074e5", - "gatt_client_read_multiple_characteristic_values": "0x02007513", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x02007543", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x02007571", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x020075bd", - "gatt_client_register_handler": "0x02007609", - "gatt_client_reliable_write_long_value_of_characteristic": "0x02007615", - "gatt_client_signed_write_without_response": "0x02007a49", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x02007b0d", - "gatt_client_write_client_characteristic_configuration": "0x02007b47", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x02007b99", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x02007ba9", - "gatt_client_write_long_value_of_characteristic": "0x02007be5", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x02007bf5", - "gatt_client_write_value_of_characteristic": "0x02007c31", - "gatt_client_write_value_of_characteristic_without_response": "0x02007c67", - "hci_add_event_handler": "0x02009261", - "hci_power_control": "0x02009a61", - "hci_register_acl_packet_handler": "0x02009c15", - "kv_commit": "0x0200a175", - "kv_get": "0x0200a1cd", - "kv_init": "0x0200a1e5", - "kv_put": "0x0200a24d", - "kv_remove": "0x0200a2c5", - "kv_remove_all": "0x0200a301", - "kv_value_modified": "0x0200a345", - "kv_visit": "0x0200a349", - "l2cap_add_event_handler": "0x0200a3fd", - "l2cap_can_send_packet_now": "0x0200a40d", - "l2cap_create_le_credit_based_connection_request": "0x0200a5d1", - "l2cap_credit_based_send": "0x0200a719", - "l2cap_credit_based_send_continue": "0x0200a745", - "l2cap_disconnect": "0x0200a7c1", - "l2cap_get_le_credit_based_connection_credits": "0x0200a9ad", - "l2cap_get_peer_mtu_for_local_cid": "0x0200a9c9", - "l2cap_init": "0x0200ae09", - "l2cap_le_send_flow_control_credit": "0x0200aeff", - "l2cap_max_le_mtu": "0x0200b20d", - "l2cap_register_packet_handler": "0x0200b335", - "l2cap_register_service": "0x0200b341", - "l2cap_request_can_send_now_event": "0x0200b451", - "l2cap_request_connection_parameter_update": "0x0200b46b", - "l2cap_send_echo_request": "0x0200b94d", - "l2cap_unregister_service": "0x0200ba2d", - "le_device_db_add": "0x0200ba85", - "le_device_db_find": "0x0200bb59", - "le_device_db_from_key": "0x0200bb85", - "le_device_db_iter_cur": "0x0200bb8d", - "le_device_db_iter_cur_key": "0x0200bb91", - "le_device_db_iter_init": "0x0200bb95", - "le_device_db_iter_next": "0x0200bb9d", - "le_device_db_remove_key": "0x0200bbc3", - "ll_ackable_packet_alloc": "0x0200bbef", - "ll_ackable_packet_get_status": "0x0200bcfb", - "ll_ackable_packet_run": "0x0200bd69", - "ll_ackable_packet_set_tx_data": "0x0200be2d", - "ll_adjust_conn_peer_tx_power": "0x0200be49", - "ll_allow_nonstandard_adv_type": "0x0200be75", - "ll_attach_cte_to_adv_set": "0x0200be8d", - "ll_free": "0x0200c025", - "ll_hint_on_ce_len": "0x0200c031", - "ll_legacy_adv_set_interval": "0x0200c069", - "ll_lock_frequency": "0x0200c079", - "ll_malloc": "0x0200c0cd", - "ll_override_whitening_init_value": "0x0200c0d5", - "ll_raw_packet_alloc": "0x0200c1fd", - "ll_raw_packet_free": "0x0200c2d1", - "ll_raw_packet_get_bare_rx_data": "0x0200c2fb", - "ll_raw_packet_get_iq_samples": "0x0200c3bb", - "ll_raw_packet_get_rx_data": "0x0200c455", - "ll_raw_packet_recv": "0x0200c4e9", - "ll_raw_packet_send": "0x0200c5bd", - "ll_raw_packet_set_bare_data": "0x0200c6d9", - "ll_raw_packet_set_bare_mode": "0x0200c717", - "ll_raw_packet_set_param": "0x0200c81b", - "ll_raw_packet_set_rx_cte": "0x0200c87d", - "ll_raw_packet_set_tx_cte": "0x0200c913", - "ll_raw_packet_set_tx_data": "0x0200c951", - "ll_scan_set_fixed_channel": "0x0200ca09", - "ll_scanner_enable_iq_sampling": "0x0200ca15", - "ll_scanner_enable_iq_sampling_on_legacy": "0x0200cabd", - "ll_set_adv_access_address": "0x0200cca9", - "ll_set_adv_coded_scheme": "0x0200ccb5", - "ll_set_conn_coded_scheme": "0x0200cced", - "ll_set_conn_interval_unit": "0x0200cd19", - "ll_set_conn_latency": "0x0200cd25", - "ll_set_conn_tx_power": "0x0200cd55", - "ll_set_cte_bit": "0x0200cd85", - "ll_set_def_antenna": "0x0200cdad", - "ll_set_initiating_coded_scheme": "0x0200cdcd", - "ll_set_max_conn_number": "0x0200cdd9", - "ll_set_tx_power_range": "0x0200ce75", - "ll_unlock_frequency": "0x0200ce9d", - "nibble_for_char": "0x0201f9c5", - "platform_32k_rc_auto_tune": "0x0201fa5d", - "platform_32k_rc_tune": "0x0201faa9", - "platform_calibrate_32k": "0x0201fac5", - "platform_config": "0x0201fac9", - "platform_controller_run": "0x0201fbcd", - "platform_enable_irq": "0x0201fc05", - "platform_get_gen_os_driver": "0x0201fc2d", - "platform_get_task_handle": "0x0201fc39", - "platform_get_us_time": "0x0201fc51", - "platform_get_version": "0x0201fc55", - "platform_hrng": "0x0201fc5d", - "platform_init_controller": "0x0201fc65", - "platform_os_idle_resumed_hook": "0x0201fc81", - "platform_patch_rf_init_data": "0x0201fc85", - "platform_post_sleep_processing": "0x0201fc91", - "platform_pre_sleep_processing": "0x0201fc97", - "platform_pre_suppress_ticks_and_sleep_processing": "0x0201fc9d", - "platform_printf": "0x0201fca1", - "platform_raise_assertion": "0x0201fcb5", - "platform_rand": "0x0201fcc9", - "platform_read_info": "0x0201fccd", - "platform_read_persistent_reg": "0x0201fcfd", - "platform_reset": "0x0201fd09", - "platform_set_evt_callback": "0x0201fd1d", - "platform_set_evt_callback_table": "0x0201fd31", - "platform_set_irq_callback": "0x0201fd3d", - "platform_set_irq_callback_table": "0x0201fd59", - "platform_set_rf_clk_source": "0x0201fd65", - "platform_set_rf_init_data": "0x0201fd71", - "platform_set_rf_power_mapping": "0x0201fd7d", - "platform_set_timer": "0x0201fd89", - "platform_shutdown": "0x0201fd8d", - "platform_switch_app": "0x0201fd91", - "platform_trace_raw": "0x0201fda9", - "platform_write_persistent_reg": "0x0201fdc1", - "printf_hexdump": "0x0201fdd5", - "reverse_128": "0x02020149", - "reverse_24": "0x0202014f", - "reverse_48": "0x02020155", - "reverse_56": "0x0202015b", - "reverse_64": "0x02020161", - "reverse_bd_addr": "0x02020167", - "reverse_bytes": "0x0202016d", - "sm_add_event_handler": "0x020204a9", - "sm_address_resolution_lookup": "0x02020601", - "sm_authenticated": "0x02020961", - "sm_authorization_decline": "0x0202096f", - "sm_authorization_grant": "0x0202098f", - "sm_authorization_state": "0x020209af", - "sm_bonding_decline": "0x020209c9", - "sm_config": "0x02020de1", - "sm_config_conn": "0x02020df9", - "sm_encryption_key_size": "0x02020faf", - "sm_just_works_confirm": "0x020214e9", - "sm_le_device_key": "0x02021825", - "sm_passkey_input": "0x020218bb", - "sm_private_random_address_generation_get": "0x02021c69", - "sm_private_random_address_generation_get_mode": "0x02021c71", - "sm_private_random_address_generation_set_mode": "0x02021c7d", - "sm_private_random_address_generation_set_update_period": "0x02021ca5", - "sm_register_oob_data_callback": "0x02021de1", - "sm_request_pairing": "0x02021ded", - "sm_send_security_request": "0x0202282b", - "sm_set_accepted_stk_generation_methods": "0x02022851", - "sm_set_authentication_requirements": "0x0202285d", - "sm_set_encryption_key_size_range": "0x02022869", - "sscanf_bd_addr": "0x02022c41", - "sysSetPublicDeviceAddr": "0x020230ad", - "uuid128_to_str": "0x0202385d", - "uuid_add_bluetooth_prefix": "0x020238b5", - "uuid_has_bluetooth_prefix": "0x020238d5" + "att_dispatch_client_can_send_now": "0x0200432d", + "att_dispatch_client_request_can_send_now_event": "0x02004333", + "att_dispatch_register_client": "0x02004339", + "att_dispatch_register_server": "0x0200434d", + "att_dispatch_server_can_send_now": "0x02004361", + "att_dispatch_server_request_can_send_now_event": "0x02004367", + "att_emit_general_event": "0x02004419", + "att_server_can_send_packet_now": "0x02004b35", + "att_server_deferred_read_response": "0x02004b39", + "att_server_get_mtu": "0x02004b51", + "att_server_indicate": "0x02004bc9", + "att_server_init": "0x02004c4d", + "att_server_notify": "0x02004c89", + "att_server_register_packet_handler": "0x02004da1", + "att_server_request_can_send_now_event": "0x02004dad", + "att_set_db": "0x02004dc9", + "att_set_read_callback": "0x02004ddd", + "att_set_write_callback": "0x02004de9", + "bd_addr_cmp": "0x02004fd1", + "bd_addr_copy": "0x02004fd7", + "bd_addr_to_str": "0x02004fe1", + "big_endian_read_16": "0x02005019", + "big_endian_read_32": "0x02005021", + "big_endian_store_16": "0x02005035", + "big_endian_store_32": "0x02005041", + "btstack_config": "0x02005185", + "btstack_memory_pool_create": "0x020052d3", + "btstack_memory_pool_free": "0x020052fd", + "btstack_memory_pool_get": "0x0200535d", + "btstack_push_user_msg": "0x020053a5", + "btstack_push_user_runnable": "0x020053b1", + "char_for_nibble": "0x02005637", + "gap_add_dev_to_periodic_list": "0x02005ff5", + "gap_add_whitelist": "0x02006005", + "gap_aes_encrypt": "0x02006011", + "gap_clear_white_lists": "0x02006055", + "gap_clr_adv_set": "0x02006061", + "gap_clr_periodic_adv_list": "0x0200606d", + "gap_create_connection_cancel": "0x02006079", + "gap_default_periodic_adv_sync_transfer_param": "0x02006085", + "gap_disconnect": "0x0200609d", + "gap_disconnect_all": "0x020060c9", + "gap_ext_create_connection": "0x02006109", + "gap_get_connection_parameter_range": "0x020061f9", + "gap_le_read_channel_map": "0x02006235", + "gap_periodic_adv_create_sync": "0x020062a1", + "gap_periodic_adv_create_sync_cancel": "0x020062c5", + "gap_periodic_adv_set_info_transfer": "0x020062d1", + "gap_periodic_adv_sync_transfer": "0x020062e1", + "gap_periodic_adv_sync_transfer_param": "0x020062f1", + "gap_periodic_adv_term_sync": "0x0200630d", + "gap_read_antenna_info": "0x02006395", + "gap_read_periodic_adv_list_size": "0x020063a1", + "gap_read_phy": "0x020063ad", + "gap_read_remote_used_features": "0x020063b9", + "gap_read_remote_version": "0x020063c5", + "gap_read_rssi": "0x020063d1", + "gap_remove_whitelist": "0x020063dd", + "gap_rmv_adv_set": "0x02006459", + "gap_rmv_dev_from_periodic_list": "0x02006465", + "gap_rx_test_v2": "0x02006475", + "gap_rx_test_v3": "0x02006485", + "gap_set_adv_set_random_addr": "0x020064d1", + "gap_set_connection_cte_request_enable": "0x02006519", + "gap_set_connection_cte_response_enable": "0x02006535", + "gap_set_connection_cte_rx_param": "0x02006545", + "gap_set_connection_cte_tx_param": "0x020065a1", + "gap_set_connection_parameter_range": "0x020065f5", + "gap_set_connectionless_cte_tx_enable": "0x0200660d", + "gap_set_connectionless_cte_tx_param": "0x0200661d", + "gap_set_connectionless_iq_sampling_enable": "0x0200667d", + "gap_set_data_length": "0x020066e1", + "gap_set_def_phy": "0x020066f9", + "gap_set_ext_adv_data": "0x02006709", + "gap_set_ext_adv_enable": "0x02006721", + "gap_set_ext_adv_para": "0x0200679d", + "gap_set_ext_scan_enable": "0x0200686d", + "gap_set_ext_scan_para": "0x02006885", + "gap_set_ext_scan_response_data": "0x0200692d", + "gap_set_host_channel_classification": "0x02006945", + "gap_set_periodic_adv_data": "0x02006955", + "gap_set_periodic_adv_enable": "0x020069c5", + "gap_set_periodic_adv_para": "0x020069d5", + "gap_set_periodic_adv_rx_enable": "0x020069ed", + "gap_set_phy": "0x020069fd", + "gap_set_random_device_address": "0x02006a19", + "gap_start_ccm": "0x02006a49", + "gap_test_end": "0x02006a9d", + "gap_tx_test_v2": "0x02006aa9", + "gap_tx_test_v4": "0x02006ac1", + "gap_update_connection_parameters": "0x02006ae5", + "gap_vendor_tx_continuous_wave": "0x02006b29", + "gatt_client_cancel_write": "0x02007051", + "gatt_client_discover_characteristic_descriptors": "0x02007077", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x020070b7", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x02007107", + "gatt_client_discover_characteristics_for_service": "0x02007157", + "gatt_client_discover_primary_services": "0x0200718d", + "gatt_client_discover_primary_services_by_uuid128": "0x020071bf", + "gatt_client_discover_primary_services_by_uuid16": "0x02007203", + "gatt_client_execute_write": "0x02007241", + "gatt_client_find_included_services_for_service": "0x02007267", + "gatt_client_get_mtu": "0x02007295", + "gatt_client_is_ready": "0x02007359", + "gatt_client_listen_for_characteristic_value_updates": "0x0200736f", + "gatt_client_prepare_write": "0x02007391", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x020073cd", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x020073f7", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x020073fd", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x0200742b", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x02007431", + "gatt_client_read_multiple_characteristic_values": "0x0200745f", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x0200748f", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x020074bd", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x02007509", + "gatt_client_register_handler": "0x02007555", + "gatt_client_reliable_write_long_value_of_characteristic": "0x02007561", + "gatt_client_signed_write_without_response": "0x02007995", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x02007a59", + "gatt_client_write_client_characteristic_configuration": "0x02007a93", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x02007ae5", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x02007af5", + "gatt_client_write_long_value_of_characteristic": "0x02007b31", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x02007b41", + "gatt_client_write_value_of_characteristic": "0x02007b7d", + "gatt_client_write_value_of_characteristic_without_response": "0x02007bb3", + "hci_add_event_handler": "0x020091ad", + "hci_power_control": "0x020099ad", + "hci_register_acl_packet_handler": "0x02009b61", + "kv_commit": "0x0200a0b9", + "kv_get": "0x0200a111", + "kv_init": "0x0200a129", + "kv_put": "0x0200a191", + "kv_remove": "0x0200a209", + "kv_remove_all": "0x0200a245", + "kv_value_modified": "0x0200a289", + "kv_visit": "0x0200a28d", + "l2cap_add_event_handler": "0x0200a341", + "l2cap_can_send_packet_now": "0x0200a351", + "l2cap_create_le_credit_based_connection_request": "0x0200a515", + "l2cap_credit_based_send": "0x0200a65d", + "l2cap_credit_based_send_continue": "0x0200a689", + "l2cap_disconnect": "0x0200a705", + "l2cap_get_le_credit_based_connection_credits": "0x0200a8f1", + "l2cap_get_peer_mtu_for_local_cid": "0x0200a90d", + "l2cap_init": "0x0200ad4d", + "l2cap_le_send_flow_control_credit": "0x0200ae43", + "l2cap_max_le_mtu": "0x0200b151", + "l2cap_register_packet_handler": "0x0200b279", + "l2cap_register_service": "0x0200b285", + "l2cap_request_can_send_now_event": "0x0200b395", + "l2cap_request_connection_parameter_update": "0x0200b3af", + "l2cap_send_echo_request": "0x0200b891", + "l2cap_unregister_service": "0x0200b971", + "le_device_db_add": "0x0200b9c9", + "le_device_db_find": "0x0200ba9d", + "le_device_db_from_key": "0x0200bac9", + "le_device_db_iter_cur": "0x0200bad1", + "le_device_db_iter_cur_key": "0x0200bad5", + "le_device_db_iter_init": "0x0200bad9", + "le_device_db_iter_next": "0x0200bae1", + "le_device_db_remove_key": "0x0200bb07", + "ll_ackable_packet_alloc": "0x0200bb33", + "ll_ackable_packet_get_status": "0x0200bc3f", + "ll_ackable_packet_run": "0x0200bcad", + "ll_ackable_packet_set_tx_data": "0x0200bd71", + "ll_adjust_conn_peer_tx_power": "0x0200bd8d", + "ll_aes_encrypt": "0x0200bdb9", + "ll_allow_nonstandard_adv_type": "0x0200be2d", + "ll_attach_cte_to_adv_set": "0x0200be45", + "ll_free": "0x0200bfdd", + "ll_hint_on_ce_len": "0x0200bfe9", + "ll_legacy_adv_set_interval": "0x0200c021", + "ll_lock_frequency": "0x0200c031", + "ll_malloc": "0x0200c085", + "ll_override_whitening_init_value": "0x0200c08d", + "ll_raw_packet_alloc": "0x0200c1b5", + "ll_raw_packet_free": "0x0200c289", + "ll_raw_packet_get_bare_rx_data": "0x0200c2b3", + "ll_raw_packet_get_iq_samples": "0x0200c373", + "ll_raw_packet_get_rx_data": "0x0200c40d", + "ll_raw_packet_recv": "0x0200c4a1", + "ll_raw_packet_send": "0x0200c575", + "ll_raw_packet_set_bare_data": "0x0200c691", + "ll_raw_packet_set_bare_mode": "0x0200c6cf", + "ll_raw_packet_set_param": "0x0200c7d3", + "ll_raw_packet_set_rx_cte": "0x0200c835", + "ll_raw_packet_set_tx_cte": "0x0200c8cb", + "ll_raw_packet_set_tx_data": "0x0200c909", + "ll_scan_set_fixed_channel": "0x0200c9c1", + "ll_scanner_enable_iq_sampling": "0x0200c9cd", + "ll_scanner_enable_iq_sampling_on_legacy": "0x0200ca75", + "ll_set_adv_access_address": "0x0200cc61", + "ll_set_adv_coded_scheme": "0x0200cc6d", + "ll_set_conn_coded_scheme": "0x0200cca5", + "ll_set_conn_interval_unit": "0x0200ccd1", + "ll_set_conn_latency": "0x0200ccdd", + "ll_set_conn_tx_power": "0x0200cd0d", + "ll_set_cte_bit": "0x0200cd3d", + "ll_set_def_antenna": "0x0200cd65", + "ll_set_initiating_coded_scheme": "0x0200cd85", + "ll_set_max_conn_number": "0x0200cd91", + "ll_set_tx_power_range": "0x0200ce2d", + "ll_unlock_frequency": "0x0200ce55", + "nibble_for_char": "0x0201f985", + "platform_32k_rc_auto_tune": "0x0201fa1d", + "platform_32k_rc_tune": "0x0201fa69", + "platform_calibrate_32k": "0x0201fa85", + "platform_config": "0x0201fa89", + "platform_controller_run": "0x0201fb8d", + "platform_enable_irq": "0x0201fbc5", + "platform_get_gen_os_driver": "0x0201fbf9", + "platform_get_task_handle": "0x0201fc05", + "platform_get_us_time": "0x0201fc1d", + "platform_get_version": "0x0201fc21", + "platform_hrng": "0x0201fc29", + "platform_init_controller": "0x0201fc31", + "platform_os_idle_resumed_hook": "0x0201fc4d", + "platform_patch_rf_init_data": "0x0201fc51", + "platform_post_sleep_processing": "0x0201fc5d", + "platform_pre_sleep_processing": "0x0201fc63", + "platform_pre_suppress_ticks_and_sleep_processing": "0x0201fc69", + "platform_printf": "0x0201fc6d", + "platform_raise_assertion": "0x0201fc81", + "platform_rand": "0x0201fc95", + "platform_read_info": "0x0201fc99", + "platform_read_persistent_reg": "0x0201fcc9", + "platform_reset": "0x0201fcd5", + "platform_set_evt_callback": "0x0201fce9", + "platform_set_evt_callback_table": "0x0201fcfd", + "platform_set_irq_callback": "0x0201fd09", + "platform_set_irq_callback_table": "0x0201fd25", + "platform_set_rf_clk_source": "0x0201fd31", + "platform_set_rf_init_data": "0x0201fd3d", + "platform_set_rf_power_mapping": "0x0201fd49", + "platform_set_timer": "0x0201fd55", + "platform_shutdown": "0x0201fd59", + "platform_switch_app": "0x0201fd5d", + "platform_trace_raw": "0x0201fd75", + "platform_write_persistent_reg": "0x0201fd8d", + "printf_hexdump": "0x0201fda1", + "reverse_128": "0x02020115", + "reverse_24": "0x0202011b", + "reverse_48": "0x02020121", + "reverse_56": "0x02020127", + "reverse_64": "0x0202012d", + "reverse_bd_addr": "0x02020133", + "reverse_bytes": "0x02020139", + "sm_add_event_handler": "0x02020475", + "sm_address_resolution_lookup": "0x020205cd", + "sm_authenticated": "0x0202092d", + "sm_authorization_decline": "0x0202093b", + "sm_authorization_grant": "0x0202095b", + "sm_authorization_state": "0x0202097b", + "sm_bonding_decline": "0x02020995", + "sm_config": "0x02020dad", + "sm_config_conn": "0x02020dc5", + "sm_encryption_key_size": "0x02020f7b", + "sm_just_works_confirm": "0x020214b5", + "sm_le_device_key": "0x020217f1", + "sm_passkey_input": "0x02021887", + "sm_private_random_address_generation_get": "0x02021c35", + "sm_private_random_address_generation_get_mode": "0x02021c3d", + "sm_private_random_address_generation_set_mode": "0x02021c49", + "sm_private_random_address_generation_set_update_period": "0x02021c71", + "sm_register_oob_data_callback": "0x02021dad", + "sm_request_pairing": "0x02021db9", + "sm_send_security_request": "0x020227f7", + "sm_set_accepted_stk_generation_methods": "0x0202281d", + "sm_set_authentication_requirements": "0x02022829", + "sm_set_encryption_key_size_range": "0x02022835", + "sscanf_bd_addr": "0x02022c0d", + "sysSetPublicDeviceAddr": "0x02023079", + "uuid128_to_str": "0x02023829", + "uuid_add_bluetooth_prefix": "0x02023881", + "uuid_has_bluetooth_prefix": "0x020238a1" } \ No newline at end of file diff --git a/bundles/noos_extension/ING9168xx/meta.json b/bundles/noos_extension/ING9168xx/meta.json index 91a088e4e..dd3d8b2ab 100644 --- a/bundles/noos_extension/ING9168xx/meta.json +++ b/bundles/noos_extension/ING9168xx/meta.json @@ -4,15 +4,15 @@ }, "ram": { "base": 536870912, - "size": 4132 + "size": 4140 }, "rom": { "base": 33562624, - "size": 146668 + "size": 146616 }, "version": [ 2, 2, - 10 + 12 ] } \ No newline at end of file diff --git a/bundles/noos_extension/ING9168xx/platform.bin b/bundles/noos_extension/ING9168xx/platform.bin index e22832841..6893112c4 100644 Binary files a/bundles/noos_extension/ING9168xx/platform.bin and b/bundles/noos_extension/ING9168xx/platform.bin differ diff --git a/bundles/noos_extension/ING9187xx/apis.json b/bundles/noos_extension/ING9187xx/apis.json index 5359c3016..855cf49d7 100644 --- a/bundles/noos_extension/ING9187xx/apis.json +++ b/bundles/noos_extension/ING9187xx/apis.json @@ -1,253 +1,254 @@ { - "att_dispatch_client_can_send_now": "0x00005675", - "att_dispatch_client_request_can_send_now_event": "0x0000567b", - "att_dispatch_register_client": "0x00005681", - "att_dispatch_register_server": "0x00005695", - "att_dispatch_server_can_send_now": "0x000056a9", - "att_dispatch_server_request_can_send_now_event": "0x000056af", - "att_emit_general_event": "0x00005761", - "att_server_can_send_packet_now": "0x00005e75", - "att_server_deferred_read_response": "0x00005e79", - "att_server_get_mtu": "0x00005e91", - "att_server_indicate": "0x00005f09", - "att_server_init": "0x00005f8d", - "att_server_notify": "0x00005fc9", - "att_server_register_packet_handler": "0x000060e1", - "att_server_request_can_send_now_event": "0x000060ed", - "att_set_db": "0x00006109", - "att_set_read_callback": "0x0000611d", - "att_set_write_callback": "0x00006129", - "bd_addr_cmp": "0x00006299", - "bd_addr_copy": "0x0000629f", - "bd_addr_to_str": "0x000062a9", - "big_endian_read_16": "0x000062e1", - "big_endian_read_32": "0x000062e9", - "big_endian_store_16": "0x000062fd", - "big_endian_store_32": "0x00006309", - "btstack_config": "0x00006441", - "btstack_memory_pool_create": "0x0000658f", - "btstack_memory_pool_free": "0x000065b9", - "btstack_memory_pool_get": "0x00006619", - "btstack_push_user_msg": "0x00006661", - "btstack_push_user_runnable": "0x0000666d", - "char_for_nibble": "0x000068dd", - "gap_add_dev_to_periodic_list": "0x00007195", - "gap_add_whitelist": "0x000071ad", - "gap_aes_encrypt": "0x000071c1", - "gap_clear_white_lists": "0x00007205", - "gap_clr_adv_set": "0x00007215", - "gap_clr_periodic_adv_list": "0x00007225", - "gap_create_connection_cancel": "0x00007235", - "gap_disconnect": "0x00007245", - "gap_disconnect_all": "0x00007271", - "gap_ext_create_connection": "0x000072b1", - "gap_get_connection_parameter_range": "0x000073a1", - "gap_le_read_channel_map": "0x000073dd", - "gap_periodic_adv_create_sync": "0x00007451", - "gap_periodic_adv_create_sync_cancel": "0x00007475", - "gap_periodic_adv_term_sync": "0x00007485", - "gap_read_periodic_adv_list_size": "0x00007519", - "gap_read_phy": "0x00007529", - "gap_read_remote_used_features": "0x0000753d", - "gap_read_remote_version": "0x00007551", - "gap_read_rssi": "0x00007565", - "gap_remove_whitelist": "0x00007579", - "gap_rmv_adv_set": "0x000075fd", - "gap_rmv_dev_from_periodic_list": "0x00007611", - "gap_rx_test_v2": "0x00007629", - "gap_set_adv_set_random_addr": "0x00007669", - "gap_set_connection_parameter_range": "0x000076b5", - "gap_set_data_length": "0x000076cd", - "gap_set_def_phy": "0x000076e9", - "gap_set_ext_adv_data": "0x00007701", - "gap_set_ext_adv_enable": "0x00007719", - "gap_set_ext_adv_para": "0x00007795", - "gap_set_ext_scan_enable": "0x00007875", - "gap_set_ext_scan_para": "0x0000788d", - "gap_set_ext_scan_response_data": "0x00007935", - "gap_set_host_channel_classification": "0x0000794d", - "gap_set_periodic_adv_data": "0x00007961", - "gap_set_periodic_adv_enable": "0x000079d5", - "gap_set_periodic_adv_para": "0x000079e9", - "gap_set_phy": "0x00007a01", - "gap_set_random_device_address": "0x00007a1d", - "gap_start_ccm": "0x00007a4d", - "gap_test_end": "0x00007a81", - "gap_tx_test_v2": "0x00007a91", - "gap_tx_test_v4": "0x00007aa9", - "gap_update_connection_parameters": "0x00007ad1", - "gap_vendor_tx_continuous_wave": "0x00007b15", - "gatt_client_cancel_write": "0x0000803d", - "gatt_client_discover_characteristic_descriptors": "0x00008063", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x000080a3", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x000080f3", - "gatt_client_discover_characteristics_for_service": "0x00008143", - "gatt_client_discover_primary_services": "0x00008179", - "gatt_client_discover_primary_services_by_uuid128": "0x000081ab", - "gatt_client_discover_primary_services_by_uuid16": "0x000081ef", - "gatt_client_execute_write": "0x0000822b", - "gatt_client_find_included_services_for_service": "0x00008251", - "gatt_client_get_mtu": "0x0000827f", - "gatt_client_is_ready": "0x00008321", - "gatt_client_listen_for_characteristic_value_updates": "0x00008337", - "gatt_client_prepare_write": "0x00008359", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x00008395", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x000083bf", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x000083c5", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x000083f3", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x000083f9", - "gatt_client_read_multiple_characteristic_values": "0x00008427", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x00008457", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x00008485", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x000084d1", - "gatt_client_register_handler": "0x0000851d", - "gatt_client_reliable_write_long_value_of_characteristic": "0x00008529", - "gatt_client_signed_write_without_response": "0x00008959", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008a1d", - "gatt_client_write_client_characteristic_configuration": "0x00008a57", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008aa9", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008ab9", - "gatt_client_write_long_value_of_characteristic": "0x00008af5", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008b05", - "gatt_client_write_value_of_characteristic": "0x00008b41", - "gatt_client_write_value_of_characteristic_without_response": "0x00008b77", - "hci_add_event_handler": "0x0000a09d", - "hci_power_control": "0x0000a895", - "hci_register_acl_packet_handler": "0x0000aa49", - "kv_commit": "0x0000afe9", - "kv_get": "0x0000b041", - "kv_init": "0x0000b059", - "kv_put": "0x0000b0c1", - "kv_remove": "0x0000b139", - "kv_remove_all": "0x0000b175", - "kv_value_modified": "0x0000b1b9", - "kv_visit": "0x0000b1bd", - "l2cap_add_event_handler": "0x0000b271", - "l2cap_can_send_packet_now": "0x0000b281", - "l2cap_create_le_credit_based_connection_request": "0x0000b43d", - "l2cap_credit_based_send": "0x0000b581", - "l2cap_credit_based_send_continue": "0x0000b5ad", - "l2cap_disconnect": "0x0000b629", - "l2cap_get_le_credit_based_connection_credits": "0x0000b879", - "l2cap_get_peer_mtu_for_local_cid": "0x0000b895", - "l2cap_init": "0x0000bc69", - "l2cap_le_send_flow_control_credit": "0x0000bd5f", - "l2cap_max_le_mtu": "0x0000c069", - "l2cap_register_packet_handler": "0x0000c191", - "l2cap_register_service": "0x0000c19d", - "l2cap_request_can_send_now_event": "0x0000c2ad", - "l2cap_request_connection_parameter_update": "0x0000c2c7", - "l2cap_send_echo_request": "0x0000c799", - "l2cap_unregister_service": "0x0000c859", - "le_device_db_add": "0x0000c8b1", - "le_device_db_find": "0x0000c985", - "le_device_db_from_key": "0x0000c9b1", - "le_device_db_iter_cur": "0x0000c9b9", - "le_device_db_iter_cur_key": "0x0000c9bd", - "le_device_db_iter_init": "0x0000c9c1", - "le_device_db_iter_next": "0x0000c9c9", - "le_device_db_remove_key": "0x0000c9ef", - "ll_ackable_packet_alloc": "0x0000ca1b", - "ll_ackable_packet_get_status": "0x0000cb23", - "ll_ackable_packet_run": "0x0000cb95", - "ll_ackable_packet_set_tx_data": "0x0000cc3d", - "ll_free": "0x0000cc57", - "ll_hint_on_ce_len": "0x0000cc61", - "ll_legacy_adv_set_interval": "0x0000cc99", - "ll_lock_frequency": "0x0000cca9", - "ll_malloc": "0x0000cd01", - "ll_query_timing_info": "0x0000ce39", - "ll_raw_packet_alloc": "0x0000ce85", - "ll_raw_packet_free": "0x0000cf59", - "ll_raw_packet_get_bare_rx_data": "0x0000cf83", - "ll_raw_packet_get_rx_data": "0x0000d049", - "ll_raw_packet_recv": "0x0000d0e9", - "ll_raw_packet_send": "0x0000d1a5", - "ll_raw_packet_set_bare_data": "0x0000d28d", - "ll_raw_packet_set_bare_mode": "0x0000d2cb", - "ll_raw_packet_set_param": "0x0000d3d1", - "ll_raw_packet_set_tx_data": "0x0000d42f", - "ll_scan_set_fixed_channel": "0x0000d4ed", - "ll_set_adv_access_address": "0x0000d601", - "ll_set_adv_coded_scheme": "0x0000d60d", - "ll_set_conn_coded_scheme": "0x0000d63d", - "ll_set_conn_interval_unit": "0x0000d669", - "ll_set_conn_latency": "0x0000d675", - "ll_set_conn_tx_power": "0x0000d6a5", - "ll_set_def_antenna": "0x0000d6ed", - "ll_set_initiating_coded_scheme": "0x0000d709", - "ll_set_max_conn_number": "0x0000d715", - "ll_unlock_frequency": "0x0000d7b1", - "nibble_for_char": "0x0001d775", - "platform_32k_rc_auto_tune": "0x0001d811", - "platform_32k_rc_tune": "0x0001d88d", - "platform_calibrate_32k": "0x0001d8a1", - "platform_config": "0x0001d8a5", - "platform_controller_run": "0x0001d995", - "platform_enable_irq": "0x0001d9cd", - "platform_get_gen_os_driver": "0x0001d9f5", - "platform_get_task_handle": "0x0001da01", - "platform_get_us_time": "0x0001da19", - "platform_get_version": "0x0001da1d", - "platform_hrng": "0x0001da25", - "platform_init_controller": "0x0001da2d", - "platform_os_idle_resumed_hook": "0x0001da49", - "platform_patch_rf_init_data": "0x0001da4d", - "platform_post_sleep_processing": "0x0001da59", - "platform_pre_sleep_processing": "0x0001da5f", - "platform_pre_suppress_ticks_and_sleep_processing": "0x0001da65", - "platform_printf": "0x0001da69", - "platform_raise_assertion": "0x0001da7d", - "platform_rand": "0x0001da91", - "platform_read_info": "0x0001da95", - "platform_read_persistent_reg": "0x0001dac5", - "platform_reset": "0x0001dad5", - "platform_set_evt_callback": "0x0001daf9", - "platform_set_evt_callback_table": "0x0001db0d", - "platform_set_irq_callback": "0x0001db19", - "platform_set_irq_callback_table": "0x0001db35", - "platform_set_rf_clk_source": "0x0001db41", - "platform_set_rf_init_data": "0x0001db4d", - "platform_set_rf_power_mapping": "0x0001db59", - "platform_set_timer": "0x0001db65", - "platform_shutdown": "0x0001db69", - "platform_switch_app": "0x0001db6d", - "platform_trace_raw": "0x0001db99", - "platform_write_persistent_reg": "0x0001dbb1", - "printf_hexdump": "0x0001dbc1", - "reverse_128": "0x0001defd", - "reverse_24": "0x0001df03", - "reverse_48": "0x0001df09", - "reverse_56": "0x0001df0f", - "reverse_64": "0x0001df15", - "reverse_bd_addr": "0x0001df1b", - "reverse_bytes": "0x0001df21", - "sm_add_event_handler": "0x0001e0ad", - "sm_address_resolution_lookup": "0x0001e205", - "sm_authenticated": "0x0001e565", - "sm_authorization_decline": "0x0001e573", - "sm_authorization_grant": "0x0001e593", - "sm_authorization_state": "0x0001e5b3", - "sm_bonding_decline": "0x0001e5cd", - "sm_config": "0x0001e9ed", - "sm_config_conn": "0x0001ea05", - "sm_encryption_key_size": "0x0001ebbb", - "sm_just_works_confirm": "0x0001f0f5", - "sm_le_device_key": "0x0001f431", - "sm_passkey_input": "0x0001f4c7", - "sm_private_random_address_generation_get": "0x0001f875", - "sm_private_random_address_generation_get_mode": "0x0001f87d", - "sm_private_random_address_generation_set_mode": "0x0001f889", - "sm_private_random_address_generation_set_update_period": "0x0001f8b1", - "sm_register_oob_data_callback": "0x0001f9ed", - "sm_request_pairing": "0x0001f9f9", - "sm_send_security_request": "0x00020433", - "sm_set_accepted_stk_generation_methods": "0x00020459", - "sm_set_authentication_requirements": "0x00020465", - "sm_set_encryption_key_size_range": "0x00020471", - "sscanf_bd_addr": "0x00020841", - "sysSetPublicDeviceAddr": "0x00020bf5", - "uuid128_to_str": "0x000211d9", - "uuid_add_bluetooth_prefix": "0x00021231", - "uuid_has_bluetooth_prefix": "0x00021251" + "att_dispatch_client_can_send_now": "0x0000565d", + "att_dispatch_client_request_can_send_now_event": "0x00005663", + "att_dispatch_register_client": "0x00005669", + "att_dispatch_register_server": "0x0000567d", + "att_dispatch_server_can_send_now": "0x00005691", + "att_dispatch_server_request_can_send_now_event": "0x00005697", + "att_emit_general_event": "0x00005749", + "att_server_can_send_packet_now": "0x00005e5d", + "att_server_deferred_read_response": "0x00005e61", + "att_server_get_mtu": "0x00005e79", + "att_server_indicate": "0x00005ef1", + "att_server_init": "0x00005f75", + "att_server_notify": "0x00005fb1", + "att_server_register_packet_handler": "0x000060c9", + "att_server_request_can_send_now_event": "0x000060d5", + "att_set_db": "0x000060f1", + "att_set_read_callback": "0x00006105", + "att_set_write_callback": "0x00006111", + "bd_addr_cmp": "0x00006281", + "bd_addr_copy": "0x00006287", + "bd_addr_to_str": "0x00006291", + "big_endian_read_16": "0x000062c9", + "big_endian_read_32": "0x000062d1", + "big_endian_store_16": "0x000062e5", + "big_endian_store_32": "0x000062f1", + "btstack_config": "0x00006429", + "btstack_memory_pool_create": "0x00006577", + "btstack_memory_pool_free": "0x000065a1", + "btstack_memory_pool_get": "0x00006601", + "btstack_push_user_msg": "0x00006649", + "btstack_push_user_runnable": "0x00006655", + "char_for_nibble": "0x000068c5", + "gap_add_dev_to_periodic_list": "0x00007189", + "gap_add_whitelist": "0x00007199", + "gap_aes_encrypt": "0x000071a5", + "gap_clear_white_lists": "0x000071e9", + "gap_clr_adv_set": "0x000071f5", + "gap_clr_periodic_adv_list": "0x00007201", + "gap_create_connection_cancel": "0x0000720d", + "gap_disconnect": "0x00007219", + "gap_disconnect_all": "0x00007245", + "gap_ext_create_connection": "0x00007285", + "gap_get_connection_parameter_range": "0x00007375", + "gap_le_read_channel_map": "0x000073b1", + "gap_periodic_adv_create_sync": "0x0000741d", + "gap_periodic_adv_create_sync_cancel": "0x00007441", + "gap_periodic_adv_term_sync": "0x0000744d", + "gap_read_periodic_adv_list_size": "0x000074d5", + "gap_read_phy": "0x000074e1", + "gap_read_remote_used_features": "0x000074ed", + "gap_read_remote_version": "0x000074f9", + "gap_read_rssi": "0x00007505", + "gap_remove_whitelist": "0x00007511", + "gap_rmv_adv_set": "0x0000758d", + "gap_rmv_dev_from_periodic_list": "0x00007599", + "gap_rx_test_v2": "0x000075a9", + "gap_set_adv_set_random_addr": "0x000075e1", + "gap_set_connection_parameter_range": "0x00007629", + "gap_set_data_length": "0x00007641", + "gap_set_def_phy": "0x00007659", + "gap_set_ext_adv_data": "0x00007669", + "gap_set_ext_adv_enable": "0x00007681", + "gap_set_ext_adv_para": "0x000076fd", + "gap_set_ext_scan_enable": "0x000077d5", + "gap_set_ext_scan_para": "0x000077ed", + "gap_set_ext_scan_response_data": "0x00007895", + "gap_set_host_channel_classification": "0x000078ad", + "gap_set_periodic_adv_data": "0x000078bd", + "gap_set_periodic_adv_enable": "0x0000792d", + "gap_set_periodic_adv_para": "0x0000793d", + "gap_set_phy": "0x00007955", + "gap_set_random_device_address": "0x00007971", + "gap_start_ccm": "0x000079a1", + "gap_test_end": "0x000079f5", + "gap_tx_test_v2": "0x00007a01", + "gap_tx_test_v4": "0x00007a19", + "gap_update_connection_parameters": "0x00007a3d", + "gap_vendor_tx_continuous_wave": "0x00007a81", + "gatt_client_cancel_write": "0x00007fa9", + "gatt_client_discover_characteristic_descriptors": "0x00007fcf", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x0000800f", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x0000805f", + "gatt_client_discover_characteristics_for_service": "0x000080af", + "gatt_client_discover_primary_services": "0x000080e5", + "gatt_client_discover_primary_services_by_uuid128": "0x00008117", + "gatt_client_discover_primary_services_by_uuid16": "0x0000815b", + "gatt_client_execute_write": "0x00008197", + "gatt_client_find_included_services_for_service": "0x000081bd", + "gatt_client_get_mtu": "0x000081eb", + "gatt_client_is_ready": "0x0000828d", + "gatt_client_listen_for_characteristic_value_updates": "0x000082a3", + "gatt_client_prepare_write": "0x000082c5", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x00008301", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x0000832b", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008331", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x0000835f", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x00008365", + "gatt_client_read_multiple_characteristic_values": "0x00008393", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x000083c3", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x000083f1", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x0000843d", + "gatt_client_register_handler": "0x00008489", + "gatt_client_reliable_write_long_value_of_characteristic": "0x00008495", + "gatt_client_signed_write_without_response": "0x000088c5", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008989", + "gatt_client_write_client_characteristic_configuration": "0x000089c3", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008a15", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008a25", + "gatt_client_write_long_value_of_characteristic": "0x00008a61", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008a71", + "gatt_client_write_value_of_characteristic": "0x00008aad", + "gatt_client_write_value_of_characteristic_without_response": "0x00008ae3", + "hci_add_event_handler": "0x0000a009", + "hci_power_control": "0x0000a801", + "hci_register_acl_packet_handler": "0x0000a9b5", + "kv_commit": "0x0000af4d", + "kv_get": "0x0000afa5", + "kv_init": "0x0000afbd", + "kv_put": "0x0000b025", + "kv_remove": "0x0000b09d", + "kv_remove_all": "0x0000b0d9", + "kv_value_modified": "0x0000b11d", + "kv_visit": "0x0000b121", + "l2cap_add_event_handler": "0x0000b1d5", + "l2cap_can_send_packet_now": "0x0000b1e5", + "l2cap_create_le_credit_based_connection_request": "0x0000b3a1", + "l2cap_credit_based_send": "0x0000b4e5", + "l2cap_credit_based_send_continue": "0x0000b511", + "l2cap_disconnect": "0x0000b58d", + "l2cap_get_le_credit_based_connection_credits": "0x0000b7dd", + "l2cap_get_peer_mtu_for_local_cid": "0x0000b7f9", + "l2cap_init": "0x0000bbcd", + "l2cap_le_send_flow_control_credit": "0x0000bcc3", + "l2cap_max_le_mtu": "0x0000bfcd", + "l2cap_register_packet_handler": "0x0000c0f5", + "l2cap_register_service": "0x0000c101", + "l2cap_request_can_send_now_event": "0x0000c211", + "l2cap_request_connection_parameter_update": "0x0000c22b", + "l2cap_send_echo_request": "0x0000c6fd", + "l2cap_unregister_service": "0x0000c7bd", + "le_device_db_add": "0x0000c815", + "le_device_db_find": "0x0000c8e9", + "le_device_db_from_key": "0x0000c915", + "le_device_db_iter_cur": "0x0000c91d", + "le_device_db_iter_cur_key": "0x0000c921", + "le_device_db_iter_init": "0x0000c925", + "le_device_db_iter_next": "0x0000c92d", + "le_device_db_remove_key": "0x0000c953", + "ll_ackable_packet_alloc": "0x0000c97f", + "ll_ackable_packet_get_status": "0x0000ca87", + "ll_ackable_packet_run": "0x0000caf9", + "ll_ackable_packet_set_tx_data": "0x0000cba1", + "ll_aes_encrypt": "0x0000cbbd", + "ll_free": "0x0000cc39", + "ll_hint_on_ce_len": "0x0000cc45", + "ll_legacy_adv_set_interval": "0x0000cc7d", + "ll_lock_frequency": "0x0000cc8d", + "ll_malloc": "0x0000cce5", + "ll_query_timing_info": "0x0000ce1d", + "ll_raw_packet_alloc": "0x0000ce69", + "ll_raw_packet_free": "0x0000cf3d", + "ll_raw_packet_get_bare_rx_data": "0x0000cf67", + "ll_raw_packet_get_rx_data": "0x0000d02d", + "ll_raw_packet_recv": "0x0000d0cd", + "ll_raw_packet_send": "0x0000d189", + "ll_raw_packet_set_bare_data": "0x0000d271", + "ll_raw_packet_set_bare_mode": "0x0000d2af", + "ll_raw_packet_set_param": "0x0000d3b5", + "ll_raw_packet_set_tx_data": "0x0000d413", + "ll_scan_set_fixed_channel": "0x0000d4d1", + "ll_set_adv_access_address": "0x0000d5e5", + "ll_set_adv_coded_scheme": "0x0000d5f1", + "ll_set_conn_coded_scheme": "0x0000d621", + "ll_set_conn_interval_unit": "0x0000d64d", + "ll_set_conn_latency": "0x0000d659", + "ll_set_conn_tx_power": "0x0000d689", + "ll_set_def_antenna": "0x0000d6d1", + "ll_set_initiating_coded_scheme": "0x0000d6ed", + "ll_set_max_conn_number": "0x0000d6f9", + "ll_unlock_frequency": "0x0000d795", + "nibble_for_char": "0x0001d76d", + "platform_32k_rc_auto_tune": "0x0001d809", + "platform_32k_rc_tune": "0x0001d885", + "platform_calibrate_32k": "0x0001d899", + "platform_config": "0x0001d89d", + "platform_controller_run": "0x0001d98d", + "platform_enable_irq": "0x0001d9c5", + "platform_get_gen_os_driver": "0x0001d9fd", + "platform_get_task_handle": "0x0001da09", + "platform_get_us_time": "0x0001da21", + "platform_get_version": "0x0001da25", + "platform_hrng": "0x0001da2d", + "platform_init_controller": "0x0001da35", + "platform_os_idle_resumed_hook": "0x0001da51", + "platform_patch_rf_init_data": "0x0001da55", + "platform_post_sleep_processing": "0x0001da61", + "platform_pre_sleep_processing": "0x0001da67", + "platform_pre_suppress_ticks_and_sleep_processing": "0x0001da6d", + "platform_printf": "0x0001da71", + "platform_raise_assertion": "0x0001da85", + "platform_rand": "0x0001da99", + "platform_read_info": "0x0001da9d", + "platform_read_persistent_reg": "0x0001dacd", + "platform_reset": "0x0001dadd", + "platform_set_evt_callback": "0x0001db01", + "platform_set_evt_callback_table": "0x0001db15", + "platform_set_irq_callback": "0x0001db21", + "platform_set_irq_callback_table": "0x0001db3d", + "platform_set_rf_clk_source": "0x0001db49", + "platform_set_rf_init_data": "0x0001db55", + "platform_set_rf_power_mapping": "0x0001db61", + "platform_set_timer": "0x0001db6d", + "platform_shutdown": "0x0001db71", + "platform_switch_app": "0x0001db75", + "platform_trace_raw": "0x0001dba1", + "platform_write_persistent_reg": "0x0001dbb9", + "printf_hexdump": "0x0001dbc9", + "reverse_128": "0x0001df05", + "reverse_24": "0x0001df0b", + "reverse_48": "0x0001df11", + "reverse_56": "0x0001df17", + "reverse_64": "0x0001df1d", + "reverse_bd_addr": "0x0001df23", + "reverse_bytes": "0x0001df29", + "sm_add_event_handler": "0x0001e0b5", + "sm_address_resolution_lookup": "0x0001e20d", + "sm_authenticated": "0x0001e56d", + "sm_authorization_decline": "0x0001e57b", + "sm_authorization_grant": "0x0001e59b", + "sm_authorization_state": "0x0001e5bb", + "sm_bonding_decline": "0x0001e5d5", + "sm_config": "0x0001e9f5", + "sm_config_conn": "0x0001ea0d", + "sm_encryption_key_size": "0x0001ebc3", + "sm_just_works_confirm": "0x0001f0fd", + "sm_le_device_key": "0x0001f439", + "sm_passkey_input": "0x0001f4cf", + "sm_private_random_address_generation_get": "0x0001f87d", + "sm_private_random_address_generation_get_mode": "0x0001f885", + "sm_private_random_address_generation_set_mode": "0x0001f891", + "sm_private_random_address_generation_set_update_period": "0x0001f8b9", + "sm_register_oob_data_callback": "0x0001f9f5", + "sm_request_pairing": "0x0001fa01", + "sm_send_security_request": "0x0002043b", + "sm_set_accepted_stk_generation_methods": "0x00020461", + "sm_set_authentication_requirements": "0x0002046d", + "sm_set_encryption_key_size_range": "0x00020479", + "sscanf_bd_addr": "0x00020849", + "sysSetPublicDeviceAddr": "0x00020bfd", + "uuid128_to_str": "0x000211e1", + "uuid_add_bluetooth_prefix": "0x00021239", + "uuid_has_bluetooth_prefix": "0x00021259" } \ No newline at end of file diff --git a/bundles/noos_extension/ING9187xx/meta.json b/bundles/noos_extension/ING9187xx/meta.json index 58ad1c6da..79145f76b 100644 --- a/bundles/noos_extension/ING9187xx/meta.json +++ b/bundles/noos_extension/ING9187xx/meta.json @@ -4,15 +4,15 @@ }, "ram": { "base": 536870912, - "size": 4348 + "size": 4356 }, "rom": { "base": 16384, - "size": 125716 + "size": 125724 }, "version": [ 1, 9, - 12 + 15 ] } \ No newline at end of file diff --git a/bundles/noos_extension/ING9187xx/platform.bin b/bundles/noos_extension/ING9187xx/platform.bin index 9665d0686..32b71cbd8 100644 Binary files a/bundles/noos_extension/ING9187xx/platform.bin and b/bundles/noos_extension/ING9187xx/platform.bin differ diff --git a/bundles/noos_extension/ING9188xx/apis.json b/bundles/noos_extension/ING9188xx/apis.json index a00a70156..5b7d09ccb 100644 --- a/bundles/noos_extension/ING9188xx/apis.json +++ b/bundles/noos_extension/ING9188xx/apis.json @@ -1,273 +1,274 @@ { - "att_dispatch_client_can_send_now": "0x00005799", - "att_dispatch_client_request_can_send_now_event": "0x0000579f", - "att_dispatch_register_client": "0x000057a5", - "att_dispatch_register_server": "0x000057b9", - "att_dispatch_server_can_send_now": "0x000057cd", - "att_dispatch_server_request_can_send_now_event": "0x000057d3", - "att_emit_general_event": "0x00005885", - "att_server_can_send_packet_now": "0x00005f99", - "att_server_deferred_read_response": "0x00005f9d", - "att_server_get_mtu": "0x00005fb5", - "att_server_indicate": "0x0000602d", - "att_server_init": "0x000060b1", - "att_server_notify": "0x000060ed", - "att_server_register_packet_handler": "0x00006205", - "att_server_request_can_send_now_event": "0x00006211", - "att_set_db": "0x0000622d", - "att_set_read_callback": "0x00006241", - "att_set_write_callback": "0x0000624d", - "bd_addr_cmp": "0x000063bd", - "bd_addr_copy": "0x000063c3", - "bd_addr_to_str": "0x000063cd", - "big_endian_read_16": "0x00006405", - "big_endian_read_32": "0x0000640d", - "big_endian_store_16": "0x00006421", - "big_endian_store_32": "0x0000642d", - "btstack_config": "0x00006565", - "btstack_memory_pool_create": "0x000066b3", - "btstack_memory_pool_free": "0x000066dd", - "btstack_memory_pool_get": "0x0000673d", - "btstack_push_user_msg": "0x00006785", - "btstack_push_user_runnable": "0x00006791", - "char_for_nibble": "0x00006a01", - "gap_add_dev_to_periodic_list": "0x00007329", - "gap_add_whitelist": "0x00007341", - "gap_aes_encrypt": "0x00007355", - "gap_clear_white_lists": "0x00007399", - "gap_clr_adv_set": "0x000073a9", - "gap_clr_periodic_adv_list": "0x000073b9", - "gap_create_connection_cancel": "0x000073c9", - "gap_default_periodic_adv_sync_transfer_param": "0x000073d9", - "gap_disconnect": "0x000073f1", - "gap_disconnect_all": "0x0000741d", - "gap_ext_create_connection": "0x0000745d", - "gap_get_connection_parameter_range": "0x0000754d", - "gap_le_read_channel_map": "0x00007589", - "gap_periodic_adv_create_sync": "0x000075fd", - "gap_periodic_adv_create_sync_cancel": "0x00007621", - "gap_periodic_adv_set_info_transfer": "0x00007631", - "gap_periodic_adv_sync_transfer": "0x00007649", - "gap_periodic_adv_sync_transfer_param": "0x00007661", - "gap_periodic_adv_term_sync": "0x0000767d", - "gap_read_antenna_info": "0x00007711", - "gap_read_periodic_adv_list_size": "0x00007721", - "gap_read_phy": "0x00007731", - "gap_read_remote_used_features": "0x00007745", - "gap_read_remote_version": "0x00007759", - "gap_read_rssi": "0x0000776d", - "gap_remove_whitelist": "0x00007781", - "gap_rmv_adv_set": "0x00007805", - "gap_rmv_dev_from_periodic_list": "0x00007819", - "gap_rx_test_v2": "0x00007831", - "gap_rx_test_v3": "0x00007849", - "gap_set_adv_set_random_addr": "0x00007899", - "gap_set_connection_cte_request_enable": "0x000078e5", - "gap_set_connection_cte_response_enable": "0x00007901", - "gap_set_connection_cte_rx_param": "0x00007915", - "gap_set_connection_cte_tx_param": "0x00007971", - "gap_set_connection_parameter_range": "0x000079c5", - "gap_set_connectionless_cte_tx_enable": "0x000079dd", - "gap_set_connectionless_cte_tx_param": "0x000079f1", - "gap_set_connectionless_iq_sampling_enable": "0x00007a51", - "gap_set_data_length": "0x00007ab5", - "gap_set_def_phy": "0x00007ad1", - "gap_set_ext_adv_data": "0x00007ae9", - "gap_set_ext_adv_enable": "0x00007b01", - "gap_set_ext_adv_para": "0x00007b7d", - "gap_set_ext_scan_enable": "0x00007c5d", - "gap_set_ext_scan_para": "0x00007c75", - "gap_set_ext_scan_response_data": "0x00007d1d", - "gap_set_host_channel_classification": "0x00007d35", - "gap_set_periodic_adv_data": "0x00007d49", - "gap_set_periodic_adv_enable": "0x00007dbd", - "gap_set_periodic_adv_para": "0x00007dd1", - "gap_set_periodic_adv_rx_enable": "0x00007de9", - "gap_set_phy": "0x00007dfd", - "gap_set_random_device_address": "0x00007e19", - "gap_start_ccm": "0x00007e49", - "gap_test_end": "0x00007e7d", - "gap_tx_test_v2": "0x00007e8d", - "gap_tx_test_v4": "0x00007ea5", - "gap_update_connection_parameters": "0x00007ecd", - "gap_vendor_tx_continuous_wave": "0x00007f11", - "gatt_client_cancel_write": "0x00008439", - "gatt_client_discover_characteristic_descriptors": "0x0000845f", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x0000849f", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x000084ef", - "gatt_client_discover_characteristics_for_service": "0x0000853f", - "gatt_client_discover_primary_services": "0x00008575", - "gatt_client_discover_primary_services_by_uuid128": "0x000085a7", - "gatt_client_discover_primary_services_by_uuid16": "0x000085eb", - "gatt_client_execute_write": "0x00008627", - "gatt_client_find_included_services_for_service": "0x0000864d", - "gatt_client_get_mtu": "0x0000867b", - "gatt_client_is_ready": "0x0000871d", - "gatt_client_listen_for_characteristic_value_updates": "0x00008733", - "gatt_client_prepare_write": "0x00008755", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x00008791", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x000087bb", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x000087c1", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x000087ef", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x000087f5", - "gatt_client_read_multiple_characteristic_values": "0x00008823", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x00008853", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x00008881", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x000088cd", - "gatt_client_register_handler": "0x00008919", - "gatt_client_reliable_write_long_value_of_characteristic": "0x00008925", - "gatt_client_signed_write_without_response": "0x00008d55", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008e19", - "gatt_client_write_client_characteristic_configuration": "0x00008e53", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008ea5", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008eb5", - "gatt_client_write_long_value_of_characteristic": "0x00008ef1", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008f01", - "gatt_client_write_value_of_characteristic": "0x00008f3d", - "gatt_client_write_value_of_characteristic_without_response": "0x00008f73", - "hci_add_event_handler": "0x0000a4b5", - "hci_power_control": "0x0000acad", - "hci_register_acl_packet_handler": "0x0000ae61", - "kv_commit": "0x0000b401", - "kv_get": "0x0000b459", - "kv_init": "0x0000b471", - "kv_put": "0x0000b4d9", - "kv_remove": "0x0000b551", - "kv_remove_all": "0x0000b58d", - "kv_value_modified": "0x0000b5d1", - "kv_visit": "0x0000b5d5", - "l2cap_add_event_handler": "0x0000b689", - "l2cap_can_send_packet_now": "0x0000b699", - "l2cap_create_le_credit_based_connection_request": "0x0000b855", - "l2cap_credit_based_send": "0x0000b999", - "l2cap_credit_based_send_continue": "0x0000b9c5", - "l2cap_disconnect": "0x0000ba41", - "l2cap_get_le_credit_based_connection_credits": "0x0000bc91", - "l2cap_get_peer_mtu_for_local_cid": "0x0000bcad", - "l2cap_init": "0x0000c081", - "l2cap_le_send_flow_control_credit": "0x0000c177", - "l2cap_max_le_mtu": "0x0000c481", - "l2cap_register_packet_handler": "0x0000c5a9", - "l2cap_register_service": "0x0000c5b5", - "l2cap_request_can_send_now_event": "0x0000c6c5", - "l2cap_request_connection_parameter_update": "0x0000c6df", - "l2cap_send_echo_request": "0x0000cbb1", - "l2cap_unregister_service": "0x0000cc71", - "le_device_db_add": "0x0000ccc9", - "le_device_db_find": "0x0000cd9d", - "le_device_db_from_key": "0x0000cdc9", - "le_device_db_iter_cur": "0x0000cdd1", - "le_device_db_iter_cur_key": "0x0000cdd5", - "le_device_db_iter_init": "0x0000cdd9", - "le_device_db_iter_next": "0x0000cde1", - "le_device_db_remove_key": "0x0000ce07", - "ll_ackable_packet_alloc": "0x0000ce33", - "ll_ackable_packet_get_status": "0x0000cf3b", - "ll_ackable_packet_run": "0x0000cfad", - "ll_ackable_packet_set_tx_data": "0x0000d055", - "ll_attach_cte_to_adv_set": "0x0000d071", - "ll_free": "0x0000d209", - "ll_hint_on_ce_len": "0x0000d215", - "ll_legacy_adv_set_interval": "0x0000d24d", - "ll_lock_frequency": "0x0000d25d", - "ll_malloc": "0x0000d2b5", - "ll_query_timing_info": "0x0000d3ed", - "ll_raw_packet_alloc": "0x0000d439", - "ll_raw_packet_free": "0x0000d50d", - "ll_raw_packet_get_bare_rx_data": "0x0000d537", - "ll_raw_packet_get_iq_samples": "0x0000d5fd", - "ll_raw_packet_get_rx_data": "0x0000d697", - "ll_raw_packet_recv": "0x0000d739", - "ll_raw_packet_send": "0x0000d7f5", - "ll_raw_packet_set_bare_data": "0x0000d8dd", - "ll_raw_packet_set_bare_mode": "0x0000d91b", - "ll_raw_packet_set_fake_cte_info": "0x0000da21", - "ll_raw_packet_set_param": "0x0000da43", - "ll_raw_packet_set_rx_cte": "0x0000daa1", - "ll_raw_packet_set_tx_cte": "0x0000db37", - "ll_raw_packet_set_tx_data": "0x0000db75", - "ll_scan_set_fixed_channel": "0x0000dc31", - "ll_scanner_enable_iq_sampling": "0x0000dc3d", - "ll_set_adv_access_address": "0x0000dded", - "ll_set_adv_coded_scheme": "0x0000ddf9", - "ll_set_conn_coded_scheme": "0x0000de29", - "ll_set_conn_interval_unit": "0x0000de55", - "ll_set_conn_latency": "0x0000de61", - "ll_set_conn_tx_power": "0x0000de91", - "ll_set_def_antenna": "0x0000ded9", - "ll_set_initiating_coded_scheme": "0x0000def5", - "ll_set_max_conn_number": "0x0000df01", - "ll_unlock_frequency": "0x0000df9d", - "nibble_for_char": "0x0001ef41", - "platform_32k_rc_auto_tune": "0x0001efdd", - "platform_32k_rc_tune": "0x0001f059", - "platform_calibrate_32k": "0x0001f06d", - "platform_config": "0x0001f071", - "platform_controller_run": "0x0001f161", - "platform_enable_irq": "0x0001f199", - "platform_get_gen_os_driver": "0x0001f1c1", - "platform_get_task_handle": "0x0001f1cd", - "platform_get_us_time": "0x0001f1e5", - "platform_get_version": "0x0001f1e9", - "platform_hrng": "0x0001f1f1", - "platform_init_controller": "0x0001f1f9", - "platform_os_idle_resumed_hook": "0x0001f215", - "platform_patch_rf_init_data": "0x0001f219", - "platform_post_sleep_processing": "0x0001f225", - "platform_pre_sleep_processing": "0x0001f22b", - "platform_pre_suppress_ticks_and_sleep_processing": "0x0001f231", - "platform_printf": "0x0001f235", - "platform_raise_assertion": "0x0001f249", - "platform_rand": "0x0001f25d", - "platform_read_info": "0x0001f261", - "platform_read_persistent_reg": "0x0001f291", - "platform_reset": "0x0001f2a1", - "platform_set_evt_callback": "0x0001f2c5", - "platform_set_evt_callback_table": "0x0001f2d9", - "platform_set_irq_callback": "0x0001f2e5", - "platform_set_irq_callback_table": "0x0001f301", - "platform_set_rf_clk_source": "0x0001f30d", - "platform_set_rf_init_data": "0x0001f319", - "platform_set_rf_power_mapping": "0x0001f325", - "platform_set_timer": "0x0001f331", - "platform_shutdown": "0x0001f335", - "platform_switch_app": "0x0001f339", - "platform_trace_raw": "0x0001f365", - "platform_write_persistent_reg": "0x0001f37d", - "printf_hexdump": "0x0001f38d", - "reverse_128": "0x0001f701", - "reverse_24": "0x0001f707", - "reverse_48": "0x0001f70d", - "reverse_56": "0x0001f713", - "reverse_64": "0x0001f719", - "reverse_bd_addr": "0x0001f71f", - "reverse_bytes": "0x0001f725", - "sm_add_event_handler": "0x0001fa05", - "sm_address_resolution_lookup": "0x0001fb5d", - "sm_authenticated": "0x0001febd", - "sm_authorization_decline": "0x0001fecb", - "sm_authorization_grant": "0x0001feeb", - "sm_authorization_state": "0x0001ff0b", - "sm_bonding_decline": "0x0001ff25", - "sm_config": "0x00020345", - "sm_config_conn": "0x0002035d", - "sm_encryption_key_size": "0x00020513", - "sm_just_works_confirm": "0x00020a4d", - "sm_le_device_key": "0x00020d89", - "sm_passkey_input": "0x00020e1f", - "sm_private_random_address_generation_get": "0x000211cd", - "sm_private_random_address_generation_get_mode": "0x000211d5", - "sm_private_random_address_generation_set_mode": "0x000211e1", - "sm_private_random_address_generation_set_update_period": "0x00021209", - "sm_register_oob_data_callback": "0x00021345", - "sm_request_pairing": "0x00021351", - "sm_send_security_request": "0x00021d8b", - "sm_set_accepted_stk_generation_methods": "0x00021db1", - "sm_set_authentication_requirements": "0x00021dbd", - "sm_set_encryption_key_size_range": "0x00021dc9", - "sscanf_bd_addr": "0x00022199", - "sysSetPublicDeviceAddr": "0x0002254d", - "uuid128_to_str": "0x00022cc5", - "uuid_add_bluetooth_prefix": "0x00022d1d", - "uuid_has_bluetooth_prefix": "0x00022d3d" + "att_dispatch_client_can_send_now": "0x00005781", + "att_dispatch_client_request_can_send_now_event": "0x00005787", + "att_dispatch_register_client": "0x0000578d", + "att_dispatch_register_server": "0x000057a1", + "att_dispatch_server_can_send_now": "0x000057b5", + "att_dispatch_server_request_can_send_now_event": "0x000057bb", + "att_emit_general_event": "0x0000586d", + "att_server_can_send_packet_now": "0x00005f81", + "att_server_deferred_read_response": "0x00005f85", + "att_server_get_mtu": "0x00005f9d", + "att_server_indicate": "0x00006015", + "att_server_init": "0x00006099", + "att_server_notify": "0x000060d5", + "att_server_register_packet_handler": "0x000061ed", + "att_server_request_can_send_now_event": "0x000061f9", + "att_set_db": "0x00006215", + "att_set_read_callback": "0x00006229", + "att_set_write_callback": "0x00006235", + "bd_addr_cmp": "0x000063a5", + "bd_addr_copy": "0x000063ab", + "bd_addr_to_str": "0x000063b5", + "big_endian_read_16": "0x000063ed", + "big_endian_read_32": "0x000063f5", + "big_endian_store_16": "0x00006409", + "big_endian_store_32": "0x00006415", + "btstack_config": "0x0000654d", + "btstack_memory_pool_create": "0x0000669b", + "btstack_memory_pool_free": "0x000066c5", + "btstack_memory_pool_get": "0x00006725", + "btstack_push_user_msg": "0x0000676d", + "btstack_push_user_runnable": "0x00006779", + "char_for_nibble": "0x000069e9", + "gap_add_dev_to_periodic_list": "0x0000731d", + "gap_add_whitelist": "0x0000732d", + "gap_aes_encrypt": "0x00007339", + "gap_clear_white_lists": "0x0000737d", + "gap_clr_adv_set": "0x00007389", + "gap_clr_periodic_adv_list": "0x00007395", + "gap_create_connection_cancel": "0x000073a1", + "gap_default_periodic_adv_sync_transfer_param": "0x000073ad", + "gap_disconnect": "0x000073c5", + "gap_disconnect_all": "0x000073f1", + "gap_ext_create_connection": "0x00007431", + "gap_get_connection_parameter_range": "0x00007521", + "gap_le_read_channel_map": "0x0000755d", + "gap_periodic_adv_create_sync": "0x000075c9", + "gap_periodic_adv_create_sync_cancel": "0x000075ed", + "gap_periodic_adv_set_info_transfer": "0x000075f9", + "gap_periodic_adv_sync_transfer": "0x00007609", + "gap_periodic_adv_sync_transfer_param": "0x00007619", + "gap_periodic_adv_term_sync": "0x00007635", + "gap_read_antenna_info": "0x000076bd", + "gap_read_periodic_adv_list_size": "0x000076c9", + "gap_read_phy": "0x000076d5", + "gap_read_remote_used_features": "0x000076e1", + "gap_read_remote_version": "0x000076ed", + "gap_read_rssi": "0x000076f9", + "gap_remove_whitelist": "0x00007705", + "gap_rmv_adv_set": "0x00007781", + "gap_rmv_dev_from_periodic_list": "0x0000778d", + "gap_rx_test_v2": "0x0000779d", + "gap_rx_test_v3": "0x000077ad", + "gap_set_adv_set_random_addr": "0x000077f9", + "gap_set_connection_cte_request_enable": "0x00007841", + "gap_set_connection_cte_response_enable": "0x0000785d", + "gap_set_connection_cte_rx_param": "0x0000786d", + "gap_set_connection_cte_tx_param": "0x000078c9", + "gap_set_connection_parameter_range": "0x0000791d", + "gap_set_connectionless_cte_tx_enable": "0x00007935", + "gap_set_connectionless_cte_tx_param": "0x00007945", + "gap_set_connectionless_iq_sampling_enable": "0x000079a5", + "gap_set_data_length": "0x00007a09", + "gap_set_def_phy": "0x00007a21", + "gap_set_ext_adv_data": "0x00007a31", + "gap_set_ext_adv_enable": "0x00007a49", + "gap_set_ext_adv_para": "0x00007ac5", + "gap_set_ext_scan_enable": "0x00007b9d", + "gap_set_ext_scan_para": "0x00007bb5", + "gap_set_ext_scan_response_data": "0x00007c5d", + "gap_set_host_channel_classification": "0x00007c75", + "gap_set_periodic_adv_data": "0x00007c85", + "gap_set_periodic_adv_enable": "0x00007cf5", + "gap_set_periodic_adv_para": "0x00007d05", + "gap_set_periodic_adv_rx_enable": "0x00007d1d", + "gap_set_phy": "0x00007d2d", + "gap_set_random_device_address": "0x00007d49", + "gap_start_ccm": "0x00007d79", + "gap_test_end": "0x00007dcd", + "gap_tx_test_v2": "0x00007dd9", + "gap_tx_test_v4": "0x00007df1", + "gap_update_connection_parameters": "0x00007e15", + "gap_vendor_tx_continuous_wave": "0x00007e59", + "gatt_client_cancel_write": "0x00008381", + "gatt_client_discover_characteristic_descriptors": "0x000083a7", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x000083e7", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x00008437", + "gatt_client_discover_characteristics_for_service": "0x00008487", + "gatt_client_discover_primary_services": "0x000084bd", + "gatt_client_discover_primary_services_by_uuid128": "0x000084ef", + "gatt_client_discover_primary_services_by_uuid16": "0x00008533", + "gatt_client_execute_write": "0x0000856f", + "gatt_client_find_included_services_for_service": "0x00008595", + "gatt_client_get_mtu": "0x000085c3", + "gatt_client_is_ready": "0x00008665", + "gatt_client_listen_for_characteristic_value_updates": "0x0000867b", + "gatt_client_prepare_write": "0x0000869d", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x000086d9", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x00008703", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008709", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x00008737", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x0000873d", + "gatt_client_read_multiple_characteristic_values": "0x0000876b", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x0000879b", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x000087c9", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x00008815", + "gatt_client_register_handler": "0x00008861", + "gatt_client_reliable_write_long_value_of_characteristic": "0x0000886d", + "gatt_client_signed_write_without_response": "0x00008c9d", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008d61", + "gatt_client_write_client_characteristic_configuration": "0x00008d9b", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008ded", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008dfd", + "gatt_client_write_long_value_of_characteristic": "0x00008e39", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008e49", + "gatt_client_write_value_of_characteristic": "0x00008e85", + "gatt_client_write_value_of_characteristic_without_response": "0x00008ebb", + "hci_add_event_handler": "0x0000a3fd", + "hci_power_control": "0x0000abf5", + "hci_register_acl_packet_handler": "0x0000ada9", + "kv_commit": "0x0000b341", + "kv_get": "0x0000b399", + "kv_init": "0x0000b3b1", + "kv_put": "0x0000b419", + "kv_remove": "0x0000b491", + "kv_remove_all": "0x0000b4cd", + "kv_value_modified": "0x0000b511", + "kv_visit": "0x0000b515", + "l2cap_add_event_handler": "0x0000b5c9", + "l2cap_can_send_packet_now": "0x0000b5d9", + "l2cap_create_le_credit_based_connection_request": "0x0000b795", + "l2cap_credit_based_send": "0x0000b8d9", + "l2cap_credit_based_send_continue": "0x0000b905", + "l2cap_disconnect": "0x0000b981", + "l2cap_get_le_credit_based_connection_credits": "0x0000bbd1", + "l2cap_get_peer_mtu_for_local_cid": "0x0000bbed", + "l2cap_init": "0x0000bfc1", + "l2cap_le_send_flow_control_credit": "0x0000c0b7", + "l2cap_max_le_mtu": "0x0000c3c1", + "l2cap_register_packet_handler": "0x0000c4e9", + "l2cap_register_service": "0x0000c4f5", + "l2cap_request_can_send_now_event": "0x0000c605", + "l2cap_request_connection_parameter_update": "0x0000c61f", + "l2cap_send_echo_request": "0x0000caf1", + "l2cap_unregister_service": "0x0000cbb1", + "le_device_db_add": "0x0000cc09", + "le_device_db_find": "0x0000ccdd", + "le_device_db_from_key": "0x0000cd09", + "le_device_db_iter_cur": "0x0000cd11", + "le_device_db_iter_cur_key": "0x0000cd15", + "le_device_db_iter_init": "0x0000cd19", + "le_device_db_iter_next": "0x0000cd21", + "le_device_db_remove_key": "0x0000cd47", + "ll_ackable_packet_alloc": "0x0000cd73", + "ll_ackable_packet_get_status": "0x0000ce7b", + "ll_ackable_packet_run": "0x0000ceed", + "ll_ackable_packet_set_tx_data": "0x0000cf95", + "ll_aes_encrypt": "0x0000cfb1", + "ll_attach_cte_to_adv_set": "0x0000d02d", + "ll_free": "0x0000d1c5", + "ll_hint_on_ce_len": "0x0000d1d1", + "ll_legacy_adv_set_interval": "0x0000d209", + "ll_lock_frequency": "0x0000d219", + "ll_malloc": "0x0000d271", + "ll_query_timing_info": "0x0000d3a9", + "ll_raw_packet_alloc": "0x0000d3f5", + "ll_raw_packet_free": "0x0000d4c9", + "ll_raw_packet_get_bare_rx_data": "0x0000d4f3", + "ll_raw_packet_get_iq_samples": "0x0000d5b9", + "ll_raw_packet_get_rx_data": "0x0000d653", + "ll_raw_packet_recv": "0x0000d6f5", + "ll_raw_packet_send": "0x0000d7b1", + "ll_raw_packet_set_bare_data": "0x0000d899", + "ll_raw_packet_set_bare_mode": "0x0000d8d7", + "ll_raw_packet_set_fake_cte_info": "0x0000d9dd", + "ll_raw_packet_set_param": "0x0000d9ff", + "ll_raw_packet_set_rx_cte": "0x0000da5d", + "ll_raw_packet_set_tx_cte": "0x0000daf3", + "ll_raw_packet_set_tx_data": "0x0000db31", + "ll_scan_set_fixed_channel": "0x0000dbed", + "ll_scanner_enable_iq_sampling": "0x0000dbf9", + "ll_set_adv_access_address": "0x0000dda9", + "ll_set_adv_coded_scheme": "0x0000ddb5", + "ll_set_conn_coded_scheme": "0x0000dde5", + "ll_set_conn_interval_unit": "0x0000de11", + "ll_set_conn_latency": "0x0000de1d", + "ll_set_conn_tx_power": "0x0000de4d", + "ll_set_def_antenna": "0x0000de95", + "ll_set_initiating_coded_scheme": "0x0000deb1", + "ll_set_max_conn_number": "0x0000debd", + "ll_unlock_frequency": "0x0000df59", + "nibble_for_char": "0x0001ef11", + "platform_32k_rc_auto_tune": "0x0001efad", + "platform_32k_rc_tune": "0x0001f029", + "platform_calibrate_32k": "0x0001f03d", + "platform_config": "0x0001f041", + "platform_controller_run": "0x0001f131", + "platform_enable_irq": "0x0001f169", + "platform_get_gen_os_driver": "0x0001f1a1", + "platform_get_task_handle": "0x0001f1ad", + "platform_get_us_time": "0x0001f1c5", + "platform_get_version": "0x0001f1c9", + "platform_hrng": "0x0001f1d1", + "platform_init_controller": "0x0001f1d9", + "platform_os_idle_resumed_hook": "0x0001f1f5", + "platform_patch_rf_init_data": "0x0001f1f9", + "platform_post_sleep_processing": "0x0001f205", + "platform_pre_sleep_processing": "0x0001f20b", + "platform_pre_suppress_ticks_and_sleep_processing": "0x0001f211", + "platform_printf": "0x0001f215", + "platform_raise_assertion": "0x0001f229", + "platform_rand": "0x0001f23d", + "platform_read_info": "0x0001f241", + "platform_read_persistent_reg": "0x0001f271", + "platform_reset": "0x0001f281", + "platform_set_evt_callback": "0x0001f2a5", + "platform_set_evt_callback_table": "0x0001f2b9", + "platform_set_irq_callback": "0x0001f2c5", + "platform_set_irq_callback_table": "0x0001f2e1", + "platform_set_rf_clk_source": "0x0001f2ed", + "platform_set_rf_init_data": "0x0001f2f9", + "platform_set_rf_power_mapping": "0x0001f305", + "platform_set_timer": "0x0001f311", + "platform_shutdown": "0x0001f315", + "platform_switch_app": "0x0001f319", + "platform_trace_raw": "0x0001f345", + "platform_write_persistent_reg": "0x0001f35d", + "printf_hexdump": "0x0001f36d", + "reverse_128": "0x0001f6e1", + "reverse_24": "0x0001f6e7", + "reverse_48": "0x0001f6ed", + "reverse_56": "0x0001f6f3", + "reverse_64": "0x0001f6f9", + "reverse_bd_addr": "0x0001f6ff", + "reverse_bytes": "0x0001f705", + "sm_add_event_handler": "0x0001f9e5", + "sm_address_resolution_lookup": "0x0001fb3d", + "sm_authenticated": "0x0001fe9d", + "sm_authorization_decline": "0x0001feab", + "sm_authorization_grant": "0x0001fecb", + "sm_authorization_state": "0x0001feeb", + "sm_bonding_decline": "0x0001ff05", + "sm_config": "0x00020325", + "sm_config_conn": "0x0002033d", + "sm_encryption_key_size": "0x000204f3", + "sm_just_works_confirm": "0x00020a2d", + "sm_le_device_key": "0x00020d69", + "sm_passkey_input": "0x00020dff", + "sm_private_random_address_generation_get": "0x000211ad", + "sm_private_random_address_generation_get_mode": "0x000211b5", + "sm_private_random_address_generation_set_mode": "0x000211c1", + "sm_private_random_address_generation_set_update_period": "0x000211e9", + "sm_register_oob_data_callback": "0x00021325", + "sm_request_pairing": "0x00021331", + "sm_send_security_request": "0x00021d6b", + "sm_set_accepted_stk_generation_methods": "0x00021d91", + "sm_set_authentication_requirements": "0x00021d9d", + "sm_set_encryption_key_size_range": "0x00021da9", + "sscanf_bd_addr": "0x00022179", + "sysSetPublicDeviceAddr": "0x0002252d", + "uuid128_to_str": "0x00022ca5", + "uuid_add_bluetooth_prefix": "0x00022cfd", + "uuid_has_bluetooth_prefix": "0x00022d1d" } \ No newline at end of file diff --git a/bundles/noos_extension/ING9188xx/meta.json b/bundles/noos_extension/ING9188xx/meta.json index e20cd74bd..497d2897a 100644 --- a/bundles/noos_extension/ING9188xx/meta.json +++ b/bundles/noos_extension/ING9188xx/meta.json @@ -4,15 +4,15 @@ }, "ram": { "base": 536870912, - "size": 4348 + "size": 4356 }, "rom": { "base": 16384, - "size": 133064 + "size": 133032 }, "version": [ 1, 9, - 12 + 15 ] } \ No newline at end of file diff --git a/bundles/noos_extension/ING9188xx/platform.bin b/bundles/noos_extension/ING9188xx/platform.bin index 0abe5c68f..52d885c37 100644 Binary files a/bundles/noos_extension/ING9188xx/platform.bin and b/bundles/noos_extension/ING9188xx/platform.bin differ diff --git a/bundles/noos_extension/inc/gap.h b/bundles/noos_extension/inc/gap.h index 413b9423a..cc0896b57 100644 --- a/bundles/noos_extension/inc/gap.h +++ b/bundles/noos_extension/inc/gap.h @@ -47,14 +47,15 @@ typedef enum scan_type * @brief set random address device * * @param address random address + * @return 0: Message is sent to controller; others: failed */ -void gap_set_random_device_address(const uint8_t *address); +uint8_t gap_set_random_device_address(const uint8_t *address); /** * @brief Disconnect connection with handle * * @param handle Used to identify an advertising set. Range: 0x00 to 0xEF - * @return 0: Message is sent out or the connection alreay release + * @return 0: Message is sent out or the connection already release */ uint8_t gap_disconnect(hci_con_handle_t handle); @@ -67,7 +68,7 @@ void gap_disconnect_all(void); * * @param[in] address BLE address * @param[in] addtype BLE address type - * @return 0: Message is sent to controller + * @return 0: Message is sent to controller */ uint8_t gap_add_whitelist(const uint8_t *address,bd_addr_type_t addtype); @@ -1326,30 +1327,27 @@ uint8_t gap_vendor_tx_continuous_wave(uint8_t enable, uint8_t power_level_index, #define HCI_VENDOR_CCM 0xFC01 /** - * @brief host require controller to do AES-CCM functionality, and CCM referece to + * @brief Host require controller to do AES-CCM functionality, and CCM reference to * the document rfc3610:Counter with CBC-MAC (CCM) * - * @param type 0: encrypt 1:decrypt - * - * @param mic_size 8: mic size in 8 bytes 4: mic size in 4 bytes - * - * @param msg_len messge length to be encrypt or decrypt - * - * @param aad_len Additional authenticated data length - * - * @param tag a value to identify a AES-CCM request. - * - * @param key 128 bits long key as required by AES-CCM - * - * @param nonce random value of each AES-CCM require 13 bytes long - * - * @param msg pointer to the message input + * All input buffers (key, nonce, msg, aad) must be kept in memory until AES-CCM completed. * - * @param aad Additional authenticated data + * `return_param` passed to `cb` is casted from `event_vendor_ccm_complete_t`. * - * @param out_msg the output buffer to store the result of the AES-CCM ,calculated by controller. + * @param[in] type 0: encrypt 1:decrypt + * @param[in] mic_size 8: mic size in 8 bytes 4: mic size in 4 bytes + * @param[in] msg_len message length to be encrypt or decrypt (<= 384 bytes) + * @param[in] aad_len Additional authenticated data length (<= 16 bytes) + * @param[in] tag a value to identify a AES-CCM request. + * @param[in] key 128 bits long key as required by AES-CCM + * @param[in] nonce random value of each AES-CCM require 13 bytes long + * @param[in] msg pointer to the message input + * @param[in] aad Additional authenticated data + * @param[out] out_msg the output buffer to store the result of the AES-CCM + * @param[in] cb callback function on the corresponding command complete event + * @param[in] user_data user data for the callback function * - * @return 0: success others: failed + * @return 0: success others: failed */ uint8_t gap_start_ccm( uint8_t type, // 0: encrypt 1: decrypt @@ -1357,11 +1355,13 @@ uint8_t gap_start_ccm( uint16_t msg_len, uint16_t aad_len, uint32_t tag, // same value will be reported in event - uint8_t *key, - uint8_t *nonce, - uint8_t *msg, - uint8_t *aad, - uint8_t *out_msg); + const uint8_t *key, + const uint8_t *nonce, + const uint8_t *msg, + const uint8_t *aad, + uint8_t *out_msg, + gap_hci_cmd_complete_cb_t cb, + void *user_data); //HCI func interface diff --git a/bundles/noos_extension/inc/ll_api.h b/bundles/noos_extension/inc/ll_api.h index 41dfbe74f..e3030014e 100644 --- a/bundles/noos_extension/inc/ll_api.h +++ b/bundles/noos_extension/inc/ll_api.h @@ -118,6 +118,52 @@ void ll_set_conn_coded_scheme(uint16_t conn_handle, int ci); */ void ll_set_conn_latency(uint16_t conn_handle, int latency); +/** + **************************************************************************************** + * @brief Get connection basic information of a connection + * + * @param[in] conn_handle handle of an existing connection + * @param[out] access_addr Access address + * @param[out] crc_init CRC init value + * @param[out] interval interval (unit: us) + * @return 0 if successful else non-0 + **************************************************************************************** + */ +// int ll_get_conn_info(const uint16_t conn_handle, +// uint32_t *access_addr, +// uint32_t *crc_init, +// uint32_t *interval); +// WARNING: ^^^ this API is not available in this release + + +/** + **************************************************************************************** + * @brief Get information of upcoming connection events of a connection + * + * Information of consecutive N connection events after `from_time` can be retrieved, + * where N = `number`. + * + * Sub-rating is ignored. If channel map updated within these events, then `channel_ids` + * are not reliable. + * + * @param[in] conn_handle handle of an existing connection + * @param[in] number number of connection events to be queried + * @param[in] from_time the first connection event shall be after `from_time` (unit: us) + * @param[out] time_offset time offset between the start of the first connection event and `from_time` (unit: us) + * @param[out] event_count connection event count of the first connection event + * @param[out] channel_ids physical channel IDs of the upcoming `number` connection events + * @return 0 if successful else non-0 + **************************************************************************************** + */ +// int ll_get_conn_events_info(const uint16_t conn_handle, +// int number, +// uint64_t from_time, +// uint32_t *time_offset, +// uint16_t *event_count, +// uint8_t *channel_ids); +// WARNING: ^^^ this API is not available in this release + + /** **************************************************************************************** * @brief Set default antenna ID @@ -737,6 +783,21 @@ typedef int (*f_start_generate_dhkey)(int key_type, const uint8_t *remote_pub_k // f_start_generate_dhkey start_generate_dhkey); // WARNING: ^^^ this API is not available in this release + +/** + **************************************************************************************** + * @brief Low level AES encryption in blocking mode + * + * @param[in] key key (little-endian) + * @param[in] plaintext plaintext (little-endian) + * @param[out] ciphertext ciphertext (big-endian) + * @return 0 if completed successfully; non-0 if hardware is not ready or busy + * When non-0 is returned, it is possible to retry later. + **************************************************************************************** + */ +int ll_aes_encrypt(const uint8_t *key, const uint8_t *plaintext, + uint8_t *ciphertext); + #ifdef __cplusplus } #endif diff --git a/bundles/noos_mass_conn/ING9168xx/apis.json b/bundles/noos_mass_conn/ING9168xx/apis.json index 3fceddd74..5b1f12aba 100644 --- a/bundles/noos_mass_conn/ING9168xx/apis.json +++ b/bundles/noos_mass_conn/ING9168xx/apis.json @@ -1,251 +1,252 @@ { - "att_dispatch_client_can_send_now": "0x02004345", - "att_dispatch_client_request_can_send_now_event": "0x0200434b", - "att_dispatch_register_client": "0x02004351", - "att_dispatch_register_server": "0x02004365", - "att_dispatch_server_can_send_now": "0x02004379", - "att_dispatch_server_request_can_send_now_event": "0x0200437f", - "att_emit_general_event": "0x02004431", - "att_server_can_send_packet_now": "0x02004b4d", - "att_server_deferred_read_response": "0x02004b51", - "att_server_get_mtu": "0x02004b69", - "att_server_indicate": "0x02004be1", - "att_server_init": "0x02004c65", - "att_server_notify": "0x02004ca1", - "att_server_register_packet_handler": "0x02004db9", - "att_server_request_can_send_now_event": "0x02004dc5", - "att_set_db": "0x02004de1", - "att_set_read_callback": "0x02004df5", - "att_set_write_callback": "0x02004e01", - "bd_addr_cmp": "0x02004fe9", - "bd_addr_copy": "0x02004fef", - "bd_addr_to_str": "0x02004ff9", - "big_endian_read_16": "0x02005031", - "big_endian_read_32": "0x02005039", - "big_endian_store_16": "0x0200504d", - "big_endian_store_32": "0x02005059", - "btstack_config": "0x0200519d", - "btstack_memory_pool_create": "0x020052eb", - "btstack_memory_pool_free": "0x02005315", - "btstack_memory_pool_get": "0x02005375", - "btstack_push_user_msg": "0x020053bd", - "btstack_push_user_runnable": "0x020053c9", - "char_for_nibble": "0x0200564f", - "gap_add_dev_to_periodic_list": "0x02005ff9", - "gap_add_whitelist": "0x02006011", - "gap_aes_encrypt": "0x02006025", - "gap_clear_white_lists": "0x02006069", - "gap_clr_adv_set": "0x02006079", - "gap_clr_periodic_adv_list": "0x02006089", - "gap_create_connection_cancel": "0x02006099", - "gap_default_periodic_adv_sync_transfer_param": "0x020060a9", - "gap_disconnect": "0x020060c1", - "gap_disconnect_all": "0x020060ed", - "gap_ext_create_connection": "0x0200612d", - "gap_get_connection_parameter_range": "0x0200621d", - "gap_le_read_channel_map": "0x02006259", - "gap_periodic_adv_create_sync": "0x020062cd", - "gap_periodic_adv_create_sync_cancel": "0x020062f1", - "gap_periodic_adv_set_info_transfer": "0x02006301", - "gap_periodic_adv_sync_transfer": "0x02006319", - "gap_periodic_adv_sync_transfer_param": "0x02006331", - "gap_periodic_adv_term_sync": "0x0200634d", - "gap_read_antenna_info": "0x020063e1", - "gap_read_periodic_adv_list_size": "0x020063f1", - "gap_read_phy": "0x02006401", - "gap_read_remote_used_features": "0x02006415", - "gap_read_remote_version": "0x02006429", - "gap_read_rssi": "0x0200643d", - "gap_remove_whitelist": "0x02006451", - "gap_rmv_adv_set": "0x020064d5", - "gap_rmv_dev_from_periodic_list": "0x020064e9", - "gap_rx_test_v2": "0x02006501", - "gap_rx_test_v3": "0x02006519", - "gap_set_adv_set_random_addr": "0x02006569", - "gap_set_connection_cte_request_enable": "0x020065b5", - "gap_set_connection_cte_response_enable": "0x020065d1", - "gap_set_connection_cte_rx_param": "0x020065e5", - "gap_set_connection_cte_tx_param": "0x02006641", - "gap_set_connection_parameter_range": "0x02006695", - "gap_set_connectionless_cte_tx_enable": "0x020066ad", - "gap_set_connectionless_cte_tx_param": "0x020066c1", - "gap_set_connectionless_iq_sampling_enable": "0x02006721", - "gap_set_data_length": "0x02006785", - "gap_set_def_phy": "0x020067a1", - "gap_set_ext_adv_data": "0x020067b9", - "gap_set_ext_adv_enable": "0x020067d1", - "gap_set_ext_adv_para": "0x0200684d", - "gap_set_ext_scan_enable": "0x02006925", - "gap_set_ext_scan_para": "0x0200693d", - "gap_set_ext_scan_response_data": "0x020069e5", - "gap_set_host_channel_classification": "0x020069fd", - "gap_set_periodic_adv_data": "0x02006a11", - "gap_set_periodic_adv_enable": "0x02006a85", - "gap_set_periodic_adv_para": "0x02006a99", - "gap_set_periodic_adv_rx_enable": "0x02006ab1", - "gap_set_phy": "0x02006ac5", - "gap_set_random_device_address": "0x02006ae1", - "gap_start_ccm": "0x02006b11", - "gap_test_end": "0x02006b45", - "gap_tx_test_v2": "0x02006b55", - "gap_tx_test_v4": "0x02006b6d", - "gap_update_connection_parameters": "0x02006b95", - "gap_vendor_tx_continuous_wave": "0x02006bd9", - "gatt_client_cancel_write": "0x02007101", - "gatt_client_discover_characteristic_descriptors": "0x02007127", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x02007167", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x020071b7", - "gatt_client_discover_characteristics_for_service": "0x02007207", - "gatt_client_discover_primary_services": "0x0200723d", - "gatt_client_discover_primary_services_by_uuid128": "0x0200726f", - "gatt_client_discover_primary_services_by_uuid16": "0x020072b3", - "gatt_client_execute_write": "0x020072f1", - "gatt_client_find_included_services_for_service": "0x02007317", - "gatt_client_get_mtu": "0x02007345", - "gatt_client_is_ready": "0x02007409", - "gatt_client_listen_for_characteristic_value_updates": "0x0200741f", - "gatt_client_prepare_write": "0x02007441", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x0200747d", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x020074a7", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x020074ad", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x020074db", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x020074e1", - "gatt_client_read_multiple_characteristic_values": "0x0200750f", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x0200753f", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x0200756d", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x020075b9", - "gatt_client_register_handler": "0x02007605", - "gatt_client_reliable_write_long_value_of_characteristic": "0x02007611", - "gatt_client_signed_write_without_response": "0x02007a45", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x02007b09", - "gatt_client_write_client_characteristic_configuration": "0x02007b43", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x02007b95", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x02007ba5", - "gatt_client_write_long_value_of_characteristic": "0x02007be1", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x02007bf1", - "gatt_client_write_value_of_characteristic": "0x02007c2d", - "gatt_client_write_value_of_characteristic_without_response": "0x02007c63", - "hci_add_event_handler": "0x02009259", - "hci_power_control": "0x02009a59", - "hci_register_acl_packet_handler": "0x02009c0d", - "kv_commit": "0x0200a16d", - "kv_get": "0x0200a1c5", - "kv_init": "0x0200a1dd", - "kv_put": "0x0200a245", - "kv_remove": "0x0200a2bd", - "kv_remove_all": "0x0200a2f9", - "kv_value_modified": "0x0200a33d", - "kv_visit": "0x0200a341", - "l2cap_add_event_handler": "0x0200a3f5", - "l2cap_can_send_packet_now": "0x0200a405", - "l2cap_create_le_credit_based_connection_request": "0x0200a5c9", - "l2cap_credit_based_send": "0x0200a711", - "l2cap_credit_based_send_continue": "0x0200a73d", - "l2cap_disconnect": "0x0200a7b9", - "l2cap_get_le_credit_based_connection_credits": "0x0200a9a5", - "l2cap_get_peer_mtu_for_local_cid": "0x0200a9c1", - "l2cap_init": "0x0200ae01", - "l2cap_le_send_flow_control_credit": "0x0200aef7", - "l2cap_max_le_mtu": "0x0200b205", - "l2cap_register_packet_handler": "0x0200b32d", - "l2cap_register_service": "0x0200b339", - "l2cap_request_can_send_now_event": "0x0200b449", - "l2cap_request_connection_parameter_update": "0x0200b463", - "l2cap_send_echo_request": "0x0200b945", - "l2cap_unregister_service": "0x0200ba25", - "le_device_db_add": "0x0200ba7d", - "le_device_db_find": "0x0200bb51", - "le_device_db_from_key": "0x0200bb7d", - "le_device_db_iter_cur": "0x0200bb85", - "le_device_db_iter_cur_key": "0x0200bb89", - "le_device_db_iter_init": "0x0200bb8d", - "le_device_db_iter_next": "0x0200bb95", - "le_device_db_remove_key": "0x0200bbbb", - "ll_adjust_conn_peer_tx_power": "0x0200bbe9", - "ll_free": "0x0200bc15", - "ll_hint_on_ce_len": "0x0200bc21", - "ll_legacy_adv_set_interval": "0x0200bc59", - "ll_malloc": "0x0200bc69", - "ll_scan_set_fixed_channel": "0x0200bdd9", - "ll_set_adv_access_address": "0x0200beed", - "ll_set_adv_coded_scheme": "0x0200bef9", - "ll_set_conn_coded_scheme": "0x0200bf31", - "ll_set_conn_latency": "0x0200bf5d", - "ll_set_conn_tx_power": "0x0200bf8d", - "ll_set_def_antenna": "0x0200bfc9", - "ll_set_initiating_coded_scheme": "0x0200bfe9", - "ll_set_max_conn_number": "0x0200bff5", - "ll_set_tx_power_range": "0x0200c091", - "nibble_for_char": "0x0201e879", - "platform_32k_rc_auto_tune": "0x0201e911", - "platform_32k_rc_tune": "0x0201e95d", - "platform_calibrate_32k": "0x0201e979", - "platform_config": "0x0201e97d", - "platform_controller_run": "0x0201ea81", - "platform_enable_irq": "0x0201eab9", - "platform_get_gen_os_driver": "0x0201eae1", - "platform_get_task_handle": "0x0201eaed", - "platform_get_us_time": "0x0201eb05", - "platform_get_version": "0x0201eb09", - "platform_hrng": "0x0201eb11", - "platform_init_controller": "0x0201eb19", - "platform_os_idle_resumed_hook": "0x0201eb35", - "platform_patch_rf_init_data": "0x0201eb39", - "platform_post_sleep_processing": "0x0201eb45", - "platform_pre_sleep_processing": "0x0201eb4b", - "platform_pre_suppress_ticks_and_sleep_processing": "0x0201eb51", - "platform_printf": "0x0201eb55", - "platform_raise_assertion": "0x0201eb69", - "platform_rand": "0x0201eb7d", - "platform_read_info": "0x0201eb81", - "platform_read_persistent_reg": "0x0201ebb1", - "platform_reset": "0x0201ebbd", - "platform_set_evt_callback": "0x0201ebd1", - "platform_set_evt_callback_table": "0x0201ebe5", - "platform_set_irq_callback": "0x0201ebf1", - "platform_set_irq_callback_table": "0x0201ec0d", - "platform_set_rf_clk_source": "0x0201ec19", - "platform_set_rf_init_data": "0x0201ec25", - "platform_set_rf_power_mapping": "0x0201ec31", - "platform_set_timer": "0x0201ec3d", - "platform_shutdown": "0x0201ec41", - "platform_switch_app": "0x0201ec45", - "platform_trace_raw": "0x0201ec5d", - "platform_write_persistent_reg": "0x0201ec75", - "printf_hexdump": "0x0201ec89", - "reverse_128": "0x0201effd", - "reverse_24": "0x0201f003", - "reverse_48": "0x0201f009", - "reverse_56": "0x0201f00f", - "reverse_64": "0x0201f015", - "reverse_bd_addr": "0x0201f01b", - "reverse_bytes": "0x0201f021", - "sm_add_event_handler": "0x0201f33d", - "sm_address_resolution_lookup": "0x0201f495", - "sm_authenticated": "0x0201f7f5", - "sm_authorization_decline": "0x0201f803", - "sm_authorization_grant": "0x0201f823", - "sm_authorization_state": "0x0201f843", - "sm_bonding_decline": "0x0201f85d", - "sm_config": "0x0201fc75", - "sm_config_conn": "0x0201fc8d", - "sm_encryption_key_size": "0x0201fe43", - "sm_just_works_confirm": "0x0202037d", - "sm_le_device_key": "0x020206b9", - "sm_passkey_input": "0x0202074f", - "sm_private_random_address_generation_get": "0x02020afd", - "sm_private_random_address_generation_get_mode": "0x02020b05", - "sm_private_random_address_generation_set_mode": "0x02020b11", - "sm_private_random_address_generation_set_update_period": "0x02020b39", - "sm_register_oob_data_callback": "0x02020c75", - "sm_request_pairing": "0x02020c81", - "sm_send_security_request": "0x020216bf", - "sm_set_accepted_stk_generation_methods": "0x020216e5", - "sm_set_authentication_requirements": "0x020216f1", - "sm_set_encryption_key_size_range": "0x020216fd", - "sscanf_bd_addr": "0x02021a5d", - "sysSetPublicDeviceAddr": "0x02021ec9", - "uuid128_to_str": "0x02022679", - "uuid_add_bluetooth_prefix": "0x020226d1", - "uuid_has_bluetooth_prefix": "0x020226f1" + "att_dispatch_client_can_send_now": "0x0200432d", + "att_dispatch_client_request_can_send_now_event": "0x02004333", + "att_dispatch_register_client": "0x02004339", + "att_dispatch_register_server": "0x0200434d", + "att_dispatch_server_can_send_now": "0x02004361", + "att_dispatch_server_request_can_send_now_event": "0x02004367", + "att_emit_general_event": "0x02004419", + "att_server_can_send_packet_now": "0x02004b35", + "att_server_deferred_read_response": "0x02004b39", + "att_server_get_mtu": "0x02004b51", + "att_server_indicate": "0x02004bc9", + "att_server_init": "0x02004c4d", + "att_server_notify": "0x02004c89", + "att_server_register_packet_handler": "0x02004da1", + "att_server_request_can_send_now_event": "0x02004dad", + "att_set_db": "0x02004dc9", + "att_set_read_callback": "0x02004ddd", + "att_set_write_callback": "0x02004de9", + "bd_addr_cmp": "0x02004fd1", + "bd_addr_copy": "0x02004fd7", + "bd_addr_to_str": "0x02004fe1", + "big_endian_read_16": "0x02005019", + "big_endian_read_32": "0x02005021", + "big_endian_store_16": "0x02005035", + "big_endian_store_32": "0x02005041", + "btstack_config": "0x02005185", + "btstack_memory_pool_create": "0x020052d3", + "btstack_memory_pool_free": "0x020052fd", + "btstack_memory_pool_get": "0x0200535d", + "btstack_push_user_msg": "0x020053a5", + "btstack_push_user_runnable": "0x020053b1", + "char_for_nibble": "0x02005637", + "gap_add_dev_to_periodic_list": "0x02005ff1", + "gap_add_whitelist": "0x02006001", + "gap_aes_encrypt": "0x0200600d", + "gap_clear_white_lists": "0x02006051", + "gap_clr_adv_set": "0x0200605d", + "gap_clr_periodic_adv_list": "0x02006069", + "gap_create_connection_cancel": "0x02006075", + "gap_default_periodic_adv_sync_transfer_param": "0x02006081", + "gap_disconnect": "0x02006099", + "gap_disconnect_all": "0x020060c5", + "gap_ext_create_connection": "0x02006105", + "gap_get_connection_parameter_range": "0x020061f5", + "gap_le_read_channel_map": "0x02006231", + "gap_periodic_adv_create_sync": "0x0200629d", + "gap_periodic_adv_create_sync_cancel": "0x020062c1", + "gap_periodic_adv_set_info_transfer": "0x020062cd", + "gap_periodic_adv_sync_transfer": "0x020062dd", + "gap_periodic_adv_sync_transfer_param": "0x020062ed", + "gap_periodic_adv_term_sync": "0x02006309", + "gap_read_antenna_info": "0x02006391", + "gap_read_periodic_adv_list_size": "0x0200639d", + "gap_read_phy": "0x020063a9", + "gap_read_remote_used_features": "0x020063b5", + "gap_read_remote_version": "0x020063c1", + "gap_read_rssi": "0x020063cd", + "gap_remove_whitelist": "0x020063d9", + "gap_rmv_adv_set": "0x02006455", + "gap_rmv_dev_from_periodic_list": "0x02006461", + "gap_rx_test_v2": "0x02006471", + "gap_rx_test_v3": "0x02006481", + "gap_set_adv_set_random_addr": "0x020064cd", + "gap_set_connection_cte_request_enable": "0x02006515", + "gap_set_connection_cte_response_enable": "0x02006531", + "gap_set_connection_cte_rx_param": "0x02006541", + "gap_set_connection_cte_tx_param": "0x0200659d", + "gap_set_connection_parameter_range": "0x020065f1", + "gap_set_connectionless_cte_tx_enable": "0x02006609", + "gap_set_connectionless_cte_tx_param": "0x02006619", + "gap_set_connectionless_iq_sampling_enable": "0x02006679", + "gap_set_data_length": "0x020066dd", + "gap_set_def_phy": "0x020066f5", + "gap_set_ext_adv_data": "0x02006705", + "gap_set_ext_adv_enable": "0x0200671d", + "gap_set_ext_adv_para": "0x02006799", + "gap_set_ext_scan_enable": "0x02006869", + "gap_set_ext_scan_para": "0x02006881", + "gap_set_ext_scan_response_data": "0x02006929", + "gap_set_host_channel_classification": "0x02006941", + "gap_set_periodic_adv_data": "0x02006951", + "gap_set_periodic_adv_enable": "0x020069c1", + "gap_set_periodic_adv_para": "0x020069d1", + "gap_set_periodic_adv_rx_enable": "0x020069e9", + "gap_set_phy": "0x020069f9", + "gap_set_random_device_address": "0x02006a15", + "gap_start_ccm": "0x02006a45", + "gap_test_end": "0x02006a99", + "gap_tx_test_v2": "0x02006aa5", + "gap_tx_test_v4": "0x02006abd", + "gap_update_connection_parameters": "0x02006ae1", + "gap_vendor_tx_continuous_wave": "0x02006b25", + "gatt_client_cancel_write": "0x0200704d", + "gatt_client_discover_characteristic_descriptors": "0x02007073", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x020070b3", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x02007103", + "gatt_client_discover_characteristics_for_service": "0x02007153", + "gatt_client_discover_primary_services": "0x02007189", + "gatt_client_discover_primary_services_by_uuid128": "0x020071bb", + "gatt_client_discover_primary_services_by_uuid16": "0x020071ff", + "gatt_client_execute_write": "0x0200723d", + "gatt_client_find_included_services_for_service": "0x02007263", + "gatt_client_get_mtu": "0x02007291", + "gatt_client_is_ready": "0x02007355", + "gatt_client_listen_for_characteristic_value_updates": "0x0200736b", + "gatt_client_prepare_write": "0x0200738d", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x020073c9", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x020073f3", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x020073f9", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x02007427", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x0200742d", + "gatt_client_read_multiple_characteristic_values": "0x0200745b", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x0200748b", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x020074b9", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x02007505", + "gatt_client_register_handler": "0x02007551", + "gatt_client_reliable_write_long_value_of_characteristic": "0x0200755d", + "gatt_client_signed_write_without_response": "0x02007991", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x02007a55", + "gatt_client_write_client_characteristic_configuration": "0x02007a8f", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x02007ae1", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x02007af1", + "gatt_client_write_long_value_of_characteristic": "0x02007b2d", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x02007b3d", + "gatt_client_write_value_of_characteristic": "0x02007b79", + "gatt_client_write_value_of_characteristic_without_response": "0x02007baf", + "hci_add_event_handler": "0x020091a5", + "hci_power_control": "0x020099a5", + "hci_register_acl_packet_handler": "0x02009b59", + "kv_commit": "0x0200a0b1", + "kv_get": "0x0200a109", + "kv_init": "0x0200a121", + "kv_put": "0x0200a189", + "kv_remove": "0x0200a201", + "kv_remove_all": "0x0200a23d", + "kv_value_modified": "0x0200a281", + "kv_visit": "0x0200a285", + "l2cap_add_event_handler": "0x0200a339", + "l2cap_can_send_packet_now": "0x0200a349", + "l2cap_create_le_credit_based_connection_request": "0x0200a50d", + "l2cap_credit_based_send": "0x0200a655", + "l2cap_credit_based_send_continue": "0x0200a681", + "l2cap_disconnect": "0x0200a6fd", + "l2cap_get_le_credit_based_connection_credits": "0x0200a8e9", + "l2cap_get_peer_mtu_for_local_cid": "0x0200a905", + "l2cap_init": "0x0200ad45", + "l2cap_le_send_flow_control_credit": "0x0200ae3b", + "l2cap_max_le_mtu": "0x0200b149", + "l2cap_register_packet_handler": "0x0200b271", + "l2cap_register_service": "0x0200b27d", + "l2cap_request_can_send_now_event": "0x0200b38d", + "l2cap_request_connection_parameter_update": "0x0200b3a7", + "l2cap_send_echo_request": "0x0200b889", + "l2cap_unregister_service": "0x0200b969", + "le_device_db_add": "0x0200b9c1", + "le_device_db_find": "0x0200ba95", + "le_device_db_from_key": "0x0200bac1", + "le_device_db_iter_cur": "0x0200bac9", + "le_device_db_iter_cur_key": "0x0200bacd", + "le_device_db_iter_init": "0x0200bad1", + "le_device_db_iter_next": "0x0200bad9", + "le_device_db_remove_key": "0x0200baff", + "ll_adjust_conn_peer_tx_power": "0x0200bb2d", + "ll_aes_encrypt": "0x0200bb59", + "ll_free": "0x0200bbcd", + "ll_hint_on_ce_len": "0x0200bbd9", + "ll_legacy_adv_set_interval": "0x0200bc11", + "ll_malloc": "0x0200bc21", + "ll_scan_set_fixed_channel": "0x0200bd91", + "ll_set_adv_access_address": "0x0200bea5", + "ll_set_adv_coded_scheme": "0x0200beb1", + "ll_set_conn_coded_scheme": "0x0200bee9", + "ll_set_conn_latency": "0x0200bf15", + "ll_set_conn_tx_power": "0x0200bf45", + "ll_set_def_antenna": "0x0200bf81", + "ll_set_initiating_coded_scheme": "0x0200bfa1", + "ll_set_max_conn_number": "0x0200bfad", + "ll_set_tx_power_range": "0x0200c049", + "nibble_for_char": "0x0201e839", + "platform_32k_rc_auto_tune": "0x0201e8d1", + "platform_32k_rc_tune": "0x0201e91d", + "platform_calibrate_32k": "0x0201e939", + "platform_config": "0x0201e93d", + "platform_controller_run": "0x0201ea41", + "platform_enable_irq": "0x0201ea79", + "platform_get_gen_os_driver": "0x0201eaad", + "platform_get_task_handle": "0x0201eab9", + "platform_get_us_time": "0x0201ead1", + "platform_get_version": "0x0201ead5", + "platform_hrng": "0x0201eadd", + "platform_init_controller": "0x0201eae5", + "platform_os_idle_resumed_hook": "0x0201eb01", + "platform_patch_rf_init_data": "0x0201eb05", + "platform_post_sleep_processing": "0x0201eb11", + "platform_pre_sleep_processing": "0x0201eb17", + "platform_pre_suppress_ticks_and_sleep_processing": "0x0201eb1d", + "platform_printf": "0x0201eb21", + "platform_raise_assertion": "0x0201eb35", + "platform_rand": "0x0201eb49", + "platform_read_info": "0x0201eb4d", + "platform_read_persistent_reg": "0x0201eb7d", + "platform_reset": "0x0201eb89", + "platform_set_evt_callback": "0x0201eb9d", + "platform_set_evt_callback_table": "0x0201ebb1", + "platform_set_irq_callback": "0x0201ebbd", + "platform_set_irq_callback_table": "0x0201ebd9", + "platform_set_rf_clk_source": "0x0201ebe5", + "platform_set_rf_init_data": "0x0201ebf1", + "platform_set_rf_power_mapping": "0x0201ebfd", + "platform_set_timer": "0x0201ec09", + "platform_shutdown": "0x0201ec0d", + "platform_switch_app": "0x0201ec11", + "platform_trace_raw": "0x0201ec29", + "platform_write_persistent_reg": "0x0201ec41", + "printf_hexdump": "0x0201ec55", + "reverse_128": "0x0201efc9", + "reverse_24": "0x0201efcf", + "reverse_48": "0x0201efd5", + "reverse_56": "0x0201efdb", + "reverse_64": "0x0201efe1", + "reverse_bd_addr": "0x0201efe7", + "reverse_bytes": "0x0201efed", + "sm_add_event_handler": "0x0201f309", + "sm_address_resolution_lookup": "0x0201f461", + "sm_authenticated": "0x0201f7c1", + "sm_authorization_decline": "0x0201f7cf", + "sm_authorization_grant": "0x0201f7ef", + "sm_authorization_state": "0x0201f80f", + "sm_bonding_decline": "0x0201f829", + "sm_config": "0x0201fc41", + "sm_config_conn": "0x0201fc59", + "sm_encryption_key_size": "0x0201fe0f", + "sm_just_works_confirm": "0x02020349", + "sm_le_device_key": "0x02020685", + "sm_passkey_input": "0x0202071b", + "sm_private_random_address_generation_get": "0x02020ac9", + "sm_private_random_address_generation_get_mode": "0x02020ad1", + "sm_private_random_address_generation_set_mode": "0x02020add", + "sm_private_random_address_generation_set_update_period": "0x02020b05", + "sm_register_oob_data_callback": "0x02020c41", + "sm_request_pairing": "0x02020c4d", + "sm_send_security_request": "0x0202168b", + "sm_set_accepted_stk_generation_methods": "0x020216b1", + "sm_set_authentication_requirements": "0x020216bd", + "sm_set_encryption_key_size_range": "0x020216c9", + "sscanf_bd_addr": "0x02021a29", + "sysSetPublicDeviceAddr": "0x02021e95", + "uuid128_to_str": "0x02022645", + "uuid_add_bluetooth_prefix": "0x0202269d", + "uuid_has_bluetooth_prefix": "0x020226bd" } \ No newline at end of file diff --git a/bundles/noos_mass_conn/ING9168xx/meta.json b/bundles/noos_mass_conn/ING9168xx/meta.json index 73cbcc756..0fd7c48da 100644 --- a/bundles/noos_mass_conn/ING9168xx/meta.json +++ b/bundles/noos_mass_conn/ING9168xx/meta.json @@ -4,15 +4,15 @@ }, "ram": { "base": 536870912, - "size": 4652 + "size": 4660 }, "rom": { "base": 33562624, - "size": 142008 + "size": 141956 }, "version": [ 2, 2, - 10 + 12 ] } \ No newline at end of file diff --git a/bundles/noos_mass_conn/ING9168xx/platform.bin b/bundles/noos_mass_conn/ING9168xx/platform.bin index 2a736354a..f455f4898 100644 Binary files a/bundles/noos_mass_conn/ING9168xx/platform.bin and b/bundles/noos_mass_conn/ING9168xx/platform.bin differ diff --git a/bundles/noos_mass_conn/ING9187xx/apis.json b/bundles/noos_mass_conn/ING9187xx/apis.json index 9bf71e6de..22cd339fe 100644 --- a/bundles/noos_mass_conn/ING9187xx/apis.json +++ b/bundles/noos_mass_conn/ING9187xx/apis.json @@ -1,236 +1,237 @@ { - "att_dispatch_client_can_send_now": "0x00005675", - "att_dispatch_client_request_can_send_now_event": "0x0000567b", - "att_dispatch_register_client": "0x00005681", - "att_dispatch_register_server": "0x00005695", - "att_dispatch_server_can_send_now": "0x000056a9", - "att_dispatch_server_request_can_send_now_event": "0x000056af", - "att_emit_general_event": "0x00005761", - "att_server_can_send_packet_now": "0x00005e75", - "att_server_deferred_read_response": "0x00005e79", - "att_server_get_mtu": "0x00005e91", - "att_server_indicate": "0x00005f09", - "att_server_init": "0x00005f8d", - "att_server_notify": "0x00005fc9", - "att_server_register_packet_handler": "0x000060e1", - "att_server_request_can_send_now_event": "0x000060ed", - "att_set_db": "0x00006109", - "att_set_read_callback": "0x0000611d", - "att_set_write_callback": "0x00006129", - "bd_addr_cmp": "0x00006299", - "bd_addr_copy": "0x0000629f", - "bd_addr_to_str": "0x000062a9", - "big_endian_read_16": "0x000062e1", - "big_endian_read_32": "0x000062e9", - "big_endian_store_16": "0x000062fd", - "big_endian_store_32": "0x00006309", - "btstack_config": "0x00006441", - "btstack_memory_pool_create": "0x0000658f", - "btstack_memory_pool_free": "0x000065b9", - "btstack_memory_pool_get": "0x00006619", - "btstack_push_user_msg": "0x00006661", - "btstack_push_user_runnable": "0x0000666d", - "char_for_nibble": "0x000068dd", - "gap_add_dev_to_periodic_list": "0x00007185", - "gap_add_whitelist": "0x0000719d", - "gap_aes_encrypt": "0x000071b1", - "gap_clear_white_lists": "0x000071f5", - "gap_clr_adv_set": "0x00007205", - "gap_clr_periodic_adv_list": "0x00007215", - "gap_create_connection_cancel": "0x00007225", - "gap_disconnect": "0x00007235", - "gap_disconnect_all": "0x00007261", - "gap_ext_create_connection": "0x000072a1", - "gap_get_connection_parameter_range": "0x00007391", - "gap_le_read_channel_map": "0x000073c9", - "gap_periodic_adv_create_sync": "0x0000743d", - "gap_periodic_adv_create_sync_cancel": "0x00007461", - "gap_periodic_adv_term_sync": "0x00007471", - "gap_read_periodic_adv_list_size": "0x00007505", - "gap_read_phy": "0x00007515", - "gap_read_remote_used_features": "0x00007529", - "gap_read_remote_version": "0x0000753d", - "gap_read_rssi": "0x00007551", - "gap_remove_whitelist": "0x00007565", - "gap_rmv_adv_set": "0x000075e9", - "gap_rmv_dev_from_periodic_list": "0x000075fd", - "gap_rx_test_v2": "0x00007615", - "gap_set_adv_set_random_addr": "0x00007655", - "gap_set_connection_parameter_range": "0x000076a5", - "gap_set_data_length": "0x000076c1", - "gap_set_def_phy": "0x000076dd", - "gap_set_ext_adv_data": "0x000076f5", - "gap_set_ext_adv_enable": "0x0000770d", - "gap_set_ext_adv_para": "0x00007789", - "gap_set_ext_scan_enable": "0x00007869", - "gap_set_ext_scan_para": "0x00007881", - "gap_set_ext_scan_response_data": "0x00007929", - "gap_set_host_channel_classification": "0x00007941", - "gap_set_periodic_adv_data": "0x00007955", - "gap_set_periodic_adv_enable": "0x000079c9", - "gap_set_periodic_adv_para": "0x000079dd", - "gap_set_phy": "0x000079f5", - "gap_set_random_device_address": "0x00007a11", - "gap_start_ccm": "0x00007a41", - "gap_test_end": "0x00007a75", - "gap_tx_test_v2": "0x00007a85", - "gap_tx_test_v4": "0x00007a9d", - "gap_update_connection_parameters": "0x00007ac5", - "gap_vendor_tx_continuous_wave": "0x00007b09", - "gatt_client_cancel_write": "0x00008031", - "gatt_client_discover_characteristic_descriptors": "0x00008057", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x00008097", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x000080e7", - "gatt_client_discover_characteristics_for_service": "0x00008137", - "gatt_client_discover_primary_services": "0x0000816d", - "gatt_client_discover_primary_services_by_uuid128": "0x0000819f", - "gatt_client_discover_primary_services_by_uuid16": "0x000081e3", - "gatt_client_execute_write": "0x0000821f", - "gatt_client_find_included_services_for_service": "0x00008245", - "gatt_client_get_mtu": "0x00008273", - "gatt_client_is_ready": "0x00008315", - "gatt_client_listen_for_characteristic_value_updates": "0x0000832b", - "gatt_client_prepare_write": "0x0000834d", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x00008389", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x000083b3", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x000083b9", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x000083e7", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x000083ed", - "gatt_client_read_multiple_characteristic_values": "0x0000841b", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x0000844b", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x00008479", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x000084c5", - "gatt_client_register_handler": "0x00008511", - "gatt_client_reliable_write_long_value_of_characteristic": "0x0000851d", - "gatt_client_signed_write_without_response": "0x0000894d", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008a11", - "gatt_client_write_client_characteristic_configuration": "0x00008a4b", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008a9d", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008aad", - "gatt_client_write_long_value_of_characteristic": "0x00008ae9", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008af9", - "gatt_client_write_value_of_characteristic": "0x00008b35", - "gatt_client_write_value_of_characteristic_without_response": "0x00008b6b", - "hci_add_event_handler": "0x0000a091", - "hci_power_control": "0x0000a82d", - "hci_register_acl_packet_handler": "0x0000a9e1", - "kv_commit": "0x0000afed", - "kv_get": "0x0000b045", - "kv_init": "0x0000b05d", - "kv_put": "0x0000b0c5", - "kv_remove": "0x0000b13d", - "kv_remove_all": "0x0000b179", - "kv_value_modified": "0x0000b1bd", - "kv_visit": "0x0000b1c1", - "l2cap_add_event_handler": "0x0000b275", - "l2cap_can_send_packet_now": "0x0000b285", - "l2cap_create_le_credit_based_connection_request": "0x0000b441", - "l2cap_credit_based_send": "0x0000b585", - "l2cap_credit_based_send_continue": "0x0000b5b1", - "l2cap_disconnect": "0x0000b62d", - "l2cap_get_le_credit_based_connection_credits": "0x0000b87d", - "l2cap_get_peer_mtu_for_local_cid": "0x0000b899", - "l2cap_init": "0x0000bc6d", - "l2cap_le_send_flow_control_credit": "0x0000bd63", - "l2cap_max_le_mtu": "0x0000c06d", - "l2cap_register_packet_handler": "0x0000c195", - "l2cap_register_service": "0x0000c1a1", - "l2cap_request_can_send_now_event": "0x0000c2b1", - "l2cap_request_connection_parameter_update": "0x0000c2cb", - "l2cap_send_echo_request": "0x0000c79d", - "l2cap_unregister_service": "0x0000c85d", - "le_device_db_add": "0x0000c8b5", - "le_device_db_find": "0x0000c989", - "le_device_db_from_key": "0x0000c9b5", - "le_device_db_iter_cur": "0x0000c9bd", - "le_device_db_iter_cur_key": "0x0000c9c1", - "le_device_db_iter_init": "0x0000c9c5", - "le_device_db_iter_next": "0x0000c9cd", - "le_device_db_remove_key": "0x0000c9f3", - "ll_free": "0x0000ca1f", - "ll_hint_on_ce_len": "0x0000ca29", - "ll_legacy_adv_set_interval": "0x0000ca61", - "ll_malloc": "0x0000ca71", - "ll_query_timing_info": "0x0000cba9", - "ll_scan_set_fixed_channel": "0x0000cc4d", - "ll_set_adv_access_address": "0x0000cd61", - "ll_set_adv_coded_scheme": "0x0000cd6d", - "ll_set_conn_coded_scheme": "0x0000cd9d", - "ll_set_conn_latency": "0x0000cdc9", - "ll_set_conn_tx_power": "0x0000cdf9", - "ll_set_def_antenna": "0x0000ce41", - "ll_set_initiating_coded_scheme": "0x0000ce5d", - "ll_set_max_conn_number": "0x0000ce69", - "nibble_for_char": "0x0001cd85", - "platform_32k_rc_auto_tune": "0x0001ce21", - "platform_32k_rc_tune": "0x0001ce9d", - "platform_calibrate_32k": "0x0001ceb1", - "platform_config": "0x0001ceb5", - "platform_controller_run": "0x0001cfa5", - "platform_enable_irq": "0x0001cfdd", - "platform_get_gen_os_driver": "0x0001d005", - "platform_get_task_handle": "0x0001d011", - "platform_get_us_time": "0x0001d029", - "platform_get_version": "0x0001d02d", - "platform_hrng": "0x0001d035", - "platform_init_controller": "0x0001d03d", - "platform_os_idle_resumed_hook": "0x0001d059", - "platform_patch_rf_init_data": "0x0001d05d", - "platform_post_sleep_processing": "0x0001d069", - "platform_pre_sleep_processing": "0x0001d06f", - "platform_pre_suppress_ticks_and_sleep_processing": "0x0001d075", - "platform_printf": "0x0001d079", - "platform_raise_assertion": "0x0001d08d", - "platform_rand": "0x0001d0a1", - "platform_read_info": "0x0001d0a5", - "platform_read_persistent_reg": "0x0001d0d5", - "platform_reset": "0x0001d0e5", - "platform_set_evt_callback": "0x0001d109", - "platform_set_evt_callback_table": "0x0001d11d", - "platform_set_irq_callback": "0x0001d129", - "platform_set_irq_callback_table": "0x0001d145", - "platform_set_rf_clk_source": "0x0001d151", - "platform_set_rf_init_data": "0x0001d15d", - "platform_set_rf_power_mapping": "0x0001d169", - "platform_set_timer": "0x0001d175", - "platform_shutdown": "0x0001d179", - "platform_switch_app": "0x0001d17d", - "platform_trace_raw": "0x0001d1a9", - "platform_write_persistent_reg": "0x0001d1c1", - "printf_hexdump": "0x0001d1d1", - "reverse_128": "0x0001d50d", - "reverse_24": "0x0001d513", - "reverse_48": "0x0001d519", - "reverse_56": "0x0001d51f", - "reverse_64": "0x0001d525", - "reverse_bd_addr": "0x0001d52b", - "reverse_bytes": "0x0001d531", - "sm_add_event_handler": "0x0001d69d", - "sm_address_resolution_lookup": "0x0001d7f5", - "sm_authenticated": "0x0001db55", - "sm_authorization_decline": "0x0001db63", - "sm_authorization_grant": "0x0001db83", - "sm_authorization_state": "0x0001dba3", - "sm_bonding_decline": "0x0001dbbd", - "sm_config": "0x0001dfdd", - "sm_config_conn": "0x0001dff5", - "sm_encryption_key_size": "0x0001e1ab", - "sm_just_works_confirm": "0x0001e6e5", - "sm_le_device_key": "0x0001ea21", - "sm_passkey_input": "0x0001eab7", - "sm_private_random_address_generation_get": "0x0001ee65", - "sm_private_random_address_generation_get_mode": "0x0001ee6d", - "sm_private_random_address_generation_set_mode": "0x0001ee79", - "sm_private_random_address_generation_set_update_period": "0x0001eea1", - "sm_register_oob_data_callback": "0x0001efdd", - "sm_request_pairing": "0x0001efe9", - "sm_send_security_request": "0x0001fa23", - "sm_set_accepted_stk_generation_methods": "0x0001fa49", - "sm_set_authentication_requirements": "0x0001fa55", - "sm_set_encryption_key_size_range": "0x0001fa61", - "sscanf_bd_addr": "0x0001fdbd", - "sysSetPublicDeviceAddr": "0x00020171", - "uuid128_to_str": "0x00020755", - "uuid_add_bluetooth_prefix": "0x000207ad", - "uuid_has_bluetooth_prefix": "0x000207cd" + "att_dispatch_client_can_send_now": "0x0000565d", + "att_dispatch_client_request_can_send_now_event": "0x00005663", + "att_dispatch_register_client": "0x00005669", + "att_dispatch_register_server": "0x0000567d", + "att_dispatch_server_can_send_now": "0x00005691", + "att_dispatch_server_request_can_send_now_event": "0x00005697", + "att_emit_general_event": "0x00005749", + "att_server_can_send_packet_now": "0x00005e5d", + "att_server_deferred_read_response": "0x00005e61", + "att_server_get_mtu": "0x00005e79", + "att_server_indicate": "0x00005ef1", + "att_server_init": "0x00005f75", + "att_server_notify": "0x00005fb1", + "att_server_register_packet_handler": "0x000060c9", + "att_server_request_can_send_now_event": "0x000060d5", + "att_set_db": "0x000060f1", + "att_set_read_callback": "0x00006105", + "att_set_write_callback": "0x00006111", + "bd_addr_cmp": "0x00006281", + "bd_addr_copy": "0x00006287", + "bd_addr_to_str": "0x00006291", + "big_endian_read_16": "0x000062c9", + "big_endian_read_32": "0x000062d1", + "big_endian_store_16": "0x000062e5", + "big_endian_store_32": "0x000062f1", + "btstack_config": "0x00006429", + "btstack_memory_pool_create": "0x00006577", + "btstack_memory_pool_free": "0x000065a1", + "btstack_memory_pool_get": "0x00006601", + "btstack_push_user_msg": "0x00006649", + "btstack_push_user_runnable": "0x00006655", + "char_for_nibble": "0x000068c5", + "gap_add_dev_to_periodic_list": "0x0000717d", + "gap_add_whitelist": "0x0000718d", + "gap_aes_encrypt": "0x00007199", + "gap_clear_white_lists": "0x000071dd", + "gap_clr_adv_set": "0x000071e9", + "gap_clr_periodic_adv_list": "0x000071f5", + "gap_create_connection_cancel": "0x00007201", + "gap_disconnect": "0x0000720d", + "gap_disconnect_all": "0x00007239", + "gap_ext_create_connection": "0x00007279", + "gap_get_connection_parameter_range": "0x00007369", + "gap_le_read_channel_map": "0x000073a1", + "gap_periodic_adv_create_sync": "0x0000740d", + "gap_periodic_adv_create_sync_cancel": "0x00007431", + "gap_periodic_adv_term_sync": "0x0000743d", + "gap_read_periodic_adv_list_size": "0x000074c5", + "gap_read_phy": "0x000074d1", + "gap_read_remote_used_features": "0x000074dd", + "gap_read_remote_version": "0x000074e9", + "gap_read_rssi": "0x000074f5", + "gap_remove_whitelist": "0x00007501", + "gap_rmv_adv_set": "0x0000757d", + "gap_rmv_dev_from_periodic_list": "0x00007589", + "gap_rx_test_v2": "0x00007599", + "gap_set_adv_set_random_addr": "0x000075d1", + "gap_set_connection_parameter_range": "0x0000761d", + "gap_set_data_length": "0x00007639", + "gap_set_def_phy": "0x00007651", + "gap_set_ext_adv_data": "0x00007661", + "gap_set_ext_adv_enable": "0x00007679", + "gap_set_ext_adv_para": "0x000076f5", + "gap_set_ext_scan_enable": "0x000077cd", + "gap_set_ext_scan_para": "0x000077e5", + "gap_set_ext_scan_response_data": "0x0000788d", + "gap_set_host_channel_classification": "0x000078a5", + "gap_set_periodic_adv_data": "0x000078b5", + "gap_set_periodic_adv_enable": "0x00007925", + "gap_set_periodic_adv_para": "0x00007935", + "gap_set_phy": "0x0000794d", + "gap_set_random_device_address": "0x00007969", + "gap_start_ccm": "0x00007999", + "gap_test_end": "0x000079ed", + "gap_tx_test_v2": "0x000079f9", + "gap_tx_test_v4": "0x00007a11", + "gap_update_connection_parameters": "0x00007a35", + "gap_vendor_tx_continuous_wave": "0x00007a79", + "gatt_client_cancel_write": "0x00007fa1", + "gatt_client_discover_characteristic_descriptors": "0x00007fc7", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x00008007", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x00008057", + "gatt_client_discover_characteristics_for_service": "0x000080a7", + "gatt_client_discover_primary_services": "0x000080dd", + "gatt_client_discover_primary_services_by_uuid128": "0x0000810f", + "gatt_client_discover_primary_services_by_uuid16": "0x00008153", + "gatt_client_execute_write": "0x0000818f", + "gatt_client_find_included_services_for_service": "0x000081b5", + "gatt_client_get_mtu": "0x000081e3", + "gatt_client_is_ready": "0x00008285", + "gatt_client_listen_for_characteristic_value_updates": "0x0000829b", + "gatt_client_prepare_write": "0x000082bd", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x000082f9", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x00008323", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008329", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x00008357", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x0000835d", + "gatt_client_read_multiple_characteristic_values": "0x0000838b", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x000083bb", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x000083e9", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x00008435", + "gatt_client_register_handler": "0x00008481", + "gatt_client_reliable_write_long_value_of_characteristic": "0x0000848d", + "gatt_client_signed_write_without_response": "0x000088bd", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008981", + "gatt_client_write_client_characteristic_configuration": "0x000089bb", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008a0d", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008a1d", + "gatt_client_write_long_value_of_characteristic": "0x00008a59", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008a69", + "gatt_client_write_value_of_characteristic": "0x00008aa5", + "gatt_client_write_value_of_characteristic_without_response": "0x00008adb", + "hci_add_event_handler": "0x0000a001", + "hci_power_control": "0x0000a79d", + "hci_register_acl_packet_handler": "0x0000a951", + "kv_commit": "0x0000af55", + "kv_get": "0x0000afad", + "kv_init": "0x0000afc5", + "kv_put": "0x0000b02d", + "kv_remove": "0x0000b0a5", + "kv_remove_all": "0x0000b0e1", + "kv_value_modified": "0x0000b125", + "kv_visit": "0x0000b129", + "l2cap_add_event_handler": "0x0000b1dd", + "l2cap_can_send_packet_now": "0x0000b1ed", + "l2cap_create_le_credit_based_connection_request": "0x0000b3a9", + "l2cap_credit_based_send": "0x0000b4ed", + "l2cap_credit_based_send_continue": "0x0000b519", + "l2cap_disconnect": "0x0000b595", + "l2cap_get_le_credit_based_connection_credits": "0x0000b7e5", + "l2cap_get_peer_mtu_for_local_cid": "0x0000b801", + "l2cap_init": "0x0000bbd5", + "l2cap_le_send_flow_control_credit": "0x0000bccb", + "l2cap_max_le_mtu": "0x0000bfd5", + "l2cap_register_packet_handler": "0x0000c0fd", + "l2cap_register_service": "0x0000c109", + "l2cap_request_can_send_now_event": "0x0000c219", + "l2cap_request_connection_parameter_update": "0x0000c233", + "l2cap_send_echo_request": "0x0000c705", + "l2cap_unregister_service": "0x0000c7c5", + "le_device_db_add": "0x0000c81d", + "le_device_db_find": "0x0000c8f1", + "le_device_db_from_key": "0x0000c91d", + "le_device_db_iter_cur": "0x0000c925", + "le_device_db_iter_cur_key": "0x0000c929", + "le_device_db_iter_init": "0x0000c92d", + "le_device_db_iter_next": "0x0000c935", + "le_device_db_remove_key": "0x0000c95b", + "ll_aes_encrypt": "0x0000c989", + "ll_free": "0x0000ca05", + "ll_hint_on_ce_len": "0x0000ca11", + "ll_legacy_adv_set_interval": "0x0000ca49", + "ll_malloc": "0x0000ca59", + "ll_query_timing_info": "0x0000cb91", + "ll_scan_set_fixed_channel": "0x0000cc35", + "ll_set_adv_access_address": "0x0000cd49", + "ll_set_adv_coded_scheme": "0x0000cd55", + "ll_set_conn_coded_scheme": "0x0000cd85", + "ll_set_conn_latency": "0x0000cdb1", + "ll_set_conn_tx_power": "0x0000cde1", + "ll_set_def_antenna": "0x0000ce29", + "ll_set_initiating_coded_scheme": "0x0000ce45", + "ll_set_max_conn_number": "0x0000ce51", + "nibble_for_char": "0x0001cd81", + "platform_32k_rc_auto_tune": "0x0001ce1d", + "platform_32k_rc_tune": "0x0001ce99", + "platform_calibrate_32k": "0x0001cead", + "platform_config": "0x0001ceb1", + "platform_controller_run": "0x0001cfa1", + "platform_enable_irq": "0x0001cfd9", + "platform_get_gen_os_driver": "0x0001d011", + "platform_get_task_handle": "0x0001d01d", + "platform_get_us_time": "0x0001d035", + "platform_get_version": "0x0001d039", + "platform_hrng": "0x0001d041", + "platform_init_controller": "0x0001d049", + "platform_os_idle_resumed_hook": "0x0001d065", + "platform_patch_rf_init_data": "0x0001d069", + "platform_post_sleep_processing": "0x0001d075", + "platform_pre_sleep_processing": "0x0001d07b", + "platform_pre_suppress_ticks_and_sleep_processing": "0x0001d081", + "platform_printf": "0x0001d085", + "platform_raise_assertion": "0x0001d099", + "platform_rand": "0x0001d0ad", + "platform_read_info": "0x0001d0b1", + "platform_read_persistent_reg": "0x0001d0e1", + "platform_reset": "0x0001d0f1", + "platform_set_evt_callback": "0x0001d115", + "platform_set_evt_callback_table": "0x0001d129", + "platform_set_irq_callback": "0x0001d135", + "platform_set_irq_callback_table": "0x0001d151", + "platform_set_rf_clk_source": "0x0001d15d", + "platform_set_rf_init_data": "0x0001d169", + "platform_set_rf_power_mapping": "0x0001d175", + "platform_set_timer": "0x0001d181", + "platform_shutdown": "0x0001d185", + "platform_switch_app": "0x0001d189", + "platform_trace_raw": "0x0001d1b5", + "platform_write_persistent_reg": "0x0001d1cd", + "printf_hexdump": "0x0001d1dd", + "reverse_128": "0x0001d519", + "reverse_24": "0x0001d51f", + "reverse_48": "0x0001d525", + "reverse_56": "0x0001d52b", + "reverse_64": "0x0001d531", + "reverse_bd_addr": "0x0001d537", + "reverse_bytes": "0x0001d53d", + "sm_add_event_handler": "0x0001d6a9", + "sm_address_resolution_lookup": "0x0001d801", + "sm_authenticated": "0x0001db61", + "sm_authorization_decline": "0x0001db6f", + "sm_authorization_grant": "0x0001db8f", + "sm_authorization_state": "0x0001dbaf", + "sm_bonding_decline": "0x0001dbc9", + "sm_config": "0x0001dfe9", + "sm_config_conn": "0x0001e001", + "sm_encryption_key_size": "0x0001e1b7", + "sm_just_works_confirm": "0x0001e6f1", + "sm_le_device_key": "0x0001ea2d", + "sm_passkey_input": "0x0001eac3", + "sm_private_random_address_generation_get": "0x0001ee71", + "sm_private_random_address_generation_get_mode": "0x0001ee79", + "sm_private_random_address_generation_set_mode": "0x0001ee85", + "sm_private_random_address_generation_set_update_period": "0x0001eead", + "sm_register_oob_data_callback": "0x0001efe9", + "sm_request_pairing": "0x0001eff5", + "sm_send_security_request": "0x0001fa2f", + "sm_set_accepted_stk_generation_methods": "0x0001fa55", + "sm_set_authentication_requirements": "0x0001fa61", + "sm_set_encryption_key_size_range": "0x0001fa6d", + "sscanf_bd_addr": "0x0001fdc9", + "sysSetPublicDeviceAddr": "0x0002017d", + "uuid128_to_str": "0x00020761", + "uuid_add_bluetooth_prefix": "0x000207b9", + "uuid_has_bluetooth_prefix": "0x000207d9" } \ No newline at end of file diff --git a/bundles/noos_mass_conn/ING9187xx/meta.json b/bundles/noos_mass_conn/ING9187xx/meta.json index f5f77b59b..36ab6a6cf 100644 --- a/bundles/noos_mass_conn/ING9187xx/meta.json +++ b/bundles/noos_mass_conn/ING9187xx/meta.json @@ -8,11 +8,11 @@ }, "rom": { "base": 16384, - "size": 122948 + "size": 122960 }, "version": [ 1, 9, - 12 + 15 ] } \ No newline at end of file diff --git a/bundles/noos_mass_conn/ING9187xx/platform.bin b/bundles/noos_mass_conn/ING9187xx/platform.bin index 35b680072..28109f9fb 100644 Binary files a/bundles/noos_mass_conn/ING9187xx/platform.bin and b/bundles/noos_mass_conn/ING9187xx/platform.bin differ diff --git a/bundles/noos_mass_conn/ING9188xx/apis.json b/bundles/noos_mass_conn/ING9188xx/apis.json index 2aafb7902..9b1910474 100644 --- a/bundles/noos_mass_conn/ING9188xx/apis.json +++ b/bundles/noos_mass_conn/ING9188xx/apis.json @@ -1,250 +1,251 @@ { - "att_dispatch_client_can_send_now": "0x00005799", - "att_dispatch_client_request_can_send_now_event": "0x0000579f", - "att_dispatch_register_client": "0x000057a5", - "att_dispatch_register_server": "0x000057b9", - "att_dispatch_server_can_send_now": "0x000057cd", - "att_dispatch_server_request_can_send_now_event": "0x000057d3", - "att_emit_general_event": "0x00005885", - "att_server_can_send_packet_now": "0x00005f99", - "att_server_deferred_read_response": "0x00005f9d", - "att_server_get_mtu": "0x00005fb5", - "att_server_indicate": "0x0000602d", - "att_server_init": "0x000060b1", - "att_server_notify": "0x000060ed", - "att_server_register_packet_handler": "0x00006205", - "att_server_request_can_send_now_event": "0x00006211", - "att_set_db": "0x0000622d", - "att_set_read_callback": "0x00006241", - "att_set_write_callback": "0x0000624d", - "bd_addr_cmp": "0x000063bd", - "bd_addr_copy": "0x000063c3", - "bd_addr_to_str": "0x000063cd", - "big_endian_read_16": "0x00006405", - "big_endian_read_32": "0x0000640d", - "big_endian_store_16": "0x00006421", - "big_endian_store_32": "0x0000642d", - "btstack_config": "0x00006565", - "btstack_memory_pool_create": "0x000066b3", - "btstack_memory_pool_free": "0x000066dd", - "btstack_memory_pool_get": "0x0000673d", - "btstack_push_user_msg": "0x00006785", - "btstack_push_user_runnable": "0x00006791", - "char_for_nibble": "0x00006a01", - "gap_add_dev_to_periodic_list": "0x00007319", - "gap_add_whitelist": "0x00007331", - "gap_aes_encrypt": "0x00007345", - "gap_clear_white_lists": "0x00007389", - "gap_clr_adv_set": "0x00007399", - "gap_clr_periodic_adv_list": "0x000073a9", - "gap_create_connection_cancel": "0x000073b9", - "gap_default_periodic_adv_sync_transfer_param": "0x000073c9", - "gap_disconnect": "0x000073e1", - "gap_disconnect_all": "0x0000740d", - "gap_ext_create_connection": "0x0000744d", - "gap_get_connection_parameter_range": "0x0000753d", - "gap_le_read_channel_map": "0x00007575", - "gap_periodic_adv_create_sync": "0x000075e9", - "gap_periodic_adv_create_sync_cancel": "0x0000760d", - "gap_periodic_adv_set_info_transfer": "0x0000761d", - "gap_periodic_adv_sync_transfer": "0x00007635", - "gap_periodic_adv_sync_transfer_param": "0x0000764d", - "gap_periodic_adv_term_sync": "0x00007669", - "gap_read_antenna_info": "0x000076fd", - "gap_read_periodic_adv_list_size": "0x0000770d", - "gap_read_phy": "0x0000771d", - "gap_read_remote_used_features": "0x00007731", - "gap_read_remote_version": "0x00007745", - "gap_read_rssi": "0x00007759", - "gap_remove_whitelist": "0x0000776d", - "gap_rmv_adv_set": "0x000077f1", - "gap_rmv_dev_from_periodic_list": "0x00007805", - "gap_rx_test_v2": "0x0000781d", - "gap_rx_test_v3": "0x00007835", - "gap_set_adv_set_random_addr": "0x00007885", - "gap_set_connection_cte_request_enable": "0x000078d5", - "gap_set_connection_cte_response_enable": "0x000078f1", - "gap_set_connection_cte_rx_param": "0x00007905", - "gap_set_connection_cte_tx_param": "0x00007961", - "gap_set_connection_parameter_range": "0x000079b5", - "gap_set_connectionless_cte_tx_enable": "0x000079d1", - "gap_set_connectionless_cte_tx_param": "0x000079e5", - "gap_set_connectionless_iq_sampling_enable": "0x00007a45", - "gap_set_data_length": "0x00007aa9", - "gap_set_def_phy": "0x00007ac5", - "gap_set_ext_adv_data": "0x00007add", - "gap_set_ext_adv_enable": "0x00007af5", - "gap_set_ext_adv_para": "0x00007b71", - "gap_set_ext_scan_enable": "0x00007c51", - "gap_set_ext_scan_para": "0x00007c69", - "gap_set_ext_scan_response_data": "0x00007d11", - "gap_set_host_channel_classification": "0x00007d29", - "gap_set_periodic_adv_data": "0x00007d3d", - "gap_set_periodic_adv_enable": "0x00007db1", - "gap_set_periodic_adv_para": "0x00007dc5", - "gap_set_periodic_adv_rx_enable": "0x00007ddd", - "gap_set_phy": "0x00007df1", - "gap_set_random_device_address": "0x00007e0d", - "gap_start_ccm": "0x00007e3d", - "gap_test_end": "0x00007e71", - "gap_tx_test_v2": "0x00007e81", - "gap_tx_test_v4": "0x00007e99", - "gap_update_connection_parameters": "0x00007ec1", - "gap_vendor_tx_continuous_wave": "0x00007f05", - "gatt_client_cancel_write": "0x0000842d", - "gatt_client_discover_characteristic_descriptors": "0x00008453", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x00008493", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x000084e3", - "gatt_client_discover_characteristics_for_service": "0x00008533", - "gatt_client_discover_primary_services": "0x00008569", - "gatt_client_discover_primary_services_by_uuid128": "0x0000859b", - "gatt_client_discover_primary_services_by_uuid16": "0x000085df", - "gatt_client_execute_write": "0x0000861b", - "gatt_client_find_included_services_for_service": "0x00008641", - "gatt_client_get_mtu": "0x0000866f", - "gatt_client_is_ready": "0x00008711", - "gatt_client_listen_for_characteristic_value_updates": "0x00008727", - "gatt_client_prepare_write": "0x00008749", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x00008785", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x000087af", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x000087b5", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x000087e3", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x000087e9", - "gatt_client_read_multiple_characteristic_values": "0x00008817", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x00008847", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x00008875", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x000088c1", - "gatt_client_register_handler": "0x0000890d", - "gatt_client_reliable_write_long_value_of_characteristic": "0x00008919", - "gatt_client_signed_write_without_response": "0x00008d49", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008e0d", - "gatt_client_write_client_characteristic_configuration": "0x00008e47", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008e99", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008ea9", - "gatt_client_write_long_value_of_characteristic": "0x00008ee5", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008ef5", - "gatt_client_write_value_of_characteristic": "0x00008f31", - "gatt_client_write_value_of_characteristic_without_response": "0x00008f67", - "hci_add_event_handler": "0x0000a4a9", - "hci_power_control": "0x0000ac45", - "hci_register_acl_packet_handler": "0x0000adf9", - "kv_commit": "0x0000b405", - "kv_get": "0x0000b45d", - "kv_init": "0x0000b475", - "kv_put": "0x0000b4dd", - "kv_remove": "0x0000b555", - "kv_remove_all": "0x0000b591", - "kv_value_modified": "0x0000b5d5", - "kv_visit": "0x0000b5d9", - "l2cap_add_event_handler": "0x0000b68d", - "l2cap_can_send_packet_now": "0x0000b69d", - "l2cap_create_le_credit_based_connection_request": "0x0000b859", - "l2cap_credit_based_send": "0x0000b99d", - "l2cap_credit_based_send_continue": "0x0000b9c9", - "l2cap_disconnect": "0x0000ba45", - "l2cap_get_le_credit_based_connection_credits": "0x0000bc95", - "l2cap_get_peer_mtu_for_local_cid": "0x0000bcb1", - "l2cap_init": "0x0000c085", - "l2cap_le_send_flow_control_credit": "0x0000c17b", - "l2cap_max_le_mtu": "0x0000c485", - "l2cap_register_packet_handler": "0x0000c5ad", - "l2cap_register_service": "0x0000c5b9", - "l2cap_request_can_send_now_event": "0x0000c6c9", - "l2cap_request_connection_parameter_update": "0x0000c6e3", - "l2cap_send_echo_request": "0x0000cbb5", - "l2cap_unregister_service": "0x0000cc75", - "le_device_db_add": "0x0000cccd", - "le_device_db_find": "0x0000cda1", - "le_device_db_from_key": "0x0000cdcd", - "le_device_db_iter_cur": "0x0000cdd5", - "le_device_db_iter_cur_key": "0x0000cdd9", - "le_device_db_iter_init": "0x0000cddd", - "le_device_db_iter_next": "0x0000cde5", - "le_device_db_remove_key": "0x0000ce0b", - "ll_free": "0x0000ce37", - "ll_hint_on_ce_len": "0x0000ce41", - "ll_legacy_adv_set_interval": "0x0000ce79", - "ll_malloc": "0x0000ce89", - "ll_query_timing_info": "0x0000cfc1", - "ll_scan_set_fixed_channel": "0x0000d065", - "ll_set_adv_access_address": "0x0000d179", - "ll_set_adv_coded_scheme": "0x0000d185", - "ll_set_conn_coded_scheme": "0x0000d1b5", - "ll_set_conn_latency": "0x0000d1e1", - "ll_set_conn_tx_power": "0x0000d211", - "ll_set_def_antenna": "0x0000d259", - "ll_set_initiating_coded_scheme": "0x0000d275", - "ll_set_max_conn_number": "0x0000d281", - "nibble_for_char": "0x0001e07d", - "platform_32k_rc_auto_tune": "0x0001e119", - "platform_32k_rc_tune": "0x0001e195", - "platform_calibrate_32k": "0x0001e1a9", - "platform_config": "0x0001e1ad", - "platform_controller_run": "0x0001e29d", - "platform_enable_irq": "0x0001e2d5", - "platform_get_gen_os_driver": "0x0001e2fd", - "platform_get_task_handle": "0x0001e309", - "platform_get_us_time": "0x0001e321", - "platform_get_version": "0x0001e325", - "platform_hrng": "0x0001e32d", - "platform_init_controller": "0x0001e335", - "platform_os_idle_resumed_hook": "0x0001e351", - "platform_patch_rf_init_data": "0x0001e355", - "platform_post_sleep_processing": "0x0001e361", - "platform_pre_sleep_processing": "0x0001e367", - "platform_pre_suppress_ticks_and_sleep_processing": "0x0001e36d", - "platform_printf": "0x0001e371", - "platform_raise_assertion": "0x0001e385", - "platform_rand": "0x0001e399", - "platform_read_info": "0x0001e39d", - "platform_read_persistent_reg": "0x0001e3cd", - "platform_reset": "0x0001e3dd", - "platform_set_evt_callback": "0x0001e401", - "platform_set_evt_callback_table": "0x0001e415", - "platform_set_irq_callback": "0x0001e421", - "platform_set_irq_callback_table": "0x0001e43d", - "platform_set_rf_clk_source": "0x0001e449", - "platform_set_rf_init_data": "0x0001e455", - "platform_set_rf_power_mapping": "0x0001e461", - "platform_set_timer": "0x0001e46d", - "platform_shutdown": "0x0001e471", - "platform_switch_app": "0x0001e475", - "platform_trace_raw": "0x0001e4a1", - "platform_write_persistent_reg": "0x0001e4b9", - "printf_hexdump": "0x0001e4c9", - "reverse_128": "0x0001e83d", - "reverse_24": "0x0001e843", - "reverse_48": "0x0001e849", - "reverse_56": "0x0001e84f", - "reverse_64": "0x0001e855", - "reverse_bd_addr": "0x0001e85b", - "reverse_bytes": "0x0001e861", - "sm_add_event_handler": "0x0001eb21", - "sm_address_resolution_lookup": "0x0001ec79", - "sm_authenticated": "0x0001efd9", - "sm_authorization_decline": "0x0001efe7", - "sm_authorization_grant": "0x0001f007", - "sm_authorization_state": "0x0001f027", - "sm_bonding_decline": "0x0001f041", - "sm_config": "0x0001f461", - "sm_config_conn": "0x0001f479", - "sm_encryption_key_size": "0x0001f62f", - "sm_just_works_confirm": "0x0001fb69", - "sm_le_device_key": "0x0001fea5", - "sm_passkey_input": "0x0001ff3b", - "sm_private_random_address_generation_get": "0x000202e9", - "sm_private_random_address_generation_get_mode": "0x000202f1", - "sm_private_random_address_generation_set_mode": "0x000202fd", - "sm_private_random_address_generation_set_update_period": "0x00020325", - "sm_register_oob_data_callback": "0x00020461", - "sm_request_pairing": "0x0002046d", - "sm_send_security_request": "0x00020ea7", - "sm_set_accepted_stk_generation_methods": "0x00020ecd", - "sm_set_authentication_requirements": "0x00020ed9", - "sm_set_encryption_key_size_range": "0x00020ee5", - "sscanf_bd_addr": "0x00021241", - "sysSetPublicDeviceAddr": "0x000215f5", - "uuid128_to_str": "0x00021d6d", - "uuid_add_bluetooth_prefix": "0x00021dc5", - "uuid_has_bluetooth_prefix": "0x00021de5" + "att_dispatch_client_can_send_now": "0x00005781", + "att_dispatch_client_request_can_send_now_event": "0x00005787", + "att_dispatch_register_client": "0x0000578d", + "att_dispatch_register_server": "0x000057a1", + "att_dispatch_server_can_send_now": "0x000057b5", + "att_dispatch_server_request_can_send_now_event": "0x000057bb", + "att_emit_general_event": "0x0000586d", + "att_server_can_send_packet_now": "0x00005f81", + "att_server_deferred_read_response": "0x00005f85", + "att_server_get_mtu": "0x00005f9d", + "att_server_indicate": "0x00006015", + "att_server_init": "0x00006099", + "att_server_notify": "0x000060d5", + "att_server_register_packet_handler": "0x000061ed", + "att_server_request_can_send_now_event": "0x000061f9", + "att_set_db": "0x00006215", + "att_set_read_callback": "0x00006229", + "att_set_write_callback": "0x00006235", + "bd_addr_cmp": "0x000063a5", + "bd_addr_copy": "0x000063ab", + "bd_addr_to_str": "0x000063b5", + "big_endian_read_16": "0x000063ed", + "big_endian_read_32": "0x000063f5", + "big_endian_store_16": "0x00006409", + "big_endian_store_32": "0x00006415", + "btstack_config": "0x0000654d", + "btstack_memory_pool_create": "0x0000669b", + "btstack_memory_pool_free": "0x000066c5", + "btstack_memory_pool_get": "0x00006725", + "btstack_push_user_msg": "0x0000676d", + "btstack_push_user_runnable": "0x00006779", + "char_for_nibble": "0x000069e9", + "gap_add_dev_to_periodic_list": "0x00007311", + "gap_add_whitelist": "0x00007321", + "gap_aes_encrypt": "0x0000732d", + "gap_clear_white_lists": "0x00007371", + "gap_clr_adv_set": "0x0000737d", + "gap_clr_periodic_adv_list": "0x00007389", + "gap_create_connection_cancel": "0x00007395", + "gap_default_periodic_adv_sync_transfer_param": "0x000073a1", + "gap_disconnect": "0x000073b9", + "gap_disconnect_all": "0x000073e5", + "gap_ext_create_connection": "0x00007425", + "gap_get_connection_parameter_range": "0x00007515", + "gap_le_read_channel_map": "0x0000754d", + "gap_periodic_adv_create_sync": "0x000075b9", + "gap_periodic_adv_create_sync_cancel": "0x000075dd", + "gap_periodic_adv_set_info_transfer": "0x000075e9", + "gap_periodic_adv_sync_transfer": "0x000075f9", + "gap_periodic_adv_sync_transfer_param": "0x00007609", + "gap_periodic_adv_term_sync": "0x00007625", + "gap_read_antenna_info": "0x000076ad", + "gap_read_periodic_adv_list_size": "0x000076b9", + "gap_read_phy": "0x000076c5", + "gap_read_remote_used_features": "0x000076d1", + "gap_read_remote_version": "0x000076dd", + "gap_read_rssi": "0x000076e9", + "gap_remove_whitelist": "0x000076f5", + "gap_rmv_adv_set": "0x00007771", + "gap_rmv_dev_from_periodic_list": "0x0000777d", + "gap_rx_test_v2": "0x0000778d", + "gap_rx_test_v3": "0x0000779d", + "gap_set_adv_set_random_addr": "0x000077e9", + "gap_set_connection_cte_request_enable": "0x00007835", + "gap_set_connection_cte_response_enable": "0x00007851", + "gap_set_connection_cte_rx_param": "0x00007861", + "gap_set_connection_cte_tx_param": "0x000078bd", + "gap_set_connection_parameter_range": "0x00007911", + "gap_set_connectionless_cte_tx_enable": "0x0000792d", + "gap_set_connectionless_cte_tx_param": "0x0000793d", + "gap_set_connectionless_iq_sampling_enable": "0x0000799d", + "gap_set_data_length": "0x00007a01", + "gap_set_def_phy": "0x00007a19", + "gap_set_ext_adv_data": "0x00007a29", + "gap_set_ext_adv_enable": "0x00007a41", + "gap_set_ext_adv_para": "0x00007abd", + "gap_set_ext_scan_enable": "0x00007b95", + "gap_set_ext_scan_para": "0x00007bad", + "gap_set_ext_scan_response_data": "0x00007c55", + "gap_set_host_channel_classification": "0x00007c6d", + "gap_set_periodic_adv_data": "0x00007c7d", + "gap_set_periodic_adv_enable": "0x00007ced", + "gap_set_periodic_adv_para": "0x00007cfd", + "gap_set_periodic_adv_rx_enable": "0x00007d15", + "gap_set_phy": "0x00007d25", + "gap_set_random_device_address": "0x00007d41", + "gap_start_ccm": "0x00007d71", + "gap_test_end": "0x00007dc5", + "gap_tx_test_v2": "0x00007dd1", + "gap_tx_test_v4": "0x00007de9", + "gap_update_connection_parameters": "0x00007e0d", + "gap_vendor_tx_continuous_wave": "0x00007e51", + "gatt_client_cancel_write": "0x00008379", + "gatt_client_discover_characteristic_descriptors": "0x0000839f", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x000083df", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x0000842f", + "gatt_client_discover_characteristics_for_service": "0x0000847f", + "gatt_client_discover_primary_services": "0x000084b5", + "gatt_client_discover_primary_services_by_uuid128": "0x000084e7", + "gatt_client_discover_primary_services_by_uuid16": "0x0000852b", + "gatt_client_execute_write": "0x00008567", + "gatt_client_find_included_services_for_service": "0x0000858d", + "gatt_client_get_mtu": "0x000085bb", + "gatt_client_is_ready": "0x0000865d", + "gatt_client_listen_for_characteristic_value_updates": "0x00008673", + "gatt_client_prepare_write": "0x00008695", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x000086d1", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x000086fb", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008701", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x0000872f", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x00008735", + "gatt_client_read_multiple_characteristic_values": "0x00008763", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x00008793", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x000087c1", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x0000880d", + "gatt_client_register_handler": "0x00008859", + "gatt_client_reliable_write_long_value_of_characteristic": "0x00008865", + "gatt_client_signed_write_without_response": "0x00008c95", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008d59", + "gatt_client_write_client_characteristic_configuration": "0x00008d93", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008de5", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008df5", + "gatt_client_write_long_value_of_characteristic": "0x00008e31", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008e41", + "gatt_client_write_value_of_characteristic": "0x00008e7d", + "gatt_client_write_value_of_characteristic_without_response": "0x00008eb3", + "hci_add_event_handler": "0x0000a3f5", + "hci_power_control": "0x0000ab91", + "hci_register_acl_packet_handler": "0x0000ad45", + "kv_commit": "0x0000b349", + "kv_get": "0x0000b3a1", + "kv_init": "0x0000b3b9", + "kv_put": "0x0000b421", + "kv_remove": "0x0000b499", + "kv_remove_all": "0x0000b4d5", + "kv_value_modified": "0x0000b519", + "kv_visit": "0x0000b51d", + "l2cap_add_event_handler": "0x0000b5d1", + "l2cap_can_send_packet_now": "0x0000b5e1", + "l2cap_create_le_credit_based_connection_request": "0x0000b79d", + "l2cap_credit_based_send": "0x0000b8e1", + "l2cap_credit_based_send_continue": "0x0000b90d", + "l2cap_disconnect": "0x0000b989", + "l2cap_get_le_credit_based_connection_credits": "0x0000bbd9", + "l2cap_get_peer_mtu_for_local_cid": "0x0000bbf5", + "l2cap_init": "0x0000bfc9", + "l2cap_le_send_flow_control_credit": "0x0000c0bf", + "l2cap_max_le_mtu": "0x0000c3c9", + "l2cap_register_packet_handler": "0x0000c4f1", + "l2cap_register_service": "0x0000c4fd", + "l2cap_request_can_send_now_event": "0x0000c60d", + "l2cap_request_connection_parameter_update": "0x0000c627", + "l2cap_send_echo_request": "0x0000caf9", + "l2cap_unregister_service": "0x0000cbb9", + "le_device_db_add": "0x0000cc11", + "le_device_db_find": "0x0000cce5", + "le_device_db_from_key": "0x0000cd11", + "le_device_db_iter_cur": "0x0000cd19", + "le_device_db_iter_cur_key": "0x0000cd1d", + "le_device_db_iter_init": "0x0000cd21", + "le_device_db_iter_next": "0x0000cd29", + "le_device_db_remove_key": "0x0000cd4f", + "ll_aes_encrypt": "0x0000cd7d", + "ll_free": "0x0000cdf9", + "ll_hint_on_ce_len": "0x0000ce05", + "ll_legacy_adv_set_interval": "0x0000ce3d", + "ll_malloc": "0x0000ce4d", + "ll_query_timing_info": "0x0000cf85", + "ll_scan_set_fixed_channel": "0x0000d029", + "ll_set_adv_access_address": "0x0000d13d", + "ll_set_adv_coded_scheme": "0x0000d149", + "ll_set_conn_coded_scheme": "0x0000d179", + "ll_set_conn_latency": "0x0000d1a5", + "ll_set_conn_tx_power": "0x0000d1d5", + "ll_set_def_antenna": "0x0000d21d", + "ll_set_initiating_coded_scheme": "0x0000d239", + "ll_set_max_conn_number": "0x0000d245", + "nibble_for_char": "0x0001e055", + "platform_32k_rc_auto_tune": "0x0001e0f1", + "platform_32k_rc_tune": "0x0001e16d", + "platform_calibrate_32k": "0x0001e181", + "platform_config": "0x0001e185", + "platform_controller_run": "0x0001e275", + "platform_enable_irq": "0x0001e2ad", + "platform_get_gen_os_driver": "0x0001e2e5", + "platform_get_task_handle": "0x0001e2f1", + "platform_get_us_time": "0x0001e309", + "platform_get_version": "0x0001e30d", + "platform_hrng": "0x0001e315", + "platform_init_controller": "0x0001e31d", + "platform_os_idle_resumed_hook": "0x0001e339", + "platform_patch_rf_init_data": "0x0001e33d", + "platform_post_sleep_processing": "0x0001e349", + "platform_pre_sleep_processing": "0x0001e34f", + "platform_pre_suppress_ticks_and_sleep_processing": "0x0001e355", + "platform_printf": "0x0001e359", + "platform_raise_assertion": "0x0001e36d", + "platform_rand": "0x0001e381", + "platform_read_info": "0x0001e385", + "platform_read_persistent_reg": "0x0001e3b5", + "platform_reset": "0x0001e3c5", + "platform_set_evt_callback": "0x0001e3e9", + "platform_set_evt_callback_table": "0x0001e3fd", + "platform_set_irq_callback": "0x0001e409", + "platform_set_irq_callback_table": "0x0001e425", + "platform_set_rf_clk_source": "0x0001e431", + "platform_set_rf_init_data": "0x0001e43d", + "platform_set_rf_power_mapping": "0x0001e449", + "platform_set_timer": "0x0001e455", + "platform_shutdown": "0x0001e459", + "platform_switch_app": "0x0001e45d", + "platform_trace_raw": "0x0001e489", + "platform_write_persistent_reg": "0x0001e4a1", + "printf_hexdump": "0x0001e4b1", + "reverse_128": "0x0001e825", + "reverse_24": "0x0001e82b", + "reverse_48": "0x0001e831", + "reverse_56": "0x0001e837", + "reverse_64": "0x0001e83d", + "reverse_bd_addr": "0x0001e843", + "reverse_bytes": "0x0001e849", + "sm_add_event_handler": "0x0001eb09", + "sm_address_resolution_lookup": "0x0001ec61", + "sm_authenticated": "0x0001efc1", + "sm_authorization_decline": "0x0001efcf", + "sm_authorization_grant": "0x0001efef", + "sm_authorization_state": "0x0001f00f", + "sm_bonding_decline": "0x0001f029", + "sm_config": "0x0001f449", + "sm_config_conn": "0x0001f461", + "sm_encryption_key_size": "0x0001f617", + "sm_just_works_confirm": "0x0001fb51", + "sm_le_device_key": "0x0001fe8d", + "sm_passkey_input": "0x0001ff23", + "sm_private_random_address_generation_get": "0x000202d1", + "sm_private_random_address_generation_get_mode": "0x000202d9", + "sm_private_random_address_generation_set_mode": "0x000202e5", + "sm_private_random_address_generation_set_update_period": "0x0002030d", + "sm_register_oob_data_callback": "0x00020449", + "sm_request_pairing": "0x00020455", + "sm_send_security_request": "0x00020e8f", + "sm_set_accepted_stk_generation_methods": "0x00020eb5", + "sm_set_authentication_requirements": "0x00020ec1", + "sm_set_encryption_key_size_range": "0x00020ecd", + "sscanf_bd_addr": "0x00021229", + "sysSetPublicDeviceAddr": "0x000215dd", + "uuid128_to_str": "0x00021d55", + "uuid_add_bluetooth_prefix": "0x00021dad", + "uuid_has_bluetooth_prefix": "0x00021dcd" } \ No newline at end of file diff --git a/bundles/noos_mass_conn/ING9188xx/meta.json b/bundles/noos_mass_conn/ING9188xx/meta.json index ee80f52f3..6c612f2ff 100644 --- a/bundles/noos_mass_conn/ING9188xx/meta.json +++ b/bundles/noos_mass_conn/ING9188xx/meta.json @@ -8,11 +8,11 @@ }, "rom": { "base": 16384, - "size": 129060 + "size": 129036 }, "version": [ 1, 9, - 12 + 15 ] } \ No newline at end of file diff --git a/bundles/noos_mass_conn/ING9188xx/platform.bin b/bundles/noos_mass_conn/ING9188xx/platform.bin index f96ce4f32..e5a8f740d 100644 Binary files a/bundles/noos_mass_conn/ING9188xx/platform.bin and b/bundles/noos_mass_conn/ING9188xx/platform.bin differ diff --git a/bundles/noos_mass_conn/inc/gap.h b/bundles/noos_mass_conn/inc/gap.h index 413b9423a..cc0896b57 100644 --- a/bundles/noos_mass_conn/inc/gap.h +++ b/bundles/noos_mass_conn/inc/gap.h @@ -47,14 +47,15 @@ typedef enum scan_type * @brief set random address device * * @param address random address + * @return 0: Message is sent to controller; others: failed */ -void gap_set_random_device_address(const uint8_t *address); +uint8_t gap_set_random_device_address(const uint8_t *address); /** * @brief Disconnect connection with handle * * @param handle Used to identify an advertising set. Range: 0x00 to 0xEF - * @return 0: Message is sent out or the connection alreay release + * @return 0: Message is sent out or the connection already release */ uint8_t gap_disconnect(hci_con_handle_t handle); @@ -67,7 +68,7 @@ void gap_disconnect_all(void); * * @param[in] address BLE address * @param[in] addtype BLE address type - * @return 0: Message is sent to controller + * @return 0: Message is sent to controller */ uint8_t gap_add_whitelist(const uint8_t *address,bd_addr_type_t addtype); @@ -1326,30 +1327,27 @@ uint8_t gap_vendor_tx_continuous_wave(uint8_t enable, uint8_t power_level_index, #define HCI_VENDOR_CCM 0xFC01 /** - * @brief host require controller to do AES-CCM functionality, and CCM referece to + * @brief Host require controller to do AES-CCM functionality, and CCM reference to * the document rfc3610:Counter with CBC-MAC (CCM) * - * @param type 0: encrypt 1:decrypt - * - * @param mic_size 8: mic size in 8 bytes 4: mic size in 4 bytes - * - * @param msg_len messge length to be encrypt or decrypt - * - * @param aad_len Additional authenticated data length - * - * @param tag a value to identify a AES-CCM request. - * - * @param key 128 bits long key as required by AES-CCM - * - * @param nonce random value of each AES-CCM require 13 bytes long - * - * @param msg pointer to the message input + * All input buffers (key, nonce, msg, aad) must be kept in memory until AES-CCM completed. * - * @param aad Additional authenticated data + * `return_param` passed to `cb` is casted from `event_vendor_ccm_complete_t`. * - * @param out_msg the output buffer to store the result of the AES-CCM ,calculated by controller. + * @param[in] type 0: encrypt 1:decrypt + * @param[in] mic_size 8: mic size in 8 bytes 4: mic size in 4 bytes + * @param[in] msg_len message length to be encrypt or decrypt (<= 384 bytes) + * @param[in] aad_len Additional authenticated data length (<= 16 bytes) + * @param[in] tag a value to identify a AES-CCM request. + * @param[in] key 128 bits long key as required by AES-CCM + * @param[in] nonce random value of each AES-CCM require 13 bytes long + * @param[in] msg pointer to the message input + * @param[in] aad Additional authenticated data + * @param[out] out_msg the output buffer to store the result of the AES-CCM + * @param[in] cb callback function on the corresponding command complete event + * @param[in] user_data user data for the callback function * - * @return 0: success others: failed + * @return 0: success others: failed */ uint8_t gap_start_ccm( uint8_t type, // 0: encrypt 1: decrypt @@ -1357,11 +1355,13 @@ uint8_t gap_start_ccm( uint16_t msg_len, uint16_t aad_len, uint32_t tag, // same value will be reported in event - uint8_t *key, - uint8_t *nonce, - uint8_t *msg, - uint8_t *aad, - uint8_t *out_msg); + const uint8_t *key, + const uint8_t *nonce, + const uint8_t *msg, + const uint8_t *aad, + uint8_t *out_msg, + gap_hci_cmd_complete_cb_t cb, + void *user_data); //HCI func interface diff --git a/bundles/noos_mass_conn/inc/ll_api.h b/bundles/noos_mass_conn/inc/ll_api.h index c32f31e3e..f49c2f484 100644 --- a/bundles/noos_mass_conn/inc/ll_api.h +++ b/bundles/noos_mass_conn/inc/ll_api.h @@ -118,6 +118,52 @@ void ll_set_conn_coded_scheme(uint16_t conn_handle, int ci); */ void ll_set_conn_latency(uint16_t conn_handle, int latency); +/** + **************************************************************************************** + * @brief Get connection basic information of a connection + * + * @param[in] conn_handle handle of an existing connection + * @param[out] access_addr Access address + * @param[out] crc_init CRC init value + * @param[out] interval interval (unit: us) + * @return 0 if successful else non-0 + **************************************************************************************** + */ +// int ll_get_conn_info(const uint16_t conn_handle, +// uint32_t *access_addr, +// uint32_t *crc_init, +// uint32_t *interval); +// WARNING: ^^^ this API is not available in this release + + +/** + **************************************************************************************** + * @brief Get information of upcoming connection events of a connection + * + * Information of consecutive N connection events after `from_time` can be retrieved, + * where N = `number`. + * + * Sub-rating is ignored. If channel map updated within these events, then `channel_ids` + * are not reliable. + * + * @param[in] conn_handle handle of an existing connection + * @param[in] number number of connection events to be queried + * @param[in] from_time the first connection event shall be after `from_time` (unit: us) + * @param[out] time_offset time offset between the start of the first connection event and `from_time` (unit: us) + * @param[out] event_count connection event count of the first connection event + * @param[out] channel_ids physical channel IDs of the upcoming `number` connection events + * @return 0 if successful else non-0 + **************************************************************************************** + */ +// int ll_get_conn_events_info(const uint16_t conn_handle, +// int number, +// uint64_t from_time, +// uint32_t *time_offset, +// uint16_t *event_count, +// uint8_t *channel_ids); +// WARNING: ^^^ this API is not available in this release + + /** **************************************************************************************** * @brief Set default antenna ID @@ -789,6 +835,21 @@ typedef int (*f_start_generate_dhkey)(int key_type, const uint8_t *remote_pub_k // f_start_generate_dhkey start_generate_dhkey); // WARNING: ^^^ this API is not available in this release + +/** + **************************************************************************************** + * @brief Low level AES encryption in blocking mode + * + * @param[in] key key (little-endian) + * @param[in] plaintext plaintext (little-endian) + * @param[out] ciphertext ciphertext (big-endian) + * @return 0 if completed successfully; non-0 if hardware is not ready or busy + * When non-0 is returned, it is possible to retry later. + **************************************************************************************** + */ +int ll_aes_encrypt(const uint8_t *key, const uint8_t *plaintext, + uint8_t *ciphertext); + #ifdef __cplusplus } #endif diff --git a/bundles/noos_mini/ING9168xx/apis.json b/bundles/noos_mini/ING9168xx/apis.json index e48859995..abec9206f 100644 --- a/bundles/noos_mini/ING9168xx/apis.json +++ b/bundles/noos_mini/ING9168xx/apis.json @@ -1,251 +1,252 @@ { - "att_dispatch_client_can_send_now": "0x0200433d", - "att_dispatch_client_request_can_send_now_event": "0x02004343", - "att_dispatch_register_client": "0x02004349", - "att_dispatch_register_server": "0x0200435d", - "att_dispatch_server_can_send_now": "0x02004371", - "att_dispatch_server_request_can_send_now_event": "0x02004377", - "att_emit_general_event": "0x02004429", - "att_server_can_send_packet_now": "0x02004b41", - "att_server_deferred_read_response": "0x02004b45", - "att_server_get_mtu": "0x02004b5d", - "att_server_indicate": "0x02004bc9", - "att_server_init": "0x02004c4d", - "att_server_notify": "0x02004c89", - "att_server_register_packet_handler": "0x02004da1", - "att_server_request_can_send_now_event": "0x02004dad", - "att_set_db": "0x02004dc9", - "att_set_read_callback": "0x02004ddd", - "att_set_write_callback": "0x02004de9", - "bd_addr_cmp": "0x02004fd1", - "bd_addr_copy": "0x02004fd7", - "bd_addr_to_str": "0x02004fe1", - "big_endian_read_16": "0x02005019", - "big_endian_read_32": "0x02005021", - "big_endian_store_16": "0x02005035", - "big_endian_store_32": "0x02005041", - "btstack_config": "0x02005185", - "btstack_memory_pool_create": "0x020052d3", - "btstack_memory_pool_free": "0x020052fd", - "btstack_memory_pool_get": "0x0200535d", - "btstack_push_user_msg": "0x020053a5", - "btstack_push_user_runnable": "0x020053b1", - "char_for_nibble": "0x02005637", - "gap_add_dev_to_periodic_list": "0x02005fd9", - "gap_add_whitelist": "0x02005ff1", - "gap_aes_encrypt": "0x02006005", - "gap_clear_white_lists": "0x02006049", - "gap_clr_adv_set": "0x02006059", - "gap_clr_periodic_adv_list": "0x02006069", - "gap_create_connection_cancel": "0x02006079", - "gap_default_periodic_adv_sync_transfer_param": "0x02006089", - "gap_disconnect": "0x020060a1", - "gap_disconnect_all": "0x020060cd", - "gap_ext_create_connection": "0x0200610d", - "gap_get_connection_parameter_range": "0x020061fd", - "gap_le_read_channel_map": "0x02006235", - "gap_periodic_adv_create_sync": "0x020062a9", - "gap_periodic_adv_create_sync_cancel": "0x020062cd", - "gap_periodic_adv_set_info_transfer": "0x020062dd", - "gap_periodic_adv_sync_transfer": "0x020062f5", - "gap_periodic_adv_sync_transfer_param": "0x0200630d", - "gap_periodic_adv_term_sync": "0x02006329", - "gap_read_antenna_info": "0x020063bd", - "gap_read_periodic_adv_list_size": "0x020063cd", - "gap_read_phy": "0x020063dd", - "gap_read_remote_used_features": "0x020063f1", - "gap_read_remote_version": "0x02006405", - "gap_read_rssi": "0x02006419", - "gap_remove_whitelist": "0x0200642d", - "gap_rmv_adv_set": "0x020064b1", - "gap_rmv_dev_from_periodic_list": "0x020064c5", - "gap_rx_test_v2": "0x020064dd", - "gap_rx_test_v3": "0x020064f5", - "gap_set_adv_set_random_addr": "0x02006545", - "gap_set_connection_cte_request_enable": "0x02006591", - "gap_set_connection_cte_response_enable": "0x020065ad", - "gap_set_connection_cte_rx_param": "0x020065c1", - "gap_set_connection_cte_tx_param": "0x0200661d", - "gap_set_connection_parameter_range": "0x02006671", - "gap_set_connectionless_cte_tx_enable": "0x02006689", - "gap_set_connectionless_cte_tx_param": "0x0200669d", - "gap_set_connectionless_iq_sampling_enable": "0x020066fd", - "gap_set_data_length": "0x02006761", - "gap_set_def_phy": "0x0200677d", - "gap_set_ext_adv_data": "0x02006795", - "gap_set_ext_adv_enable": "0x020067ad", - "gap_set_ext_adv_para": "0x02006829", - "gap_set_ext_scan_enable": "0x02006901", - "gap_set_ext_scan_para": "0x02006919", - "gap_set_ext_scan_response_data": "0x020069c1", - "gap_set_host_channel_classification": "0x020069d9", - "gap_set_periodic_adv_data": "0x020069ed", - "gap_set_periodic_adv_enable": "0x02006a61", - "gap_set_periodic_adv_para": "0x02006a75", - "gap_set_periodic_adv_rx_enable": "0x02006a8d", - "gap_set_phy": "0x02006aa1", - "gap_set_random_device_address": "0x02006abd", - "gap_start_ccm": "0x02006aed", - "gap_test_end": "0x02006b21", - "gap_tx_test_v2": "0x02006b31", - "gap_tx_test_v4": "0x02006b49", - "gap_update_connection_parameters": "0x02006b71", - "gap_vendor_tx_continuous_wave": "0x02006bb1", - "gatt_client_cancel_write": "0x020070d9", - "gatt_client_discover_characteristic_descriptors": "0x020070ff", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x0200713f", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x0200718f", - "gatt_client_discover_characteristics_for_service": "0x020071df", - "gatt_client_discover_primary_services": "0x02007215", - "gatt_client_discover_primary_services_by_uuid128": "0x02007247", - "gatt_client_discover_primary_services_by_uuid16": "0x0200728b", - "gatt_client_execute_write": "0x020072c9", - "gatt_client_find_included_services_for_service": "0x020072ef", - "gatt_client_get_mtu": "0x0200731d", - "gatt_client_is_ready": "0x020073e1", - "gatt_client_listen_for_characteristic_value_updates": "0x020073f7", - "gatt_client_prepare_write": "0x02007417", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x02007453", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x0200747d", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x02007483", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x020074b1", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x020074b7", - "gatt_client_read_multiple_characteristic_values": "0x020074e5", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x02007515", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x02007543", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x0200758f", - "gatt_client_register_handler": "0x020075d9", - "gatt_client_reliable_write_long_value_of_characteristic": "0x020075e5", - "gatt_client_signed_write_without_response": "0x020079ed", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x02007ab1", - "gatt_client_write_client_characteristic_configuration": "0x02007aeb", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x02007b3d", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x02007b4d", - "gatt_client_write_long_value_of_characteristic": "0x02007b89", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x02007b99", - "gatt_client_write_value_of_characteristic": "0x02007bd5", - "gatt_client_write_value_of_characteristic_without_response": "0x02007c0b", - "hci_add_event_handler": "0x020091f5", - "hci_power_control": "0x020099e1", - "hci_register_acl_packet_handler": "0x02009b95", - "kv_commit": "0x0200a0f1", - "kv_get": "0x0200a149", - "kv_init": "0x0200a161", - "kv_put": "0x0200a1c9", - "kv_remove": "0x0200a241", - "kv_remove_all": "0x0200a27d", - "kv_value_modified": "0x0200a2c1", - "kv_visit": "0x0200a2c5", - "l2cap_add_event_handler": "0x0200a379", - "l2cap_can_send_packet_now": "0x0200a389", - "l2cap_create_le_credit_based_connection_request": "0x0200a54d", - "l2cap_credit_based_send": "0x0200a695", - "l2cap_credit_based_send_continue": "0x0200a6c1", - "l2cap_disconnect": "0x0200a73d", - "l2cap_get_le_credit_based_connection_credits": "0x0200a929", - "l2cap_get_peer_mtu_for_local_cid": "0x0200a945", - "l2cap_init": "0x0200ad85", - "l2cap_le_send_flow_control_credit": "0x0200ae7b", - "l2cap_max_le_mtu": "0x0200b189", - "l2cap_register_packet_handler": "0x0200b2b1", - "l2cap_register_service": "0x0200b2bd", - "l2cap_request_can_send_now_event": "0x0200b3cd", - "l2cap_request_connection_parameter_update": "0x0200b3e7", - "l2cap_send_echo_request": "0x0200b8c9", - "l2cap_unregister_service": "0x0200b9a9", - "le_device_db_add": "0x0200ba01", - "le_device_db_find": "0x0200bac5", - "le_device_db_from_key": "0x0200baf1", - "le_device_db_iter_cur": "0x0200baf9", - "le_device_db_iter_cur_key": "0x0200bafd", - "le_device_db_iter_init": "0x0200bb01", - "le_device_db_iter_next": "0x0200bb09", - "le_device_db_remove_key": "0x0200bb2f", - "ll_adjust_conn_peer_tx_power": "0x0200bb5d", - "ll_free": "0x0200bb85", - "ll_hint_on_ce_len": "0x0200bb91", - "ll_legacy_adv_set_interval": "0x0200bbc9", - "ll_malloc": "0x0200bbd9", - "ll_scan_set_fixed_channel": "0x0200bd49", - "ll_set_adv_access_address": "0x0200be5d", - "ll_set_adv_coded_scheme": "0x0200be69", - "ll_set_conn_coded_scheme": "0x0200be99", - "ll_set_conn_latency": "0x0200bec1", - "ll_set_conn_tx_power": "0x0200beed", - "ll_set_def_antenna": "0x0200bf25", - "ll_set_initiating_coded_scheme": "0x0200bf45", - "ll_set_max_conn_number": "0x0200bf51", - "ll_set_tx_power_range": "0x0200bfed", - "nibble_for_char": "0x0201e6a5", - "platform_32k_rc_auto_tune": "0x0201e731", - "platform_32k_rc_tune": "0x0201e77d", - "platform_calibrate_32k": "0x0201e799", - "platform_config": "0x0201e79d", - "platform_controller_run": "0x0201e8a1", - "platform_enable_irq": "0x0201e8d9", - "platform_get_gen_os_driver": "0x0201e901", - "platform_get_task_handle": "0x0201e90d", - "platform_get_us_time": "0x0201e925", - "platform_get_version": "0x0201e929", - "platform_hrng": "0x0201e931", - "platform_init_controller": "0x0201e939", - "platform_os_idle_resumed_hook": "0x0201e955", - "platform_patch_rf_init_data": "0x0201e959", - "platform_post_sleep_processing": "0x0201e965", - "platform_pre_sleep_processing": "0x0201e96b", - "platform_pre_suppress_ticks_and_sleep_processing": "0x0201e971", - "platform_printf": "0x0201e975", - "platform_raise_assertion": "0x0201e989", - "platform_rand": "0x0201e99d", - "platform_read_info": "0x0201e9a1", - "platform_read_persistent_reg": "0x0201e9d1", - "platform_reset": "0x0201e9dd", - "platform_set_evt_callback": "0x0201e9f1", - "platform_set_evt_callback_table": "0x0201ea05", - "platform_set_irq_callback": "0x0201ea11", - "platform_set_irq_callback_table": "0x0201ea2d", - "platform_set_rf_clk_source": "0x0201ea39", - "platform_set_rf_init_data": "0x0201ea45", - "platform_set_rf_power_mapping": "0x0201ea51", - "platform_set_timer": "0x0201ea5d", - "platform_shutdown": "0x0201ea61", - "platform_switch_app": "0x0201ea65", - "platform_trace_raw": "0x0201ea7d", - "platform_write_persistent_reg": "0x0201ea95", - "printf_hexdump": "0x0201eaa9", - "reverse_128": "0x0201ee15", - "reverse_24": "0x0201ee1b", - "reverse_48": "0x0201ee21", - "reverse_56": "0x0201ee27", - "reverse_64": "0x0201ee2d", - "reverse_bd_addr": "0x0201ee33", - "reverse_bytes": "0x0201ee39", - "sm_add_event_handler": "0x0201f155", - "sm_address_resolution_lookup": "0x0201f2ad", - "sm_authenticated": "0x0201f60d", - "sm_authorization_decline": "0x0201f61b", - "sm_authorization_grant": "0x0201f63b", - "sm_authorization_state": "0x0201f65b", - "sm_bonding_decline": "0x0201f675", - "sm_config": "0x0201fa8d", - "sm_config_conn": "0x0201faa5", - "sm_encryption_key_size": "0x0201fc5b", - "sm_just_works_confirm": "0x02020195", - "sm_le_device_key": "0x020204d1", - "sm_passkey_input": "0x02020567", - "sm_private_random_address_generation_get": "0x02020915", - "sm_private_random_address_generation_get_mode": "0x0202091d", - "sm_private_random_address_generation_set_mode": "0x02020929", - "sm_private_random_address_generation_set_update_period": "0x02020951", - "sm_register_oob_data_callback": "0x02020a8d", - "sm_request_pairing": "0x02020a99", - "sm_send_security_request": "0x020214d7", - "sm_set_accepted_stk_generation_methods": "0x020214fd", - "sm_set_authentication_requirements": "0x02021509", - "sm_set_encryption_key_size_range": "0x02021515", - "sscanf_bd_addr": "0x02021875", - "sysSetPublicDeviceAddr": "0x02021ce1", - "uuid128_to_str": "0x02022491", - "uuid_add_bluetooth_prefix": "0x020224e9", - "uuid_has_bluetooth_prefix": "0x02022509" + "att_dispatch_client_can_send_now": "0x02004325", + "att_dispatch_client_request_can_send_now_event": "0x0200432b", + "att_dispatch_register_client": "0x02004331", + "att_dispatch_register_server": "0x02004345", + "att_dispatch_server_can_send_now": "0x02004359", + "att_dispatch_server_request_can_send_now_event": "0x0200435f", + "att_emit_general_event": "0x02004411", + "att_server_can_send_packet_now": "0x02004b29", + "att_server_deferred_read_response": "0x02004b2d", + "att_server_get_mtu": "0x02004b45", + "att_server_indicate": "0x02004bb1", + "att_server_init": "0x02004c35", + "att_server_notify": "0x02004c71", + "att_server_register_packet_handler": "0x02004d89", + "att_server_request_can_send_now_event": "0x02004d95", + "att_set_db": "0x02004db1", + "att_set_read_callback": "0x02004dc5", + "att_set_write_callback": "0x02004dd1", + "bd_addr_cmp": "0x02004fb9", + "bd_addr_copy": "0x02004fbf", + "bd_addr_to_str": "0x02004fc9", + "big_endian_read_16": "0x02005001", + "big_endian_read_32": "0x02005009", + "big_endian_store_16": "0x0200501d", + "big_endian_store_32": "0x02005029", + "btstack_config": "0x0200516d", + "btstack_memory_pool_create": "0x020052bb", + "btstack_memory_pool_free": "0x020052e5", + "btstack_memory_pool_get": "0x02005345", + "btstack_push_user_msg": "0x0200538d", + "btstack_push_user_runnable": "0x02005399", + "char_for_nibble": "0x0200561f", + "gap_add_dev_to_periodic_list": "0x02005fd5", + "gap_add_whitelist": "0x02005fe5", + "gap_aes_encrypt": "0x02005ff1", + "gap_clear_white_lists": "0x02006035", + "gap_clr_adv_set": "0x02006041", + "gap_clr_periodic_adv_list": "0x0200604d", + "gap_create_connection_cancel": "0x02006059", + "gap_default_periodic_adv_sync_transfer_param": "0x02006065", + "gap_disconnect": "0x0200607d", + "gap_disconnect_all": "0x020060a9", + "gap_ext_create_connection": "0x020060e9", + "gap_get_connection_parameter_range": "0x020061d9", + "gap_le_read_channel_map": "0x02006211", + "gap_periodic_adv_create_sync": "0x0200627d", + "gap_periodic_adv_create_sync_cancel": "0x020062a1", + "gap_periodic_adv_set_info_transfer": "0x020062ad", + "gap_periodic_adv_sync_transfer": "0x020062bd", + "gap_periodic_adv_sync_transfer_param": "0x020062cd", + "gap_periodic_adv_term_sync": "0x020062e9", + "gap_read_antenna_info": "0x02006371", + "gap_read_periodic_adv_list_size": "0x0200637d", + "gap_read_phy": "0x02006389", + "gap_read_remote_used_features": "0x02006395", + "gap_read_remote_version": "0x020063a1", + "gap_read_rssi": "0x020063ad", + "gap_remove_whitelist": "0x020063b9", + "gap_rmv_adv_set": "0x02006435", + "gap_rmv_dev_from_periodic_list": "0x02006441", + "gap_rx_test_v2": "0x02006451", + "gap_rx_test_v3": "0x02006461", + "gap_set_adv_set_random_addr": "0x020064ad", + "gap_set_connection_cte_request_enable": "0x020064f5", + "gap_set_connection_cte_response_enable": "0x02006511", + "gap_set_connection_cte_rx_param": "0x02006521", + "gap_set_connection_cte_tx_param": "0x0200657d", + "gap_set_connection_parameter_range": "0x020065d1", + "gap_set_connectionless_cte_tx_enable": "0x020065e9", + "gap_set_connectionless_cte_tx_param": "0x020065f9", + "gap_set_connectionless_iq_sampling_enable": "0x02006659", + "gap_set_data_length": "0x020066bd", + "gap_set_def_phy": "0x020066d5", + "gap_set_ext_adv_data": "0x020066e5", + "gap_set_ext_adv_enable": "0x020066fd", + "gap_set_ext_adv_para": "0x02006779", + "gap_set_ext_scan_enable": "0x02006849", + "gap_set_ext_scan_para": "0x02006861", + "gap_set_ext_scan_response_data": "0x02006909", + "gap_set_host_channel_classification": "0x02006921", + "gap_set_periodic_adv_data": "0x02006931", + "gap_set_periodic_adv_enable": "0x020069a1", + "gap_set_periodic_adv_para": "0x020069b1", + "gap_set_periodic_adv_rx_enable": "0x020069c9", + "gap_set_phy": "0x020069d9", + "gap_set_random_device_address": "0x020069f5", + "gap_start_ccm": "0x02006a25", + "gap_test_end": "0x02006a79", + "gap_tx_test_v2": "0x02006a85", + "gap_tx_test_v4": "0x02006a9d", + "gap_update_connection_parameters": "0x02006ac1", + "gap_vendor_tx_continuous_wave": "0x02006b01", + "gatt_client_cancel_write": "0x02007029", + "gatt_client_discover_characteristic_descriptors": "0x0200704f", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x0200708f", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x020070df", + "gatt_client_discover_characteristics_for_service": "0x0200712f", + "gatt_client_discover_primary_services": "0x02007165", + "gatt_client_discover_primary_services_by_uuid128": "0x02007197", + "gatt_client_discover_primary_services_by_uuid16": "0x020071db", + "gatt_client_execute_write": "0x02007219", + "gatt_client_find_included_services_for_service": "0x0200723f", + "gatt_client_get_mtu": "0x0200726d", + "gatt_client_is_ready": "0x02007331", + "gatt_client_listen_for_characteristic_value_updates": "0x02007347", + "gatt_client_prepare_write": "0x02007367", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x020073a3", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x020073cd", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x020073d3", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x02007401", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x02007407", + "gatt_client_read_multiple_characteristic_values": "0x02007435", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x02007465", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x02007493", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x020074df", + "gatt_client_register_handler": "0x02007529", + "gatt_client_reliable_write_long_value_of_characteristic": "0x02007535", + "gatt_client_signed_write_without_response": "0x0200793d", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x02007a01", + "gatt_client_write_client_characteristic_configuration": "0x02007a3b", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x02007a8d", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x02007a9d", + "gatt_client_write_long_value_of_characteristic": "0x02007ad9", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x02007ae9", + "gatt_client_write_value_of_characteristic": "0x02007b25", + "gatt_client_write_value_of_characteristic_without_response": "0x02007b5b", + "hci_add_event_handler": "0x02009145", + "hci_power_control": "0x02009931", + "hci_register_acl_packet_handler": "0x02009ae5", + "kv_commit": "0x0200a039", + "kv_get": "0x0200a091", + "kv_init": "0x0200a0a9", + "kv_put": "0x0200a111", + "kv_remove": "0x0200a189", + "kv_remove_all": "0x0200a1c5", + "kv_value_modified": "0x0200a209", + "kv_visit": "0x0200a20d", + "l2cap_add_event_handler": "0x0200a2c1", + "l2cap_can_send_packet_now": "0x0200a2d1", + "l2cap_create_le_credit_based_connection_request": "0x0200a495", + "l2cap_credit_based_send": "0x0200a5dd", + "l2cap_credit_based_send_continue": "0x0200a609", + "l2cap_disconnect": "0x0200a685", + "l2cap_get_le_credit_based_connection_credits": "0x0200a871", + "l2cap_get_peer_mtu_for_local_cid": "0x0200a88d", + "l2cap_init": "0x0200accd", + "l2cap_le_send_flow_control_credit": "0x0200adc3", + "l2cap_max_le_mtu": "0x0200b0d1", + "l2cap_register_packet_handler": "0x0200b1f9", + "l2cap_register_service": "0x0200b205", + "l2cap_request_can_send_now_event": "0x0200b315", + "l2cap_request_connection_parameter_update": "0x0200b32f", + "l2cap_send_echo_request": "0x0200b811", + "l2cap_unregister_service": "0x0200b8f1", + "le_device_db_add": "0x0200b949", + "le_device_db_find": "0x0200ba0d", + "le_device_db_from_key": "0x0200ba39", + "le_device_db_iter_cur": "0x0200ba41", + "le_device_db_iter_cur_key": "0x0200ba45", + "le_device_db_iter_init": "0x0200ba49", + "le_device_db_iter_next": "0x0200ba51", + "le_device_db_remove_key": "0x0200ba77", + "ll_adjust_conn_peer_tx_power": "0x0200baa5", + "ll_aes_encrypt": "0x0200bacd", + "ll_free": "0x0200bb41", + "ll_hint_on_ce_len": "0x0200bb4d", + "ll_legacy_adv_set_interval": "0x0200bb85", + "ll_malloc": "0x0200bb95", + "ll_scan_set_fixed_channel": "0x0200bd05", + "ll_set_adv_access_address": "0x0200be19", + "ll_set_adv_coded_scheme": "0x0200be25", + "ll_set_conn_coded_scheme": "0x0200be55", + "ll_set_conn_latency": "0x0200be7d", + "ll_set_conn_tx_power": "0x0200bea9", + "ll_set_def_antenna": "0x0200bee1", + "ll_set_initiating_coded_scheme": "0x0200bf01", + "ll_set_max_conn_number": "0x0200bf0d", + "ll_set_tx_power_range": "0x0200bfa9", + "nibble_for_char": "0x0201e669", + "platform_32k_rc_auto_tune": "0x0201e6f5", + "platform_32k_rc_tune": "0x0201e741", + "platform_calibrate_32k": "0x0201e75d", + "platform_config": "0x0201e761", + "platform_controller_run": "0x0201e865", + "platform_enable_irq": "0x0201e89d", + "platform_get_gen_os_driver": "0x0201e8d1", + "platform_get_task_handle": "0x0201e8dd", + "platform_get_us_time": "0x0201e8f5", + "platform_get_version": "0x0201e8f9", + "platform_hrng": "0x0201e901", + "platform_init_controller": "0x0201e909", + "platform_os_idle_resumed_hook": "0x0201e925", + "platform_patch_rf_init_data": "0x0201e929", + "platform_post_sleep_processing": "0x0201e935", + "platform_pre_sleep_processing": "0x0201e93b", + "platform_pre_suppress_ticks_and_sleep_processing": "0x0201e941", + "platform_printf": "0x0201e945", + "platform_raise_assertion": "0x0201e959", + "platform_rand": "0x0201e96d", + "platform_read_info": "0x0201e971", + "platform_read_persistent_reg": "0x0201e9a1", + "platform_reset": "0x0201e9ad", + "platform_set_evt_callback": "0x0201e9c1", + "platform_set_evt_callback_table": "0x0201e9d5", + "platform_set_irq_callback": "0x0201e9e1", + "platform_set_irq_callback_table": "0x0201e9fd", + "platform_set_rf_clk_source": "0x0201ea09", + "platform_set_rf_init_data": "0x0201ea15", + "platform_set_rf_power_mapping": "0x0201ea21", + "platform_set_timer": "0x0201ea2d", + "platform_shutdown": "0x0201ea31", + "platform_switch_app": "0x0201ea35", + "platform_trace_raw": "0x0201ea4d", + "platform_write_persistent_reg": "0x0201ea65", + "printf_hexdump": "0x0201ea79", + "reverse_128": "0x0201ede5", + "reverse_24": "0x0201edeb", + "reverse_48": "0x0201edf1", + "reverse_56": "0x0201edf7", + "reverse_64": "0x0201edfd", + "reverse_bd_addr": "0x0201ee03", + "reverse_bytes": "0x0201ee09", + "sm_add_event_handler": "0x0201f125", + "sm_address_resolution_lookup": "0x0201f27d", + "sm_authenticated": "0x0201f5dd", + "sm_authorization_decline": "0x0201f5eb", + "sm_authorization_grant": "0x0201f60b", + "sm_authorization_state": "0x0201f62b", + "sm_bonding_decline": "0x0201f645", + "sm_config": "0x0201fa5d", + "sm_config_conn": "0x0201fa75", + "sm_encryption_key_size": "0x0201fc2b", + "sm_just_works_confirm": "0x02020165", + "sm_le_device_key": "0x020204a1", + "sm_passkey_input": "0x02020537", + "sm_private_random_address_generation_get": "0x020208e5", + "sm_private_random_address_generation_get_mode": "0x020208ed", + "sm_private_random_address_generation_set_mode": "0x020208f9", + "sm_private_random_address_generation_set_update_period": "0x02020921", + "sm_register_oob_data_callback": "0x02020a5d", + "sm_request_pairing": "0x02020a69", + "sm_send_security_request": "0x020214a7", + "sm_set_accepted_stk_generation_methods": "0x020214cd", + "sm_set_authentication_requirements": "0x020214d9", + "sm_set_encryption_key_size_range": "0x020214e5", + "sscanf_bd_addr": "0x02021845", + "sysSetPublicDeviceAddr": "0x02021cb1", + "uuid128_to_str": "0x02022461", + "uuid_add_bluetooth_prefix": "0x020224b9", + "uuid_has_bluetooth_prefix": "0x020224d9" } \ No newline at end of file diff --git a/bundles/noos_mini/ING9168xx/meta.json b/bundles/noos_mini/ING9168xx/meta.json index d21e617b9..776323918 100644 --- a/bundles/noos_mini/ING9168xx/meta.json +++ b/bundles/noos_mini/ING9168xx/meta.json @@ -8,11 +8,11 @@ }, "rom": { "base": 33562624, - "size": 141520 + "size": 141468 }, "version": [ 2, 2, - 10 + 12 ] } \ No newline at end of file diff --git a/bundles/noos_mini/ING9168xx/platform.bin b/bundles/noos_mini/ING9168xx/platform.bin index 174185646..94d26873e 100644 Binary files a/bundles/noos_mini/ING9168xx/platform.bin and b/bundles/noos_mini/ING9168xx/platform.bin differ diff --git a/bundles/noos_mini/ING9187xx/apis.json b/bundles/noos_mini/ING9187xx/apis.json index cc9693f1c..6c6974e33 100644 --- a/bundles/noos_mini/ING9187xx/apis.json +++ b/bundles/noos_mini/ING9187xx/apis.json @@ -1,236 +1,237 @@ { - "att_dispatch_client_can_send_now": "0x0000566d", - "att_dispatch_client_request_can_send_now_event": "0x00005673", - "att_dispatch_register_client": "0x00005679", - "att_dispatch_register_server": "0x0000568d", - "att_dispatch_server_can_send_now": "0x000056a1", - "att_dispatch_server_request_can_send_now_event": "0x000056a7", - "att_emit_general_event": "0x00005759", - "att_server_can_send_packet_now": "0x00005e69", - "att_server_deferred_read_response": "0x00005e6d", - "att_server_get_mtu": "0x00005e85", - "att_server_indicate": "0x00005ef1", - "att_server_init": "0x00005f75", - "att_server_notify": "0x00005fb1", - "att_server_register_packet_handler": "0x000060c9", - "att_server_request_can_send_now_event": "0x000060d5", - "att_set_db": "0x000060f1", - "att_set_read_callback": "0x00006105", - "att_set_write_callback": "0x00006111", - "bd_addr_cmp": "0x00006281", - "bd_addr_copy": "0x00006287", - "bd_addr_to_str": "0x00006291", - "big_endian_read_16": "0x000062c9", - "big_endian_read_32": "0x000062d1", - "big_endian_store_16": "0x000062e5", - "big_endian_store_32": "0x000062f1", - "btstack_config": "0x00006429", - "btstack_memory_pool_create": "0x00006577", - "btstack_memory_pool_free": "0x000065a1", - "btstack_memory_pool_get": "0x00006601", - "btstack_push_user_msg": "0x00006649", - "btstack_push_user_runnable": "0x00006655", - "char_for_nibble": "0x000068c5", - "gap_add_dev_to_periodic_list": "0x00007171", - "gap_add_whitelist": "0x00007189", - "gap_aes_encrypt": "0x0000719d", - "gap_clear_white_lists": "0x000071e1", - "gap_clr_adv_set": "0x000071f1", - "gap_clr_periodic_adv_list": "0x00007201", - "gap_create_connection_cancel": "0x00007211", - "gap_disconnect": "0x00007221", - "gap_disconnect_all": "0x0000724d", - "gap_ext_create_connection": "0x0000728d", - "gap_get_connection_parameter_range": "0x0000737d", - "gap_le_read_channel_map": "0x000073b5", - "gap_periodic_adv_create_sync": "0x00007429", - "gap_periodic_adv_create_sync_cancel": "0x0000744d", - "gap_periodic_adv_term_sync": "0x0000745d", - "gap_read_periodic_adv_list_size": "0x000074f1", - "gap_read_phy": "0x00007501", - "gap_read_remote_used_features": "0x00007515", - "gap_read_remote_version": "0x00007529", - "gap_read_rssi": "0x0000753d", - "gap_remove_whitelist": "0x00007551", - "gap_rmv_adv_set": "0x000075d5", - "gap_rmv_dev_from_periodic_list": "0x000075e9", - "gap_rx_test_v2": "0x00007601", - "gap_set_adv_set_random_addr": "0x00007641", - "gap_set_connection_parameter_range": "0x0000768d", - "gap_set_data_length": "0x000076a5", - "gap_set_def_phy": "0x000076c1", - "gap_set_ext_adv_data": "0x000076d9", - "gap_set_ext_adv_enable": "0x000076f1", - "gap_set_ext_adv_para": "0x0000776d", - "gap_set_ext_scan_enable": "0x0000784d", - "gap_set_ext_scan_para": "0x00007865", - "gap_set_ext_scan_response_data": "0x0000790d", - "gap_set_host_channel_classification": "0x00007925", - "gap_set_periodic_adv_data": "0x00007939", - "gap_set_periodic_adv_enable": "0x000079ad", - "gap_set_periodic_adv_para": "0x000079c1", - "gap_set_phy": "0x000079d9", - "gap_set_random_device_address": "0x000079f5", - "gap_start_ccm": "0x00007a25", - "gap_test_end": "0x00007a59", - "gap_tx_test_v2": "0x00007a69", - "gap_tx_test_v4": "0x00007a81", - "gap_update_connection_parameters": "0x00007aa9", - "gap_vendor_tx_continuous_wave": "0x00007ae9", - "gatt_client_cancel_write": "0x00008011", - "gatt_client_discover_characteristic_descriptors": "0x00008037", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x00008077", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x000080c7", - "gatt_client_discover_characteristics_for_service": "0x00008117", - "gatt_client_discover_primary_services": "0x0000814d", - "gatt_client_discover_primary_services_by_uuid128": "0x0000817f", - "gatt_client_discover_primary_services_by_uuid16": "0x000081c3", - "gatt_client_execute_write": "0x000081ff", - "gatt_client_find_included_services_for_service": "0x00008225", - "gatt_client_get_mtu": "0x00008253", - "gatt_client_is_ready": "0x000082f1", - "gatt_client_listen_for_characteristic_value_updates": "0x00008307", - "gatt_client_prepare_write": "0x00008327", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x00008363", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x0000838d", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008393", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x000083c1", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x000083c7", - "gatt_client_read_multiple_characteristic_values": "0x000083f5", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x00008425", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x00008453", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x0000849f", - "gatt_client_register_handler": "0x000084e9", - "gatt_client_reliable_write_long_value_of_characteristic": "0x000084f5", - "gatt_client_signed_write_without_response": "0x000088f9", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x000089bd", - "gatt_client_write_client_characteristic_configuration": "0x000089f7", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008a49", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008a59", - "gatt_client_write_long_value_of_characteristic": "0x00008a95", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008aa5", - "gatt_client_write_value_of_characteristic": "0x00008ae1", - "gatt_client_write_value_of_characteristic_without_response": "0x00008b17", - "hci_add_event_handler": "0x0000a031", - "hci_power_control": "0x0000a811", - "hci_register_acl_packet_handler": "0x0000a9c5", - "kv_commit": "0x0000af59", - "kv_get": "0x0000afb1", - "kv_init": "0x0000afc9", - "kv_put": "0x0000b02d", - "kv_remove": "0x0000b0a1", - "kv_remove_all": "0x0000b0dd", - "kv_value_modified": "0x0000b121", - "kv_visit": "0x0000b125", - "l2cap_add_event_handler": "0x0000b1d9", - "l2cap_can_send_packet_now": "0x0000b1e9", - "l2cap_create_le_credit_based_connection_request": "0x0000b3a5", - "l2cap_credit_based_send": "0x0000b4e9", - "l2cap_credit_based_send_continue": "0x0000b515", - "l2cap_disconnect": "0x0000b591", - "l2cap_get_le_credit_based_connection_credits": "0x0000b7e1", - "l2cap_get_peer_mtu_for_local_cid": "0x0000b7fd", - "l2cap_init": "0x0000bbd1", - "l2cap_le_send_flow_control_credit": "0x0000bcc7", - "l2cap_max_le_mtu": "0x0000bfd1", - "l2cap_register_packet_handler": "0x0000c0f9", - "l2cap_register_service": "0x0000c105", - "l2cap_request_can_send_now_event": "0x0000c215", - "l2cap_request_connection_parameter_update": "0x0000c22f", - "l2cap_send_echo_request": "0x0000c701", - "l2cap_unregister_service": "0x0000c7c1", - "le_device_db_add": "0x0000c819", - "le_device_db_find": "0x0000c8dd", - "le_device_db_from_key": "0x0000c909", - "le_device_db_iter_cur": "0x0000c911", - "le_device_db_iter_cur_key": "0x0000c915", - "le_device_db_iter_init": "0x0000c919", - "le_device_db_iter_next": "0x0000c921", - "le_device_db_remove_key": "0x0000c947", - "ll_free": "0x0000c973", - "ll_hint_on_ce_len": "0x0000c97d", - "ll_legacy_adv_set_interval": "0x0000c9b5", - "ll_malloc": "0x0000c9c5", - "ll_query_timing_info": "0x0000cafd", - "ll_scan_set_fixed_channel": "0x0000cba1", - "ll_set_adv_access_address": "0x0000ccb5", - "ll_set_adv_coded_scheme": "0x0000ccc1", - "ll_set_conn_coded_scheme": "0x0000cce9", - "ll_set_conn_latency": "0x0000cd11", - "ll_set_conn_tx_power": "0x0000cd3d", - "ll_set_def_antenna": "0x0000cd81", - "ll_set_initiating_coded_scheme": "0x0000cd9d", - "ll_set_max_conn_number": "0x0000cda9", - "nibble_for_char": "0x0001cb89", - "platform_32k_rc_auto_tune": "0x0001cc19", - "platform_32k_rc_tune": "0x0001cc95", - "platform_calibrate_32k": "0x0001cca9", - "platform_config": "0x0001ccad", - "platform_controller_run": "0x0001cd9d", - "platform_enable_irq": "0x0001cdd5", - "platform_get_gen_os_driver": "0x0001cdfd", - "platform_get_task_handle": "0x0001ce09", - "platform_get_us_time": "0x0001ce21", - "platform_get_version": "0x0001ce25", - "platform_hrng": "0x0001ce2d", - "platform_init_controller": "0x0001ce35", - "platform_os_idle_resumed_hook": "0x0001ce51", - "platform_patch_rf_init_data": "0x0001ce55", - "platform_post_sleep_processing": "0x0001ce61", - "platform_pre_sleep_processing": "0x0001ce67", - "platform_pre_suppress_ticks_and_sleep_processing": "0x0001ce6d", - "platform_printf": "0x0001ce71", - "platform_raise_assertion": "0x0001ce85", - "platform_rand": "0x0001ce99", - "platform_read_info": "0x0001ce9d", - "platform_read_persistent_reg": "0x0001cecd", - "platform_reset": "0x0001cedd", - "platform_set_evt_callback": "0x0001cf01", - "platform_set_evt_callback_table": "0x0001cf15", - "platform_set_irq_callback": "0x0001cf21", - "platform_set_irq_callback_table": "0x0001cf3d", - "platform_set_rf_clk_source": "0x0001cf49", - "platform_set_rf_init_data": "0x0001cf55", - "platform_set_rf_power_mapping": "0x0001cf61", - "platform_set_timer": "0x0001cf6d", - "platform_shutdown": "0x0001cf71", - "platform_switch_app": "0x0001cf75", - "platform_trace_raw": "0x0001cfa1", - "platform_write_persistent_reg": "0x0001cfb9", - "printf_hexdump": "0x0001cfc9", - "reverse_128": "0x0001d2fd", - "reverse_24": "0x0001d303", - "reverse_48": "0x0001d309", - "reverse_56": "0x0001d30f", - "reverse_64": "0x0001d315", - "reverse_bd_addr": "0x0001d31b", - "reverse_bytes": "0x0001d321", - "sm_add_event_handler": "0x0001d48d", - "sm_address_resolution_lookup": "0x0001d5e5", - "sm_authenticated": "0x0001d945", - "sm_authorization_decline": "0x0001d953", - "sm_authorization_grant": "0x0001d973", - "sm_authorization_state": "0x0001d993", - "sm_bonding_decline": "0x0001d9ad", - "sm_config": "0x0001ddcd", - "sm_config_conn": "0x0001dde5", - "sm_encryption_key_size": "0x0001df9b", - "sm_just_works_confirm": "0x0001e4d5", - "sm_le_device_key": "0x0001e811", - "sm_passkey_input": "0x0001e8a7", - "sm_private_random_address_generation_get": "0x0001ec55", - "sm_private_random_address_generation_get_mode": "0x0001ec5d", - "sm_private_random_address_generation_set_mode": "0x0001ec69", - "sm_private_random_address_generation_set_update_period": "0x0001ec91", - "sm_register_oob_data_callback": "0x0001edcd", - "sm_request_pairing": "0x0001edd9", - "sm_send_security_request": "0x0001f813", - "sm_set_accepted_stk_generation_methods": "0x0001f839", - "sm_set_authentication_requirements": "0x0001f845", - "sm_set_encryption_key_size_range": "0x0001f851", - "sscanf_bd_addr": "0x0001fbad", - "sysSetPublicDeviceAddr": "0x0001ff61", - "uuid128_to_str": "0x00020545", - "uuid_add_bluetooth_prefix": "0x0002059d", - "uuid_has_bluetooth_prefix": "0x000205bd" + "att_dispatch_client_can_send_now": "0x00005655", + "att_dispatch_client_request_can_send_now_event": "0x0000565b", + "att_dispatch_register_client": "0x00005661", + "att_dispatch_register_server": "0x00005675", + "att_dispatch_server_can_send_now": "0x00005689", + "att_dispatch_server_request_can_send_now_event": "0x0000568f", + "att_emit_general_event": "0x00005741", + "att_server_can_send_packet_now": "0x00005e51", + "att_server_deferred_read_response": "0x00005e55", + "att_server_get_mtu": "0x00005e6d", + "att_server_indicate": "0x00005ed9", + "att_server_init": "0x00005f5d", + "att_server_notify": "0x00005f99", + "att_server_register_packet_handler": "0x000060b1", + "att_server_request_can_send_now_event": "0x000060bd", + "att_set_db": "0x000060d9", + "att_set_read_callback": "0x000060ed", + "att_set_write_callback": "0x000060f9", + "bd_addr_cmp": "0x00006269", + "bd_addr_copy": "0x0000626f", + "bd_addr_to_str": "0x00006279", + "big_endian_read_16": "0x000062b1", + "big_endian_read_32": "0x000062b9", + "big_endian_store_16": "0x000062cd", + "big_endian_store_32": "0x000062d9", + "btstack_config": "0x00006411", + "btstack_memory_pool_create": "0x0000655f", + "btstack_memory_pool_free": "0x00006589", + "btstack_memory_pool_get": "0x000065e9", + "btstack_push_user_msg": "0x00006631", + "btstack_push_user_runnable": "0x0000663d", + "char_for_nibble": "0x000068ad", + "gap_add_dev_to_periodic_list": "0x00007169", + "gap_add_whitelist": "0x00007179", + "gap_aes_encrypt": "0x00007185", + "gap_clear_white_lists": "0x000071c9", + "gap_clr_adv_set": "0x000071d5", + "gap_clr_periodic_adv_list": "0x000071e1", + "gap_create_connection_cancel": "0x000071ed", + "gap_disconnect": "0x000071f9", + "gap_disconnect_all": "0x00007225", + "gap_ext_create_connection": "0x00007265", + "gap_get_connection_parameter_range": "0x00007355", + "gap_le_read_channel_map": "0x0000738d", + "gap_periodic_adv_create_sync": "0x000073f9", + "gap_periodic_adv_create_sync_cancel": "0x0000741d", + "gap_periodic_adv_term_sync": "0x00007429", + "gap_read_periodic_adv_list_size": "0x000074b1", + "gap_read_phy": "0x000074bd", + "gap_read_remote_used_features": "0x000074c9", + "gap_read_remote_version": "0x000074d5", + "gap_read_rssi": "0x000074e1", + "gap_remove_whitelist": "0x000074ed", + "gap_rmv_adv_set": "0x00007569", + "gap_rmv_dev_from_periodic_list": "0x00007575", + "gap_rx_test_v2": "0x00007585", + "gap_set_adv_set_random_addr": "0x000075bd", + "gap_set_connection_parameter_range": "0x00007605", + "gap_set_data_length": "0x0000761d", + "gap_set_def_phy": "0x00007635", + "gap_set_ext_adv_data": "0x00007645", + "gap_set_ext_adv_enable": "0x0000765d", + "gap_set_ext_adv_para": "0x000076d9", + "gap_set_ext_scan_enable": "0x000077b1", + "gap_set_ext_scan_para": "0x000077c9", + "gap_set_ext_scan_response_data": "0x00007871", + "gap_set_host_channel_classification": "0x00007889", + "gap_set_periodic_adv_data": "0x00007899", + "gap_set_periodic_adv_enable": "0x00007909", + "gap_set_periodic_adv_para": "0x00007919", + "gap_set_phy": "0x00007931", + "gap_set_random_device_address": "0x0000794d", + "gap_start_ccm": "0x0000797d", + "gap_test_end": "0x000079d1", + "gap_tx_test_v2": "0x000079dd", + "gap_tx_test_v4": "0x000079f5", + "gap_update_connection_parameters": "0x00007a19", + "gap_vendor_tx_continuous_wave": "0x00007a59", + "gatt_client_cancel_write": "0x00007f81", + "gatt_client_discover_characteristic_descriptors": "0x00007fa7", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x00007fe7", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x00008037", + "gatt_client_discover_characteristics_for_service": "0x00008087", + "gatt_client_discover_primary_services": "0x000080bd", + "gatt_client_discover_primary_services_by_uuid128": "0x000080ef", + "gatt_client_discover_primary_services_by_uuid16": "0x00008133", + "gatt_client_execute_write": "0x0000816f", + "gatt_client_find_included_services_for_service": "0x00008195", + "gatt_client_get_mtu": "0x000081c3", + "gatt_client_is_ready": "0x00008261", + "gatt_client_listen_for_characteristic_value_updates": "0x00008277", + "gatt_client_prepare_write": "0x00008297", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x000082d3", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x000082fd", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008303", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x00008331", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x00008337", + "gatt_client_read_multiple_characteristic_values": "0x00008365", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x00008395", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x000083c3", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x0000840f", + "gatt_client_register_handler": "0x00008459", + "gatt_client_reliable_write_long_value_of_characteristic": "0x00008465", + "gatt_client_signed_write_without_response": "0x00008869", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x0000892d", + "gatt_client_write_client_characteristic_configuration": "0x00008967", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x000089b9", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x000089c9", + "gatt_client_write_long_value_of_characteristic": "0x00008a05", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008a15", + "gatt_client_write_value_of_characteristic": "0x00008a51", + "gatt_client_write_value_of_characteristic_without_response": "0x00008a87", + "hci_add_event_handler": "0x00009fa1", + "hci_power_control": "0x0000a781", + "hci_register_acl_packet_handler": "0x0000a935", + "kv_commit": "0x0000aec1", + "kv_get": "0x0000af19", + "kv_init": "0x0000af31", + "kv_put": "0x0000af95", + "kv_remove": "0x0000b009", + "kv_remove_all": "0x0000b045", + "kv_value_modified": "0x0000b089", + "kv_visit": "0x0000b08d", + "l2cap_add_event_handler": "0x0000b141", + "l2cap_can_send_packet_now": "0x0000b151", + "l2cap_create_le_credit_based_connection_request": "0x0000b30d", + "l2cap_credit_based_send": "0x0000b451", + "l2cap_credit_based_send_continue": "0x0000b47d", + "l2cap_disconnect": "0x0000b4f9", + "l2cap_get_le_credit_based_connection_credits": "0x0000b749", + "l2cap_get_peer_mtu_for_local_cid": "0x0000b765", + "l2cap_init": "0x0000bb39", + "l2cap_le_send_flow_control_credit": "0x0000bc2f", + "l2cap_max_le_mtu": "0x0000bf39", + "l2cap_register_packet_handler": "0x0000c061", + "l2cap_register_service": "0x0000c06d", + "l2cap_request_can_send_now_event": "0x0000c17d", + "l2cap_request_connection_parameter_update": "0x0000c197", + "l2cap_send_echo_request": "0x0000c669", + "l2cap_unregister_service": "0x0000c729", + "le_device_db_add": "0x0000c781", + "le_device_db_find": "0x0000c845", + "le_device_db_from_key": "0x0000c871", + "le_device_db_iter_cur": "0x0000c879", + "le_device_db_iter_cur_key": "0x0000c87d", + "le_device_db_iter_init": "0x0000c881", + "le_device_db_iter_next": "0x0000c889", + "le_device_db_remove_key": "0x0000c8af", + "ll_aes_encrypt": "0x0000c8dd", + "ll_free": "0x0000c959", + "ll_hint_on_ce_len": "0x0000c965", + "ll_legacy_adv_set_interval": "0x0000c99d", + "ll_malloc": "0x0000c9ad", + "ll_query_timing_info": "0x0000cae5", + "ll_scan_set_fixed_channel": "0x0000cb89", + "ll_set_adv_access_address": "0x0000cc9d", + "ll_set_adv_coded_scheme": "0x0000cca9", + "ll_set_conn_coded_scheme": "0x0000ccd1", + "ll_set_conn_latency": "0x0000ccf9", + "ll_set_conn_tx_power": "0x0000cd25", + "ll_set_def_antenna": "0x0000cd69", + "ll_set_initiating_coded_scheme": "0x0000cd85", + "ll_set_max_conn_number": "0x0000cd91", + "nibble_for_char": "0x0001cb85", + "platform_32k_rc_auto_tune": "0x0001cc15", + "platform_32k_rc_tune": "0x0001cc91", + "platform_calibrate_32k": "0x0001cca5", + "platform_config": "0x0001cca9", + "platform_controller_run": "0x0001cd99", + "platform_enable_irq": "0x0001cdd1", + "platform_get_gen_os_driver": "0x0001ce09", + "platform_get_task_handle": "0x0001ce15", + "platform_get_us_time": "0x0001ce2d", + "platform_get_version": "0x0001ce31", + "platform_hrng": "0x0001ce39", + "platform_init_controller": "0x0001ce41", + "platform_os_idle_resumed_hook": "0x0001ce5d", + "platform_patch_rf_init_data": "0x0001ce61", + "platform_post_sleep_processing": "0x0001ce6d", + "platform_pre_sleep_processing": "0x0001ce73", + "platform_pre_suppress_ticks_and_sleep_processing": "0x0001ce79", + "platform_printf": "0x0001ce7d", + "platform_raise_assertion": "0x0001ce91", + "platform_rand": "0x0001cea5", + "platform_read_info": "0x0001cea9", + "platform_read_persistent_reg": "0x0001ced9", + "platform_reset": "0x0001cee9", + "platform_set_evt_callback": "0x0001cf0d", + "platform_set_evt_callback_table": "0x0001cf21", + "platform_set_irq_callback": "0x0001cf2d", + "platform_set_irq_callback_table": "0x0001cf49", + "platform_set_rf_clk_source": "0x0001cf55", + "platform_set_rf_init_data": "0x0001cf61", + "platform_set_rf_power_mapping": "0x0001cf6d", + "platform_set_timer": "0x0001cf79", + "platform_shutdown": "0x0001cf7d", + "platform_switch_app": "0x0001cf81", + "platform_trace_raw": "0x0001cfad", + "platform_write_persistent_reg": "0x0001cfc5", + "printf_hexdump": "0x0001cfd5", + "reverse_128": "0x0001d309", + "reverse_24": "0x0001d30f", + "reverse_48": "0x0001d315", + "reverse_56": "0x0001d31b", + "reverse_64": "0x0001d321", + "reverse_bd_addr": "0x0001d327", + "reverse_bytes": "0x0001d32d", + "sm_add_event_handler": "0x0001d499", + "sm_address_resolution_lookup": "0x0001d5f1", + "sm_authenticated": "0x0001d951", + "sm_authorization_decline": "0x0001d95f", + "sm_authorization_grant": "0x0001d97f", + "sm_authorization_state": "0x0001d99f", + "sm_bonding_decline": "0x0001d9b9", + "sm_config": "0x0001ddd9", + "sm_config_conn": "0x0001ddf1", + "sm_encryption_key_size": "0x0001dfa7", + "sm_just_works_confirm": "0x0001e4e1", + "sm_le_device_key": "0x0001e81d", + "sm_passkey_input": "0x0001e8b3", + "sm_private_random_address_generation_get": "0x0001ec61", + "sm_private_random_address_generation_get_mode": "0x0001ec69", + "sm_private_random_address_generation_set_mode": "0x0001ec75", + "sm_private_random_address_generation_set_update_period": "0x0001ec9d", + "sm_register_oob_data_callback": "0x0001edd9", + "sm_request_pairing": "0x0001ede5", + "sm_send_security_request": "0x0001f81f", + "sm_set_accepted_stk_generation_methods": "0x0001f845", + "sm_set_authentication_requirements": "0x0001f851", + "sm_set_encryption_key_size_range": "0x0001f85d", + "sscanf_bd_addr": "0x0001fbb9", + "sysSetPublicDeviceAddr": "0x0001ff6d", + "uuid128_to_str": "0x00020551", + "uuid_add_bluetooth_prefix": "0x000205a9", + "uuid_has_bluetooth_prefix": "0x000205c9" } \ No newline at end of file diff --git a/bundles/noos_mini/ING9187xx/meta.json b/bundles/noos_mini/ING9187xx/meta.json index d9f1db7f7..223e49806 100644 --- a/bundles/noos_mini/ING9187xx/meta.json +++ b/bundles/noos_mini/ING9187xx/meta.json @@ -4,15 +4,15 @@ }, "ram": { "base": 536870912, - "size": 2996 + "size": 3004 }, "rom": { "base": 16384, - "size": 122408 + "size": 122420 }, "version": [ 1, 9, - 12 + 15 ] } \ No newline at end of file diff --git a/bundles/noos_mini/ING9187xx/platform.bin b/bundles/noos_mini/ING9187xx/platform.bin index fc8087d00..da511a1fb 100644 Binary files a/bundles/noos_mini/ING9187xx/platform.bin and b/bundles/noos_mini/ING9187xx/platform.bin differ diff --git a/bundles/noos_mini/ING9188xx/apis.json b/bundles/noos_mini/ING9188xx/apis.json index c479d0d73..9e480ae82 100644 --- a/bundles/noos_mini/ING9188xx/apis.json +++ b/bundles/noos_mini/ING9188xx/apis.json @@ -1,250 +1,251 @@ { - "att_dispatch_client_can_send_now": "0x00005791", - "att_dispatch_client_request_can_send_now_event": "0x00005797", - "att_dispatch_register_client": "0x0000579d", - "att_dispatch_register_server": "0x000057b1", - "att_dispatch_server_can_send_now": "0x000057c5", - "att_dispatch_server_request_can_send_now_event": "0x000057cb", - "att_emit_general_event": "0x0000587d", - "att_server_can_send_packet_now": "0x00005f8d", - "att_server_deferred_read_response": "0x00005f91", - "att_server_get_mtu": "0x00005fa9", - "att_server_indicate": "0x00006015", - "att_server_init": "0x00006099", - "att_server_notify": "0x000060d5", - "att_server_register_packet_handler": "0x000061ed", - "att_server_request_can_send_now_event": "0x000061f9", - "att_set_db": "0x00006215", - "att_set_read_callback": "0x00006229", - "att_set_write_callback": "0x00006235", - "bd_addr_cmp": "0x000063a5", - "bd_addr_copy": "0x000063ab", - "bd_addr_to_str": "0x000063b5", - "big_endian_read_16": "0x000063ed", - "big_endian_read_32": "0x000063f5", - "big_endian_store_16": "0x00006409", - "big_endian_store_32": "0x00006415", - "btstack_config": "0x0000654d", - "btstack_memory_pool_create": "0x0000669b", - "btstack_memory_pool_free": "0x000066c5", - "btstack_memory_pool_get": "0x00006725", - "btstack_push_user_msg": "0x0000676d", - "btstack_push_user_runnable": "0x00006779", - "char_for_nibble": "0x000069e9", - "gap_add_dev_to_periodic_list": "0x00007305", - "gap_add_whitelist": "0x0000731d", - "gap_aes_encrypt": "0x00007331", - "gap_clear_white_lists": "0x00007375", - "gap_clr_adv_set": "0x00007385", - "gap_clr_periodic_adv_list": "0x00007395", - "gap_create_connection_cancel": "0x000073a5", - "gap_default_periodic_adv_sync_transfer_param": "0x000073b5", - "gap_disconnect": "0x000073cd", - "gap_disconnect_all": "0x000073f9", - "gap_ext_create_connection": "0x00007439", - "gap_get_connection_parameter_range": "0x00007529", - "gap_le_read_channel_map": "0x00007561", - "gap_periodic_adv_create_sync": "0x000075d5", - "gap_periodic_adv_create_sync_cancel": "0x000075f9", - "gap_periodic_adv_set_info_transfer": "0x00007609", - "gap_periodic_adv_sync_transfer": "0x00007621", - "gap_periodic_adv_sync_transfer_param": "0x00007639", - "gap_periodic_adv_term_sync": "0x00007655", - "gap_read_antenna_info": "0x000076e9", - "gap_read_periodic_adv_list_size": "0x000076f9", - "gap_read_phy": "0x00007709", - "gap_read_remote_used_features": "0x0000771d", - "gap_read_remote_version": "0x00007731", - "gap_read_rssi": "0x00007745", - "gap_remove_whitelist": "0x00007759", - "gap_rmv_adv_set": "0x000077dd", - "gap_rmv_dev_from_periodic_list": "0x000077f1", - "gap_rx_test_v2": "0x00007809", - "gap_rx_test_v3": "0x00007821", - "gap_set_adv_set_random_addr": "0x00007871", - "gap_set_connection_cte_request_enable": "0x000078bd", - "gap_set_connection_cte_response_enable": "0x000078d9", - "gap_set_connection_cte_rx_param": "0x000078ed", - "gap_set_connection_cte_tx_param": "0x00007949", - "gap_set_connection_parameter_range": "0x0000799d", - "gap_set_connectionless_cte_tx_enable": "0x000079b5", - "gap_set_connectionless_cte_tx_param": "0x000079c9", - "gap_set_connectionless_iq_sampling_enable": "0x00007a29", - "gap_set_data_length": "0x00007a8d", - "gap_set_def_phy": "0x00007aa9", - "gap_set_ext_adv_data": "0x00007ac1", - "gap_set_ext_adv_enable": "0x00007ad9", - "gap_set_ext_adv_para": "0x00007b55", - "gap_set_ext_scan_enable": "0x00007c35", - "gap_set_ext_scan_para": "0x00007c4d", - "gap_set_ext_scan_response_data": "0x00007cf5", - "gap_set_host_channel_classification": "0x00007d0d", - "gap_set_periodic_adv_data": "0x00007d21", - "gap_set_periodic_adv_enable": "0x00007d95", - "gap_set_periodic_adv_para": "0x00007da9", - "gap_set_periodic_adv_rx_enable": "0x00007dc1", - "gap_set_phy": "0x00007dd5", - "gap_set_random_device_address": "0x00007df1", - "gap_start_ccm": "0x00007e21", - "gap_test_end": "0x00007e55", - "gap_tx_test_v2": "0x00007e65", - "gap_tx_test_v4": "0x00007e7d", - "gap_update_connection_parameters": "0x00007ea5", - "gap_vendor_tx_continuous_wave": "0x00007ee5", - "gatt_client_cancel_write": "0x0000840d", - "gatt_client_discover_characteristic_descriptors": "0x00008433", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x00008473", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x000084c3", - "gatt_client_discover_characteristics_for_service": "0x00008513", - "gatt_client_discover_primary_services": "0x00008549", - "gatt_client_discover_primary_services_by_uuid128": "0x0000857b", - "gatt_client_discover_primary_services_by_uuid16": "0x000085bf", - "gatt_client_execute_write": "0x000085fb", - "gatt_client_find_included_services_for_service": "0x00008621", - "gatt_client_get_mtu": "0x0000864f", - "gatt_client_is_ready": "0x000086ed", - "gatt_client_listen_for_characteristic_value_updates": "0x00008703", - "gatt_client_prepare_write": "0x00008723", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x0000875f", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x00008789", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x0000878f", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x000087bd", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x000087c3", - "gatt_client_read_multiple_characteristic_values": "0x000087f1", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x00008821", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x0000884f", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x0000889b", - "gatt_client_register_handler": "0x000088e5", - "gatt_client_reliable_write_long_value_of_characteristic": "0x000088f1", - "gatt_client_signed_write_without_response": "0x00008cf5", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008db9", - "gatt_client_write_client_characteristic_configuration": "0x00008df3", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008e45", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008e55", - "gatt_client_write_long_value_of_characteristic": "0x00008e91", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008ea1", - "gatt_client_write_value_of_characteristic": "0x00008edd", - "gatt_client_write_value_of_characteristic_without_response": "0x00008f13", - "hci_add_event_handler": "0x0000a449", - "hci_power_control": "0x0000ac29", - "hci_register_acl_packet_handler": "0x0000addd", - "kv_commit": "0x0000b371", - "kv_get": "0x0000b3c9", - "kv_init": "0x0000b3e1", - "kv_put": "0x0000b445", - "kv_remove": "0x0000b4b9", - "kv_remove_all": "0x0000b4f5", - "kv_value_modified": "0x0000b539", - "kv_visit": "0x0000b53d", - "l2cap_add_event_handler": "0x0000b5f1", - "l2cap_can_send_packet_now": "0x0000b601", - "l2cap_create_le_credit_based_connection_request": "0x0000b7bd", - "l2cap_credit_based_send": "0x0000b901", - "l2cap_credit_based_send_continue": "0x0000b92d", - "l2cap_disconnect": "0x0000b9a9", - "l2cap_get_le_credit_based_connection_credits": "0x0000bbf9", - "l2cap_get_peer_mtu_for_local_cid": "0x0000bc15", - "l2cap_init": "0x0000bfe9", - "l2cap_le_send_flow_control_credit": "0x0000c0df", - "l2cap_max_le_mtu": "0x0000c3e9", - "l2cap_register_packet_handler": "0x0000c511", - "l2cap_register_service": "0x0000c51d", - "l2cap_request_can_send_now_event": "0x0000c62d", - "l2cap_request_connection_parameter_update": "0x0000c647", - "l2cap_send_echo_request": "0x0000cb19", - "l2cap_unregister_service": "0x0000cbd9", - "le_device_db_add": "0x0000cc31", - "le_device_db_find": "0x0000ccf5", - "le_device_db_from_key": "0x0000cd21", - "le_device_db_iter_cur": "0x0000cd29", - "le_device_db_iter_cur_key": "0x0000cd2d", - "le_device_db_iter_init": "0x0000cd31", - "le_device_db_iter_next": "0x0000cd39", - "le_device_db_remove_key": "0x0000cd5f", - "ll_free": "0x0000cd8b", - "ll_hint_on_ce_len": "0x0000cd95", - "ll_legacy_adv_set_interval": "0x0000cdcd", - "ll_malloc": "0x0000cddd", - "ll_query_timing_info": "0x0000cf15", - "ll_scan_set_fixed_channel": "0x0000cfb9", - "ll_set_adv_access_address": "0x0000d0cd", - "ll_set_adv_coded_scheme": "0x0000d0d9", - "ll_set_conn_coded_scheme": "0x0000d101", - "ll_set_conn_latency": "0x0000d129", - "ll_set_conn_tx_power": "0x0000d155", - "ll_set_def_antenna": "0x0000d199", - "ll_set_initiating_coded_scheme": "0x0000d1b5", - "ll_set_max_conn_number": "0x0000d1c1", - "nibble_for_char": "0x0001de75", - "platform_32k_rc_auto_tune": "0x0001df05", - "platform_32k_rc_tune": "0x0001df81", - "platform_calibrate_32k": "0x0001df95", - "platform_config": "0x0001df99", - "platform_controller_run": "0x0001e089", - "platform_enable_irq": "0x0001e0c1", - "platform_get_gen_os_driver": "0x0001e0e9", - "platform_get_task_handle": "0x0001e0f5", - "platform_get_us_time": "0x0001e10d", - "platform_get_version": "0x0001e111", - "platform_hrng": "0x0001e119", - "platform_init_controller": "0x0001e121", - "platform_os_idle_resumed_hook": "0x0001e13d", - "platform_patch_rf_init_data": "0x0001e141", - "platform_post_sleep_processing": "0x0001e14d", - "platform_pre_sleep_processing": "0x0001e153", - "platform_pre_suppress_ticks_and_sleep_processing": "0x0001e159", - "platform_printf": "0x0001e15d", - "platform_raise_assertion": "0x0001e171", - "platform_rand": "0x0001e185", - "platform_read_info": "0x0001e189", - "platform_read_persistent_reg": "0x0001e1b9", - "platform_reset": "0x0001e1c9", - "platform_set_evt_callback": "0x0001e1ed", - "platform_set_evt_callback_table": "0x0001e201", - "platform_set_irq_callback": "0x0001e20d", - "platform_set_irq_callback_table": "0x0001e229", - "platform_set_rf_clk_source": "0x0001e235", - "platform_set_rf_init_data": "0x0001e241", - "platform_set_rf_power_mapping": "0x0001e24d", - "platform_set_timer": "0x0001e259", - "platform_shutdown": "0x0001e25d", - "platform_switch_app": "0x0001e261", - "platform_trace_raw": "0x0001e28d", - "platform_write_persistent_reg": "0x0001e2a5", - "printf_hexdump": "0x0001e2b5", - "reverse_128": "0x0001e621", - "reverse_24": "0x0001e627", - "reverse_48": "0x0001e62d", - "reverse_56": "0x0001e633", - "reverse_64": "0x0001e639", - "reverse_bd_addr": "0x0001e63f", - "reverse_bytes": "0x0001e645", - "sm_add_event_handler": "0x0001e905", - "sm_address_resolution_lookup": "0x0001ea5d", - "sm_authenticated": "0x0001edbd", - "sm_authorization_decline": "0x0001edcb", - "sm_authorization_grant": "0x0001edeb", - "sm_authorization_state": "0x0001ee0b", - "sm_bonding_decline": "0x0001ee25", - "sm_config": "0x0001f245", - "sm_config_conn": "0x0001f25d", - "sm_encryption_key_size": "0x0001f413", - "sm_just_works_confirm": "0x0001f94d", - "sm_le_device_key": "0x0001fc89", - "sm_passkey_input": "0x0001fd1f", - "sm_private_random_address_generation_get": "0x000200cd", - "sm_private_random_address_generation_get_mode": "0x000200d5", - "sm_private_random_address_generation_set_mode": "0x000200e1", - "sm_private_random_address_generation_set_update_period": "0x00020109", - "sm_register_oob_data_callback": "0x00020245", - "sm_request_pairing": "0x00020251", - "sm_send_security_request": "0x00020c8b", - "sm_set_accepted_stk_generation_methods": "0x00020cb1", - "sm_set_authentication_requirements": "0x00020cbd", - "sm_set_encryption_key_size_range": "0x00020cc9", - "sscanf_bd_addr": "0x00021025", - "sysSetPublicDeviceAddr": "0x000213d9", - "uuid128_to_str": "0x00021b51", - "uuid_add_bluetooth_prefix": "0x00021ba9", - "uuid_has_bluetooth_prefix": "0x00021bc9" + "att_dispatch_client_can_send_now": "0x00005779", + "att_dispatch_client_request_can_send_now_event": "0x0000577f", + "att_dispatch_register_client": "0x00005785", + "att_dispatch_register_server": "0x00005799", + "att_dispatch_server_can_send_now": "0x000057ad", + "att_dispatch_server_request_can_send_now_event": "0x000057b3", + "att_emit_general_event": "0x00005865", + "att_server_can_send_packet_now": "0x00005f75", + "att_server_deferred_read_response": "0x00005f79", + "att_server_get_mtu": "0x00005f91", + "att_server_indicate": "0x00005ffd", + "att_server_init": "0x00006081", + "att_server_notify": "0x000060bd", + "att_server_register_packet_handler": "0x000061d5", + "att_server_request_can_send_now_event": "0x000061e1", + "att_set_db": "0x000061fd", + "att_set_read_callback": "0x00006211", + "att_set_write_callback": "0x0000621d", + "bd_addr_cmp": "0x0000638d", + "bd_addr_copy": "0x00006393", + "bd_addr_to_str": "0x0000639d", + "big_endian_read_16": "0x000063d5", + "big_endian_read_32": "0x000063dd", + "big_endian_store_16": "0x000063f1", + "big_endian_store_32": "0x000063fd", + "btstack_config": "0x00006535", + "btstack_memory_pool_create": "0x00006683", + "btstack_memory_pool_free": "0x000066ad", + "btstack_memory_pool_get": "0x0000670d", + "btstack_push_user_msg": "0x00006755", + "btstack_push_user_runnable": "0x00006761", + "char_for_nibble": "0x000069d1", + "gap_add_dev_to_periodic_list": "0x000072fd", + "gap_add_whitelist": "0x0000730d", + "gap_aes_encrypt": "0x00007319", + "gap_clear_white_lists": "0x0000735d", + "gap_clr_adv_set": "0x00007369", + "gap_clr_periodic_adv_list": "0x00007375", + "gap_create_connection_cancel": "0x00007381", + "gap_default_periodic_adv_sync_transfer_param": "0x0000738d", + "gap_disconnect": "0x000073a5", + "gap_disconnect_all": "0x000073d1", + "gap_ext_create_connection": "0x00007411", + "gap_get_connection_parameter_range": "0x00007501", + "gap_le_read_channel_map": "0x00007539", + "gap_periodic_adv_create_sync": "0x000075a5", + "gap_periodic_adv_create_sync_cancel": "0x000075c9", + "gap_periodic_adv_set_info_transfer": "0x000075d5", + "gap_periodic_adv_sync_transfer": "0x000075e5", + "gap_periodic_adv_sync_transfer_param": "0x000075f5", + "gap_periodic_adv_term_sync": "0x00007611", + "gap_read_antenna_info": "0x00007699", + "gap_read_periodic_adv_list_size": "0x000076a5", + "gap_read_phy": "0x000076b1", + "gap_read_remote_used_features": "0x000076bd", + "gap_read_remote_version": "0x000076c9", + "gap_read_rssi": "0x000076d5", + "gap_remove_whitelist": "0x000076e1", + "gap_rmv_adv_set": "0x0000775d", + "gap_rmv_dev_from_periodic_list": "0x00007769", + "gap_rx_test_v2": "0x00007779", + "gap_rx_test_v3": "0x00007789", + "gap_set_adv_set_random_addr": "0x000077d5", + "gap_set_connection_cte_request_enable": "0x0000781d", + "gap_set_connection_cte_response_enable": "0x00007839", + "gap_set_connection_cte_rx_param": "0x00007849", + "gap_set_connection_cte_tx_param": "0x000078a5", + "gap_set_connection_parameter_range": "0x000078f9", + "gap_set_connectionless_cte_tx_enable": "0x00007911", + "gap_set_connectionless_cte_tx_param": "0x00007921", + "gap_set_connectionless_iq_sampling_enable": "0x00007981", + "gap_set_data_length": "0x000079e5", + "gap_set_def_phy": "0x000079fd", + "gap_set_ext_adv_data": "0x00007a0d", + "gap_set_ext_adv_enable": "0x00007a25", + "gap_set_ext_adv_para": "0x00007aa1", + "gap_set_ext_scan_enable": "0x00007b79", + "gap_set_ext_scan_para": "0x00007b91", + "gap_set_ext_scan_response_data": "0x00007c39", + "gap_set_host_channel_classification": "0x00007c51", + "gap_set_periodic_adv_data": "0x00007c61", + "gap_set_periodic_adv_enable": "0x00007cd1", + "gap_set_periodic_adv_para": "0x00007ce1", + "gap_set_periodic_adv_rx_enable": "0x00007cf9", + "gap_set_phy": "0x00007d09", + "gap_set_random_device_address": "0x00007d25", + "gap_start_ccm": "0x00007d55", + "gap_test_end": "0x00007da9", + "gap_tx_test_v2": "0x00007db5", + "gap_tx_test_v4": "0x00007dcd", + "gap_update_connection_parameters": "0x00007df1", + "gap_vendor_tx_continuous_wave": "0x00007e31", + "gatt_client_cancel_write": "0x00008359", + "gatt_client_discover_characteristic_descriptors": "0x0000837f", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x000083bf", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x0000840f", + "gatt_client_discover_characteristics_for_service": "0x0000845f", + "gatt_client_discover_primary_services": "0x00008495", + "gatt_client_discover_primary_services_by_uuid128": "0x000084c7", + "gatt_client_discover_primary_services_by_uuid16": "0x0000850b", + "gatt_client_execute_write": "0x00008547", + "gatt_client_find_included_services_for_service": "0x0000856d", + "gatt_client_get_mtu": "0x0000859b", + "gatt_client_is_ready": "0x00008639", + "gatt_client_listen_for_characteristic_value_updates": "0x0000864f", + "gatt_client_prepare_write": "0x0000866f", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x000086ab", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x000086d5", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x000086db", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x00008709", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x0000870f", + "gatt_client_read_multiple_characteristic_values": "0x0000873d", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x0000876d", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x0000879b", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x000087e7", + "gatt_client_register_handler": "0x00008831", + "gatt_client_reliable_write_long_value_of_characteristic": "0x0000883d", + "gatt_client_signed_write_without_response": "0x00008c41", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008d05", + "gatt_client_write_client_characteristic_configuration": "0x00008d3f", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008d91", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008da1", + "gatt_client_write_long_value_of_characteristic": "0x00008ddd", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008ded", + "gatt_client_write_value_of_characteristic": "0x00008e29", + "gatt_client_write_value_of_characteristic_without_response": "0x00008e5f", + "hci_add_event_handler": "0x0000a395", + "hci_power_control": "0x0000ab75", + "hci_register_acl_packet_handler": "0x0000ad29", + "kv_commit": "0x0000b2b5", + "kv_get": "0x0000b30d", + "kv_init": "0x0000b325", + "kv_put": "0x0000b389", + "kv_remove": "0x0000b3fd", + "kv_remove_all": "0x0000b439", + "kv_value_modified": "0x0000b47d", + "kv_visit": "0x0000b481", + "l2cap_add_event_handler": "0x0000b535", + "l2cap_can_send_packet_now": "0x0000b545", + "l2cap_create_le_credit_based_connection_request": "0x0000b701", + "l2cap_credit_based_send": "0x0000b845", + "l2cap_credit_based_send_continue": "0x0000b871", + "l2cap_disconnect": "0x0000b8ed", + "l2cap_get_le_credit_based_connection_credits": "0x0000bb3d", + "l2cap_get_peer_mtu_for_local_cid": "0x0000bb59", + "l2cap_init": "0x0000bf2d", + "l2cap_le_send_flow_control_credit": "0x0000c023", + "l2cap_max_le_mtu": "0x0000c32d", + "l2cap_register_packet_handler": "0x0000c455", + "l2cap_register_service": "0x0000c461", + "l2cap_request_can_send_now_event": "0x0000c571", + "l2cap_request_connection_parameter_update": "0x0000c58b", + "l2cap_send_echo_request": "0x0000ca5d", + "l2cap_unregister_service": "0x0000cb1d", + "le_device_db_add": "0x0000cb75", + "le_device_db_find": "0x0000cc39", + "le_device_db_from_key": "0x0000cc65", + "le_device_db_iter_cur": "0x0000cc6d", + "le_device_db_iter_cur_key": "0x0000cc71", + "le_device_db_iter_init": "0x0000cc75", + "le_device_db_iter_next": "0x0000cc7d", + "le_device_db_remove_key": "0x0000cca3", + "ll_aes_encrypt": "0x0000ccd1", + "ll_free": "0x0000cd4d", + "ll_hint_on_ce_len": "0x0000cd59", + "ll_legacy_adv_set_interval": "0x0000cd91", + "ll_malloc": "0x0000cda1", + "ll_query_timing_info": "0x0000ced9", + "ll_scan_set_fixed_channel": "0x0000cf7d", + "ll_set_adv_access_address": "0x0000d091", + "ll_set_adv_coded_scheme": "0x0000d09d", + "ll_set_conn_coded_scheme": "0x0000d0c5", + "ll_set_conn_latency": "0x0000d0ed", + "ll_set_conn_tx_power": "0x0000d119", + "ll_set_def_antenna": "0x0000d15d", + "ll_set_initiating_coded_scheme": "0x0000d179", + "ll_set_max_conn_number": "0x0000d185", + "nibble_for_char": "0x0001de4d", + "platform_32k_rc_auto_tune": "0x0001dedd", + "platform_32k_rc_tune": "0x0001df59", + "platform_calibrate_32k": "0x0001df6d", + "platform_config": "0x0001df71", + "platform_controller_run": "0x0001e061", + "platform_enable_irq": "0x0001e099", + "platform_get_gen_os_driver": "0x0001e0d1", + "platform_get_task_handle": "0x0001e0dd", + "platform_get_us_time": "0x0001e0f5", + "platform_get_version": "0x0001e0f9", + "platform_hrng": "0x0001e101", + "platform_init_controller": "0x0001e109", + "platform_os_idle_resumed_hook": "0x0001e125", + "platform_patch_rf_init_data": "0x0001e129", + "platform_post_sleep_processing": "0x0001e135", + "platform_pre_sleep_processing": "0x0001e13b", + "platform_pre_suppress_ticks_and_sleep_processing": "0x0001e141", + "platform_printf": "0x0001e145", + "platform_raise_assertion": "0x0001e159", + "platform_rand": "0x0001e16d", + "platform_read_info": "0x0001e171", + "platform_read_persistent_reg": "0x0001e1a1", + "platform_reset": "0x0001e1b1", + "platform_set_evt_callback": "0x0001e1d5", + "platform_set_evt_callback_table": "0x0001e1e9", + "platform_set_irq_callback": "0x0001e1f5", + "platform_set_irq_callback_table": "0x0001e211", + "platform_set_rf_clk_source": "0x0001e21d", + "platform_set_rf_init_data": "0x0001e229", + "platform_set_rf_power_mapping": "0x0001e235", + "platform_set_timer": "0x0001e241", + "platform_shutdown": "0x0001e245", + "platform_switch_app": "0x0001e249", + "platform_trace_raw": "0x0001e275", + "platform_write_persistent_reg": "0x0001e28d", + "printf_hexdump": "0x0001e29d", + "reverse_128": "0x0001e609", + "reverse_24": "0x0001e60f", + "reverse_48": "0x0001e615", + "reverse_56": "0x0001e61b", + "reverse_64": "0x0001e621", + "reverse_bd_addr": "0x0001e627", + "reverse_bytes": "0x0001e62d", + "sm_add_event_handler": "0x0001e8ed", + "sm_address_resolution_lookup": "0x0001ea45", + "sm_authenticated": "0x0001eda5", + "sm_authorization_decline": "0x0001edb3", + "sm_authorization_grant": "0x0001edd3", + "sm_authorization_state": "0x0001edf3", + "sm_bonding_decline": "0x0001ee0d", + "sm_config": "0x0001f22d", + "sm_config_conn": "0x0001f245", + "sm_encryption_key_size": "0x0001f3fb", + "sm_just_works_confirm": "0x0001f935", + "sm_le_device_key": "0x0001fc71", + "sm_passkey_input": "0x0001fd07", + "sm_private_random_address_generation_get": "0x000200b5", + "sm_private_random_address_generation_get_mode": "0x000200bd", + "sm_private_random_address_generation_set_mode": "0x000200c9", + "sm_private_random_address_generation_set_update_period": "0x000200f1", + "sm_register_oob_data_callback": "0x0002022d", + "sm_request_pairing": "0x00020239", + "sm_send_security_request": "0x00020c73", + "sm_set_accepted_stk_generation_methods": "0x00020c99", + "sm_set_authentication_requirements": "0x00020ca5", + "sm_set_encryption_key_size_range": "0x00020cb1", + "sscanf_bd_addr": "0x0002100d", + "sysSetPublicDeviceAddr": "0x000213c1", + "uuid128_to_str": "0x00021b39", + "uuid_add_bluetooth_prefix": "0x00021b91", + "uuid_has_bluetooth_prefix": "0x00021bb1" } \ No newline at end of file diff --git a/bundles/noos_mini/ING9188xx/meta.json b/bundles/noos_mini/ING9188xx/meta.json index a15bc3b86..e3869d683 100644 --- a/bundles/noos_mini/ING9188xx/meta.json +++ b/bundles/noos_mini/ING9188xx/meta.json @@ -4,15 +4,15 @@ }, "ram": { "base": 536870912, - "size": 2996 + "size": 3004 }, "rom": { "base": 16384, - "size": 128508 + "size": 128484 }, "version": [ 1, 9, - 12 + 15 ] } \ No newline at end of file diff --git a/bundles/noos_mini/ING9188xx/platform.bin b/bundles/noos_mini/ING9188xx/platform.bin index 3cadfd2e8..ba14d3e73 100644 Binary files a/bundles/noos_mini/ING9188xx/platform.bin and b/bundles/noos_mini/ING9188xx/platform.bin differ diff --git a/bundles/noos_mini/inc/gap.h b/bundles/noos_mini/inc/gap.h index 413b9423a..cc0896b57 100644 --- a/bundles/noos_mini/inc/gap.h +++ b/bundles/noos_mini/inc/gap.h @@ -47,14 +47,15 @@ typedef enum scan_type * @brief set random address device * * @param address random address + * @return 0: Message is sent to controller; others: failed */ -void gap_set_random_device_address(const uint8_t *address); +uint8_t gap_set_random_device_address(const uint8_t *address); /** * @brief Disconnect connection with handle * * @param handle Used to identify an advertising set. Range: 0x00 to 0xEF - * @return 0: Message is sent out or the connection alreay release + * @return 0: Message is sent out or the connection already release */ uint8_t gap_disconnect(hci_con_handle_t handle); @@ -67,7 +68,7 @@ void gap_disconnect_all(void); * * @param[in] address BLE address * @param[in] addtype BLE address type - * @return 0: Message is sent to controller + * @return 0: Message is sent to controller */ uint8_t gap_add_whitelist(const uint8_t *address,bd_addr_type_t addtype); @@ -1326,30 +1327,27 @@ uint8_t gap_vendor_tx_continuous_wave(uint8_t enable, uint8_t power_level_index, #define HCI_VENDOR_CCM 0xFC01 /** - * @brief host require controller to do AES-CCM functionality, and CCM referece to + * @brief Host require controller to do AES-CCM functionality, and CCM reference to * the document rfc3610:Counter with CBC-MAC (CCM) * - * @param type 0: encrypt 1:decrypt - * - * @param mic_size 8: mic size in 8 bytes 4: mic size in 4 bytes - * - * @param msg_len messge length to be encrypt or decrypt - * - * @param aad_len Additional authenticated data length - * - * @param tag a value to identify a AES-CCM request. - * - * @param key 128 bits long key as required by AES-CCM - * - * @param nonce random value of each AES-CCM require 13 bytes long - * - * @param msg pointer to the message input + * All input buffers (key, nonce, msg, aad) must be kept in memory until AES-CCM completed. * - * @param aad Additional authenticated data + * `return_param` passed to `cb` is casted from `event_vendor_ccm_complete_t`. * - * @param out_msg the output buffer to store the result of the AES-CCM ,calculated by controller. + * @param[in] type 0: encrypt 1:decrypt + * @param[in] mic_size 8: mic size in 8 bytes 4: mic size in 4 bytes + * @param[in] msg_len message length to be encrypt or decrypt (<= 384 bytes) + * @param[in] aad_len Additional authenticated data length (<= 16 bytes) + * @param[in] tag a value to identify a AES-CCM request. + * @param[in] key 128 bits long key as required by AES-CCM + * @param[in] nonce random value of each AES-CCM require 13 bytes long + * @param[in] msg pointer to the message input + * @param[in] aad Additional authenticated data + * @param[out] out_msg the output buffer to store the result of the AES-CCM + * @param[in] cb callback function on the corresponding command complete event + * @param[in] user_data user data for the callback function * - * @return 0: success others: failed + * @return 0: success others: failed */ uint8_t gap_start_ccm( uint8_t type, // 0: encrypt 1: decrypt @@ -1357,11 +1355,13 @@ uint8_t gap_start_ccm( uint16_t msg_len, uint16_t aad_len, uint32_t tag, // same value will be reported in event - uint8_t *key, - uint8_t *nonce, - uint8_t *msg, - uint8_t *aad, - uint8_t *out_msg); + const uint8_t *key, + const uint8_t *nonce, + const uint8_t *msg, + const uint8_t *aad, + uint8_t *out_msg, + gap_hci_cmd_complete_cb_t cb, + void *user_data); //HCI func interface diff --git a/bundles/noos_mini/inc/ll_api.h b/bundles/noos_mini/inc/ll_api.h index c32f31e3e..f49c2f484 100644 --- a/bundles/noos_mini/inc/ll_api.h +++ b/bundles/noos_mini/inc/ll_api.h @@ -118,6 +118,52 @@ void ll_set_conn_coded_scheme(uint16_t conn_handle, int ci); */ void ll_set_conn_latency(uint16_t conn_handle, int latency); +/** + **************************************************************************************** + * @brief Get connection basic information of a connection + * + * @param[in] conn_handle handle of an existing connection + * @param[out] access_addr Access address + * @param[out] crc_init CRC init value + * @param[out] interval interval (unit: us) + * @return 0 if successful else non-0 + **************************************************************************************** + */ +// int ll_get_conn_info(const uint16_t conn_handle, +// uint32_t *access_addr, +// uint32_t *crc_init, +// uint32_t *interval); +// WARNING: ^^^ this API is not available in this release + + +/** + **************************************************************************************** + * @brief Get information of upcoming connection events of a connection + * + * Information of consecutive N connection events after `from_time` can be retrieved, + * where N = `number`. + * + * Sub-rating is ignored. If channel map updated within these events, then `channel_ids` + * are not reliable. + * + * @param[in] conn_handle handle of an existing connection + * @param[in] number number of connection events to be queried + * @param[in] from_time the first connection event shall be after `from_time` (unit: us) + * @param[out] time_offset time offset between the start of the first connection event and `from_time` (unit: us) + * @param[out] event_count connection event count of the first connection event + * @param[out] channel_ids physical channel IDs of the upcoming `number` connection events + * @return 0 if successful else non-0 + **************************************************************************************** + */ +// int ll_get_conn_events_info(const uint16_t conn_handle, +// int number, +// uint64_t from_time, +// uint32_t *time_offset, +// uint16_t *event_count, +// uint8_t *channel_ids); +// WARNING: ^^^ this API is not available in this release + + /** **************************************************************************************** * @brief Set default antenna ID @@ -789,6 +835,21 @@ typedef int (*f_start_generate_dhkey)(int key_type, const uint8_t *remote_pub_k // f_start_generate_dhkey start_generate_dhkey); // WARNING: ^^^ this API is not available in this release + +/** + **************************************************************************************** + * @brief Low level AES encryption in blocking mode + * + * @param[in] key key (little-endian) + * @param[in] plaintext plaintext (little-endian) + * @param[out] ciphertext ciphertext (big-endian) + * @return 0 if completed successfully; non-0 if hardware is not ready or busy + * When non-0 is returned, it is possible to retry later. + **************************************************************************************** + */ +int ll_aes_encrypt(const uint8_t *key, const uint8_t *plaintext, + uint8_t *ciphertext); + #ifdef __cplusplus } #endif diff --git a/bundles/noos_typical/ING9168xx/apis.json b/bundles/noos_typical/ING9168xx/apis.json index 379153b7c..3d41d3486 100644 --- a/bundles/noos_typical/ING9168xx/apis.json +++ b/bundles/noos_typical/ING9168xx/apis.json @@ -1,251 +1,252 @@ { - "att_dispatch_client_can_send_now": "0x02004345", - "att_dispatch_client_request_can_send_now_event": "0x0200434b", - "att_dispatch_register_client": "0x02004351", - "att_dispatch_register_server": "0x02004365", - "att_dispatch_server_can_send_now": "0x02004379", - "att_dispatch_server_request_can_send_now_event": "0x0200437f", - "att_emit_general_event": "0x02004431", - "att_server_can_send_packet_now": "0x02004b4d", - "att_server_deferred_read_response": "0x02004b51", - "att_server_get_mtu": "0x02004b69", - "att_server_indicate": "0x02004be1", - "att_server_init": "0x02004c65", - "att_server_notify": "0x02004ca1", - "att_server_register_packet_handler": "0x02004db9", - "att_server_request_can_send_now_event": "0x02004dc5", - "att_set_db": "0x02004de1", - "att_set_read_callback": "0x02004df5", - "att_set_write_callback": "0x02004e01", - "bd_addr_cmp": "0x02004fe9", - "bd_addr_copy": "0x02004fef", - "bd_addr_to_str": "0x02004ff9", - "big_endian_read_16": "0x02005031", - "big_endian_read_32": "0x02005039", - "big_endian_store_16": "0x0200504d", - "big_endian_store_32": "0x02005059", - "btstack_config": "0x0200519d", - "btstack_memory_pool_create": "0x020052eb", - "btstack_memory_pool_free": "0x02005315", - "btstack_memory_pool_get": "0x02005375", - "btstack_push_user_msg": "0x020053bd", - "btstack_push_user_runnable": "0x020053c9", - "char_for_nibble": "0x0200564f", - "gap_add_dev_to_periodic_list": "0x02005ff9", - "gap_add_whitelist": "0x02006011", - "gap_aes_encrypt": "0x02006025", - "gap_clear_white_lists": "0x02006069", - "gap_clr_adv_set": "0x02006079", - "gap_clr_periodic_adv_list": "0x02006089", - "gap_create_connection_cancel": "0x02006099", - "gap_default_periodic_adv_sync_transfer_param": "0x020060a9", - "gap_disconnect": "0x020060c1", - "gap_disconnect_all": "0x020060ed", - "gap_ext_create_connection": "0x0200612d", - "gap_get_connection_parameter_range": "0x0200621d", - "gap_le_read_channel_map": "0x02006259", - "gap_periodic_adv_create_sync": "0x020062cd", - "gap_periodic_adv_create_sync_cancel": "0x020062f1", - "gap_periodic_adv_set_info_transfer": "0x02006301", - "gap_periodic_adv_sync_transfer": "0x02006319", - "gap_periodic_adv_sync_transfer_param": "0x02006331", - "gap_periodic_adv_term_sync": "0x0200634d", - "gap_read_antenna_info": "0x020063e1", - "gap_read_periodic_adv_list_size": "0x020063f1", - "gap_read_phy": "0x02006401", - "gap_read_remote_used_features": "0x02006415", - "gap_read_remote_version": "0x02006429", - "gap_read_rssi": "0x0200643d", - "gap_remove_whitelist": "0x02006451", - "gap_rmv_adv_set": "0x020064d5", - "gap_rmv_dev_from_periodic_list": "0x020064e9", - "gap_rx_test_v2": "0x02006501", - "gap_rx_test_v3": "0x02006519", - "gap_set_adv_set_random_addr": "0x02006569", - "gap_set_connection_cte_request_enable": "0x020065b5", - "gap_set_connection_cte_response_enable": "0x020065d1", - "gap_set_connection_cte_rx_param": "0x020065e5", - "gap_set_connection_cte_tx_param": "0x02006641", - "gap_set_connection_parameter_range": "0x02006695", - "gap_set_connectionless_cte_tx_enable": "0x020066ad", - "gap_set_connectionless_cte_tx_param": "0x020066c1", - "gap_set_connectionless_iq_sampling_enable": "0x02006721", - "gap_set_data_length": "0x02006785", - "gap_set_def_phy": "0x020067a1", - "gap_set_ext_adv_data": "0x020067b9", - "gap_set_ext_adv_enable": "0x020067d1", - "gap_set_ext_adv_para": "0x0200684d", - "gap_set_ext_scan_enable": "0x02006925", - "gap_set_ext_scan_para": "0x0200693d", - "gap_set_ext_scan_response_data": "0x020069e5", - "gap_set_host_channel_classification": "0x020069fd", - "gap_set_periodic_adv_data": "0x02006a11", - "gap_set_periodic_adv_enable": "0x02006a85", - "gap_set_periodic_adv_para": "0x02006a99", - "gap_set_periodic_adv_rx_enable": "0x02006ab1", - "gap_set_phy": "0x02006ac5", - "gap_set_random_device_address": "0x02006ae1", - "gap_start_ccm": "0x02006b11", - "gap_test_end": "0x02006b45", - "gap_tx_test_v2": "0x02006b55", - "gap_tx_test_v4": "0x02006b6d", - "gap_update_connection_parameters": "0x02006b95", - "gap_vendor_tx_continuous_wave": "0x02006bd9", - "gatt_client_cancel_write": "0x02007101", - "gatt_client_discover_characteristic_descriptors": "0x02007127", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x02007167", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x020071b7", - "gatt_client_discover_characteristics_for_service": "0x02007207", - "gatt_client_discover_primary_services": "0x0200723d", - "gatt_client_discover_primary_services_by_uuid128": "0x0200726f", - "gatt_client_discover_primary_services_by_uuid16": "0x020072b3", - "gatt_client_execute_write": "0x020072f1", - "gatt_client_find_included_services_for_service": "0x02007317", - "gatt_client_get_mtu": "0x02007345", - "gatt_client_is_ready": "0x02007409", - "gatt_client_listen_for_characteristic_value_updates": "0x0200741f", - "gatt_client_prepare_write": "0x02007441", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x0200747d", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x020074a7", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x020074ad", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x020074db", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x020074e1", - "gatt_client_read_multiple_characteristic_values": "0x0200750f", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x0200753f", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x0200756d", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x020075b9", - "gatt_client_register_handler": "0x02007605", - "gatt_client_reliable_write_long_value_of_characteristic": "0x02007611", - "gatt_client_signed_write_without_response": "0x02007a45", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x02007b09", - "gatt_client_write_client_characteristic_configuration": "0x02007b43", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x02007b95", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x02007ba5", - "gatt_client_write_long_value_of_characteristic": "0x02007be1", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x02007bf1", - "gatt_client_write_value_of_characteristic": "0x02007c2d", - "gatt_client_write_value_of_characteristic_without_response": "0x02007c63", - "hci_add_event_handler": "0x02009259", - "hci_power_control": "0x02009a59", - "hci_register_acl_packet_handler": "0x02009c0d", - "kv_commit": "0x0200a16d", - "kv_get": "0x0200a1c5", - "kv_init": "0x0200a1dd", - "kv_put": "0x0200a245", - "kv_remove": "0x0200a2bd", - "kv_remove_all": "0x0200a2f9", - "kv_value_modified": "0x0200a33d", - "kv_visit": "0x0200a341", - "l2cap_add_event_handler": "0x0200a3f5", - "l2cap_can_send_packet_now": "0x0200a405", - "l2cap_create_le_credit_based_connection_request": "0x0200a5c9", - "l2cap_credit_based_send": "0x0200a711", - "l2cap_credit_based_send_continue": "0x0200a73d", - "l2cap_disconnect": "0x0200a7b9", - "l2cap_get_le_credit_based_connection_credits": "0x0200a9a5", - "l2cap_get_peer_mtu_for_local_cid": "0x0200a9c1", - "l2cap_init": "0x0200ae01", - "l2cap_le_send_flow_control_credit": "0x0200aef7", - "l2cap_max_le_mtu": "0x0200b205", - "l2cap_register_packet_handler": "0x0200b32d", - "l2cap_register_service": "0x0200b339", - "l2cap_request_can_send_now_event": "0x0200b449", - "l2cap_request_connection_parameter_update": "0x0200b463", - "l2cap_send_echo_request": "0x0200b945", - "l2cap_unregister_service": "0x0200ba25", - "le_device_db_add": "0x0200ba7d", - "le_device_db_find": "0x0200bb51", - "le_device_db_from_key": "0x0200bb7d", - "le_device_db_iter_cur": "0x0200bb85", - "le_device_db_iter_cur_key": "0x0200bb89", - "le_device_db_iter_init": "0x0200bb8d", - "le_device_db_iter_next": "0x0200bb95", - "le_device_db_remove_key": "0x0200bbbb", - "ll_adjust_conn_peer_tx_power": "0x0200bbe9", - "ll_free": "0x0200bc15", - "ll_hint_on_ce_len": "0x0200bc21", - "ll_legacy_adv_set_interval": "0x0200bc59", - "ll_malloc": "0x0200bc69", - "ll_scan_set_fixed_channel": "0x0200bdd9", - "ll_set_adv_access_address": "0x0200beed", - "ll_set_adv_coded_scheme": "0x0200bef9", - "ll_set_conn_coded_scheme": "0x0200bf31", - "ll_set_conn_latency": "0x0200bf5d", - "ll_set_conn_tx_power": "0x0200bf8d", - "ll_set_def_antenna": "0x0200bfc9", - "ll_set_initiating_coded_scheme": "0x0200bfe9", - "ll_set_max_conn_number": "0x0200bff5", - "ll_set_tx_power_range": "0x0200c091", - "nibble_for_char": "0x0201e861", - "platform_32k_rc_auto_tune": "0x0201e8f9", - "platform_32k_rc_tune": "0x0201e945", - "platform_calibrate_32k": "0x0201e961", - "platform_config": "0x0201e965", - "platform_controller_run": "0x0201ea69", - "platform_enable_irq": "0x0201eaa1", - "platform_get_gen_os_driver": "0x0201eac9", - "platform_get_task_handle": "0x0201ead5", - "platform_get_us_time": "0x0201eaed", - "platform_get_version": "0x0201eaf1", - "platform_hrng": "0x0201eaf9", - "platform_init_controller": "0x0201eb01", - "platform_os_idle_resumed_hook": "0x0201eb1d", - "platform_patch_rf_init_data": "0x0201eb21", - "platform_post_sleep_processing": "0x0201eb2d", - "platform_pre_sleep_processing": "0x0201eb33", - "platform_pre_suppress_ticks_and_sleep_processing": "0x0201eb39", - "platform_printf": "0x0201eb3d", - "platform_raise_assertion": "0x0201eb51", - "platform_rand": "0x0201eb65", - "platform_read_info": "0x0201eb69", - "platform_read_persistent_reg": "0x0201eb99", - "platform_reset": "0x0201eba5", - "platform_set_evt_callback": "0x0201ebb9", - "platform_set_evt_callback_table": "0x0201ebcd", - "platform_set_irq_callback": "0x0201ebd9", - "platform_set_irq_callback_table": "0x0201ebf5", - "platform_set_rf_clk_source": "0x0201ec01", - "platform_set_rf_init_data": "0x0201ec0d", - "platform_set_rf_power_mapping": "0x0201ec19", - "platform_set_timer": "0x0201ec25", - "platform_shutdown": "0x0201ec29", - "platform_switch_app": "0x0201ec2d", - "platform_trace_raw": "0x0201ec45", - "platform_write_persistent_reg": "0x0201ec5d", - "printf_hexdump": "0x0201ec71", - "reverse_128": "0x0201efe5", - "reverse_24": "0x0201efeb", - "reverse_48": "0x0201eff1", - "reverse_56": "0x0201eff7", - "reverse_64": "0x0201effd", - "reverse_bd_addr": "0x0201f003", - "reverse_bytes": "0x0201f009", - "sm_add_event_handler": "0x0201f325", - "sm_address_resolution_lookup": "0x0201f47d", - "sm_authenticated": "0x0201f7dd", - "sm_authorization_decline": "0x0201f7eb", - "sm_authorization_grant": "0x0201f80b", - "sm_authorization_state": "0x0201f82b", - "sm_bonding_decline": "0x0201f845", - "sm_config": "0x0201fc5d", - "sm_config_conn": "0x0201fc75", - "sm_encryption_key_size": "0x0201fe2b", - "sm_just_works_confirm": "0x02020365", - "sm_le_device_key": "0x020206a1", - "sm_passkey_input": "0x02020737", - "sm_private_random_address_generation_get": "0x02020ae5", - "sm_private_random_address_generation_get_mode": "0x02020aed", - "sm_private_random_address_generation_set_mode": "0x02020af9", - "sm_private_random_address_generation_set_update_period": "0x02020b21", - "sm_register_oob_data_callback": "0x02020c5d", - "sm_request_pairing": "0x02020c69", - "sm_send_security_request": "0x020216a7", - "sm_set_accepted_stk_generation_methods": "0x020216cd", - "sm_set_authentication_requirements": "0x020216d9", - "sm_set_encryption_key_size_range": "0x020216e5", - "sscanf_bd_addr": "0x02021a45", - "sysSetPublicDeviceAddr": "0x02021eb1", - "uuid128_to_str": "0x02022661", - "uuid_add_bluetooth_prefix": "0x020226b9", - "uuid_has_bluetooth_prefix": "0x020226d9" + "att_dispatch_client_can_send_now": "0x0200432d", + "att_dispatch_client_request_can_send_now_event": "0x02004333", + "att_dispatch_register_client": "0x02004339", + "att_dispatch_register_server": "0x0200434d", + "att_dispatch_server_can_send_now": "0x02004361", + "att_dispatch_server_request_can_send_now_event": "0x02004367", + "att_emit_general_event": "0x02004419", + "att_server_can_send_packet_now": "0x02004b35", + "att_server_deferred_read_response": "0x02004b39", + "att_server_get_mtu": "0x02004b51", + "att_server_indicate": "0x02004bc9", + "att_server_init": "0x02004c4d", + "att_server_notify": "0x02004c89", + "att_server_register_packet_handler": "0x02004da1", + "att_server_request_can_send_now_event": "0x02004dad", + "att_set_db": "0x02004dc9", + "att_set_read_callback": "0x02004ddd", + "att_set_write_callback": "0x02004de9", + "bd_addr_cmp": "0x02004fd1", + "bd_addr_copy": "0x02004fd7", + "bd_addr_to_str": "0x02004fe1", + "big_endian_read_16": "0x02005019", + "big_endian_read_32": "0x02005021", + "big_endian_store_16": "0x02005035", + "big_endian_store_32": "0x02005041", + "btstack_config": "0x02005185", + "btstack_memory_pool_create": "0x020052d3", + "btstack_memory_pool_free": "0x020052fd", + "btstack_memory_pool_get": "0x0200535d", + "btstack_push_user_msg": "0x020053a5", + "btstack_push_user_runnable": "0x020053b1", + "char_for_nibble": "0x02005637", + "gap_add_dev_to_periodic_list": "0x02005ff1", + "gap_add_whitelist": "0x02006001", + "gap_aes_encrypt": "0x0200600d", + "gap_clear_white_lists": "0x02006051", + "gap_clr_adv_set": "0x0200605d", + "gap_clr_periodic_adv_list": "0x02006069", + "gap_create_connection_cancel": "0x02006075", + "gap_default_periodic_adv_sync_transfer_param": "0x02006081", + "gap_disconnect": "0x02006099", + "gap_disconnect_all": "0x020060c5", + "gap_ext_create_connection": "0x02006105", + "gap_get_connection_parameter_range": "0x020061f5", + "gap_le_read_channel_map": "0x02006231", + "gap_periodic_adv_create_sync": "0x0200629d", + "gap_periodic_adv_create_sync_cancel": "0x020062c1", + "gap_periodic_adv_set_info_transfer": "0x020062cd", + "gap_periodic_adv_sync_transfer": "0x020062dd", + "gap_periodic_adv_sync_transfer_param": "0x020062ed", + "gap_periodic_adv_term_sync": "0x02006309", + "gap_read_antenna_info": "0x02006391", + "gap_read_periodic_adv_list_size": "0x0200639d", + "gap_read_phy": "0x020063a9", + "gap_read_remote_used_features": "0x020063b5", + "gap_read_remote_version": "0x020063c1", + "gap_read_rssi": "0x020063cd", + "gap_remove_whitelist": "0x020063d9", + "gap_rmv_adv_set": "0x02006455", + "gap_rmv_dev_from_periodic_list": "0x02006461", + "gap_rx_test_v2": "0x02006471", + "gap_rx_test_v3": "0x02006481", + "gap_set_adv_set_random_addr": "0x020064cd", + "gap_set_connection_cte_request_enable": "0x02006515", + "gap_set_connection_cte_response_enable": "0x02006531", + "gap_set_connection_cte_rx_param": "0x02006541", + "gap_set_connection_cte_tx_param": "0x0200659d", + "gap_set_connection_parameter_range": "0x020065f1", + "gap_set_connectionless_cte_tx_enable": "0x02006609", + "gap_set_connectionless_cte_tx_param": "0x02006619", + "gap_set_connectionless_iq_sampling_enable": "0x02006679", + "gap_set_data_length": "0x020066dd", + "gap_set_def_phy": "0x020066f5", + "gap_set_ext_adv_data": "0x02006705", + "gap_set_ext_adv_enable": "0x0200671d", + "gap_set_ext_adv_para": "0x02006799", + "gap_set_ext_scan_enable": "0x02006869", + "gap_set_ext_scan_para": "0x02006881", + "gap_set_ext_scan_response_data": "0x02006929", + "gap_set_host_channel_classification": "0x02006941", + "gap_set_periodic_adv_data": "0x02006951", + "gap_set_periodic_adv_enable": "0x020069c1", + "gap_set_periodic_adv_para": "0x020069d1", + "gap_set_periodic_adv_rx_enable": "0x020069e9", + "gap_set_phy": "0x020069f9", + "gap_set_random_device_address": "0x02006a15", + "gap_start_ccm": "0x02006a45", + "gap_test_end": "0x02006a99", + "gap_tx_test_v2": "0x02006aa5", + "gap_tx_test_v4": "0x02006abd", + "gap_update_connection_parameters": "0x02006ae1", + "gap_vendor_tx_continuous_wave": "0x02006b25", + "gatt_client_cancel_write": "0x0200704d", + "gatt_client_discover_characteristic_descriptors": "0x02007073", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x020070b3", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x02007103", + "gatt_client_discover_characteristics_for_service": "0x02007153", + "gatt_client_discover_primary_services": "0x02007189", + "gatt_client_discover_primary_services_by_uuid128": "0x020071bb", + "gatt_client_discover_primary_services_by_uuid16": "0x020071ff", + "gatt_client_execute_write": "0x0200723d", + "gatt_client_find_included_services_for_service": "0x02007263", + "gatt_client_get_mtu": "0x02007291", + "gatt_client_is_ready": "0x02007355", + "gatt_client_listen_for_characteristic_value_updates": "0x0200736b", + "gatt_client_prepare_write": "0x0200738d", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x020073c9", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x020073f3", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x020073f9", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x02007427", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x0200742d", + "gatt_client_read_multiple_characteristic_values": "0x0200745b", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x0200748b", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x020074b9", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x02007505", + "gatt_client_register_handler": "0x02007551", + "gatt_client_reliable_write_long_value_of_characteristic": "0x0200755d", + "gatt_client_signed_write_without_response": "0x02007991", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x02007a55", + "gatt_client_write_client_characteristic_configuration": "0x02007a8f", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x02007ae1", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x02007af1", + "gatt_client_write_long_value_of_characteristic": "0x02007b2d", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x02007b3d", + "gatt_client_write_value_of_characteristic": "0x02007b79", + "gatt_client_write_value_of_characteristic_without_response": "0x02007baf", + "hci_add_event_handler": "0x020091a5", + "hci_power_control": "0x020099a5", + "hci_register_acl_packet_handler": "0x02009b59", + "kv_commit": "0x0200a0b1", + "kv_get": "0x0200a109", + "kv_init": "0x0200a121", + "kv_put": "0x0200a189", + "kv_remove": "0x0200a201", + "kv_remove_all": "0x0200a23d", + "kv_value_modified": "0x0200a281", + "kv_visit": "0x0200a285", + "l2cap_add_event_handler": "0x0200a339", + "l2cap_can_send_packet_now": "0x0200a349", + "l2cap_create_le_credit_based_connection_request": "0x0200a50d", + "l2cap_credit_based_send": "0x0200a655", + "l2cap_credit_based_send_continue": "0x0200a681", + "l2cap_disconnect": "0x0200a6fd", + "l2cap_get_le_credit_based_connection_credits": "0x0200a8e9", + "l2cap_get_peer_mtu_for_local_cid": "0x0200a905", + "l2cap_init": "0x0200ad45", + "l2cap_le_send_flow_control_credit": "0x0200ae3b", + "l2cap_max_le_mtu": "0x0200b149", + "l2cap_register_packet_handler": "0x0200b271", + "l2cap_register_service": "0x0200b27d", + "l2cap_request_can_send_now_event": "0x0200b38d", + "l2cap_request_connection_parameter_update": "0x0200b3a7", + "l2cap_send_echo_request": "0x0200b889", + "l2cap_unregister_service": "0x0200b969", + "le_device_db_add": "0x0200b9c1", + "le_device_db_find": "0x0200ba95", + "le_device_db_from_key": "0x0200bac1", + "le_device_db_iter_cur": "0x0200bac9", + "le_device_db_iter_cur_key": "0x0200bacd", + "le_device_db_iter_init": "0x0200bad1", + "le_device_db_iter_next": "0x0200bad9", + "le_device_db_remove_key": "0x0200baff", + "ll_adjust_conn_peer_tx_power": "0x0200bb2d", + "ll_aes_encrypt": "0x0200bb59", + "ll_free": "0x0200bbcd", + "ll_hint_on_ce_len": "0x0200bbd9", + "ll_legacy_adv_set_interval": "0x0200bc11", + "ll_malloc": "0x0200bc21", + "ll_scan_set_fixed_channel": "0x0200bd91", + "ll_set_adv_access_address": "0x0200bea5", + "ll_set_adv_coded_scheme": "0x0200beb1", + "ll_set_conn_coded_scheme": "0x0200bee9", + "ll_set_conn_latency": "0x0200bf15", + "ll_set_conn_tx_power": "0x0200bf45", + "ll_set_def_antenna": "0x0200bf81", + "ll_set_initiating_coded_scheme": "0x0200bfa1", + "ll_set_max_conn_number": "0x0200bfad", + "ll_set_tx_power_range": "0x0200c049", + "nibble_for_char": "0x0201e821", + "platform_32k_rc_auto_tune": "0x0201e8b9", + "platform_32k_rc_tune": "0x0201e905", + "platform_calibrate_32k": "0x0201e921", + "platform_config": "0x0201e925", + "platform_controller_run": "0x0201ea29", + "platform_enable_irq": "0x0201ea61", + "platform_get_gen_os_driver": "0x0201ea95", + "platform_get_task_handle": "0x0201eaa1", + "platform_get_us_time": "0x0201eab9", + "platform_get_version": "0x0201eabd", + "platform_hrng": "0x0201eac5", + "platform_init_controller": "0x0201eacd", + "platform_os_idle_resumed_hook": "0x0201eae9", + "platform_patch_rf_init_data": "0x0201eaed", + "platform_post_sleep_processing": "0x0201eaf9", + "platform_pre_sleep_processing": "0x0201eaff", + "platform_pre_suppress_ticks_and_sleep_processing": "0x0201eb05", + "platform_printf": "0x0201eb09", + "platform_raise_assertion": "0x0201eb1d", + "platform_rand": "0x0201eb31", + "platform_read_info": "0x0201eb35", + "platform_read_persistent_reg": "0x0201eb65", + "platform_reset": "0x0201eb71", + "platform_set_evt_callback": "0x0201eb85", + "platform_set_evt_callback_table": "0x0201eb99", + "platform_set_irq_callback": "0x0201eba5", + "platform_set_irq_callback_table": "0x0201ebc1", + "platform_set_rf_clk_source": "0x0201ebcd", + "platform_set_rf_init_data": "0x0201ebd9", + "platform_set_rf_power_mapping": "0x0201ebe5", + "platform_set_timer": "0x0201ebf1", + "platform_shutdown": "0x0201ebf5", + "platform_switch_app": "0x0201ebf9", + "platform_trace_raw": "0x0201ec11", + "platform_write_persistent_reg": "0x0201ec29", + "printf_hexdump": "0x0201ec3d", + "reverse_128": "0x0201efb1", + "reverse_24": "0x0201efb7", + "reverse_48": "0x0201efbd", + "reverse_56": "0x0201efc3", + "reverse_64": "0x0201efc9", + "reverse_bd_addr": "0x0201efcf", + "reverse_bytes": "0x0201efd5", + "sm_add_event_handler": "0x0201f2f1", + "sm_address_resolution_lookup": "0x0201f449", + "sm_authenticated": "0x0201f7a9", + "sm_authorization_decline": "0x0201f7b7", + "sm_authorization_grant": "0x0201f7d7", + "sm_authorization_state": "0x0201f7f7", + "sm_bonding_decline": "0x0201f811", + "sm_config": "0x0201fc29", + "sm_config_conn": "0x0201fc41", + "sm_encryption_key_size": "0x0201fdf7", + "sm_just_works_confirm": "0x02020331", + "sm_le_device_key": "0x0202066d", + "sm_passkey_input": "0x02020703", + "sm_private_random_address_generation_get": "0x02020ab1", + "sm_private_random_address_generation_get_mode": "0x02020ab9", + "sm_private_random_address_generation_set_mode": "0x02020ac5", + "sm_private_random_address_generation_set_update_period": "0x02020aed", + "sm_register_oob_data_callback": "0x02020c29", + "sm_request_pairing": "0x02020c35", + "sm_send_security_request": "0x02021673", + "sm_set_accepted_stk_generation_methods": "0x02021699", + "sm_set_authentication_requirements": "0x020216a5", + "sm_set_encryption_key_size_range": "0x020216b1", + "sscanf_bd_addr": "0x02021a11", + "sysSetPublicDeviceAddr": "0x02021e7d", + "uuid128_to_str": "0x0202262d", + "uuid_add_bluetooth_prefix": "0x02022685", + "uuid_has_bluetooth_prefix": "0x020226a5" } \ No newline at end of file diff --git a/bundles/noos_typical/ING9168xx/meta.json b/bundles/noos_typical/ING9168xx/meta.json index c025a339f..53adce8ca 100644 --- a/bundles/noos_typical/ING9168xx/meta.json +++ b/bundles/noos_typical/ING9168xx/meta.json @@ -8,11 +8,11 @@ }, "rom": { "base": 33562624, - "size": 141984 + "size": 141932 }, "version": [ 2, 2, - 10 + 12 ] } \ No newline at end of file diff --git a/bundles/noos_typical/ING9168xx/platform.bin b/bundles/noos_typical/ING9168xx/platform.bin index 01887f823..dd55986bf 100644 Binary files a/bundles/noos_typical/ING9168xx/platform.bin and b/bundles/noos_typical/ING9168xx/platform.bin differ diff --git a/bundles/noos_typical/ING9187xx/apis.json b/bundles/noos_typical/ING9187xx/apis.json index 03ac2b897..37fa8785e 100644 --- a/bundles/noos_typical/ING9187xx/apis.json +++ b/bundles/noos_typical/ING9187xx/apis.json @@ -1,236 +1,237 @@ { - "att_dispatch_client_can_send_now": "0x00005675", - "att_dispatch_client_request_can_send_now_event": "0x0000567b", - "att_dispatch_register_client": "0x00005681", - "att_dispatch_register_server": "0x00005695", - "att_dispatch_server_can_send_now": "0x000056a9", - "att_dispatch_server_request_can_send_now_event": "0x000056af", - "att_emit_general_event": "0x00005761", - "att_server_can_send_packet_now": "0x00005e75", - "att_server_deferred_read_response": "0x00005e79", - "att_server_get_mtu": "0x00005e91", - "att_server_indicate": "0x00005f09", - "att_server_init": "0x00005f8d", - "att_server_notify": "0x00005fc9", - "att_server_register_packet_handler": "0x000060e1", - "att_server_request_can_send_now_event": "0x000060ed", - "att_set_db": "0x00006109", - "att_set_read_callback": "0x0000611d", - "att_set_write_callback": "0x00006129", - "bd_addr_cmp": "0x00006299", - "bd_addr_copy": "0x0000629f", - "bd_addr_to_str": "0x000062a9", - "big_endian_read_16": "0x000062e1", - "big_endian_read_32": "0x000062e9", - "big_endian_store_16": "0x000062fd", - "big_endian_store_32": "0x00006309", - "btstack_config": "0x00006441", - "btstack_memory_pool_create": "0x0000658f", - "btstack_memory_pool_free": "0x000065b9", - "btstack_memory_pool_get": "0x00006619", - "btstack_push_user_msg": "0x00006661", - "btstack_push_user_runnable": "0x0000666d", - "char_for_nibble": "0x000068dd", - "gap_add_dev_to_periodic_list": "0x00007191", - "gap_add_whitelist": "0x000071a9", - "gap_aes_encrypt": "0x000071bd", - "gap_clear_white_lists": "0x00007201", - "gap_clr_adv_set": "0x00007211", - "gap_clr_periodic_adv_list": "0x00007221", - "gap_create_connection_cancel": "0x00007231", - "gap_disconnect": "0x00007241", - "gap_disconnect_all": "0x0000726d", - "gap_ext_create_connection": "0x000072ad", - "gap_get_connection_parameter_range": "0x0000739d", - "gap_le_read_channel_map": "0x000073d9", - "gap_periodic_adv_create_sync": "0x0000744d", - "gap_periodic_adv_create_sync_cancel": "0x00007471", - "gap_periodic_adv_term_sync": "0x00007481", - "gap_read_periodic_adv_list_size": "0x00007515", - "gap_read_phy": "0x00007525", - "gap_read_remote_used_features": "0x00007539", - "gap_read_remote_version": "0x0000754d", - "gap_read_rssi": "0x00007561", - "gap_remove_whitelist": "0x00007575", - "gap_rmv_adv_set": "0x000075f9", - "gap_rmv_dev_from_periodic_list": "0x0000760d", - "gap_rx_test_v2": "0x00007625", - "gap_set_adv_set_random_addr": "0x00007665", - "gap_set_connection_parameter_range": "0x000076b1", - "gap_set_data_length": "0x000076c9", - "gap_set_def_phy": "0x000076e5", - "gap_set_ext_adv_data": "0x000076fd", - "gap_set_ext_adv_enable": "0x00007715", - "gap_set_ext_adv_para": "0x00007791", - "gap_set_ext_scan_enable": "0x00007871", - "gap_set_ext_scan_para": "0x00007889", - "gap_set_ext_scan_response_data": "0x00007931", - "gap_set_host_channel_classification": "0x00007949", - "gap_set_periodic_adv_data": "0x0000795d", - "gap_set_periodic_adv_enable": "0x000079d1", - "gap_set_periodic_adv_para": "0x000079e5", - "gap_set_phy": "0x000079fd", - "gap_set_random_device_address": "0x00007a19", - "gap_start_ccm": "0x00007a49", - "gap_test_end": "0x00007a7d", - "gap_tx_test_v2": "0x00007a8d", - "gap_tx_test_v4": "0x00007aa5", - "gap_update_connection_parameters": "0x00007acd", - "gap_vendor_tx_continuous_wave": "0x00007b11", - "gatt_client_cancel_write": "0x00008039", - "gatt_client_discover_characteristic_descriptors": "0x0000805f", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x0000809f", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x000080ef", - "gatt_client_discover_characteristics_for_service": "0x0000813f", - "gatt_client_discover_primary_services": "0x00008175", - "gatt_client_discover_primary_services_by_uuid128": "0x000081a7", - "gatt_client_discover_primary_services_by_uuid16": "0x000081eb", - "gatt_client_execute_write": "0x00008227", - "gatt_client_find_included_services_for_service": "0x0000824d", - "gatt_client_get_mtu": "0x0000827b", - "gatt_client_is_ready": "0x0000831d", - "gatt_client_listen_for_characteristic_value_updates": "0x00008333", - "gatt_client_prepare_write": "0x00008355", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x00008391", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x000083bb", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x000083c1", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x000083ef", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x000083f5", - "gatt_client_read_multiple_characteristic_values": "0x00008423", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x00008453", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x00008481", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x000084cd", - "gatt_client_register_handler": "0x00008519", - "gatt_client_reliable_write_long_value_of_characteristic": "0x00008525", - "gatt_client_signed_write_without_response": "0x00008955", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008a19", - "gatt_client_write_client_characteristic_configuration": "0x00008a53", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008aa5", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008ab5", - "gatt_client_write_long_value_of_characteristic": "0x00008af1", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008b01", - "gatt_client_write_value_of_characteristic": "0x00008b3d", - "gatt_client_write_value_of_characteristic_without_response": "0x00008b73", - "hci_add_event_handler": "0x0000a099", - "hci_power_control": "0x0000a88d", - "hci_register_acl_packet_handler": "0x0000aa41", - "kv_commit": "0x0000afe1", - "kv_get": "0x0000b039", - "kv_init": "0x0000b051", - "kv_put": "0x0000b0b9", - "kv_remove": "0x0000b131", - "kv_remove_all": "0x0000b16d", - "kv_value_modified": "0x0000b1b1", - "kv_visit": "0x0000b1b5", - "l2cap_add_event_handler": "0x0000b269", - "l2cap_can_send_packet_now": "0x0000b279", - "l2cap_create_le_credit_based_connection_request": "0x0000b435", - "l2cap_credit_based_send": "0x0000b579", - "l2cap_credit_based_send_continue": "0x0000b5a5", - "l2cap_disconnect": "0x0000b621", - "l2cap_get_le_credit_based_connection_credits": "0x0000b871", - "l2cap_get_peer_mtu_for_local_cid": "0x0000b88d", - "l2cap_init": "0x0000bc61", - "l2cap_le_send_flow_control_credit": "0x0000bd57", - "l2cap_max_le_mtu": "0x0000c061", - "l2cap_register_packet_handler": "0x0000c189", - "l2cap_register_service": "0x0000c195", - "l2cap_request_can_send_now_event": "0x0000c2a5", - "l2cap_request_connection_parameter_update": "0x0000c2bf", - "l2cap_send_echo_request": "0x0000c791", - "l2cap_unregister_service": "0x0000c851", - "le_device_db_add": "0x0000c8a9", - "le_device_db_find": "0x0000c97d", - "le_device_db_from_key": "0x0000c9a9", - "le_device_db_iter_cur": "0x0000c9b1", - "le_device_db_iter_cur_key": "0x0000c9b5", - "le_device_db_iter_init": "0x0000c9b9", - "le_device_db_iter_next": "0x0000c9c1", - "le_device_db_remove_key": "0x0000c9e7", - "ll_free": "0x0000ca13", - "ll_hint_on_ce_len": "0x0000ca1d", - "ll_legacy_adv_set_interval": "0x0000ca55", - "ll_malloc": "0x0000ca65", - "ll_query_timing_info": "0x0000cb9d", - "ll_scan_set_fixed_channel": "0x0000cc41", - "ll_set_adv_access_address": "0x0000cd55", - "ll_set_adv_coded_scheme": "0x0000cd61", - "ll_set_conn_coded_scheme": "0x0000cd91", - "ll_set_conn_latency": "0x0000cdbd", - "ll_set_conn_tx_power": "0x0000cded", - "ll_set_def_antenna": "0x0000ce35", - "ll_set_initiating_coded_scheme": "0x0000ce51", - "ll_set_max_conn_number": "0x0000ce5d", - "nibble_for_char": "0x0001cd51", - "platform_32k_rc_auto_tune": "0x0001cded", - "platform_32k_rc_tune": "0x0001ce69", - "platform_calibrate_32k": "0x0001ce7d", - "platform_config": "0x0001ce81", - "platform_controller_run": "0x0001cf71", - "platform_enable_irq": "0x0001cfa9", - "platform_get_gen_os_driver": "0x0001cfd1", - "platform_get_task_handle": "0x0001cfdd", - "platform_get_us_time": "0x0001cff5", - "platform_get_version": "0x0001cff9", - "platform_hrng": "0x0001d001", - "platform_init_controller": "0x0001d009", - "platform_os_idle_resumed_hook": "0x0001d025", - "platform_patch_rf_init_data": "0x0001d029", - "platform_post_sleep_processing": "0x0001d035", - "platform_pre_sleep_processing": "0x0001d03b", - "platform_pre_suppress_ticks_and_sleep_processing": "0x0001d041", - "platform_printf": "0x0001d045", - "platform_raise_assertion": "0x0001d059", - "platform_rand": "0x0001d06d", - "platform_read_info": "0x0001d071", - "platform_read_persistent_reg": "0x0001d0a1", - "platform_reset": "0x0001d0b1", - "platform_set_evt_callback": "0x0001d0d5", - "platform_set_evt_callback_table": "0x0001d0e9", - "platform_set_irq_callback": "0x0001d0f5", - "platform_set_irq_callback_table": "0x0001d111", - "platform_set_rf_clk_source": "0x0001d11d", - "platform_set_rf_init_data": "0x0001d129", - "platform_set_rf_power_mapping": "0x0001d135", - "platform_set_timer": "0x0001d141", - "platform_shutdown": "0x0001d145", - "platform_switch_app": "0x0001d149", - "platform_trace_raw": "0x0001d175", - "platform_write_persistent_reg": "0x0001d18d", - "printf_hexdump": "0x0001d19d", - "reverse_128": "0x0001d4d9", - "reverse_24": "0x0001d4df", - "reverse_48": "0x0001d4e5", - "reverse_56": "0x0001d4eb", - "reverse_64": "0x0001d4f1", - "reverse_bd_addr": "0x0001d4f7", - "reverse_bytes": "0x0001d4fd", - "sm_add_event_handler": "0x0001d669", - "sm_address_resolution_lookup": "0x0001d7c1", - "sm_authenticated": "0x0001db21", - "sm_authorization_decline": "0x0001db2f", - "sm_authorization_grant": "0x0001db4f", - "sm_authorization_state": "0x0001db6f", - "sm_bonding_decline": "0x0001db89", - "sm_config": "0x0001dfa9", - "sm_config_conn": "0x0001dfc1", - "sm_encryption_key_size": "0x0001e177", - "sm_just_works_confirm": "0x0001e6b1", - "sm_le_device_key": "0x0001e9ed", - "sm_passkey_input": "0x0001ea83", - "sm_private_random_address_generation_get": "0x0001ee31", - "sm_private_random_address_generation_get_mode": "0x0001ee39", - "sm_private_random_address_generation_set_mode": "0x0001ee45", - "sm_private_random_address_generation_set_update_period": "0x0001ee6d", - "sm_register_oob_data_callback": "0x0001efa9", - "sm_request_pairing": "0x0001efb5", - "sm_send_security_request": "0x0001f9ef", - "sm_set_accepted_stk_generation_methods": "0x0001fa15", - "sm_set_authentication_requirements": "0x0001fa21", - "sm_set_encryption_key_size_range": "0x0001fa2d", - "sscanf_bd_addr": "0x0001fd89", - "sysSetPublicDeviceAddr": "0x0002013d", - "uuid128_to_str": "0x00020721", - "uuid_add_bluetooth_prefix": "0x00020779", - "uuid_has_bluetooth_prefix": "0x00020799" + "att_dispatch_client_can_send_now": "0x0000565d", + "att_dispatch_client_request_can_send_now_event": "0x00005663", + "att_dispatch_register_client": "0x00005669", + "att_dispatch_register_server": "0x0000567d", + "att_dispatch_server_can_send_now": "0x00005691", + "att_dispatch_server_request_can_send_now_event": "0x00005697", + "att_emit_general_event": "0x00005749", + "att_server_can_send_packet_now": "0x00005e5d", + "att_server_deferred_read_response": "0x00005e61", + "att_server_get_mtu": "0x00005e79", + "att_server_indicate": "0x00005ef1", + "att_server_init": "0x00005f75", + "att_server_notify": "0x00005fb1", + "att_server_register_packet_handler": "0x000060c9", + "att_server_request_can_send_now_event": "0x000060d5", + "att_set_db": "0x000060f1", + "att_set_read_callback": "0x00006105", + "att_set_write_callback": "0x00006111", + "bd_addr_cmp": "0x00006281", + "bd_addr_copy": "0x00006287", + "bd_addr_to_str": "0x00006291", + "big_endian_read_16": "0x000062c9", + "big_endian_read_32": "0x000062d1", + "big_endian_store_16": "0x000062e5", + "big_endian_store_32": "0x000062f1", + "btstack_config": "0x00006429", + "btstack_memory_pool_create": "0x00006577", + "btstack_memory_pool_free": "0x000065a1", + "btstack_memory_pool_get": "0x00006601", + "btstack_push_user_msg": "0x00006649", + "btstack_push_user_runnable": "0x00006655", + "char_for_nibble": "0x000068c5", + "gap_add_dev_to_periodic_list": "0x00007185", + "gap_add_whitelist": "0x00007195", + "gap_aes_encrypt": "0x000071a1", + "gap_clear_white_lists": "0x000071e5", + "gap_clr_adv_set": "0x000071f1", + "gap_clr_periodic_adv_list": "0x000071fd", + "gap_create_connection_cancel": "0x00007209", + "gap_disconnect": "0x00007215", + "gap_disconnect_all": "0x00007241", + "gap_ext_create_connection": "0x00007281", + "gap_get_connection_parameter_range": "0x00007371", + "gap_le_read_channel_map": "0x000073ad", + "gap_periodic_adv_create_sync": "0x00007419", + "gap_periodic_adv_create_sync_cancel": "0x0000743d", + "gap_periodic_adv_term_sync": "0x00007449", + "gap_read_periodic_adv_list_size": "0x000074d1", + "gap_read_phy": "0x000074dd", + "gap_read_remote_used_features": "0x000074e9", + "gap_read_remote_version": "0x000074f5", + "gap_read_rssi": "0x00007501", + "gap_remove_whitelist": "0x0000750d", + "gap_rmv_adv_set": "0x00007589", + "gap_rmv_dev_from_periodic_list": "0x00007595", + "gap_rx_test_v2": "0x000075a5", + "gap_set_adv_set_random_addr": "0x000075dd", + "gap_set_connection_parameter_range": "0x00007625", + "gap_set_data_length": "0x0000763d", + "gap_set_def_phy": "0x00007655", + "gap_set_ext_adv_data": "0x00007665", + "gap_set_ext_adv_enable": "0x0000767d", + "gap_set_ext_adv_para": "0x000076f9", + "gap_set_ext_scan_enable": "0x000077d1", + "gap_set_ext_scan_para": "0x000077e9", + "gap_set_ext_scan_response_data": "0x00007891", + "gap_set_host_channel_classification": "0x000078a9", + "gap_set_periodic_adv_data": "0x000078b9", + "gap_set_periodic_adv_enable": "0x00007929", + "gap_set_periodic_adv_para": "0x00007939", + "gap_set_phy": "0x00007951", + "gap_set_random_device_address": "0x0000796d", + "gap_start_ccm": "0x0000799d", + "gap_test_end": "0x000079f1", + "gap_tx_test_v2": "0x000079fd", + "gap_tx_test_v4": "0x00007a15", + "gap_update_connection_parameters": "0x00007a39", + "gap_vendor_tx_continuous_wave": "0x00007a7d", + "gatt_client_cancel_write": "0x00007fa5", + "gatt_client_discover_characteristic_descriptors": "0x00007fcb", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x0000800b", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x0000805b", + "gatt_client_discover_characteristics_for_service": "0x000080ab", + "gatt_client_discover_primary_services": "0x000080e1", + "gatt_client_discover_primary_services_by_uuid128": "0x00008113", + "gatt_client_discover_primary_services_by_uuid16": "0x00008157", + "gatt_client_execute_write": "0x00008193", + "gatt_client_find_included_services_for_service": "0x000081b9", + "gatt_client_get_mtu": "0x000081e7", + "gatt_client_is_ready": "0x00008289", + "gatt_client_listen_for_characteristic_value_updates": "0x0000829f", + "gatt_client_prepare_write": "0x000082c1", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x000082fd", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x00008327", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x0000832d", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x0000835b", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x00008361", + "gatt_client_read_multiple_characteristic_values": "0x0000838f", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x000083bf", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x000083ed", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x00008439", + "gatt_client_register_handler": "0x00008485", + "gatt_client_reliable_write_long_value_of_characteristic": "0x00008491", + "gatt_client_signed_write_without_response": "0x000088c1", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008985", + "gatt_client_write_client_characteristic_configuration": "0x000089bf", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008a11", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008a21", + "gatt_client_write_long_value_of_characteristic": "0x00008a5d", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008a6d", + "gatt_client_write_value_of_characteristic": "0x00008aa9", + "gatt_client_write_value_of_characteristic_without_response": "0x00008adf", + "hci_add_event_handler": "0x0000a005", + "hci_power_control": "0x0000a7f9", + "hci_register_acl_packet_handler": "0x0000a9ad", + "kv_commit": "0x0000af45", + "kv_get": "0x0000af9d", + "kv_init": "0x0000afb5", + "kv_put": "0x0000b01d", + "kv_remove": "0x0000b095", + "kv_remove_all": "0x0000b0d1", + "kv_value_modified": "0x0000b115", + "kv_visit": "0x0000b119", + "l2cap_add_event_handler": "0x0000b1cd", + "l2cap_can_send_packet_now": "0x0000b1dd", + "l2cap_create_le_credit_based_connection_request": "0x0000b399", + "l2cap_credit_based_send": "0x0000b4dd", + "l2cap_credit_based_send_continue": "0x0000b509", + "l2cap_disconnect": "0x0000b585", + "l2cap_get_le_credit_based_connection_credits": "0x0000b7d5", + "l2cap_get_peer_mtu_for_local_cid": "0x0000b7f1", + "l2cap_init": "0x0000bbc5", + "l2cap_le_send_flow_control_credit": "0x0000bcbb", + "l2cap_max_le_mtu": "0x0000bfc5", + "l2cap_register_packet_handler": "0x0000c0ed", + "l2cap_register_service": "0x0000c0f9", + "l2cap_request_can_send_now_event": "0x0000c209", + "l2cap_request_connection_parameter_update": "0x0000c223", + "l2cap_send_echo_request": "0x0000c6f5", + "l2cap_unregister_service": "0x0000c7b5", + "le_device_db_add": "0x0000c80d", + "le_device_db_find": "0x0000c8e1", + "le_device_db_from_key": "0x0000c90d", + "le_device_db_iter_cur": "0x0000c915", + "le_device_db_iter_cur_key": "0x0000c919", + "le_device_db_iter_init": "0x0000c91d", + "le_device_db_iter_next": "0x0000c925", + "le_device_db_remove_key": "0x0000c94b", + "ll_aes_encrypt": "0x0000c979", + "ll_free": "0x0000c9f5", + "ll_hint_on_ce_len": "0x0000ca01", + "ll_legacy_adv_set_interval": "0x0000ca39", + "ll_malloc": "0x0000ca49", + "ll_query_timing_info": "0x0000cb81", + "ll_scan_set_fixed_channel": "0x0000cc25", + "ll_set_adv_access_address": "0x0000cd39", + "ll_set_adv_coded_scheme": "0x0000cd45", + "ll_set_conn_coded_scheme": "0x0000cd75", + "ll_set_conn_latency": "0x0000cda1", + "ll_set_conn_tx_power": "0x0000cdd1", + "ll_set_def_antenna": "0x0000ce19", + "ll_set_initiating_coded_scheme": "0x0000ce35", + "ll_set_max_conn_number": "0x0000ce41", + "nibble_for_char": "0x0001cd49", + "platform_32k_rc_auto_tune": "0x0001cde5", + "platform_32k_rc_tune": "0x0001ce61", + "platform_calibrate_32k": "0x0001ce75", + "platform_config": "0x0001ce79", + "platform_controller_run": "0x0001cf69", + "platform_enable_irq": "0x0001cfa1", + "platform_get_gen_os_driver": "0x0001cfd9", + "platform_get_task_handle": "0x0001cfe5", + "platform_get_us_time": "0x0001cffd", + "platform_get_version": "0x0001d001", + "platform_hrng": "0x0001d009", + "platform_init_controller": "0x0001d011", + "platform_os_idle_resumed_hook": "0x0001d02d", + "platform_patch_rf_init_data": "0x0001d031", + "platform_post_sleep_processing": "0x0001d03d", + "platform_pre_sleep_processing": "0x0001d043", + "platform_pre_suppress_ticks_and_sleep_processing": "0x0001d049", + "platform_printf": "0x0001d04d", + "platform_raise_assertion": "0x0001d061", + "platform_rand": "0x0001d075", + "platform_read_info": "0x0001d079", + "platform_read_persistent_reg": "0x0001d0a9", + "platform_reset": "0x0001d0b9", + "platform_set_evt_callback": "0x0001d0dd", + "platform_set_evt_callback_table": "0x0001d0f1", + "platform_set_irq_callback": "0x0001d0fd", + "platform_set_irq_callback_table": "0x0001d119", + "platform_set_rf_clk_source": "0x0001d125", + "platform_set_rf_init_data": "0x0001d131", + "platform_set_rf_power_mapping": "0x0001d13d", + "platform_set_timer": "0x0001d149", + "platform_shutdown": "0x0001d14d", + "platform_switch_app": "0x0001d151", + "platform_trace_raw": "0x0001d17d", + "platform_write_persistent_reg": "0x0001d195", + "printf_hexdump": "0x0001d1a5", + "reverse_128": "0x0001d4e1", + "reverse_24": "0x0001d4e7", + "reverse_48": "0x0001d4ed", + "reverse_56": "0x0001d4f3", + "reverse_64": "0x0001d4f9", + "reverse_bd_addr": "0x0001d4ff", + "reverse_bytes": "0x0001d505", + "sm_add_event_handler": "0x0001d671", + "sm_address_resolution_lookup": "0x0001d7c9", + "sm_authenticated": "0x0001db29", + "sm_authorization_decline": "0x0001db37", + "sm_authorization_grant": "0x0001db57", + "sm_authorization_state": "0x0001db77", + "sm_bonding_decline": "0x0001db91", + "sm_config": "0x0001dfb1", + "sm_config_conn": "0x0001dfc9", + "sm_encryption_key_size": "0x0001e17f", + "sm_just_works_confirm": "0x0001e6b9", + "sm_le_device_key": "0x0001e9f5", + "sm_passkey_input": "0x0001ea8b", + "sm_private_random_address_generation_get": "0x0001ee39", + "sm_private_random_address_generation_get_mode": "0x0001ee41", + "sm_private_random_address_generation_set_mode": "0x0001ee4d", + "sm_private_random_address_generation_set_update_period": "0x0001ee75", + "sm_register_oob_data_callback": "0x0001efb1", + "sm_request_pairing": "0x0001efbd", + "sm_send_security_request": "0x0001f9f7", + "sm_set_accepted_stk_generation_methods": "0x0001fa1d", + "sm_set_authentication_requirements": "0x0001fa29", + "sm_set_encryption_key_size_range": "0x0001fa35", + "sscanf_bd_addr": "0x0001fd91", + "sysSetPublicDeviceAddr": "0x00020145", + "uuid128_to_str": "0x00020729", + "uuid_add_bluetooth_prefix": "0x00020781", + "uuid_has_bluetooth_prefix": "0x000207a1" } \ No newline at end of file diff --git a/bundles/noos_typical/ING9187xx/meta.json b/bundles/noos_typical/ING9187xx/meta.json index afd9ec1d5..2ee8b9b71 100644 --- a/bundles/noos_typical/ING9187xx/meta.json +++ b/bundles/noos_typical/ING9187xx/meta.json @@ -8,11 +8,11 @@ }, "rom": { "base": 16384, - "size": 122892 + "size": 122900 }, "version": [ 1, 9, - 12 + 15 ] } \ No newline at end of file diff --git a/bundles/noos_typical/ING9187xx/platform.bin b/bundles/noos_typical/ING9187xx/platform.bin index deaf70ef4..18240b360 100644 Binary files a/bundles/noos_typical/ING9187xx/platform.bin and b/bundles/noos_typical/ING9187xx/platform.bin differ diff --git a/bundles/noos_typical/ING9188xx/apis.json b/bundles/noos_typical/ING9188xx/apis.json index 3fd3d2735..8ad1bcbf0 100644 --- a/bundles/noos_typical/ING9188xx/apis.json +++ b/bundles/noos_typical/ING9188xx/apis.json @@ -1,250 +1,251 @@ { - "att_dispatch_client_can_send_now": "0x00005799", - "att_dispatch_client_request_can_send_now_event": "0x0000579f", - "att_dispatch_register_client": "0x000057a5", - "att_dispatch_register_server": "0x000057b9", - "att_dispatch_server_can_send_now": "0x000057cd", - "att_dispatch_server_request_can_send_now_event": "0x000057d3", - "att_emit_general_event": "0x00005885", - "att_server_can_send_packet_now": "0x00005f99", - "att_server_deferred_read_response": "0x00005f9d", - "att_server_get_mtu": "0x00005fb5", - "att_server_indicate": "0x0000602d", - "att_server_init": "0x000060b1", - "att_server_notify": "0x000060ed", - "att_server_register_packet_handler": "0x00006205", - "att_server_request_can_send_now_event": "0x00006211", - "att_set_db": "0x0000622d", - "att_set_read_callback": "0x00006241", - "att_set_write_callback": "0x0000624d", - "bd_addr_cmp": "0x000063bd", - "bd_addr_copy": "0x000063c3", - "bd_addr_to_str": "0x000063cd", - "big_endian_read_16": "0x00006405", - "big_endian_read_32": "0x0000640d", - "big_endian_store_16": "0x00006421", - "big_endian_store_32": "0x0000642d", - "btstack_config": "0x00006565", - "btstack_memory_pool_create": "0x000066b3", - "btstack_memory_pool_free": "0x000066dd", - "btstack_memory_pool_get": "0x0000673d", - "btstack_push_user_msg": "0x00006785", - "btstack_push_user_runnable": "0x00006791", - "char_for_nibble": "0x00006a01", - "gap_add_dev_to_periodic_list": "0x00007325", - "gap_add_whitelist": "0x0000733d", - "gap_aes_encrypt": "0x00007351", - "gap_clear_white_lists": "0x00007395", - "gap_clr_adv_set": "0x000073a5", - "gap_clr_periodic_adv_list": "0x000073b5", - "gap_create_connection_cancel": "0x000073c5", - "gap_default_periodic_adv_sync_transfer_param": "0x000073d5", - "gap_disconnect": "0x000073ed", - "gap_disconnect_all": "0x00007419", - "gap_ext_create_connection": "0x00007459", - "gap_get_connection_parameter_range": "0x00007549", - "gap_le_read_channel_map": "0x00007585", - "gap_periodic_adv_create_sync": "0x000075f9", - "gap_periodic_adv_create_sync_cancel": "0x0000761d", - "gap_periodic_adv_set_info_transfer": "0x0000762d", - "gap_periodic_adv_sync_transfer": "0x00007645", - "gap_periodic_adv_sync_transfer_param": "0x0000765d", - "gap_periodic_adv_term_sync": "0x00007679", - "gap_read_antenna_info": "0x0000770d", - "gap_read_periodic_adv_list_size": "0x0000771d", - "gap_read_phy": "0x0000772d", - "gap_read_remote_used_features": "0x00007741", - "gap_read_remote_version": "0x00007755", - "gap_read_rssi": "0x00007769", - "gap_remove_whitelist": "0x0000777d", - "gap_rmv_adv_set": "0x00007801", - "gap_rmv_dev_from_periodic_list": "0x00007815", - "gap_rx_test_v2": "0x0000782d", - "gap_rx_test_v3": "0x00007845", - "gap_set_adv_set_random_addr": "0x00007895", - "gap_set_connection_cte_request_enable": "0x000078e1", - "gap_set_connection_cte_response_enable": "0x000078fd", - "gap_set_connection_cte_rx_param": "0x00007911", - "gap_set_connection_cte_tx_param": "0x0000796d", - "gap_set_connection_parameter_range": "0x000079c1", - "gap_set_connectionless_cte_tx_enable": "0x000079d9", - "gap_set_connectionless_cte_tx_param": "0x000079ed", - "gap_set_connectionless_iq_sampling_enable": "0x00007a4d", - "gap_set_data_length": "0x00007ab1", - "gap_set_def_phy": "0x00007acd", - "gap_set_ext_adv_data": "0x00007ae5", - "gap_set_ext_adv_enable": "0x00007afd", - "gap_set_ext_adv_para": "0x00007b79", - "gap_set_ext_scan_enable": "0x00007c59", - "gap_set_ext_scan_para": "0x00007c71", - "gap_set_ext_scan_response_data": "0x00007d19", - "gap_set_host_channel_classification": "0x00007d31", - "gap_set_periodic_adv_data": "0x00007d45", - "gap_set_periodic_adv_enable": "0x00007db9", - "gap_set_periodic_adv_para": "0x00007dcd", - "gap_set_periodic_adv_rx_enable": "0x00007de5", - "gap_set_phy": "0x00007df9", - "gap_set_random_device_address": "0x00007e15", - "gap_start_ccm": "0x00007e45", - "gap_test_end": "0x00007e79", - "gap_tx_test_v2": "0x00007e89", - "gap_tx_test_v4": "0x00007ea1", - "gap_update_connection_parameters": "0x00007ec9", - "gap_vendor_tx_continuous_wave": "0x00007f0d", - "gatt_client_cancel_write": "0x00008435", - "gatt_client_discover_characteristic_descriptors": "0x0000845b", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x0000849b", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x000084eb", - "gatt_client_discover_characteristics_for_service": "0x0000853b", - "gatt_client_discover_primary_services": "0x00008571", - "gatt_client_discover_primary_services_by_uuid128": "0x000085a3", - "gatt_client_discover_primary_services_by_uuid16": "0x000085e7", - "gatt_client_execute_write": "0x00008623", - "gatt_client_find_included_services_for_service": "0x00008649", - "gatt_client_get_mtu": "0x00008677", - "gatt_client_is_ready": "0x00008719", - "gatt_client_listen_for_characteristic_value_updates": "0x0000872f", - "gatt_client_prepare_write": "0x00008751", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x0000878d", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x000087b7", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x000087bd", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x000087eb", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x000087f1", - "gatt_client_read_multiple_characteristic_values": "0x0000881f", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x0000884f", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x0000887d", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x000088c9", - "gatt_client_register_handler": "0x00008915", - "gatt_client_reliable_write_long_value_of_characteristic": "0x00008921", - "gatt_client_signed_write_without_response": "0x00008d51", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008e15", - "gatt_client_write_client_characteristic_configuration": "0x00008e4f", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008ea1", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008eb1", - "gatt_client_write_long_value_of_characteristic": "0x00008eed", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008efd", - "gatt_client_write_value_of_characteristic": "0x00008f39", - "gatt_client_write_value_of_characteristic_without_response": "0x00008f6f", - "hci_add_event_handler": "0x0000a4b1", - "hci_power_control": "0x0000aca5", - "hci_register_acl_packet_handler": "0x0000ae59", - "kv_commit": "0x0000b3f9", - "kv_get": "0x0000b451", - "kv_init": "0x0000b469", - "kv_put": "0x0000b4d1", - "kv_remove": "0x0000b549", - "kv_remove_all": "0x0000b585", - "kv_value_modified": "0x0000b5c9", - "kv_visit": "0x0000b5cd", - "l2cap_add_event_handler": "0x0000b681", - "l2cap_can_send_packet_now": "0x0000b691", - "l2cap_create_le_credit_based_connection_request": "0x0000b84d", - "l2cap_credit_based_send": "0x0000b991", - "l2cap_credit_based_send_continue": "0x0000b9bd", - "l2cap_disconnect": "0x0000ba39", - "l2cap_get_le_credit_based_connection_credits": "0x0000bc89", - "l2cap_get_peer_mtu_for_local_cid": "0x0000bca5", - "l2cap_init": "0x0000c079", - "l2cap_le_send_flow_control_credit": "0x0000c16f", - "l2cap_max_le_mtu": "0x0000c479", - "l2cap_register_packet_handler": "0x0000c5a1", - "l2cap_register_service": "0x0000c5ad", - "l2cap_request_can_send_now_event": "0x0000c6bd", - "l2cap_request_connection_parameter_update": "0x0000c6d7", - "l2cap_send_echo_request": "0x0000cba9", - "l2cap_unregister_service": "0x0000cc69", - "le_device_db_add": "0x0000ccc1", - "le_device_db_find": "0x0000cd95", - "le_device_db_from_key": "0x0000cdc1", - "le_device_db_iter_cur": "0x0000cdc9", - "le_device_db_iter_cur_key": "0x0000cdcd", - "le_device_db_iter_init": "0x0000cdd1", - "le_device_db_iter_next": "0x0000cdd9", - "le_device_db_remove_key": "0x0000cdff", - "ll_free": "0x0000ce2b", - "ll_hint_on_ce_len": "0x0000ce35", - "ll_legacy_adv_set_interval": "0x0000ce6d", - "ll_malloc": "0x0000ce7d", - "ll_query_timing_info": "0x0000cfb5", - "ll_scan_set_fixed_channel": "0x0000d059", - "ll_set_adv_access_address": "0x0000d16d", - "ll_set_adv_coded_scheme": "0x0000d179", - "ll_set_conn_coded_scheme": "0x0000d1a9", - "ll_set_conn_latency": "0x0000d1d5", - "ll_set_conn_tx_power": "0x0000d205", - "ll_set_def_antenna": "0x0000d24d", - "ll_set_initiating_coded_scheme": "0x0000d269", - "ll_set_max_conn_number": "0x0000d275", - "nibble_for_char": "0x0001e049", - "platform_32k_rc_auto_tune": "0x0001e0e5", - "platform_32k_rc_tune": "0x0001e161", - "platform_calibrate_32k": "0x0001e175", - "platform_config": "0x0001e179", - "platform_controller_run": "0x0001e269", - "platform_enable_irq": "0x0001e2a1", - "platform_get_gen_os_driver": "0x0001e2c9", - "platform_get_task_handle": "0x0001e2d5", - "platform_get_us_time": "0x0001e2ed", - "platform_get_version": "0x0001e2f1", - "platform_hrng": "0x0001e2f9", - "platform_init_controller": "0x0001e301", - "platform_os_idle_resumed_hook": "0x0001e31d", - "platform_patch_rf_init_data": "0x0001e321", - "platform_post_sleep_processing": "0x0001e32d", - "platform_pre_sleep_processing": "0x0001e333", - "platform_pre_suppress_ticks_and_sleep_processing": "0x0001e339", - "platform_printf": "0x0001e33d", - "platform_raise_assertion": "0x0001e351", - "platform_rand": "0x0001e365", - "platform_read_info": "0x0001e369", - "platform_read_persistent_reg": "0x0001e399", - "platform_reset": "0x0001e3a9", - "platform_set_evt_callback": "0x0001e3cd", - "platform_set_evt_callback_table": "0x0001e3e1", - "platform_set_irq_callback": "0x0001e3ed", - "platform_set_irq_callback_table": "0x0001e409", - "platform_set_rf_clk_source": "0x0001e415", - "platform_set_rf_init_data": "0x0001e421", - "platform_set_rf_power_mapping": "0x0001e42d", - "platform_set_timer": "0x0001e439", - "platform_shutdown": "0x0001e43d", - "platform_switch_app": "0x0001e441", - "platform_trace_raw": "0x0001e46d", - "platform_write_persistent_reg": "0x0001e485", - "printf_hexdump": "0x0001e495", - "reverse_128": "0x0001e809", - "reverse_24": "0x0001e80f", - "reverse_48": "0x0001e815", - "reverse_56": "0x0001e81b", - "reverse_64": "0x0001e821", - "reverse_bd_addr": "0x0001e827", - "reverse_bytes": "0x0001e82d", - "sm_add_event_handler": "0x0001eaed", - "sm_address_resolution_lookup": "0x0001ec45", - "sm_authenticated": "0x0001efa5", - "sm_authorization_decline": "0x0001efb3", - "sm_authorization_grant": "0x0001efd3", - "sm_authorization_state": "0x0001eff3", - "sm_bonding_decline": "0x0001f00d", - "sm_config": "0x0001f42d", - "sm_config_conn": "0x0001f445", - "sm_encryption_key_size": "0x0001f5fb", - "sm_just_works_confirm": "0x0001fb35", - "sm_le_device_key": "0x0001fe71", - "sm_passkey_input": "0x0001ff07", - "sm_private_random_address_generation_get": "0x000202b5", - "sm_private_random_address_generation_get_mode": "0x000202bd", - "sm_private_random_address_generation_set_mode": "0x000202c9", - "sm_private_random_address_generation_set_update_period": "0x000202f1", - "sm_register_oob_data_callback": "0x0002042d", - "sm_request_pairing": "0x00020439", - "sm_send_security_request": "0x00020e73", - "sm_set_accepted_stk_generation_methods": "0x00020e99", - "sm_set_authentication_requirements": "0x00020ea5", - "sm_set_encryption_key_size_range": "0x00020eb1", - "sscanf_bd_addr": "0x0002120d", - "sysSetPublicDeviceAddr": "0x000215c1", - "uuid128_to_str": "0x00021d39", - "uuid_add_bluetooth_prefix": "0x00021d91", - "uuid_has_bluetooth_prefix": "0x00021db1" + "att_dispatch_client_can_send_now": "0x00005781", + "att_dispatch_client_request_can_send_now_event": "0x00005787", + "att_dispatch_register_client": "0x0000578d", + "att_dispatch_register_server": "0x000057a1", + "att_dispatch_server_can_send_now": "0x000057b5", + "att_dispatch_server_request_can_send_now_event": "0x000057bb", + "att_emit_general_event": "0x0000586d", + "att_server_can_send_packet_now": "0x00005f81", + "att_server_deferred_read_response": "0x00005f85", + "att_server_get_mtu": "0x00005f9d", + "att_server_indicate": "0x00006015", + "att_server_init": "0x00006099", + "att_server_notify": "0x000060d5", + "att_server_register_packet_handler": "0x000061ed", + "att_server_request_can_send_now_event": "0x000061f9", + "att_set_db": "0x00006215", + "att_set_read_callback": "0x00006229", + "att_set_write_callback": "0x00006235", + "bd_addr_cmp": "0x000063a5", + "bd_addr_copy": "0x000063ab", + "bd_addr_to_str": "0x000063b5", + "big_endian_read_16": "0x000063ed", + "big_endian_read_32": "0x000063f5", + "big_endian_store_16": "0x00006409", + "big_endian_store_32": "0x00006415", + "btstack_config": "0x0000654d", + "btstack_memory_pool_create": "0x0000669b", + "btstack_memory_pool_free": "0x000066c5", + "btstack_memory_pool_get": "0x00006725", + "btstack_push_user_msg": "0x0000676d", + "btstack_push_user_runnable": "0x00006779", + "char_for_nibble": "0x000069e9", + "gap_add_dev_to_periodic_list": "0x00007319", + "gap_add_whitelist": "0x00007329", + "gap_aes_encrypt": "0x00007335", + "gap_clear_white_lists": "0x00007379", + "gap_clr_adv_set": "0x00007385", + "gap_clr_periodic_adv_list": "0x00007391", + "gap_create_connection_cancel": "0x0000739d", + "gap_default_periodic_adv_sync_transfer_param": "0x000073a9", + "gap_disconnect": "0x000073c1", + "gap_disconnect_all": "0x000073ed", + "gap_ext_create_connection": "0x0000742d", + "gap_get_connection_parameter_range": "0x0000751d", + "gap_le_read_channel_map": "0x00007559", + "gap_periodic_adv_create_sync": "0x000075c5", + "gap_periodic_adv_create_sync_cancel": "0x000075e9", + "gap_periodic_adv_set_info_transfer": "0x000075f5", + "gap_periodic_adv_sync_transfer": "0x00007605", + "gap_periodic_adv_sync_transfer_param": "0x00007615", + "gap_periodic_adv_term_sync": "0x00007631", + "gap_read_antenna_info": "0x000076b9", + "gap_read_periodic_adv_list_size": "0x000076c5", + "gap_read_phy": "0x000076d1", + "gap_read_remote_used_features": "0x000076dd", + "gap_read_remote_version": "0x000076e9", + "gap_read_rssi": "0x000076f5", + "gap_remove_whitelist": "0x00007701", + "gap_rmv_adv_set": "0x0000777d", + "gap_rmv_dev_from_periodic_list": "0x00007789", + "gap_rx_test_v2": "0x00007799", + "gap_rx_test_v3": "0x000077a9", + "gap_set_adv_set_random_addr": "0x000077f5", + "gap_set_connection_cte_request_enable": "0x0000783d", + "gap_set_connection_cte_response_enable": "0x00007859", + "gap_set_connection_cte_rx_param": "0x00007869", + "gap_set_connection_cte_tx_param": "0x000078c5", + "gap_set_connection_parameter_range": "0x00007919", + "gap_set_connectionless_cte_tx_enable": "0x00007931", + "gap_set_connectionless_cte_tx_param": "0x00007941", + "gap_set_connectionless_iq_sampling_enable": "0x000079a1", + "gap_set_data_length": "0x00007a05", + "gap_set_def_phy": "0x00007a1d", + "gap_set_ext_adv_data": "0x00007a2d", + "gap_set_ext_adv_enable": "0x00007a45", + "gap_set_ext_adv_para": "0x00007ac1", + "gap_set_ext_scan_enable": "0x00007b99", + "gap_set_ext_scan_para": "0x00007bb1", + "gap_set_ext_scan_response_data": "0x00007c59", + "gap_set_host_channel_classification": "0x00007c71", + "gap_set_periodic_adv_data": "0x00007c81", + "gap_set_periodic_adv_enable": "0x00007cf1", + "gap_set_periodic_adv_para": "0x00007d01", + "gap_set_periodic_adv_rx_enable": "0x00007d19", + "gap_set_phy": "0x00007d29", + "gap_set_random_device_address": "0x00007d45", + "gap_start_ccm": "0x00007d75", + "gap_test_end": "0x00007dc9", + "gap_tx_test_v2": "0x00007dd5", + "gap_tx_test_v4": "0x00007ded", + "gap_update_connection_parameters": "0x00007e11", + "gap_vendor_tx_continuous_wave": "0x00007e55", + "gatt_client_cancel_write": "0x0000837d", + "gatt_client_discover_characteristic_descriptors": "0x000083a3", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x000083e3", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x00008433", + "gatt_client_discover_characteristics_for_service": "0x00008483", + "gatt_client_discover_primary_services": "0x000084b9", + "gatt_client_discover_primary_services_by_uuid128": "0x000084eb", + "gatt_client_discover_primary_services_by_uuid16": "0x0000852f", + "gatt_client_execute_write": "0x0000856b", + "gatt_client_find_included_services_for_service": "0x00008591", + "gatt_client_get_mtu": "0x000085bf", + "gatt_client_is_ready": "0x00008661", + "gatt_client_listen_for_characteristic_value_updates": "0x00008677", + "gatt_client_prepare_write": "0x00008699", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x000086d5", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x000086ff", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008705", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x00008733", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x00008739", + "gatt_client_read_multiple_characteristic_values": "0x00008767", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x00008797", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x000087c5", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x00008811", + "gatt_client_register_handler": "0x0000885d", + "gatt_client_reliable_write_long_value_of_characteristic": "0x00008869", + "gatt_client_signed_write_without_response": "0x00008c99", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008d5d", + "gatt_client_write_client_characteristic_configuration": "0x00008d97", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008de9", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008df9", + "gatt_client_write_long_value_of_characteristic": "0x00008e35", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008e45", + "gatt_client_write_value_of_characteristic": "0x00008e81", + "gatt_client_write_value_of_characteristic_without_response": "0x00008eb7", + "hci_add_event_handler": "0x0000a3f9", + "hci_power_control": "0x0000abed", + "hci_register_acl_packet_handler": "0x0000ada1", + "kv_commit": "0x0000b339", + "kv_get": "0x0000b391", + "kv_init": "0x0000b3a9", + "kv_put": "0x0000b411", + "kv_remove": "0x0000b489", + "kv_remove_all": "0x0000b4c5", + "kv_value_modified": "0x0000b509", + "kv_visit": "0x0000b50d", + "l2cap_add_event_handler": "0x0000b5c1", + "l2cap_can_send_packet_now": "0x0000b5d1", + "l2cap_create_le_credit_based_connection_request": "0x0000b78d", + "l2cap_credit_based_send": "0x0000b8d1", + "l2cap_credit_based_send_continue": "0x0000b8fd", + "l2cap_disconnect": "0x0000b979", + "l2cap_get_le_credit_based_connection_credits": "0x0000bbc9", + "l2cap_get_peer_mtu_for_local_cid": "0x0000bbe5", + "l2cap_init": "0x0000bfb9", + "l2cap_le_send_flow_control_credit": "0x0000c0af", + "l2cap_max_le_mtu": "0x0000c3b9", + "l2cap_register_packet_handler": "0x0000c4e1", + "l2cap_register_service": "0x0000c4ed", + "l2cap_request_can_send_now_event": "0x0000c5fd", + "l2cap_request_connection_parameter_update": "0x0000c617", + "l2cap_send_echo_request": "0x0000cae9", + "l2cap_unregister_service": "0x0000cba9", + "le_device_db_add": "0x0000cc01", + "le_device_db_find": "0x0000ccd5", + "le_device_db_from_key": "0x0000cd01", + "le_device_db_iter_cur": "0x0000cd09", + "le_device_db_iter_cur_key": "0x0000cd0d", + "le_device_db_iter_init": "0x0000cd11", + "le_device_db_iter_next": "0x0000cd19", + "le_device_db_remove_key": "0x0000cd3f", + "ll_aes_encrypt": "0x0000cd6d", + "ll_free": "0x0000cde9", + "ll_hint_on_ce_len": "0x0000cdf5", + "ll_legacy_adv_set_interval": "0x0000ce2d", + "ll_malloc": "0x0000ce3d", + "ll_query_timing_info": "0x0000cf75", + "ll_scan_set_fixed_channel": "0x0000d019", + "ll_set_adv_access_address": "0x0000d12d", + "ll_set_adv_coded_scheme": "0x0000d139", + "ll_set_conn_coded_scheme": "0x0000d169", + "ll_set_conn_latency": "0x0000d195", + "ll_set_conn_tx_power": "0x0000d1c5", + "ll_set_def_antenna": "0x0000d20d", + "ll_set_initiating_coded_scheme": "0x0000d229", + "ll_set_max_conn_number": "0x0000d235", + "nibble_for_char": "0x0001e01d", + "platform_32k_rc_auto_tune": "0x0001e0b9", + "platform_32k_rc_tune": "0x0001e135", + "platform_calibrate_32k": "0x0001e149", + "platform_config": "0x0001e14d", + "platform_controller_run": "0x0001e23d", + "platform_enable_irq": "0x0001e275", + "platform_get_gen_os_driver": "0x0001e2ad", + "platform_get_task_handle": "0x0001e2b9", + "platform_get_us_time": "0x0001e2d1", + "platform_get_version": "0x0001e2d5", + "platform_hrng": "0x0001e2dd", + "platform_init_controller": "0x0001e2e5", + "platform_os_idle_resumed_hook": "0x0001e301", + "platform_patch_rf_init_data": "0x0001e305", + "platform_post_sleep_processing": "0x0001e311", + "platform_pre_sleep_processing": "0x0001e317", + "platform_pre_suppress_ticks_and_sleep_processing": "0x0001e31d", + "platform_printf": "0x0001e321", + "platform_raise_assertion": "0x0001e335", + "platform_rand": "0x0001e349", + "platform_read_info": "0x0001e34d", + "platform_read_persistent_reg": "0x0001e37d", + "platform_reset": "0x0001e38d", + "platform_set_evt_callback": "0x0001e3b1", + "platform_set_evt_callback_table": "0x0001e3c5", + "platform_set_irq_callback": "0x0001e3d1", + "platform_set_irq_callback_table": "0x0001e3ed", + "platform_set_rf_clk_source": "0x0001e3f9", + "platform_set_rf_init_data": "0x0001e405", + "platform_set_rf_power_mapping": "0x0001e411", + "platform_set_timer": "0x0001e41d", + "platform_shutdown": "0x0001e421", + "platform_switch_app": "0x0001e425", + "platform_trace_raw": "0x0001e451", + "platform_write_persistent_reg": "0x0001e469", + "printf_hexdump": "0x0001e479", + "reverse_128": "0x0001e7ed", + "reverse_24": "0x0001e7f3", + "reverse_48": "0x0001e7f9", + "reverse_56": "0x0001e7ff", + "reverse_64": "0x0001e805", + "reverse_bd_addr": "0x0001e80b", + "reverse_bytes": "0x0001e811", + "sm_add_event_handler": "0x0001ead1", + "sm_address_resolution_lookup": "0x0001ec29", + "sm_authenticated": "0x0001ef89", + "sm_authorization_decline": "0x0001ef97", + "sm_authorization_grant": "0x0001efb7", + "sm_authorization_state": "0x0001efd7", + "sm_bonding_decline": "0x0001eff1", + "sm_config": "0x0001f411", + "sm_config_conn": "0x0001f429", + "sm_encryption_key_size": "0x0001f5df", + "sm_just_works_confirm": "0x0001fb19", + "sm_le_device_key": "0x0001fe55", + "sm_passkey_input": "0x0001feeb", + "sm_private_random_address_generation_get": "0x00020299", + "sm_private_random_address_generation_get_mode": "0x000202a1", + "sm_private_random_address_generation_set_mode": "0x000202ad", + "sm_private_random_address_generation_set_update_period": "0x000202d5", + "sm_register_oob_data_callback": "0x00020411", + "sm_request_pairing": "0x0002041d", + "sm_send_security_request": "0x00020e57", + "sm_set_accepted_stk_generation_methods": "0x00020e7d", + "sm_set_authentication_requirements": "0x00020e89", + "sm_set_encryption_key_size_range": "0x00020e95", + "sscanf_bd_addr": "0x000211f1", + "sysSetPublicDeviceAddr": "0x000215a5", + "uuid128_to_str": "0x00021d1d", + "uuid_add_bluetooth_prefix": "0x00021d75", + "uuid_has_bluetooth_prefix": "0x00021d95" } \ No newline at end of file diff --git a/bundles/noos_typical/ING9188xx/meta.json b/bundles/noos_typical/ING9188xx/meta.json index c27499f16..c4bb8f900 100644 --- a/bundles/noos_typical/ING9188xx/meta.json +++ b/bundles/noos_typical/ING9188xx/meta.json @@ -8,11 +8,11 @@ }, "rom": { "base": 16384, - "size": 129004 + "size": 128976 }, "version": [ 1, 9, - 12 + 15 ] } \ No newline at end of file diff --git a/bundles/noos_typical/ING9188xx/platform.bin b/bundles/noos_typical/ING9188xx/platform.bin index b1268af65..cee9bb357 100644 Binary files a/bundles/noos_typical/ING9188xx/platform.bin and b/bundles/noos_typical/ING9188xx/platform.bin differ diff --git a/bundles/noos_typical/inc/gap.h b/bundles/noos_typical/inc/gap.h index 413b9423a..cc0896b57 100644 --- a/bundles/noos_typical/inc/gap.h +++ b/bundles/noos_typical/inc/gap.h @@ -47,14 +47,15 @@ typedef enum scan_type * @brief set random address device * * @param address random address + * @return 0: Message is sent to controller; others: failed */ -void gap_set_random_device_address(const uint8_t *address); +uint8_t gap_set_random_device_address(const uint8_t *address); /** * @brief Disconnect connection with handle * * @param handle Used to identify an advertising set. Range: 0x00 to 0xEF - * @return 0: Message is sent out or the connection alreay release + * @return 0: Message is sent out or the connection already release */ uint8_t gap_disconnect(hci_con_handle_t handle); @@ -67,7 +68,7 @@ void gap_disconnect_all(void); * * @param[in] address BLE address * @param[in] addtype BLE address type - * @return 0: Message is sent to controller + * @return 0: Message is sent to controller */ uint8_t gap_add_whitelist(const uint8_t *address,bd_addr_type_t addtype); @@ -1326,30 +1327,27 @@ uint8_t gap_vendor_tx_continuous_wave(uint8_t enable, uint8_t power_level_index, #define HCI_VENDOR_CCM 0xFC01 /** - * @brief host require controller to do AES-CCM functionality, and CCM referece to + * @brief Host require controller to do AES-CCM functionality, and CCM reference to * the document rfc3610:Counter with CBC-MAC (CCM) * - * @param type 0: encrypt 1:decrypt - * - * @param mic_size 8: mic size in 8 bytes 4: mic size in 4 bytes - * - * @param msg_len messge length to be encrypt or decrypt - * - * @param aad_len Additional authenticated data length - * - * @param tag a value to identify a AES-CCM request. - * - * @param key 128 bits long key as required by AES-CCM - * - * @param nonce random value of each AES-CCM require 13 bytes long - * - * @param msg pointer to the message input + * All input buffers (key, nonce, msg, aad) must be kept in memory until AES-CCM completed. * - * @param aad Additional authenticated data + * `return_param` passed to `cb` is casted from `event_vendor_ccm_complete_t`. * - * @param out_msg the output buffer to store the result of the AES-CCM ,calculated by controller. + * @param[in] type 0: encrypt 1:decrypt + * @param[in] mic_size 8: mic size in 8 bytes 4: mic size in 4 bytes + * @param[in] msg_len message length to be encrypt or decrypt (<= 384 bytes) + * @param[in] aad_len Additional authenticated data length (<= 16 bytes) + * @param[in] tag a value to identify a AES-CCM request. + * @param[in] key 128 bits long key as required by AES-CCM + * @param[in] nonce random value of each AES-CCM require 13 bytes long + * @param[in] msg pointer to the message input + * @param[in] aad Additional authenticated data + * @param[out] out_msg the output buffer to store the result of the AES-CCM + * @param[in] cb callback function on the corresponding command complete event + * @param[in] user_data user data for the callback function * - * @return 0: success others: failed + * @return 0: success others: failed */ uint8_t gap_start_ccm( uint8_t type, // 0: encrypt 1: decrypt @@ -1357,11 +1355,13 @@ uint8_t gap_start_ccm( uint16_t msg_len, uint16_t aad_len, uint32_t tag, // same value will be reported in event - uint8_t *key, - uint8_t *nonce, - uint8_t *msg, - uint8_t *aad, - uint8_t *out_msg); + const uint8_t *key, + const uint8_t *nonce, + const uint8_t *msg, + const uint8_t *aad, + uint8_t *out_msg, + gap_hci_cmd_complete_cb_t cb, + void *user_data); //HCI func interface diff --git a/bundles/noos_typical/inc/ll_api.h b/bundles/noos_typical/inc/ll_api.h index c32f31e3e..f49c2f484 100644 --- a/bundles/noos_typical/inc/ll_api.h +++ b/bundles/noos_typical/inc/ll_api.h @@ -118,6 +118,52 @@ void ll_set_conn_coded_scheme(uint16_t conn_handle, int ci); */ void ll_set_conn_latency(uint16_t conn_handle, int latency); +/** + **************************************************************************************** + * @brief Get connection basic information of a connection + * + * @param[in] conn_handle handle of an existing connection + * @param[out] access_addr Access address + * @param[out] crc_init CRC init value + * @param[out] interval interval (unit: us) + * @return 0 if successful else non-0 + **************************************************************************************** + */ +// int ll_get_conn_info(const uint16_t conn_handle, +// uint32_t *access_addr, +// uint32_t *crc_init, +// uint32_t *interval); +// WARNING: ^^^ this API is not available in this release + + +/** + **************************************************************************************** + * @brief Get information of upcoming connection events of a connection + * + * Information of consecutive N connection events after `from_time` can be retrieved, + * where N = `number`. + * + * Sub-rating is ignored. If channel map updated within these events, then `channel_ids` + * are not reliable. + * + * @param[in] conn_handle handle of an existing connection + * @param[in] number number of connection events to be queried + * @param[in] from_time the first connection event shall be after `from_time` (unit: us) + * @param[out] time_offset time offset between the start of the first connection event and `from_time` (unit: us) + * @param[out] event_count connection event count of the first connection event + * @param[out] channel_ids physical channel IDs of the upcoming `number` connection events + * @return 0 if successful else non-0 + **************************************************************************************** + */ +// int ll_get_conn_events_info(const uint16_t conn_handle, +// int number, +// uint64_t from_time, +// uint32_t *time_offset, +// uint16_t *event_count, +// uint8_t *channel_ids); +// WARNING: ^^^ this API is not available in this release + + /** **************************************************************************************** * @brief Set default antenna ID @@ -789,6 +835,21 @@ typedef int (*f_start_generate_dhkey)(int key_type, const uint8_t *remote_pub_k // f_start_generate_dhkey start_generate_dhkey); // WARNING: ^^^ this API is not available in this release + +/** + **************************************************************************************** + * @brief Low level AES encryption in blocking mode + * + * @param[in] key key (little-endian) + * @param[in] plaintext plaintext (little-endian) + * @param[out] ciphertext ciphertext (big-endian) + * @return 0 if completed successfully; non-0 if hardware is not ready or busy + * When non-0 is returned, it is possible to retry later. + **************************************************************************************** + */ +int ll_aes_encrypt(const uint8_t *key, const uint8_t *plaintext, + uint8_t *ciphertext); + #ifdef __cplusplus } #endif diff --git a/bundles/typical/ING9168xx/apis.json b/bundles/typical/ING9168xx/apis.json index 84c29a0f6..988f383fc 100644 --- a/bundles/typical/ING9168xx/apis.json +++ b/bundles/typical/ING9168xx/apis.json @@ -1,330 +1,331 @@ { - "att_dispatch_client_can_send_now": "0x02004461", - "att_dispatch_client_request_can_send_now_event": "0x02004467", - "att_dispatch_register_client": "0x0200446d", - "att_dispatch_register_server": "0x02004481", - "att_dispatch_server_can_send_now": "0x02004495", - "att_dispatch_server_request_can_send_now_event": "0x0200449b", - "att_emit_general_event": "0x0200454d", - "att_server_can_send_packet_now": "0x02004c69", - "att_server_deferred_read_response": "0x02004c6d", - "att_server_get_mtu": "0x02004c85", - "att_server_indicate": "0x02004cfd", - "att_server_init": "0x02004d81", - "att_server_notify": "0x02004dbd", - "att_server_register_packet_handler": "0x02004ed5", - "att_server_request_can_send_now_event": "0x02004ee1", - "att_set_db": "0x02004efd", - "att_set_read_callback": "0x02004f11", - "att_set_write_callback": "0x02004f1d", - "bd_addr_cmp": "0x02005105", - "bd_addr_copy": "0x0200510b", - "bd_addr_to_str": "0x02005115", - "big_endian_read_16": "0x0200514d", - "big_endian_read_32": "0x02005155", - "big_endian_store_16": "0x02005169", - "big_endian_store_32": "0x02005175", - "btstack_config": "0x020052d5", - "btstack_memory_pool_create": "0x02005413", - "btstack_memory_pool_free": "0x0200543d", - "btstack_memory_pool_get": "0x0200549d", - "btstack_push_user_msg": "0x02005505", - "btstack_push_user_runnable": "0x02005511", - "char_for_nibble": "0x020057af", - "eTaskConfirmSleepModeStatus": "0x02005afd", - "gap_add_dev_to_periodic_list": "0x02006191", - "gap_add_whitelist": "0x020061a9", - "gap_aes_encrypt": "0x020061bd", - "gap_clear_white_lists": "0x02006201", - "gap_clr_adv_set": "0x02006211", - "gap_clr_periodic_adv_list": "0x02006221", - "gap_create_connection_cancel": "0x02006231", - "gap_default_periodic_adv_sync_transfer_param": "0x02006241", - "gap_disconnect": "0x02006259", - "gap_disconnect_all": "0x02006285", - "gap_ext_create_connection": "0x020062c5", - "gap_get_connection_parameter_range": "0x020063b5", - "gap_le_read_channel_map": "0x020063f1", - "gap_periodic_adv_create_sync": "0x02006465", - "gap_periodic_adv_create_sync_cancel": "0x02006489", - "gap_periodic_adv_set_info_transfer": "0x02006499", - "gap_periodic_adv_sync_transfer": "0x020064b1", - "gap_periodic_adv_sync_transfer_param": "0x020064c9", - "gap_periodic_adv_term_sync": "0x020064e5", - "gap_read_antenna_info": "0x02006579", - "gap_read_periodic_adv_list_size": "0x02006589", - "gap_read_phy": "0x02006599", - "gap_read_remote_used_features": "0x020065ad", - "gap_read_remote_version": "0x020065c1", - "gap_read_rssi": "0x020065d5", - "gap_remove_whitelist": "0x020065e9", - "gap_rmv_adv_set": "0x0200666d", - "gap_rmv_dev_from_periodic_list": "0x02006681", - "gap_rx_test_v2": "0x02006699", - "gap_rx_test_v3": "0x020066b1", - "gap_set_adv_set_random_addr": "0x02006701", - "gap_set_connection_cte_request_enable": "0x0200674d", - "gap_set_connection_cte_response_enable": "0x02006769", - "gap_set_connection_cte_rx_param": "0x0200677d", - "gap_set_connection_cte_tx_param": "0x020067d9", - "gap_set_connection_parameter_range": "0x0200682d", - "gap_set_connectionless_cte_tx_enable": "0x02006845", - "gap_set_connectionless_cte_tx_param": "0x02006859", - "gap_set_connectionless_iq_sampling_enable": "0x020068b9", - "gap_set_data_length": "0x0200691d", - "gap_set_def_phy": "0x02006939", - "gap_set_ext_adv_data": "0x02006951", - "gap_set_ext_adv_enable": "0x02006969", - "gap_set_ext_adv_para": "0x020069e5", - "gap_set_ext_scan_enable": "0x02006abd", - "gap_set_ext_scan_para": "0x02006ad5", - "gap_set_ext_scan_response_data": "0x02006b7d", - "gap_set_host_channel_classification": "0x02006b95", - "gap_set_periodic_adv_data": "0x02006ba9", - "gap_set_periodic_adv_enable": "0x02006c1d", - "gap_set_periodic_adv_para": "0x02006c31", - "gap_set_periodic_adv_rx_enable": "0x02006c49", - "gap_set_phy": "0x02006c5d", - "gap_set_random_device_address": "0x02006c79", - "gap_start_ccm": "0x02006ca9", - "gap_test_end": "0x02006cdd", - "gap_tx_test_v2": "0x02006ced", - "gap_tx_test_v4": "0x02006d05", - "gap_update_connection_parameters": "0x02006d2d", - "gap_vendor_tx_continuous_wave": "0x02006d71", - "gatt_client_cancel_write": "0x02007299", - "gatt_client_discover_characteristic_descriptors": "0x020072bf", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x020072ff", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x0200734f", - "gatt_client_discover_characteristics_for_service": "0x0200739f", - "gatt_client_discover_primary_services": "0x020073d5", - "gatt_client_discover_primary_services_by_uuid128": "0x02007407", - "gatt_client_discover_primary_services_by_uuid16": "0x0200744b", - "gatt_client_execute_write": "0x02007489", - "gatt_client_find_included_services_for_service": "0x020074af", - "gatt_client_get_mtu": "0x020074dd", - "gatt_client_is_ready": "0x020075a1", - "gatt_client_listen_for_characteristic_value_updates": "0x020075b7", - "gatt_client_prepare_write": "0x020075d9", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x02007615", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x0200763f", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x02007645", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x02007673", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x02007679", - "gatt_client_read_multiple_characteristic_values": "0x020076a7", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x020076d7", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x02007705", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x02007751", - "gatt_client_register_handler": "0x0200779d", - "gatt_client_reliable_write_long_value_of_characteristic": "0x020077a9", - "gatt_client_signed_write_without_response": "0x02007bdd", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x02007ca1", - "gatt_client_write_client_characteristic_configuration": "0x02007cdb", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x02007d2d", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x02007d3d", - "gatt_client_write_long_value_of_characteristic": "0x02007d79", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x02007d89", - "gatt_client_write_value_of_characteristic": "0x02007dc5", - "gatt_client_write_value_of_characteristic_without_response": "0x02007dfb", - "hci_add_event_handler": "0x020093f1", - "hci_power_control": "0x02009bf1", - "hci_register_acl_packet_handler": "0x02009da5", - "kv_commit": "0x0200a2e1", - "kv_get": "0x0200a339", - "kv_init": "0x0200a351", - "kv_put": "0x0200a3b9", - "kv_remove": "0x0200a431", - "kv_remove_all": "0x0200a46d", - "kv_value_modified": "0x0200a4b1", - "kv_visit": "0x0200a4b5", - "l2cap_add_event_handler": "0x0200a569", - "l2cap_can_send_packet_now": "0x0200a579", - "l2cap_create_le_credit_based_connection_request": "0x0200a73d", - "l2cap_credit_based_send": "0x0200a885", - "l2cap_credit_based_send_continue": "0x0200a8b1", - "l2cap_disconnect": "0x0200a92d", - "l2cap_get_le_credit_based_connection_credits": "0x0200ab19", - "l2cap_get_peer_mtu_for_local_cid": "0x0200ab35", - "l2cap_init": "0x0200af75", - "l2cap_le_send_flow_control_credit": "0x0200b06b", - "l2cap_max_le_mtu": "0x0200b379", - "l2cap_register_packet_handler": "0x0200b4a1", - "l2cap_register_service": "0x0200b4ad", - "l2cap_request_can_send_now_event": "0x0200b5bd", - "l2cap_request_connection_parameter_update": "0x0200b5d7", - "l2cap_send_echo_request": "0x0200bab9", - "l2cap_unregister_service": "0x0200bb99", - "le_device_db_add": "0x0200bbf1", - "le_device_db_find": "0x0200bcc5", - "le_device_db_from_key": "0x0200bcf1", - "le_device_db_iter_cur": "0x0200bcf9", - "le_device_db_iter_cur_key": "0x0200bcfd", - "le_device_db_iter_init": "0x0200bd01", - "le_device_db_iter_next": "0x0200bd09", - "le_device_db_remove_key": "0x0200bd2f", - "ll_adjust_conn_peer_tx_power": "0x0200bd5d", - "ll_free": "0x0200bd89", - "ll_hint_on_ce_len": "0x0200bd95", - "ll_legacy_adv_set_interval": "0x0200bdcd", - "ll_malloc": "0x0200bddd", - "ll_scan_set_fixed_channel": "0x0200bf4d", - "ll_set_adv_access_address": "0x0200c061", - "ll_set_adv_coded_scheme": "0x0200c06d", - "ll_set_conn_coded_scheme": "0x0200c0a5", - "ll_set_conn_latency": "0x0200c0d1", - "ll_set_conn_tx_power": "0x0200c101", - "ll_set_def_antenna": "0x0200c13d", - "ll_set_initiating_coded_scheme": "0x0200c15d", - "ll_set_max_conn_number": "0x0200c169", - "ll_set_tx_power_range": "0x0200c205", - "nibble_for_char": "0x0201ea01", - "platform_32k_rc_auto_tune": "0x0201eaad", - "platform_32k_rc_tune": "0x0201eaf9", - "platform_calibrate_32k": "0x0201eb15", - "platform_config": "0x0201eb19", - "platform_enable_irq": "0x0201ec21", - "platform_get_current_task": "0x0201ec49", - "platform_get_gen_os_driver": "0x0201ec6d", - "platform_get_heap_status": "0x0201ec75", - "platform_get_task_handle": "0x0201ec8d", - "platform_get_us_time": "0x0201ecad", - "platform_get_version": "0x0201ecb1", - "platform_hrng": "0x0201ecb9", - "platform_install_isr_stack": "0x0201ecc1", - "platform_install_task_stack": "0x0201eccd", - "platform_patch_rf_init_data": "0x0201ed05", - "platform_printf": "0x0201ed11", - "platform_raise_assertion": "0x0201ed25", - "platform_rand": "0x0201ed39", - "platform_read_info": "0x0201ed3d", - "platform_read_persistent_reg": "0x0201ed6d", - "platform_reset": "0x0201ed79", - "platform_set_evt_callback": "0x0201ed8d", - "platform_set_evt_callback_table": "0x0201eda1", - "platform_set_irq_callback": "0x0201edad", - "platform_set_irq_callback_table": "0x0201edc9", - "platform_set_rf_clk_source": "0x0201edd5", - "platform_set_rf_init_data": "0x0201ede1", - "platform_set_rf_power_mapping": "0x0201eded", - "platform_set_timer": "0x0201edf9", - "platform_shutdown": "0x0201edfd", - "platform_switch_app": "0x0201ee01", - "platform_trace_raw": "0x0201ee19", - "platform_write_persistent_reg": "0x0201ee31", - "printf_hexdump": "0x0201efe9", - "pvPortMalloc": "0x0201fabd", - "pvTaskIncrementMutexHeldCount": "0x0201fba5", - "pvTimerGetTimerID": "0x0201fbbd", - "pxPortInitialiseStack": "0x0201fbe9", - "reverse_128": "0x0201fdd1", - "reverse_24": "0x0201fdd7", - "reverse_48": "0x0201fddd", - "reverse_56": "0x0201fde3", - "reverse_64": "0x0201fde9", - "reverse_bd_addr": "0x0201fdef", - "reverse_bytes": "0x0201fdf5", - "sm_add_event_handler": "0x02020111", - "sm_address_resolution_lookup": "0x02020269", - "sm_authenticated": "0x020205c9", - "sm_authorization_decline": "0x020205d7", - "sm_authorization_grant": "0x020205f7", - "sm_authorization_state": "0x02020617", - "sm_bonding_decline": "0x02020631", - "sm_config": "0x02020a49", - "sm_config_conn": "0x02020a61", - "sm_encryption_key_size": "0x02020c17", - "sm_just_works_confirm": "0x02021151", - "sm_le_device_key": "0x0202148d", - "sm_passkey_input": "0x02021523", - "sm_private_random_address_generation_get": "0x020218d1", - "sm_private_random_address_generation_get_mode": "0x020218d9", - "sm_private_random_address_generation_set_mode": "0x020218e5", - "sm_private_random_address_generation_set_update_period": "0x0202190d", - "sm_register_oob_data_callback": "0x02021a49", - "sm_request_pairing": "0x02021a55", - "sm_send_security_request": "0x02022493", - "sm_set_accepted_stk_generation_methods": "0x020224b9", - "sm_set_authentication_requirements": "0x020224c5", - "sm_set_encryption_key_size_range": "0x020224d1", - "sscanf_bd_addr": "0x02022831", - "sysSetPublicDeviceAddr": "0x02022c9d", - "uuid128_to_str": "0x02023449", - "uuid_add_bluetooth_prefix": "0x020234a1", - "uuid_has_bluetooth_prefix": "0x020234c1", - "uxListRemove": "0x020234dd", - "uxQueueMessagesWaiting": "0x02023505", - "uxQueueMessagesWaitingFromISR": "0x0202352d", - "uxQueueSpacesAvailable": "0x02023549", - "uxTaskGetStackHighWaterMark": "0x02023575", - "uxTaskPriorityGet": "0x02023595", - "uxTaskPriorityGetFromISR": "0x020235b1", - "vListInitialise": "0x02023657", - "vListInitialiseItem": "0x0202366d", - "vListInsert": "0x02023673", - "vListInsertEnd": "0x020236a3", - "vPortEndScheduler": "0x020236bd", - "vPortEnterCritical": "0x020236e9", - "vPortExitCritical": "0x0202372d", - "vPortFree": "0x02023761", - "vPortSuppressTicksAndSleep": "0x02023805", - "vPortValidateInterruptPriority": "0x0202392d", - "vQueueDelete": "0x02023989", - "vQueueWaitForMessageRestricted": "0x020239b5", - "vTaskDelay": "0x020239f9", - "vTaskInternalSetTimeOutState": "0x02023a45", - "vTaskMissedYield": "0x02023a55", - "vTaskPlaceOnEventList": "0x02023a61", - "vTaskPlaceOnEventListRestricted": "0x02023a99", - "vTaskPriorityDisinheritAfterTimeout": "0x02023ad9", - "vTaskPrioritySet": "0x02023b85", - "vTaskResume": "0x02023c4d", - "vTaskStartScheduler": "0x02023cd1", - "vTaskStepTick": "0x02023d61", - "vTaskSuspend": "0x02023d91", - "vTaskSuspendAll": "0x02023e4d", - "vTaskSwitchContext": "0x02023e5d", - "xPortStartScheduler": "0x02023f05", - "xQueueAddToSet": "0x02024009", - "xQueueCreateCountingSemaphore": "0x0202402d", - "xQueueCreateCountingSemaphoreStatic": "0x02024069", - "xQueueCreateMutex": "0x020240ad", - "xQueueCreateMutexStatic": "0x020240c3", - "xQueueCreateSet": "0x020240dd", - "xQueueGenericCreate": "0x020240e5", - "xQueueGenericCreateStatic": "0x02024131", - "xQueueGenericReset": "0x02024199", - "xQueueGenericSend": "0x02024225", - "xQueueGenericSendFromISR": "0x02024391", - "xQueueGiveFromISR": "0x02024451", - "xQueueGiveMutexRecursive": "0x020244f5", - "xQueueIsQueueEmptyFromISR": "0x02024535", - "xQueueIsQueueFullFromISR": "0x02024559", - "xQueuePeek": "0x02024581", - "xQueuePeekFromISR": "0x020246a9", - "xQueueReceive": "0x02024715", - "xQueueReceiveFromISR": "0x02024841", - "xQueueRemoveFromSet": "0x020248d5", - "xQueueSelectFromSet": "0x020248f7", - "xQueueSelectFromSetFromISR": "0x02024909", - "xQueueSemaphoreTake": "0x0202491d", - "xQueueTakeMutexRecursive": "0x02024a89", - "xTaskCheckForTimeOut": "0x02024acd", - "xTaskCreate": "0x02024b3d", - "xTaskCreateStatic": "0x02024b99", - "xTaskGetCurrentTaskHandle": "0x02024c09", - "xTaskGetSchedulerState": "0x02024c15", - "xTaskGetTickCount": "0x02024c31", - "xTaskGetTickCountFromISR": "0x02024c3d", - "xTaskIncrementTick": "0x02024c4d", - "xTaskPriorityDisinherit": "0x02024d19", - "xTaskPriorityInherit": "0x02024dad", - "xTaskRemoveFromEventList": "0x02024e41", - "xTaskResumeAll": "0x02024ec1", - "xTaskResumeFromISR": "0x02024f89", - "xTimerCreate": "0x02025015", - "xTimerCreateStatic": "0x02025049", - "xTimerCreateTimerTask": "0x02025081", - "xTimerGenericCommand": "0x020250ed", - "xTimerGetExpiryTime": "0x0202515d", - "xTimerGetTimerDaemonTaskHandle": "0x0202517d" + "att_dispatch_client_can_send_now": "0x02004449", + "att_dispatch_client_request_can_send_now_event": "0x0200444f", + "att_dispatch_register_client": "0x02004455", + "att_dispatch_register_server": "0x02004469", + "att_dispatch_server_can_send_now": "0x0200447d", + "att_dispatch_server_request_can_send_now_event": "0x02004483", + "att_emit_general_event": "0x02004535", + "att_server_can_send_packet_now": "0x02004c51", + "att_server_deferred_read_response": "0x02004c55", + "att_server_get_mtu": "0x02004c6d", + "att_server_indicate": "0x02004ce5", + "att_server_init": "0x02004d69", + "att_server_notify": "0x02004da5", + "att_server_register_packet_handler": "0x02004ebd", + "att_server_request_can_send_now_event": "0x02004ec9", + "att_set_db": "0x02004ee5", + "att_set_read_callback": "0x02004ef9", + "att_set_write_callback": "0x02004f05", + "bd_addr_cmp": "0x020050ed", + "bd_addr_copy": "0x020050f3", + "bd_addr_to_str": "0x020050fd", + "big_endian_read_16": "0x02005135", + "big_endian_read_32": "0x0200513d", + "big_endian_store_16": "0x02005151", + "big_endian_store_32": "0x0200515d", + "btstack_config": "0x020052bd", + "btstack_memory_pool_create": "0x020053fb", + "btstack_memory_pool_free": "0x02005425", + "btstack_memory_pool_get": "0x02005485", + "btstack_push_user_msg": "0x020054ed", + "btstack_push_user_runnable": "0x020054f9", + "char_for_nibble": "0x02005797", + "eTaskConfirmSleepModeStatus": "0x02005ae5", + "gap_add_dev_to_periodic_list": "0x02006189", + "gap_add_whitelist": "0x02006199", + "gap_aes_encrypt": "0x020061a5", + "gap_clear_white_lists": "0x020061e9", + "gap_clr_adv_set": "0x020061f5", + "gap_clr_periodic_adv_list": "0x02006201", + "gap_create_connection_cancel": "0x0200620d", + "gap_default_periodic_adv_sync_transfer_param": "0x02006219", + "gap_disconnect": "0x02006231", + "gap_disconnect_all": "0x0200625d", + "gap_ext_create_connection": "0x0200629d", + "gap_get_connection_parameter_range": "0x0200638d", + "gap_le_read_channel_map": "0x020063c9", + "gap_periodic_adv_create_sync": "0x02006435", + "gap_periodic_adv_create_sync_cancel": "0x02006459", + "gap_periodic_adv_set_info_transfer": "0x02006465", + "gap_periodic_adv_sync_transfer": "0x02006475", + "gap_periodic_adv_sync_transfer_param": "0x02006485", + "gap_periodic_adv_term_sync": "0x020064a1", + "gap_read_antenna_info": "0x02006529", + "gap_read_periodic_adv_list_size": "0x02006535", + "gap_read_phy": "0x02006541", + "gap_read_remote_used_features": "0x0200654d", + "gap_read_remote_version": "0x02006559", + "gap_read_rssi": "0x02006565", + "gap_remove_whitelist": "0x02006571", + "gap_rmv_adv_set": "0x020065ed", + "gap_rmv_dev_from_periodic_list": "0x020065f9", + "gap_rx_test_v2": "0x02006609", + "gap_rx_test_v3": "0x02006619", + "gap_set_adv_set_random_addr": "0x02006665", + "gap_set_connection_cte_request_enable": "0x020066ad", + "gap_set_connection_cte_response_enable": "0x020066c9", + "gap_set_connection_cte_rx_param": "0x020066d9", + "gap_set_connection_cte_tx_param": "0x02006735", + "gap_set_connection_parameter_range": "0x02006789", + "gap_set_connectionless_cte_tx_enable": "0x020067a1", + "gap_set_connectionless_cte_tx_param": "0x020067b1", + "gap_set_connectionless_iq_sampling_enable": "0x02006811", + "gap_set_data_length": "0x02006875", + "gap_set_def_phy": "0x0200688d", + "gap_set_ext_adv_data": "0x0200689d", + "gap_set_ext_adv_enable": "0x020068b5", + "gap_set_ext_adv_para": "0x02006931", + "gap_set_ext_scan_enable": "0x02006a01", + "gap_set_ext_scan_para": "0x02006a19", + "gap_set_ext_scan_response_data": "0x02006ac1", + "gap_set_host_channel_classification": "0x02006ad9", + "gap_set_periodic_adv_data": "0x02006ae9", + "gap_set_periodic_adv_enable": "0x02006b59", + "gap_set_periodic_adv_para": "0x02006b69", + "gap_set_periodic_adv_rx_enable": "0x02006b81", + "gap_set_phy": "0x02006b91", + "gap_set_random_device_address": "0x02006bad", + "gap_start_ccm": "0x02006bdd", + "gap_test_end": "0x02006c31", + "gap_tx_test_v2": "0x02006c3d", + "gap_tx_test_v4": "0x02006c55", + "gap_update_connection_parameters": "0x02006c79", + "gap_vendor_tx_continuous_wave": "0x02006cbd", + "gatt_client_cancel_write": "0x020071e5", + "gatt_client_discover_characteristic_descriptors": "0x0200720b", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x0200724b", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x0200729b", + "gatt_client_discover_characteristics_for_service": "0x020072eb", + "gatt_client_discover_primary_services": "0x02007321", + "gatt_client_discover_primary_services_by_uuid128": "0x02007353", + "gatt_client_discover_primary_services_by_uuid16": "0x02007397", + "gatt_client_execute_write": "0x020073d5", + "gatt_client_find_included_services_for_service": "0x020073fb", + "gatt_client_get_mtu": "0x02007429", + "gatt_client_is_ready": "0x020074ed", + "gatt_client_listen_for_characteristic_value_updates": "0x02007503", + "gatt_client_prepare_write": "0x02007525", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x02007561", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x0200758b", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x02007591", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x020075bf", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x020075c5", + "gatt_client_read_multiple_characteristic_values": "0x020075f3", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x02007623", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x02007651", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x0200769d", + "gatt_client_register_handler": "0x020076e9", + "gatt_client_reliable_write_long_value_of_characteristic": "0x020076f5", + "gatt_client_signed_write_without_response": "0x02007b29", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x02007bed", + "gatt_client_write_client_characteristic_configuration": "0x02007c27", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x02007c79", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x02007c89", + "gatt_client_write_long_value_of_characteristic": "0x02007cc5", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x02007cd5", + "gatt_client_write_value_of_characteristic": "0x02007d11", + "gatt_client_write_value_of_characteristic_without_response": "0x02007d47", + "hci_add_event_handler": "0x0200933d", + "hci_power_control": "0x02009b3d", + "hci_register_acl_packet_handler": "0x02009cf1", + "kv_commit": "0x0200a225", + "kv_get": "0x0200a27d", + "kv_init": "0x0200a295", + "kv_put": "0x0200a2fd", + "kv_remove": "0x0200a375", + "kv_remove_all": "0x0200a3b1", + "kv_value_modified": "0x0200a3f5", + "kv_visit": "0x0200a3f9", + "l2cap_add_event_handler": "0x0200a4ad", + "l2cap_can_send_packet_now": "0x0200a4bd", + "l2cap_create_le_credit_based_connection_request": "0x0200a681", + "l2cap_credit_based_send": "0x0200a7c9", + "l2cap_credit_based_send_continue": "0x0200a7f5", + "l2cap_disconnect": "0x0200a871", + "l2cap_get_le_credit_based_connection_credits": "0x0200aa5d", + "l2cap_get_peer_mtu_for_local_cid": "0x0200aa79", + "l2cap_init": "0x0200aeb9", + "l2cap_le_send_flow_control_credit": "0x0200afaf", + "l2cap_max_le_mtu": "0x0200b2bd", + "l2cap_register_packet_handler": "0x0200b3e5", + "l2cap_register_service": "0x0200b3f1", + "l2cap_request_can_send_now_event": "0x0200b501", + "l2cap_request_connection_parameter_update": "0x0200b51b", + "l2cap_send_echo_request": "0x0200b9fd", + "l2cap_unregister_service": "0x0200badd", + "le_device_db_add": "0x0200bb35", + "le_device_db_find": "0x0200bc09", + "le_device_db_from_key": "0x0200bc35", + "le_device_db_iter_cur": "0x0200bc3d", + "le_device_db_iter_cur_key": "0x0200bc41", + "le_device_db_iter_init": "0x0200bc45", + "le_device_db_iter_next": "0x0200bc4d", + "le_device_db_remove_key": "0x0200bc73", + "ll_adjust_conn_peer_tx_power": "0x0200bca1", + "ll_aes_encrypt": "0x0200bccd", + "ll_free": "0x0200bd41", + "ll_hint_on_ce_len": "0x0200bd4d", + "ll_legacy_adv_set_interval": "0x0200bd85", + "ll_malloc": "0x0200bd95", + "ll_scan_set_fixed_channel": "0x0200bf05", + "ll_set_adv_access_address": "0x0200c019", + "ll_set_adv_coded_scheme": "0x0200c025", + "ll_set_conn_coded_scheme": "0x0200c05d", + "ll_set_conn_latency": "0x0200c089", + "ll_set_conn_tx_power": "0x0200c0b9", + "ll_set_def_antenna": "0x0200c0f5", + "ll_set_initiating_coded_scheme": "0x0200c115", + "ll_set_max_conn_number": "0x0200c121", + "ll_set_tx_power_range": "0x0200c1bd", + "nibble_for_char": "0x0201e9c1", + "platform_32k_rc_auto_tune": "0x0201ea6d", + "platform_32k_rc_tune": "0x0201eab9", + "platform_calibrate_32k": "0x0201ead5", + "platform_config": "0x0201ead9", + "platform_enable_irq": "0x0201ebe1", + "platform_get_current_task": "0x0201ec15", + "platform_get_gen_os_driver": "0x0201ec39", + "platform_get_heap_status": "0x0201ec41", + "platform_get_task_handle": "0x0201ec59", + "platform_get_us_time": "0x0201ec79", + "platform_get_version": "0x0201ec7d", + "platform_hrng": "0x0201ec85", + "platform_install_isr_stack": "0x0201ec8d", + "platform_install_task_stack": "0x0201ec99", + "platform_patch_rf_init_data": "0x0201ecd1", + "platform_printf": "0x0201ecdd", + "platform_raise_assertion": "0x0201ecf1", + "platform_rand": "0x0201ed05", + "platform_read_info": "0x0201ed09", + "platform_read_persistent_reg": "0x0201ed39", + "platform_reset": "0x0201ed45", + "platform_set_evt_callback": "0x0201ed59", + "platform_set_evt_callback_table": "0x0201ed6d", + "platform_set_irq_callback": "0x0201ed79", + "platform_set_irq_callback_table": "0x0201ed95", + "platform_set_rf_clk_source": "0x0201eda1", + "platform_set_rf_init_data": "0x0201edad", + "platform_set_rf_power_mapping": "0x0201edb9", + "platform_set_timer": "0x0201edc5", + "platform_shutdown": "0x0201edc9", + "platform_switch_app": "0x0201edcd", + "platform_trace_raw": "0x0201ede5", + "platform_write_persistent_reg": "0x0201edfd", + "printf_hexdump": "0x0201efb5", + "pvPortMalloc": "0x0201fa89", + "pvTaskIncrementMutexHeldCount": "0x0201fb71", + "pvTimerGetTimerID": "0x0201fb89", + "pxPortInitialiseStack": "0x0201fbb5", + "reverse_128": "0x0201fd9d", + "reverse_24": "0x0201fda3", + "reverse_48": "0x0201fda9", + "reverse_56": "0x0201fdaf", + "reverse_64": "0x0201fdb5", + "reverse_bd_addr": "0x0201fdbb", + "reverse_bytes": "0x0201fdc1", + "sm_add_event_handler": "0x020200dd", + "sm_address_resolution_lookup": "0x02020235", + "sm_authenticated": "0x02020595", + "sm_authorization_decline": "0x020205a3", + "sm_authorization_grant": "0x020205c3", + "sm_authorization_state": "0x020205e3", + "sm_bonding_decline": "0x020205fd", + "sm_config": "0x02020a15", + "sm_config_conn": "0x02020a2d", + "sm_encryption_key_size": "0x02020be3", + "sm_just_works_confirm": "0x0202111d", + "sm_le_device_key": "0x02021459", + "sm_passkey_input": "0x020214ef", + "sm_private_random_address_generation_get": "0x0202189d", + "sm_private_random_address_generation_get_mode": "0x020218a5", + "sm_private_random_address_generation_set_mode": "0x020218b1", + "sm_private_random_address_generation_set_update_period": "0x020218d9", + "sm_register_oob_data_callback": "0x02021a15", + "sm_request_pairing": "0x02021a21", + "sm_send_security_request": "0x0202245f", + "sm_set_accepted_stk_generation_methods": "0x02022485", + "sm_set_authentication_requirements": "0x02022491", + "sm_set_encryption_key_size_range": "0x0202249d", + "sscanf_bd_addr": "0x020227fd", + "sysSetPublicDeviceAddr": "0x02022c69", + "uuid128_to_str": "0x02023415", + "uuid_add_bluetooth_prefix": "0x0202346d", + "uuid_has_bluetooth_prefix": "0x0202348d", + "uxListRemove": "0x020234a9", + "uxQueueMessagesWaiting": "0x020234d1", + "uxQueueMessagesWaitingFromISR": "0x020234f9", + "uxQueueSpacesAvailable": "0x02023515", + "uxTaskGetStackHighWaterMark": "0x02023541", + "uxTaskPriorityGet": "0x02023561", + "uxTaskPriorityGetFromISR": "0x0202357d", + "vListInitialise": "0x02023623", + "vListInitialiseItem": "0x02023639", + "vListInsert": "0x0202363f", + "vListInsertEnd": "0x0202366f", + "vPortEndScheduler": "0x02023689", + "vPortEnterCritical": "0x020236b5", + "vPortExitCritical": "0x020236f9", + "vPortFree": "0x0202372d", + "vPortSuppressTicksAndSleep": "0x020237d1", + "vPortValidateInterruptPriority": "0x020238f9", + "vQueueDelete": "0x02023955", + "vQueueWaitForMessageRestricted": "0x02023981", + "vTaskDelay": "0x020239c5", + "vTaskInternalSetTimeOutState": "0x02023a11", + "vTaskMissedYield": "0x02023a21", + "vTaskPlaceOnEventList": "0x02023a2d", + "vTaskPlaceOnEventListRestricted": "0x02023a65", + "vTaskPriorityDisinheritAfterTimeout": "0x02023aa5", + "vTaskPrioritySet": "0x02023b51", + "vTaskResume": "0x02023c19", + "vTaskStartScheduler": "0x02023c9d", + "vTaskStepTick": "0x02023d2d", + "vTaskSuspend": "0x02023d5d", + "vTaskSuspendAll": "0x02023e19", + "vTaskSwitchContext": "0x02023e29", + "xPortStartScheduler": "0x02023ed1", + "xQueueAddToSet": "0x02023fd5", + "xQueueCreateCountingSemaphore": "0x02023ff9", + "xQueueCreateCountingSemaphoreStatic": "0x02024035", + "xQueueCreateMutex": "0x02024079", + "xQueueCreateMutexStatic": "0x0202408f", + "xQueueCreateSet": "0x020240a9", + "xQueueGenericCreate": "0x020240b1", + "xQueueGenericCreateStatic": "0x020240fd", + "xQueueGenericReset": "0x02024165", + "xQueueGenericSend": "0x020241f1", + "xQueueGenericSendFromISR": "0x0202435d", + "xQueueGiveFromISR": "0x0202441d", + "xQueueGiveMutexRecursive": "0x020244c1", + "xQueueIsQueueEmptyFromISR": "0x02024501", + "xQueueIsQueueFullFromISR": "0x02024525", + "xQueuePeek": "0x0202454d", + "xQueuePeekFromISR": "0x02024675", + "xQueueReceive": "0x020246e1", + "xQueueReceiveFromISR": "0x0202480d", + "xQueueRemoveFromSet": "0x020248a1", + "xQueueSelectFromSet": "0x020248c3", + "xQueueSelectFromSetFromISR": "0x020248d5", + "xQueueSemaphoreTake": "0x020248e9", + "xQueueTakeMutexRecursive": "0x02024a55", + "xTaskCheckForTimeOut": "0x02024a99", + "xTaskCreate": "0x02024b09", + "xTaskCreateStatic": "0x02024b65", + "xTaskGetCurrentTaskHandle": "0x02024bd5", + "xTaskGetSchedulerState": "0x02024be1", + "xTaskGetTickCount": "0x02024bfd", + "xTaskGetTickCountFromISR": "0x02024c09", + "xTaskIncrementTick": "0x02024c19", + "xTaskPriorityDisinherit": "0x02024ce5", + "xTaskPriorityInherit": "0x02024d79", + "xTaskRemoveFromEventList": "0x02024e0d", + "xTaskResumeAll": "0x02024e8d", + "xTaskResumeFromISR": "0x02024f55", + "xTimerCreate": "0x02024fe1", + "xTimerCreateStatic": "0x02025015", + "xTimerCreateTimerTask": "0x0202504d", + "xTimerGenericCommand": "0x020250b9", + "xTimerGetExpiryTime": "0x02025129", + "xTimerGetTimerDaemonTaskHandle": "0x02025149" } \ No newline at end of file diff --git a/bundles/typical/ING9168xx/meta.json b/bundles/typical/ING9168xx/meta.json index 7f6700329..4dd1146e0 100644 --- a/bundles/typical/ING9168xx/meta.json +++ b/bundles/typical/ING9168xx/meta.json @@ -4,15 +4,15 @@ }, "ram": { "base": 536870912, - "size": 21436 + "size": 21444 }, "rom": { "base": 33562624, - "size": 152856 + "size": 152800 }, "version": [ 2, 2, - 10 + 12 ] } \ No newline at end of file diff --git a/bundles/typical/ING9168xx/platform.bin b/bundles/typical/ING9168xx/platform.bin index 3885c0549..e9c4ef302 100644 Binary files a/bundles/typical/ING9168xx/platform.bin and b/bundles/typical/ING9168xx/platform.bin differ diff --git a/bundles/typical/ING9187xx/apis.json b/bundles/typical/ING9187xx/apis.json index 9a9ff95f4..655c8909f 100644 --- a/bundles/typical/ING9187xx/apis.json +++ b/bundles/typical/ING9187xx/apis.json @@ -1,315 +1,316 @@ { - "att_dispatch_client_can_send_now": "0x00005769", - "att_dispatch_client_request_can_send_now_event": "0x0000576f", - "att_dispatch_register_client": "0x00005775", - "att_dispatch_register_server": "0x00005789", - "att_dispatch_server_can_send_now": "0x0000579d", - "att_dispatch_server_request_can_send_now_event": "0x000057a3", - "att_emit_general_event": "0x00005855", - "att_server_can_send_packet_now": "0x00005f69", - "att_server_deferred_read_response": "0x00005f6d", - "att_server_get_mtu": "0x00005f85", - "att_server_indicate": "0x00005ffd", - "att_server_init": "0x00006081", - "att_server_notify": "0x000060bd", - "att_server_register_packet_handler": "0x000061d5", - "att_server_request_can_send_now_event": "0x000061e1", - "att_set_db": "0x000061fd", - "att_set_read_callback": "0x00006211", - "att_set_write_callback": "0x0000621d", - "bd_addr_cmp": "0x0000638d", - "bd_addr_copy": "0x00006393", - "bd_addr_to_str": "0x0000639d", - "big_endian_read_16": "0x000063d5", - "big_endian_read_32": "0x000063dd", - "big_endian_store_16": "0x000063f1", - "big_endian_store_32": "0x000063fd", - "btstack_config": "0x00006551", - "btstack_memory_pool_create": "0x0000668f", - "btstack_memory_pool_free": "0x000066b9", - "btstack_memory_pool_get": "0x00006719", - "btstack_push_user_msg": "0x00006781", - "btstack_push_user_runnable": "0x0000678d", - "char_for_nibble": "0x00006a15", - "eTaskConfirmSleepModeStatus": "0x00006ce1", - "gap_add_dev_to_periodic_list": "0x00007301", - "gap_add_whitelist": "0x00007319", - "gap_aes_encrypt": "0x0000732d", - "gap_clear_white_lists": "0x00007371", - "gap_clr_adv_set": "0x00007381", - "gap_clr_periodic_adv_list": "0x00007391", - "gap_create_connection_cancel": "0x000073a1", - "gap_disconnect": "0x000073b1", - "gap_disconnect_all": "0x000073dd", - "gap_ext_create_connection": "0x0000741d", - "gap_get_connection_parameter_range": "0x0000750d", - "gap_le_read_channel_map": "0x00007549", - "gap_periodic_adv_create_sync": "0x000075bd", - "gap_periodic_adv_create_sync_cancel": "0x000075e1", - "gap_periodic_adv_term_sync": "0x000075f1", - "gap_read_periodic_adv_list_size": "0x00007685", - "gap_read_phy": "0x00007695", - "gap_read_remote_used_features": "0x000076a9", - "gap_read_remote_version": "0x000076bd", - "gap_read_rssi": "0x000076d1", - "gap_remove_whitelist": "0x000076e5", - "gap_rmv_adv_set": "0x00007769", - "gap_rmv_dev_from_periodic_list": "0x0000777d", - "gap_rx_test_v2": "0x00007795", - "gap_set_adv_set_random_addr": "0x000077d5", - "gap_set_connection_parameter_range": "0x00007821", - "gap_set_data_length": "0x00007839", - "gap_set_def_phy": "0x00007855", - "gap_set_ext_adv_data": "0x0000786d", - "gap_set_ext_adv_enable": "0x00007885", - "gap_set_ext_adv_para": "0x00007901", - "gap_set_ext_scan_enable": "0x000079e1", - "gap_set_ext_scan_para": "0x000079f9", - "gap_set_ext_scan_response_data": "0x00007aa1", - "gap_set_host_channel_classification": "0x00007ab9", - "gap_set_periodic_adv_data": "0x00007acd", - "gap_set_periodic_adv_enable": "0x00007b41", - "gap_set_periodic_adv_para": "0x00007b55", - "gap_set_phy": "0x00007b6d", - "gap_set_random_device_address": "0x00007b89", - "gap_start_ccm": "0x00007bb9", - "gap_test_end": "0x00007bed", - "gap_tx_test_v2": "0x00007bfd", - "gap_tx_test_v4": "0x00007c15", - "gap_update_connection_parameters": "0x00007c3d", - "gap_vendor_tx_continuous_wave": "0x00007c81", - "gatt_client_cancel_write": "0x000081a9", - "gatt_client_discover_characteristic_descriptors": "0x000081cf", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x0000820f", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x0000825f", - "gatt_client_discover_characteristics_for_service": "0x000082af", - "gatt_client_discover_primary_services": "0x000082e5", - "gatt_client_discover_primary_services_by_uuid128": "0x00008317", - "gatt_client_discover_primary_services_by_uuid16": "0x0000835b", - "gatt_client_execute_write": "0x00008397", - "gatt_client_find_included_services_for_service": "0x000083bd", - "gatt_client_get_mtu": "0x000083eb", - "gatt_client_is_ready": "0x0000848d", - "gatt_client_listen_for_characteristic_value_updates": "0x000084a3", - "gatt_client_prepare_write": "0x000084c5", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x00008501", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x0000852b", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008531", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x0000855f", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x00008565", - "gatt_client_read_multiple_characteristic_values": "0x00008593", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x000085c3", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x000085f1", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x0000863d", - "gatt_client_register_handler": "0x00008689", - "gatt_client_reliable_write_long_value_of_characteristic": "0x00008695", - "gatt_client_signed_write_without_response": "0x00008ac5", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008b89", - "gatt_client_write_client_characteristic_configuration": "0x00008bc3", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008c15", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008c25", - "gatt_client_write_long_value_of_characteristic": "0x00008c61", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008c71", - "gatt_client_write_value_of_characteristic": "0x00008cad", - "gatt_client_write_value_of_characteristic_without_response": "0x00008ce3", - "hci_add_event_handler": "0x0000a209", - "hci_power_control": "0x0000a9fd", - "hci_register_acl_packet_handler": "0x0000abb1", - "kv_commit": "0x0000b12d", - "kv_get": "0x0000b185", - "kv_init": "0x0000b19d", - "kv_put": "0x0000b205", - "kv_remove": "0x0000b27d", - "kv_remove_all": "0x0000b2b9", - "kv_value_modified": "0x0000b2fd", - "kv_visit": "0x0000b301", - "l2cap_add_event_handler": "0x0000b3b5", - "l2cap_can_send_packet_now": "0x0000b3c5", - "l2cap_create_le_credit_based_connection_request": "0x0000b581", - "l2cap_credit_based_send": "0x0000b6c5", - "l2cap_credit_based_send_continue": "0x0000b6f1", - "l2cap_disconnect": "0x0000b76d", - "l2cap_get_le_credit_based_connection_credits": "0x0000b9bd", - "l2cap_get_peer_mtu_for_local_cid": "0x0000b9d9", - "l2cap_init": "0x0000bdad", - "l2cap_le_send_flow_control_credit": "0x0000bea3", - "l2cap_max_le_mtu": "0x0000c1ad", - "l2cap_register_packet_handler": "0x0000c2d5", - "l2cap_register_service": "0x0000c2e1", - "l2cap_request_can_send_now_event": "0x0000c3f1", - "l2cap_request_connection_parameter_update": "0x0000c40b", - "l2cap_send_echo_request": "0x0000c8dd", - "l2cap_unregister_service": "0x0000c99d", - "le_device_db_add": "0x0000c9f5", - "le_device_db_find": "0x0000cac9", - "le_device_db_from_key": "0x0000caf5", - "le_device_db_iter_cur": "0x0000cafd", - "le_device_db_iter_cur_key": "0x0000cb01", - "le_device_db_iter_init": "0x0000cb05", - "le_device_db_iter_next": "0x0000cb0d", - "le_device_db_remove_key": "0x0000cb33", - "ll_free": "0x0000cb5f", - "ll_hint_on_ce_len": "0x0000cb69", - "ll_legacy_adv_set_interval": "0x0000cba1", - "ll_malloc": "0x0000cbb1", - "ll_query_timing_info": "0x0000cce9", - "ll_scan_set_fixed_channel": "0x0000cd8d", - "ll_set_adv_access_address": "0x0000cea1", - "ll_set_adv_coded_scheme": "0x0000cead", - "ll_set_conn_coded_scheme": "0x0000cedd", - "ll_set_conn_latency": "0x0000cf09", - "ll_set_conn_tx_power": "0x0000cf39", - "ll_set_def_antenna": "0x0000cf81", - "ll_set_initiating_coded_scheme": "0x0000cf9d", - "ll_set_max_conn_number": "0x0000cfa9", - "nibble_for_char": "0x0001cec9", - "platform_32k_rc_auto_tune": "0x0001cf75", - "platform_32k_rc_tune": "0x0001cff1", - "platform_calibrate_32k": "0x0001d005", - "platform_config": "0x0001d009", - "platform_enable_irq": "0x0001d0fd", - "platform_get_current_task": "0x0001d125", - "platform_get_gen_os_driver": "0x0001d149", - "platform_get_heap_status": "0x0001d151", - "platform_get_task_handle": "0x0001d169", - "platform_get_us_time": "0x0001d189", - "platform_get_version": "0x0001d18d", - "platform_hrng": "0x0001d195", - "platform_install_isr_stack": "0x0001d19d", - "platform_install_task_stack": "0x0001d1a9", - "platform_patch_rf_init_data": "0x0001d1e1", - "platform_printf": "0x0001d1ed", - "platform_raise_assertion": "0x0001d201", - "platform_rand": "0x0001d215", - "platform_read_info": "0x0001d219", - "platform_read_persistent_reg": "0x0001d249", - "platform_reset": "0x0001d259", - "platform_set_evt_callback": "0x0001d27d", - "platform_set_evt_callback_table": "0x0001d291", - "platform_set_irq_callback": "0x0001d29d", - "platform_set_irq_callback_table": "0x0001d2b9", - "platform_set_rf_clk_source": "0x0001d2c5", - "platform_set_rf_init_data": "0x0001d2d1", - "platform_set_rf_power_mapping": "0x0001d2dd", - "platform_set_timer": "0x0001d2e9", - "platform_shutdown": "0x0001d2ed", - "platform_switch_app": "0x0001d2f1", - "platform_trace_raw": "0x0001d31d", - "platform_write_persistent_reg": "0x0001d335", - "printf_hexdump": "0x0001d4e9", - "pvPortMalloc": "0x0001dfd9", - "pvTaskIncrementMutexHeldCount": "0x0001e0c1", - "pvTimerGetTimerID": "0x0001e0d9", - "pxPortInitialiseStack": "0x0001e105", - "reverse_128": "0x0001e2ad", - "reverse_24": "0x0001e2b3", - "reverse_48": "0x0001e2b9", - "reverse_56": "0x0001e2bf", - "reverse_64": "0x0001e2c5", - "reverse_bd_addr": "0x0001e2cb", - "reverse_bytes": "0x0001e2d1", - "sm_add_event_handler": "0x0001e43d", - "sm_address_resolution_lookup": "0x0001e595", - "sm_authenticated": "0x0001e8f5", - "sm_authorization_decline": "0x0001e903", - "sm_authorization_grant": "0x0001e923", - "sm_authorization_state": "0x0001e943", - "sm_bonding_decline": "0x0001e95d", - "sm_config": "0x0001ed7d", - "sm_config_conn": "0x0001ed95", - "sm_encryption_key_size": "0x0001ef4b", - "sm_just_works_confirm": "0x0001f485", - "sm_le_device_key": "0x0001f7c1", - "sm_passkey_input": "0x0001f857", - "sm_private_random_address_generation_get": "0x0001fc05", - "sm_private_random_address_generation_get_mode": "0x0001fc0d", - "sm_private_random_address_generation_set_mode": "0x0001fc19", - "sm_private_random_address_generation_set_update_period": "0x0001fc41", - "sm_register_oob_data_callback": "0x0001fd7d", - "sm_request_pairing": "0x0001fd89", - "sm_send_security_request": "0x000207c3", - "sm_set_accepted_stk_generation_methods": "0x000207e9", - "sm_set_authentication_requirements": "0x000207f5", - "sm_set_encryption_key_size_range": "0x00020801", - "sscanf_bd_addr": "0x00020b5d", - "sysSetPublicDeviceAddr": "0x00020f11", - "uuid128_to_str": "0x000214f1", - "uuid_add_bluetooth_prefix": "0x00021549", - "uuid_has_bluetooth_prefix": "0x00021569", - "uxListRemove": "0x00021585", - "uxQueueMessagesWaiting": "0x000215ad", - "uxQueueMessagesWaitingFromISR": "0x000215d5", - "uxQueueSpacesAvailable": "0x000215f1", - "uxTaskGetStackHighWaterMark": "0x0002161d", - "uxTaskPriorityGet": "0x0002163d", - "uxTaskPriorityGetFromISR": "0x00021659", - "vListInitialise": "0x00021713", - "vListInitialiseItem": "0x00021729", - "vListInsert": "0x0002172f", - "vListInsertEnd": "0x0002175f", - "vPortEndScheduler": "0x00021779", - "vPortEnterCritical": "0x000217a5", - "vPortExitCritical": "0x000217e9", - "vPortFree": "0x0002181d", - "vPortSuppressTicksAndSleep": "0x000218b1", - "vPortValidateInterruptPriority": "0x000219cd", - "vQueueDelete": "0x00021a29", - "vQueueWaitForMessageRestricted": "0x00021a55", - "vTaskDelay": "0x00021a9d", - "vTaskInternalSetTimeOutState": "0x00021ae9", - "vTaskMissedYield": "0x00021af9", - "vTaskPlaceOnEventList": "0x00021b05", - "vTaskPlaceOnEventListRestricted": "0x00021b3d", - "vTaskPriorityDisinheritAfterTimeout": "0x00021b7d", - "vTaskPrioritySet": "0x00021c29", - "vTaskResume": "0x00021cf1", - "vTaskStartScheduler": "0x00021d75", - "vTaskStepTick": "0x00021e05", - "vTaskSuspend": "0x00021e35", - "vTaskSuspendAll": "0x00021ef1", - "vTaskSwitchContext": "0x00021f01", - "xPortStartScheduler": "0x00021fa9", - "xQueueAddToSet": "0x00022071", - "xQueueCreateCountingSemaphore": "0x00022095", - "xQueueCreateCountingSemaphoreStatic": "0x000220d1", - "xQueueCreateMutex": "0x00022115", - "xQueueCreateMutexStatic": "0x0002212b", - "xQueueCreateSet": "0x00022145", - "xQueueGenericCreate": "0x0002214d", - "xQueueGenericCreateStatic": "0x00022199", - "xQueueGenericReset": "0x00022201", - "xQueueGenericSend": "0x0002228d", - "xQueueGenericSendFromISR": "0x000223f9", - "xQueueGiveFromISR": "0x000224b9", - "xQueueGiveMutexRecursive": "0x0002255d", - "xQueueIsQueueEmptyFromISR": "0x0002259d", - "xQueueIsQueueFullFromISR": "0x000225c1", - "xQueuePeek": "0x000225e9", - "xQueuePeekFromISR": "0x00022711", - "xQueueReceive": "0x0002277d", - "xQueueReceiveFromISR": "0x000228a9", - "xQueueRemoveFromSet": "0x0002293d", - "xQueueSelectFromSet": "0x0002295f", - "xQueueSelectFromSetFromISR": "0x00022971", - "xQueueSemaphoreTake": "0x00022985", - "xQueueTakeMutexRecursive": "0x00022af1", - "xTaskCheckForTimeOut": "0x00022b35", - "xTaskCreate": "0x00022ba5", - "xTaskCreateStatic": "0x00022c01", - "xTaskGetCurrentTaskHandle": "0x00022c71", - "xTaskGetSchedulerState": "0x00022c7d", - "xTaskGetTickCount": "0x00022c99", - "xTaskGetTickCountFromISR": "0x00022ca5", - "xTaskIncrementTick": "0x00022cb5", - "xTaskPriorityDisinherit": "0x00022d81", - "xTaskPriorityInherit": "0x00022e15", - "xTaskRemoveFromEventList": "0x00022ea9", - "xTaskResumeAll": "0x00022f29", - "xTaskResumeFromISR": "0x00022ff1", - "xTimerCreate": "0x0002307d", - "xTimerCreateStatic": "0x000230b1", - "xTimerCreateTimerTask": "0x000230e9", - "xTimerGenericCommand": "0x00023155", - "xTimerGetExpiryTime": "0x000231c5", - "xTimerGetTimerDaemonTaskHandle": "0x000231e5" + "att_dispatch_client_can_send_now": "0x00005751", + "att_dispatch_client_request_can_send_now_event": "0x00005757", + "att_dispatch_register_client": "0x0000575d", + "att_dispatch_register_server": "0x00005771", + "att_dispatch_server_can_send_now": "0x00005785", + "att_dispatch_server_request_can_send_now_event": "0x0000578b", + "att_emit_general_event": "0x0000583d", + "att_server_can_send_packet_now": "0x00005f51", + "att_server_deferred_read_response": "0x00005f55", + "att_server_get_mtu": "0x00005f6d", + "att_server_indicate": "0x00005fe5", + "att_server_init": "0x00006069", + "att_server_notify": "0x000060a5", + "att_server_register_packet_handler": "0x000061bd", + "att_server_request_can_send_now_event": "0x000061c9", + "att_set_db": "0x000061e5", + "att_set_read_callback": "0x000061f9", + "att_set_write_callback": "0x00006205", + "bd_addr_cmp": "0x00006375", + "bd_addr_copy": "0x0000637b", + "bd_addr_to_str": "0x00006385", + "big_endian_read_16": "0x000063bd", + "big_endian_read_32": "0x000063c5", + "big_endian_store_16": "0x000063d9", + "big_endian_store_32": "0x000063e5", + "btstack_config": "0x00006539", + "btstack_memory_pool_create": "0x00006677", + "btstack_memory_pool_free": "0x000066a1", + "btstack_memory_pool_get": "0x00006701", + "btstack_push_user_msg": "0x00006769", + "btstack_push_user_runnable": "0x00006775", + "char_for_nibble": "0x000069fd", + "eTaskConfirmSleepModeStatus": "0x00006cc9", + "gap_add_dev_to_periodic_list": "0x000072f5", + "gap_add_whitelist": "0x00007305", + "gap_aes_encrypt": "0x00007311", + "gap_clear_white_lists": "0x00007355", + "gap_clr_adv_set": "0x00007361", + "gap_clr_periodic_adv_list": "0x0000736d", + "gap_create_connection_cancel": "0x00007379", + "gap_disconnect": "0x00007385", + "gap_disconnect_all": "0x000073b1", + "gap_ext_create_connection": "0x000073f1", + "gap_get_connection_parameter_range": "0x000074e1", + "gap_le_read_channel_map": "0x0000751d", + "gap_periodic_adv_create_sync": "0x00007589", + "gap_periodic_adv_create_sync_cancel": "0x000075ad", + "gap_periodic_adv_term_sync": "0x000075b9", + "gap_read_periodic_adv_list_size": "0x00007641", + "gap_read_phy": "0x0000764d", + "gap_read_remote_used_features": "0x00007659", + "gap_read_remote_version": "0x00007665", + "gap_read_rssi": "0x00007671", + "gap_remove_whitelist": "0x0000767d", + "gap_rmv_adv_set": "0x000076f9", + "gap_rmv_dev_from_periodic_list": "0x00007705", + "gap_rx_test_v2": "0x00007715", + "gap_set_adv_set_random_addr": "0x0000774d", + "gap_set_connection_parameter_range": "0x00007795", + "gap_set_data_length": "0x000077ad", + "gap_set_def_phy": "0x000077c5", + "gap_set_ext_adv_data": "0x000077d5", + "gap_set_ext_adv_enable": "0x000077ed", + "gap_set_ext_adv_para": "0x00007869", + "gap_set_ext_scan_enable": "0x00007941", + "gap_set_ext_scan_para": "0x00007959", + "gap_set_ext_scan_response_data": "0x00007a01", + "gap_set_host_channel_classification": "0x00007a19", + "gap_set_periodic_adv_data": "0x00007a29", + "gap_set_periodic_adv_enable": "0x00007a99", + "gap_set_periodic_adv_para": "0x00007aa9", + "gap_set_phy": "0x00007ac1", + "gap_set_random_device_address": "0x00007add", + "gap_start_ccm": "0x00007b0d", + "gap_test_end": "0x00007b61", + "gap_tx_test_v2": "0x00007b6d", + "gap_tx_test_v4": "0x00007b85", + "gap_update_connection_parameters": "0x00007ba9", + "gap_vendor_tx_continuous_wave": "0x00007bed", + "gatt_client_cancel_write": "0x00008115", + "gatt_client_discover_characteristic_descriptors": "0x0000813b", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x0000817b", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x000081cb", + "gatt_client_discover_characteristics_for_service": "0x0000821b", + "gatt_client_discover_primary_services": "0x00008251", + "gatt_client_discover_primary_services_by_uuid128": "0x00008283", + "gatt_client_discover_primary_services_by_uuid16": "0x000082c7", + "gatt_client_execute_write": "0x00008303", + "gatt_client_find_included_services_for_service": "0x00008329", + "gatt_client_get_mtu": "0x00008357", + "gatt_client_is_ready": "0x000083f9", + "gatt_client_listen_for_characteristic_value_updates": "0x0000840f", + "gatt_client_prepare_write": "0x00008431", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x0000846d", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x00008497", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x0000849d", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x000084cb", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x000084d1", + "gatt_client_read_multiple_characteristic_values": "0x000084ff", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x0000852f", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x0000855d", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x000085a9", + "gatt_client_register_handler": "0x000085f5", + "gatt_client_reliable_write_long_value_of_characteristic": "0x00008601", + "gatt_client_signed_write_without_response": "0x00008a31", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008af5", + "gatt_client_write_client_characteristic_configuration": "0x00008b2f", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008b81", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008b91", + "gatt_client_write_long_value_of_characteristic": "0x00008bcd", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008bdd", + "gatt_client_write_value_of_characteristic": "0x00008c19", + "gatt_client_write_value_of_characteristic_without_response": "0x00008c4f", + "hci_add_event_handler": "0x0000a175", + "hci_power_control": "0x0000a969", + "hci_register_acl_packet_handler": "0x0000ab1d", + "kv_commit": "0x0000b091", + "kv_get": "0x0000b0e9", + "kv_init": "0x0000b101", + "kv_put": "0x0000b169", + "kv_remove": "0x0000b1e1", + "kv_remove_all": "0x0000b21d", + "kv_value_modified": "0x0000b261", + "kv_visit": "0x0000b265", + "l2cap_add_event_handler": "0x0000b319", + "l2cap_can_send_packet_now": "0x0000b329", + "l2cap_create_le_credit_based_connection_request": "0x0000b4e5", + "l2cap_credit_based_send": "0x0000b629", + "l2cap_credit_based_send_continue": "0x0000b655", + "l2cap_disconnect": "0x0000b6d1", + "l2cap_get_le_credit_based_connection_credits": "0x0000b921", + "l2cap_get_peer_mtu_for_local_cid": "0x0000b93d", + "l2cap_init": "0x0000bd11", + "l2cap_le_send_flow_control_credit": "0x0000be07", + "l2cap_max_le_mtu": "0x0000c111", + "l2cap_register_packet_handler": "0x0000c239", + "l2cap_register_service": "0x0000c245", + "l2cap_request_can_send_now_event": "0x0000c355", + "l2cap_request_connection_parameter_update": "0x0000c36f", + "l2cap_send_echo_request": "0x0000c841", + "l2cap_unregister_service": "0x0000c901", + "le_device_db_add": "0x0000c959", + "le_device_db_find": "0x0000ca2d", + "le_device_db_from_key": "0x0000ca59", + "le_device_db_iter_cur": "0x0000ca61", + "le_device_db_iter_cur_key": "0x0000ca65", + "le_device_db_iter_init": "0x0000ca69", + "le_device_db_iter_next": "0x0000ca71", + "le_device_db_remove_key": "0x0000ca97", + "ll_aes_encrypt": "0x0000cac5", + "ll_free": "0x0000cb41", + "ll_hint_on_ce_len": "0x0000cb4d", + "ll_legacy_adv_set_interval": "0x0000cb85", + "ll_malloc": "0x0000cb95", + "ll_query_timing_info": "0x0000cccd", + "ll_scan_set_fixed_channel": "0x0000cd71", + "ll_set_adv_access_address": "0x0000ce85", + "ll_set_adv_coded_scheme": "0x0000ce91", + "ll_set_conn_coded_scheme": "0x0000cec1", + "ll_set_conn_latency": "0x0000ceed", + "ll_set_conn_tx_power": "0x0000cf1d", + "ll_set_def_antenna": "0x0000cf65", + "ll_set_initiating_coded_scheme": "0x0000cf81", + "ll_set_max_conn_number": "0x0000cf8d", + "nibble_for_char": "0x0001cec1", + "platform_32k_rc_auto_tune": "0x0001cf6d", + "platform_32k_rc_tune": "0x0001cfe9", + "platform_calibrate_32k": "0x0001cffd", + "platform_config": "0x0001d001", + "platform_enable_irq": "0x0001d0f5", + "platform_get_current_task": "0x0001d12d", + "platform_get_gen_os_driver": "0x0001d151", + "platform_get_heap_status": "0x0001d159", + "platform_get_task_handle": "0x0001d171", + "platform_get_us_time": "0x0001d191", + "platform_get_version": "0x0001d195", + "platform_hrng": "0x0001d19d", + "platform_install_isr_stack": "0x0001d1a5", + "platform_install_task_stack": "0x0001d1b1", + "platform_patch_rf_init_data": "0x0001d1e9", + "platform_printf": "0x0001d1f5", + "platform_raise_assertion": "0x0001d209", + "platform_rand": "0x0001d21d", + "platform_read_info": "0x0001d221", + "platform_read_persistent_reg": "0x0001d251", + "platform_reset": "0x0001d261", + "platform_set_evt_callback": "0x0001d285", + "platform_set_evt_callback_table": "0x0001d299", + "platform_set_irq_callback": "0x0001d2a5", + "platform_set_irq_callback_table": "0x0001d2c1", + "platform_set_rf_clk_source": "0x0001d2cd", + "platform_set_rf_init_data": "0x0001d2d9", + "platform_set_rf_power_mapping": "0x0001d2e5", + "platform_set_timer": "0x0001d2f1", + "platform_shutdown": "0x0001d2f5", + "platform_switch_app": "0x0001d2f9", + "platform_trace_raw": "0x0001d325", + "platform_write_persistent_reg": "0x0001d33d", + "printf_hexdump": "0x0001d4f1", + "pvPortMalloc": "0x0001dfe1", + "pvTaskIncrementMutexHeldCount": "0x0001e0c9", + "pvTimerGetTimerID": "0x0001e0e1", + "pxPortInitialiseStack": "0x0001e10d", + "reverse_128": "0x0001e2b5", + "reverse_24": "0x0001e2bb", + "reverse_48": "0x0001e2c1", + "reverse_56": "0x0001e2c7", + "reverse_64": "0x0001e2cd", + "reverse_bd_addr": "0x0001e2d3", + "reverse_bytes": "0x0001e2d9", + "sm_add_event_handler": "0x0001e445", + "sm_address_resolution_lookup": "0x0001e59d", + "sm_authenticated": "0x0001e8fd", + "sm_authorization_decline": "0x0001e90b", + "sm_authorization_grant": "0x0001e92b", + "sm_authorization_state": "0x0001e94b", + "sm_bonding_decline": "0x0001e965", + "sm_config": "0x0001ed85", + "sm_config_conn": "0x0001ed9d", + "sm_encryption_key_size": "0x0001ef53", + "sm_just_works_confirm": "0x0001f48d", + "sm_le_device_key": "0x0001f7c9", + "sm_passkey_input": "0x0001f85f", + "sm_private_random_address_generation_get": "0x0001fc0d", + "sm_private_random_address_generation_get_mode": "0x0001fc15", + "sm_private_random_address_generation_set_mode": "0x0001fc21", + "sm_private_random_address_generation_set_update_period": "0x0001fc49", + "sm_register_oob_data_callback": "0x0001fd85", + "sm_request_pairing": "0x0001fd91", + "sm_send_security_request": "0x000207cb", + "sm_set_accepted_stk_generation_methods": "0x000207f1", + "sm_set_authentication_requirements": "0x000207fd", + "sm_set_encryption_key_size_range": "0x00020809", + "sscanf_bd_addr": "0x00020b65", + "sysSetPublicDeviceAddr": "0x00020f19", + "uuid128_to_str": "0x000214f9", + "uuid_add_bluetooth_prefix": "0x00021551", + "uuid_has_bluetooth_prefix": "0x00021571", + "uxListRemove": "0x0002158d", + "uxQueueMessagesWaiting": "0x000215b5", + "uxQueueMessagesWaitingFromISR": "0x000215dd", + "uxQueueSpacesAvailable": "0x000215f9", + "uxTaskGetStackHighWaterMark": "0x00021625", + "uxTaskPriorityGet": "0x00021645", + "uxTaskPriorityGetFromISR": "0x00021661", + "vListInitialise": "0x0002171b", + "vListInitialiseItem": "0x00021731", + "vListInsert": "0x00021737", + "vListInsertEnd": "0x00021767", + "vPortEndScheduler": "0x00021781", + "vPortEnterCritical": "0x000217ad", + "vPortExitCritical": "0x000217f1", + "vPortFree": "0x00021825", + "vPortSuppressTicksAndSleep": "0x000218b9", + "vPortValidateInterruptPriority": "0x000219d5", + "vQueueDelete": "0x00021a31", + "vQueueWaitForMessageRestricted": "0x00021a5d", + "vTaskDelay": "0x00021aa5", + "vTaskInternalSetTimeOutState": "0x00021af1", + "vTaskMissedYield": "0x00021b01", + "vTaskPlaceOnEventList": "0x00021b0d", + "vTaskPlaceOnEventListRestricted": "0x00021b45", + "vTaskPriorityDisinheritAfterTimeout": "0x00021b85", + "vTaskPrioritySet": "0x00021c31", + "vTaskResume": "0x00021cf9", + "vTaskStartScheduler": "0x00021d7d", + "vTaskStepTick": "0x00021e0d", + "vTaskSuspend": "0x00021e3d", + "vTaskSuspendAll": "0x00021ef9", + "vTaskSwitchContext": "0x00021f09", + "xPortStartScheduler": "0x00021fb1", + "xQueueAddToSet": "0x00022079", + "xQueueCreateCountingSemaphore": "0x0002209d", + "xQueueCreateCountingSemaphoreStatic": "0x000220d9", + "xQueueCreateMutex": "0x0002211d", + "xQueueCreateMutexStatic": "0x00022133", + "xQueueCreateSet": "0x0002214d", + "xQueueGenericCreate": "0x00022155", + "xQueueGenericCreateStatic": "0x000221a1", + "xQueueGenericReset": "0x00022209", + "xQueueGenericSend": "0x00022295", + "xQueueGenericSendFromISR": "0x00022401", + "xQueueGiveFromISR": "0x000224c1", + "xQueueGiveMutexRecursive": "0x00022565", + "xQueueIsQueueEmptyFromISR": "0x000225a5", + "xQueueIsQueueFullFromISR": "0x000225c9", + "xQueuePeek": "0x000225f1", + "xQueuePeekFromISR": "0x00022719", + "xQueueReceive": "0x00022785", + "xQueueReceiveFromISR": "0x000228b1", + "xQueueRemoveFromSet": "0x00022945", + "xQueueSelectFromSet": "0x00022967", + "xQueueSelectFromSetFromISR": "0x00022979", + "xQueueSemaphoreTake": "0x0002298d", + "xQueueTakeMutexRecursive": "0x00022af9", + "xTaskCheckForTimeOut": "0x00022b3d", + "xTaskCreate": "0x00022bad", + "xTaskCreateStatic": "0x00022c09", + "xTaskGetCurrentTaskHandle": "0x00022c79", + "xTaskGetSchedulerState": "0x00022c85", + "xTaskGetTickCount": "0x00022ca1", + "xTaskGetTickCountFromISR": "0x00022cad", + "xTaskIncrementTick": "0x00022cbd", + "xTaskPriorityDisinherit": "0x00022d89", + "xTaskPriorityInherit": "0x00022e1d", + "xTaskRemoveFromEventList": "0x00022eb1", + "xTaskResumeAll": "0x00022f31", + "xTaskResumeFromISR": "0x00022ff9", + "xTimerCreate": "0x00023085", + "xTimerCreateStatic": "0x000230b9", + "xTimerCreateTimerTask": "0x000230f1", + "xTimerGenericCommand": "0x0002315d", + "xTimerGetExpiryTime": "0x000231cd", + "xTimerGetTimerDaemonTaskHandle": "0x000231ed" } \ No newline at end of file diff --git a/bundles/typical/ING9187xx/meta.json b/bundles/typical/ING9187xx/meta.json index 6165960f4..64667c077 100644 --- a/bundles/typical/ING9187xx/meta.json +++ b/bundles/typical/ING9187xx/meta.json @@ -8,11 +8,11 @@ }, "rom": { "base": 16384, - "size": 133656 + "size": 133664 }, "version": [ 1, 9, - 12 + 15 ] } \ No newline at end of file diff --git a/bundles/typical/ING9187xx/platform.bin b/bundles/typical/ING9187xx/platform.bin index 83d3fa482..8def4d61c 100644 Binary files a/bundles/typical/ING9187xx/platform.bin and b/bundles/typical/ING9187xx/platform.bin differ diff --git a/bundles/typical/ING9188xx/apis.json b/bundles/typical/ING9188xx/apis.json index f3288f125..6474ae6b6 100644 --- a/bundles/typical/ING9188xx/apis.json +++ b/bundles/typical/ING9188xx/apis.json @@ -1,329 +1,330 @@ { - "att_dispatch_client_can_send_now": "0x0000588d", - "att_dispatch_client_request_can_send_now_event": "0x00005893", - "att_dispatch_register_client": "0x00005899", - "att_dispatch_register_server": "0x000058ad", - "att_dispatch_server_can_send_now": "0x000058c1", - "att_dispatch_server_request_can_send_now_event": "0x000058c7", - "att_emit_general_event": "0x00005979", - "att_server_can_send_packet_now": "0x0000608d", - "att_server_deferred_read_response": "0x00006091", - "att_server_get_mtu": "0x000060a9", - "att_server_indicate": "0x00006121", - "att_server_init": "0x000061a5", - "att_server_notify": "0x000061e1", - "att_server_register_packet_handler": "0x000062f9", - "att_server_request_can_send_now_event": "0x00006305", - "att_set_db": "0x00006321", - "att_set_read_callback": "0x00006335", - "att_set_write_callback": "0x00006341", - "bd_addr_cmp": "0x000064b1", - "bd_addr_copy": "0x000064b7", - "bd_addr_to_str": "0x000064c1", - "big_endian_read_16": "0x000064f9", - "big_endian_read_32": "0x00006501", - "big_endian_store_16": "0x00006515", - "big_endian_store_32": "0x00006521", - "btstack_config": "0x00006675", - "btstack_memory_pool_create": "0x000067b3", - "btstack_memory_pool_free": "0x000067dd", - "btstack_memory_pool_get": "0x0000683d", - "btstack_push_user_msg": "0x000068a5", - "btstack_push_user_runnable": "0x000068b1", - "char_for_nibble": "0x00006b39", - "eTaskConfirmSleepModeStatus": "0x00006e05", - "gap_add_dev_to_periodic_list": "0x00007495", - "gap_add_whitelist": "0x000074ad", - "gap_aes_encrypt": "0x000074c1", - "gap_clear_white_lists": "0x00007505", - "gap_clr_adv_set": "0x00007515", - "gap_clr_periodic_adv_list": "0x00007525", - "gap_create_connection_cancel": "0x00007535", - "gap_default_periodic_adv_sync_transfer_param": "0x00007545", - "gap_disconnect": "0x0000755d", - "gap_disconnect_all": "0x00007589", - "gap_ext_create_connection": "0x000075c9", - "gap_get_connection_parameter_range": "0x000076b9", - "gap_le_read_channel_map": "0x000076f5", - "gap_periodic_adv_create_sync": "0x00007769", - "gap_periodic_adv_create_sync_cancel": "0x0000778d", - "gap_periodic_adv_set_info_transfer": "0x0000779d", - "gap_periodic_adv_sync_transfer": "0x000077b5", - "gap_periodic_adv_sync_transfer_param": "0x000077cd", - "gap_periodic_adv_term_sync": "0x000077e9", - "gap_read_antenna_info": "0x0000787d", - "gap_read_periodic_adv_list_size": "0x0000788d", - "gap_read_phy": "0x0000789d", - "gap_read_remote_used_features": "0x000078b1", - "gap_read_remote_version": "0x000078c5", - "gap_read_rssi": "0x000078d9", - "gap_remove_whitelist": "0x000078ed", - "gap_rmv_adv_set": "0x00007971", - "gap_rmv_dev_from_periodic_list": "0x00007985", - "gap_rx_test_v2": "0x0000799d", - "gap_rx_test_v3": "0x000079b5", - "gap_set_adv_set_random_addr": "0x00007a05", - "gap_set_connection_cte_request_enable": "0x00007a51", - "gap_set_connection_cte_response_enable": "0x00007a6d", - "gap_set_connection_cte_rx_param": "0x00007a81", - "gap_set_connection_cte_tx_param": "0x00007add", - "gap_set_connection_parameter_range": "0x00007b31", - "gap_set_connectionless_cte_tx_enable": "0x00007b49", - "gap_set_connectionless_cte_tx_param": "0x00007b5d", - "gap_set_connectionless_iq_sampling_enable": "0x00007bbd", - "gap_set_data_length": "0x00007c21", - "gap_set_def_phy": "0x00007c3d", - "gap_set_ext_adv_data": "0x00007c55", - "gap_set_ext_adv_enable": "0x00007c6d", - "gap_set_ext_adv_para": "0x00007ce9", - "gap_set_ext_scan_enable": "0x00007dc9", - "gap_set_ext_scan_para": "0x00007de1", - "gap_set_ext_scan_response_data": "0x00007e89", - "gap_set_host_channel_classification": "0x00007ea1", - "gap_set_periodic_adv_data": "0x00007eb5", - "gap_set_periodic_adv_enable": "0x00007f29", - "gap_set_periodic_adv_para": "0x00007f3d", - "gap_set_periodic_adv_rx_enable": "0x00007f55", - "gap_set_phy": "0x00007f69", - "gap_set_random_device_address": "0x00007f85", - "gap_start_ccm": "0x00007fb5", - "gap_test_end": "0x00007fe9", - "gap_tx_test_v2": "0x00007ff9", - "gap_tx_test_v4": "0x00008011", - "gap_update_connection_parameters": "0x00008039", - "gap_vendor_tx_continuous_wave": "0x0000807d", - "gatt_client_cancel_write": "0x000085a5", - "gatt_client_discover_characteristic_descriptors": "0x000085cb", - "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x0000860b", - "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x0000865b", - "gatt_client_discover_characteristics_for_service": "0x000086ab", - "gatt_client_discover_primary_services": "0x000086e1", - "gatt_client_discover_primary_services_by_uuid128": "0x00008713", - "gatt_client_discover_primary_services_by_uuid16": "0x00008757", - "gatt_client_execute_write": "0x00008793", - "gatt_client_find_included_services_for_service": "0x000087b9", - "gatt_client_get_mtu": "0x000087e7", - "gatt_client_is_ready": "0x00008889", - "gatt_client_listen_for_characteristic_value_updates": "0x0000889f", - "gatt_client_prepare_write": "0x000088c1", - "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x000088fd", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x00008927", - "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x0000892d", - "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x0000895b", - "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x00008961", - "gatt_client_read_multiple_characteristic_values": "0x0000898f", - "gatt_client_read_value_of_characteristic_using_value_handle": "0x000089bf", - "gatt_client_read_value_of_characteristics_by_uuid128": "0x000089ed", - "gatt_client_read_value_of_characteristics_by_uuid16": "0x00008a39", - "gatt_client_register_handler": "0x00008a85", - "gatt_client_reliable_write_long_value_of_characteristic": "0x00008a91", - "gatt_client_signed_write_without_response": "0x00008ec1", - "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008f85", - "gatt_client_write_client_characteristic_configuration": "0x00008fbf", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00009011", - "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00009021", - "gatt_client_write_long_value_of_characteristic": "0x0000905d", - "gatt_client_write_long_value_of_characteristic_with_offset": "0x0000906d", - "gatt_client_write_value_of_characteristic": "0x000090a9", - "gatt_client_write_value_of_characteristic_without_response": "0x000090df", - "hci_add_event_handler": "0x0000a621", - "hci_power_control": "0x0000ae15", - "hci_register_acl_packet_handler": "0x0000afc9", - "kv_commit": "0x0000b545", - "kv_get": "0x0000b59d", - "kv_init": "0x0000b5b5", - "kv_put": "0x0000b61d", - "kv_remove": "0x0000b695", - "kv_remove_all": "0x0000b6d1", - "kv_value_modified": "0x0000b715", - "kv_visit": "0x0000b719", - "l2cap_add_event_handler": "0x0000b7cd", - "l2cap_can_send_packet_now": "0x0000b7dd", - "l2cap_create_le_credit_based_connection_request": "0x0000b999", - "l2cap_credit_based_send": "0x0000badd", - "l2cap_credit_based_send_continue": "0x0000bb09", - "l2cap_disconnect": "0x0000bb85", - "l2cap_get_le_credit_based_connection_credits": "0x0000bdd5", - "l2cap_get_peer_mtu_for_local_cid": "0x0000bdf1", - "l2cap_init": "0x0000c1c5", - "l2cap_le_send_flow_control_credit": "0x0000c2bb", - "l2cap_max_le_mtu": "0x0000c5c5", - "l2cap_register_packet_handler": "0x0000c6ed", - "l2cap_register_service": "0x0000c6f9", - "l2cap_request_can_send_now_event": "0x0000c809", - "l2cap_request_connection_parameter_update": "0x0000c823", - "l2cap_send_echo_request": "0x0000ccf5", - "l2cap_unregister_service": "0x0000cdb5", - "le_device_db_add": "0x0000ce0d", - "le_device_db_find": "0x0000cee1", - "le_device_db_from_key": "0x0000cf0d", - "le_device_db_iter_cur": "0x0000cf15", - "le_device_db_iter_cur_key": "0x0000cf19", - "le_device_db_iter_init": "0x0000cf1d", - "le_device_db_iter_next": "0x0000cf25", - "le_device_db_remove_key": "0x0000cf4b", - "ll_free": "0x0000cf77", - "ll_hint_on_ce_len": "0x0000cf81", - "ll_legacy_adv_set_interval": "0x0000cfb9", - "ll_malloc": "0x0000cfc9", - "ll_query_timing_info": "0x0000d101", - "ll_scan_set_fixed_channel": "0x0000d1a5", - "ll_set_adv_access_address": "0x0000d2b9", - "ll_set_adv_coded_scheme": "0x0000d2c5", - "ll_set_conn_coded_scheme": "0x0000d2f5", - "ll_set_conn_latency": "0x0000d321", - "ll_set_conn_tx_power": "0x0000d351", - "ll_set_def_antenna": "0x0000d399", - "ll_set_initiating_coded_scheme": "0x0000d3b5", - "ll_set_max_conn_number": "0x0000d3c1", - "nibble_for_char": "0x0001e1c1", - "platform_32k_rc_auto_tune": "0x0001e26d", - "platform_32k_rc_tune": "0x0001e2e9", - "platform_calibrate_32k": "0x0001e2fd", - "platform_config": "0x0001e301", - "platform_enable_irq": "0x0001e3f5", - "platform_get_current_task": "0x0001e41d", - "platform_get_gen_os_driver": "0x0001e441", - "platform_get_heap_status": "0x0001e449", - "platform_get_task_handle": "0x0001e461", - "platform_get_us_time": "0x0001e481", - "platform_get_version": "0x0001e485", - "platform_hrng": "0x0001e48d", - "platform_install_isr_stack": "0x0001e495", - "platform_install_task_stack": "0x0001e4a1", - "platform_patch_rf_init_data": "0x0001e4d9", - "platform_printf": "0x0001e4e5", - "platform_raise_assertion": "0x0001e4f9", - "platform_rand": "0x0001e50d", - "platform_read_info": "0x0001e511", - "platform_read_persistent_reg": "0x0001e541", - "platform_reset": "0x0001e551", - "platform_set_evt_callback": "0x0001e575", - "platform_set_evt_callback_table": "0x0001e589", - "platform_set_irq_callback": "0x0001e595", - "platform_set_irq_callback_table": "0x0001e5b1", - "platform_set_rf_clk_source": "0x0001e5bd", - "platform_set_rf_init_data": "0x0001e5c9", - "platform_set_rf_power_mapping": "0x0001e5d5", - "platform_set_timer": "0x0001e5e1", - "platform_shutdown": "0x0001e5e5", - "platform_switch_app": "0x0001e5e9", - "platform_trace_raw": "0x0001e615", - "platform_write_persistent_reg": "0x0001e62d", - "printf_hexdump": "0x0001e7e1", - "pvPortMalloc": "0x0001f2d1", - "pvTaskIncrementMutexHeldCount": "0x0001f3b9", - "pvTimerGetTimerID": "0x0001f3d1", - "pxPortInitialiseStack": "0x0001f3fd", - "reverse_128": "0x0001f5dd", - "reverse_24": "0x0001f5e3", - "reverse_48": "0x0001f5e9", - "reverse_56": "0x0001f5ef", - "reverse_64": "0x0001f5f5", - "reverse_bd_addr": "0x0001f5fb", - "reverse_bytes": "0x0001f601", - "sm_add_event_handler": "0x0001f8c1", - "sm_address_resolution_lookup": "0x0001fa19", - "sm_authenticated": "0x0001fd79", - "sm_authorization_decline": "0x0001fd87", - "sm_authorization_grant": "0x0001fda7", - "sm_authorization_state": "0x0001fdc7", - "sm_bonding_decline": "0x0001fde1", - "sm_config": "0x00020201", - "sm_config_conn": "0x00020219", - "sm_encryption_key_size": "0x000203cf", - "sm_just_works_confirm": "0x00020909", - "sm_le_device_key": "0x00020c45", - "sm_passkey_input": "0x00020cdb", - "sm_private_random_address_generation_get": "0x00021089", - "sm_private_random_address_generation_get_mode": "0x00021091", - "sm_private_random_address_generation_set_mode": "0x0002109d", - "sm_private_random_address_generation_set_update_period": "0x000210c5", - "sm_register_oob_data_callback": "0x00021201", - "sm_request_pairing": "0x0002120d", - "sm_send_security_request": "0x00021c47", - "sm_set_accepted_stk_generation_methods": "0x00021c6d", - "sm_set_authentication_requirements": "0x00021c79", - "sm_set_encryption_key_size_range": "0x00021c85", - "sscanf_bd_addr": "0x00021fe1", - "sysSetPublicDeviceAddr": "0x00022395", - "uuid128_to_str": "0x00022b09", - "uuid_add_bluetooth_prefix": "0x00022b61", - "uuid_has_bluetooth_prefix": "0x00022b81", - "uxListRemove": "0x00022b9d", - "uxQueueMessagesWaiting": "0x00022bc5", - "uxQueueMessagesWaitingFromISR": "0x00022bed", - "uxQueueSpacesAvailable": "0x00022c09", - "uxTaskGetStackHighWaterMark": "0x00022c35", - "uxTaskPriorityGet": "0x00022c55", - "uxTaskPriorityGetFromISR": "0x00022c71", - "vListInitialise": "0x00022d2b", - "vListInitialiseItem": "0x00022d41", - "vListInsert": "0x00022d47", - "vListInsertEnd": "0x00022d77", - "vPortEndScheduler": "0x00022d91", - "vPortEnterCritical": "0x00022dbd", - "vPortExitCritical": "0x00022e01", - "vPortFree": "0x00022e35", - "vPortSuppressTicksAndSleep": "0x00022ec9", - "vPortValidateInterruptPriority": "0x00022fe5", - "vQueueDelete": "0x00023041", - "vQueueWaitForMessageRestricted": "0x0002306d", - "vTaskDelay": "0x000230b5", - "vTaskInternalSetTimeOutState": "0x00023101", - "vTaskMissedYield": "0x00023111", - "vTaskPlaceOnEventList": "0x0002311d", - "vTaskPlaceOnEventListRestricted": "0x00023155", - "vTaskPriorityDisinheritAfterTimeout": "0x00023195", - "vTaskPrioritySet": "0x00023241", - "vTaskResume": "0x00023309", - "vTaskStartScheduler": "0x0002338d", - "vTaskStepTick": "0x0002341d", - "vTaskSuspend": "0x0002344d", - "vTaskSuspendAll": "0x00023509", - "vTaskSwitchContext": "0x00023519", - "xPortStartScheduler": "0x000235c1", - "xQueueAddToSet": "0x00023689", - "xQueueCreateCountingSemaphore": "0x000236ad", - "xQueueCreateCountingSemaphoreStatic": "0x000236e9", - "xQueueCreateMutex": "0x0002372d", - "xQueueCreateMutexStatic": "0x00023743", - "xQueueCreateSet": "0x0002375d", - "xQueueGenericCreate": "0x00023765", - "xQueueGenericCreateStatic": "0x000237b1", - "xQueueGenericReset": "0x00023819", - "xQueueGenericSend": "0x000238a5", - "xQueueGenericSendFromISR": "0x00023a11", - "xQueueGiveFromISR": "0x00023ad1", - "xQueueGiveMutexRecursive": "0x00023b75", - "xQueueIsQueueEmptyFromISR": "0x00023bb5", - "xQueueIsQueueFullFromISR": "0x00023bd9", - "xQueuePeek": "0x00023c01", - "xQueuePeekFromISR": "0x00023d29", - "xQueueReceive": "0x00023d95", - "xQueueReceiveFromISR": "0x00023ec1", - "xQueueRemoveFromSet": "0x00023f55", - "xQueueSelectFromSet": "0x00023f77", - "xQueueSelectFromSetFromISR": "0x00023f89", - "xQueueSemaphoreTake": "0x00023f9d", - "xQueueTakeMutexRecursive": "0x00024109", - "xTaskCheckForTimeOut": "0x0002414d", - "xTaskCreate": "0x000241bd", - "xTaskCreateStatic": "0x00024219", - "xTaskGetCurrentTaskHandle": "0x00024289", - "xTaskGetSchedulerState": "0x00024295", - "xTaskGetTickCount": "0x000242b1", - "xTaskGetTickCountFromISR": "0x000242bd", - "xTaskIncrementTick": "0x000242cd", - "xTaskPriorityDisinherit": "0x00024399", - "xTaskPriorityInherit": "0x0002442d", - "xTaskRemoveFromEventList": "0x000244c1", - "xTaskResumeAll": "0x00024541", - "xTaskResumeFromISR": "0x00024609", - "xTimerCreate": "0x00024695", - "xTimerCreateStatic": "0x000246c9", - "xTimerCreateTimerTask": "0x00024701", - "xTimerGenericCommand": "0x0002476d", - "xTimerGetExpiryTime": "0x000247dd", - "xTimerGetTimerDaemonTaskHandle": "0x000247fd" + "att_dispatch_client_can_send_now": "0x00005875", + "att_dispatch_client_request_can_send_now_event": "0x0000587b", + "att_dispatch_register_client": "0x00005881", + "att_dispatch_register_server": "0x00005895", + "att_dispatch_server_can_send_now": "0x000058a9", + "att_dispatch_server_request_can_send_now_event": "0x000058af", + "att_emit_general_event": "0x00005961", + "att_server_can_send_packet_now": "0x00006075", + "att_server_deferred_read_response": "0x00006079", + "att_server_get_mtu": "0x00006091", + "att_server_indicate": "0x00006109", + "att_server_init": "0x0000618d", + "att_server_notify": "0x000061c9", + "att_server_register_packet_handler": "0x000062e1", + "att_server_request_can_send_now_event": "0x000062ed", + "att_set_db": "0x00006309", + "att_set_read_callback": "0x0000631d", + "att_set_write_callback": "0x00006329", + "bd_addr_cmp": "0x00006499", + "bd_addr_copy": "0x0000649f", + "bd_addr_to_str": "0x000064a9", + "big_endian_read_16": "0x000064e1", + "big_endian_read_32": "0x000064e9", + "big_endian_store_16": "0x000064fd", + "big_endian_store_32": "0x00006509", + "btstack_config": "0x0000665d", + "btstack_memory_pool_create": "0x0000679b", + "btstack_memory_pool_free": "0x000067c5", + "btstack_memory_pool_get": "0x00006825", + "btstack_push_user_msg": "0x0000688d", + "btstack_push_user_runnable": "0x00006899", + "char_for_nibble": "0x00006b21", + "eTaskConfirmSleepModeStatus": "0x00006ded", + "gap_add_dev_to_periodic_list": "0x00007489", + "gap_add_whitelist": "0x00007499", + "gap_aes_encrypt": "0x000074a5", + "gap_clear_white_lists": "0x000074e9", + "gap_clr_adv_set": "0x000074f5", + "gap_clr_periodic_adv_list": "0x00007501", + "gap_create_connection_cancel": "0x0000750d", + "gap_default_periodic_adv_sync_transfer_param": "0x00007519", + "gap_disconnect": "0x00007531", + "gap_disconnect_all": "0x0000755d", + "gap_ext_create_connection": "0x0000759d", + "gap_get_connection_parameter_range": "0x0000768d", + "gap_le_read_channel_map": "0x000076c9", + "gap_periodic_adv_create_sync": "0x00007735", + "gap_periodic_adv_create_sync_cancel": "0x00007759", + "gap_periodic_adv_set_info_transfer": "0x00007765", + "gap_periodic_adv_sync_transfer": "0x00007775", + "gap_periodic_adv_sync_transfer_param": "0x00007785", + "gap_periodic_adv_term_sync": "0x000077a1", + "gap_read_antenna_info": "0x00007829", + "gap_read_periodic_adv_list_size": "0x00007835", + "gap_read_phy": "0x00007841", + "gap_read_remote_used_features": "0x0000784d", + "gap_read_remote_version": "0x00007859", + "gap_read_rssi": "0x00007865", + "gap_remove_whitelist": "0x00007871", + "gap_rmv_adv_set": "0x000078ed", + "gap_rmv_dev_from_periodic_list": "0x000078f9", + "gap_rx_test_v2": "0x00007909", + "gap_rx_test_v3": "0x00007919", + "gap_set_adv_set_random_addr": "0x00007965", + "gap_set_connection_cte_request_enable": "0x000079ad", + "gap_set_connection_cte_response_enable": "0x000079c9", + "gap_set_connection_cte_rx_param": "0x000079d9", + "gap_set_connection_cte_tx_param": "0x00007a35", + "gap_set_connection_parameter_range": "0x00007a89", + "gap_set_connectionless_cte_tx_enable": "0x00007aa1", + "gap_set_connectionless_cte_tx_param": "0x00007ab1", + "gap_set_connectionless_iq_sampling_enable": "0x00007b11", + "gap_set_data_length": "0x00007b75", + "gap_set_def_phy": "0x00007b8d", + "gap_set_ext_adv_data": "0x00007b9d", + "gap_set_ext_adv_enable": "0x00007bb5", + "gap_set_ext_adv_para": "0x00007c31", + "gap_set_ext_scan_enable": "0x00007d09", + "gap_set_ext_scan_para": "0x00007d21", + "gap_set_ext_scan_response_data": "0x00007dc9", + "gap_set_host_channel_classification": "0x00007de1", + "gap_set_periodic_adv_data": "0x00007df1", + "gap_set_periodic_adv_enable": "0x00007e61", + "gap_set_periodic_adv_para": "0x00007e71", + "gap_set_periodic_adv_rx_enable": "0x00007e89", + "gap_set_phy": "0x00007e99", + "gap_set_random_device_address": "0x00007eb5", + "gap_start_ccm": "0x00007ee5", + "gap_test_end": "0x00007f39", + "gap_tx_test_v2": "0x00007f45", + "gap_tx_test_v4": "0x00007f5d", + "gap_update_connection_parameters": "0x00007f81", + "gap_vendor_tx_continuous_wave": "0x00007fc5", + "gatt_client_cancel_write": "0x000084ed", + "gatt_client_discover_characteristic_descriptors": "0x00008513", + "gatt_client_discover_characteristics_for_handle_range_by_uuid128": "0x00008553", + "gatt_client_discover_characteristics_for_handle_range_by_uuid16": "0x000085a3", + "gatt_client_discover_characteristics_for_service": "0x000085f3", + "gatt_client_discover_primary_services": "0x00008629", + "gatt_client_discover_primary_services_by_uuid128": "0x0000865b", + "gatt_client_discover_primary_services_by_uuid16": "0x0000869f", + "gatt_client_execute_write": "0x000086db", + "gatt_client_find_included_services_for_service": "0x00008701", + "gatt_client_get_mtu": "0x0000872f", + "gatt_client_is_ready": "0x000087d1", + "gatt_client_listen_for_characteristic_value_updates": "0x000087e7", + "gatt_client_prepare_write": "0x00008809", + "gatt_client_read_characteristic_descriptor_using_descriptor_handle": "0x00008845", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle": "0x0000886f", + "gatt_client_read_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008875", + "gatt_client_read_long_value_of_characteristic_using_value_handle": "0x000088a3", + "gatt_client_read_long_value_of_characteristic_using_value_handle_with_offset": "0x000088a9", + "gatt_client_read_multiple_characteristic_values": "0x000088d7", + "gatt_client_read_value_of_characteristic_using_value_handle": "0x00008907", + "gatt_client_read_value_of_characteristics_by_uuid128": "0x00008935", + "gatt_client_read_value_of_characteristics_by_uuid16": "0x00008981", + "gatt_client_register_handler": "0x000089cd", + "gatt_client_reliable_write_long_value_of_characteristic": "0x000089d9", + "gatt_client_signed_write_without_response": "0x00008e09", + "gatt_client_write_characteristic_descriptor_using_descriptor_handle": "0x00008ecd", + "gatt_client_write_client_characteristic_configuration": "0x00008f07", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle": "0x00008f59", + "gatt_client_write_long_characteristic_descriptor_using_descriptor_handle_with_offset": "0x00008f69", + "gatt_client_write_long_value_of_characteristic": "0x00008fa5", + "gatt_client_write_long_value_of_characteristic_with_offset": "0x00008fb5", + "gatt_client_write_value_of_characteristic": "0x00008ff1", + "gatt_client_write_value_of_characteristic_without_response": "0x00009027", + "hci_add_event_handler": "0x0000a569", + "hci_power_control": "0x0000ad5d", + "hci_register_acl_packet_handler": "0x0000af11", + "kv_commit": "0x0000b485", + "kv_get": "0x0000b4dd", + "kv_init": "0x0000b4f5", + "kv_put": "0x0000b55d", + "kv_remove": "0x0000b5d5", + "kv_remove_all": "0x0000b611", + "kv_value_modified": "0x0000b655", + "kv_visit": "0x0000b659", + "l2cap_add_event_handler": "0x0000b70d", + "l2cap_can_send_packet_now": "0x0000b71d", + "l2cap_create_le_credit_based_connection_request": "0x0000b8d9", + "l2cap_credit_based_send": "0x0000ba1d", + "l2cap_credit_based_send_continue": "0x0000ba49", + "l2cap_disconnect": "0x0000bac5", + "l2cap_get_le_credit_based_connection_credits": "0x0000bd15", + "l2cap_get_peer_mtu_for_local_cid": "0x0000bd31", + "l2cap_init": "0x0000c105", + "l2cap_le_send_flow_control_credit": "0x0000c1fb", + "l2cap_max_le_mtu": "0x0000c505", + "l2cap_register_packet_handler": "0x0000c62d", + "l2cap_register_service": "0x0000c639", + "l2cap_request_can_send_now_event": "0x0000c749", + "l2cap_request_connection_parameter_update": "0x0000c763", + "l2cap_send_echo_request": "0x0000cc35", + "l2cap_unregister_service": "0x0000ccf5", + "le_device_db_add": "0x0000cd4d", + "le_device_db_find": "0x0000ce21", + "le_device_db_from_key": "0x0000ce4d", + "le_device_db_iter_cur": "0x0000ce55", + "le_device_db_iter_cur_key": "0x0000ce59", + "le_device_db_iter_init": "0x0000ce5d", + "le_device_db_iter_next": "0x0000ce65", + "le_device_db_remove_key": "0x0000ce8b", + "ll_aes_encrypt": "0x0000ceb9", + "ll_free": "0x0000cf35", + "ll_hint_on_ce_len": "0x0000cf41", + "ll_legacy_adv_set_interval": "0x0000cf79", + "ll_malloc": "0x0000cf89", + "ll_query_timing_info": "0x0000d0c1", + "ll_scan_set_fixed_channel": "0x0000d165", + "ll_set_adv_access_address": "0x0000d279", + "ll_set_adv_coded_scheme": "0x0000d285", + "ll_set_conn_coded_scheme": "0x0000d2b5", + "ll_set_conn_latency": "0x0000d2e1", + "ll_set_conn_tx_power": "0x0000d311", + "ll_set_def_antenna": "0x0000d359", + "ll_set_initiating_coded_scheme": "0x0000d375", + "ll_set_max_conn_number": "0x0000d381", + "nibble_for_char": "0x0001e195", + "platform_32k_rc_auto_tune": "0x0001e241", + "platform_32k_rc_tune": "0x0001e2bd", + "platform_calibrate_32k": "0x0001e2d1", + "platform_config": "0x0001e2d5", + "platform_enable_irq": "0x0001e3c9", + "platform_get_current_task": "0x0001e401", + "platform_get_gen_os_driver": "0x0001e425", + "platform_get_heap_status": "0x0001e42d", + "platform_get_task_handle": "0x0001e445", + "platform_get_us_time": "0x0001e465", + "platform_get_version": "0x0001e469", + "platform_hrng": "0x0001e471", + "platform_install_isr_stack": "0x0001e479", + "platform_install_task_stack": "0x0001e485", + "platform_patch_rf_init_data": "0x0001e4bd", + "platform_printf": "0x0001e4c9", + "platform_raise_assertion": "0x0001e4dd", + "platform_rand": "0x0001e4f1", + "platform_read_info": "0x0001e4f5", + "platform_read_persistent_reg": "0x0001e525", + "platform_reset": "0x0001e535", + "platform_set_evt_callback": "0x0001e559", + "platform_set_evt_callback_table": "0x0001e56d", + "platform_set_irq_callback": "0x0001e579", + "platform_set_irq_callback_table": "0x0001e595", + "platform_set_rf_clk_source": "0x0001e5a1", + "platform_set_rf_init_data": "0x0001e5ad", + "platform_set_rf_power_mapping": "0x0001e5b9", + "platform_set_timer": "0x0001e5c5", + "platform_shutdown": "0x0001e5c9", + "platform_switch_app": "0x0001e5cd", + "platform_trace_raw": "0x0001e5f9", + "platform_write_persistent_reg": "0x0001e611", + "printf_hexdump": "0x0001e7c5", + "pvPortMalloc": "0x0001f2b5", + "pvTaskIncrementMutexHeldCount": "0x0001f39d", + "pvTimerGetTimerID": "0x0001f3b5", + "pxPortInitialiseStack": "0x0001f3e1", + "reverse_128": "0x0001f5c1", + "reverse_24": "0x0001f5c7", + "reverse_48": "0x0001f5cd", + "reverse_56": "0x0001f5d3", + "reverse_64": "0x0001f5d9", + "reverse_bd_addr": "0x0001f5df", + "reverse_bytes": "0x0001f5e5", + "sm_add_event_handler": "0x0001f8a5", + "sm_address_resolution_lookup": "0x0001f9fd", + "sm_authenticated": "0x0001fd5d", + "sm_authorization_decline": "0x0001fd6b", + "sm_authorization_grant": "0x0001fd8b", + "sm_authorization_state": "0x0001fdab", + "sm_bonding_decline": "0x0001fdc5", + "sm_config": "0x000201e5", + "sm_config_conn": "0x000201fd", + "sm_encryption_key_size": "0x000203b3", + "sm_just_works_confirm": "0x000208ed", + "sm_le_device_key": "0x00020c29", + "sm_passkey_input": "0x00020cbf", + "sm_private_random_address_generation_get": "0x0002106d", + "sm_private_random_address_generation_get_mode": "0x00021075", + "sm_private_random_address_generation_set_mode": "0x00021081", + "sm_private_random_address_generation_set_update_period": "0x000210a9", + "sm_register_oob_data_callback": "0x000211e5", + "sm_request_pairing": "0x000211f1", + "sm_send_security_request": "0x00021c2b", + "sm_set_accepted_stk_generation_methods": "0x00021c51", + "sm_set_authentication_requirements": "0x00021c5d", + "sm_set_encryption_key_size_range": "0x00021c69", + "sscanf_bd_addr": "0x00021fc5", + "sysSetPublicDeviceAddr": "0x00022379", + "uuid128_to_str": "0x00022aed", + "uuid_add_bluetooth_prefix": "0x00022b45", + "uuid_has_bluetooth_prefix": "0x00022b65", + "uxListRemove": "0x00022b81", + "uxQueueMessagesWaiting": "0x00022ba9", + "uxQueueMessagesWaitingFromISR": "0x00022bd1", + "uxQueueSpacesAvailable": "0x00022bed", + "uxTaskGetStackHighWaterMark": "0x00022c19", + "uxTaskPriorityGet": "0x00022c39", + "uxTaskPriorityGetFromISR": "0x00022c55", + "vListInitialise": "0x00022d0f", + "vListInitialiseItem": "0x00022d25", + "vListInsert": "0x00022d2b", + "vListInsertEnd": "0x00022d5b", + "vPortEndScheduler": "0x00022d75", + "vPortEnterCritical": "0x00022da1", + "vPortExitCritical": "0x00022de5", + "vPortFree": "0x00022e19", + "vPortSuppressTicksAndSleep": "0x00022ead", + "vPortValidateInterruptPriority": "0x00022fc9", + "vQueueDelete": "0x00023025", + "vQueueWaitForMessageRestricted": "0x00023051", + "vTaskDelay": "0x00023099", + "vTaskInternalSetTimeOutState": "0x000230e5", + "vTaskMissedYield": "0x000230f5", + "vTaskPlaceOnEventList": "0x00023101", + "vTaskPlaceOnEventListRestricted": "0x00023139", + "vTaskPriorityDisinheritAfterTimeout": "0x00023179", + "vTaskPrioritySet": "0x00023225", + "vTaskResume": "0x000232ed", + "vTaskStartScheduler": "0x00023371", + "vTaskStepTick": "0x00023401", + "vTaskSuspend": "0x00023431", + "vTaskSuspendAll": "0x000234ed", + "vTaskSwitchContext": "0x000234fd", + "xPortStartScheduler": "0x000235a5", + "xQueueAddToSet": "0x0002366d", + "xQueueCreateCountingSemaphore": "0x00023691", + "xQueueCreateCountingSemaphoreStatic": "0x000236cd", + "xQueueCreateMutex": "0x00023711", + "xQueueCreateMutexStatic": "0x00023727", + "xQueueCreateSet": "0x00023741", + "xQueueGenericCreate": "0x00023749", + "xQueueGenericCreateStatic": "0x00023795", + "xQueueGenericReset": "0x000237fd", + "xQueueGenericSend": "0x00023889", + "xQueueGenericSendFromISR": "0x000239f5", + "xQueueGiveFromISR": "0x00023ab5", + "xQueueGiveMutexRecursive": "0x00023b59", + "xQueueIsQueueEmptyFromISR": "0x00023b99", + "xQueueIsQueueFullFromISR": "0x00023bbd", + "xQueuePeek": "0x00023be5", + "xQueuePeekFromISR": "0x00023d0d", + "xQueueReceive": "0x00023d79", + "xQueueReceiveFromISR": "0x00023ea5", + "xQueueRemoveFromSet": "0x00023f39", + "xQueueSelectFromSet": "0x00023f5b", + "xQueueSelectFromSetFromISR": "0x00023f6d", + "xQueueSemaphoreTake": "0x00023f81", + "xQueueTakeMutexRecursive": "0x000240ed", + "xTaskCheckForTimeOut": "0x00024131", + "xTaskCreate": "0x000241a1", + "xTaskCreateStatic": "0x000241fd", + "xTaskGetCurrentTaskHandle": "0x0002426d", + "xTaskGetSchedulerState": "0x00024279", + "xTaskGetTickCount": "0x00024295", + "xTaskGetTickCountFromISR": "0x000242a1", + "xTaskIncrementTick": "0x000242b1", + "xTaskPriorityDisinherit": "0x0002437d", + "xTaskPriorityInherit": "0x00024411", + "xTaskRemoveFromEventList": "0x000244a5", + "xTaskResumeAll": "0x00024525", + "xTaskResumeFromISR": "0x000245ed", + "xTimerCreate": "0x00024679", + "xTimerCreateStatic": "0x000246ad", + "xTimerCreateTimerTask": "0x000246e5", + "xTimerGenericCommand": "0x00024751", + "xTimerGetExpiryTime": "0x000247c1", + "xTimerGetTimerDaemonTaskHandle": "0x000247e1" } \ No newline at end of file diff --git a/bundles/typical/ING9188xx/meta.json b/bundles/typical/ING9188xx/meta.json index 9717a9f0a..e778706cb 100644 --- a/bundles/typical/ING9188xx/meta.json +++ b/bundles/typical/ING9188xx/meta.json @@ -8,11 +8,11 @@ }, "rom": { "base": 16384, - "size": 139768 + "size": 139740 }, "version": [ 1, 9, - 12 + 15 ] } \ No newline at end of file diff --git a/bundles/typical/ING9188xx/platform.bin b/bundles/typical/ING9188xx/platform.bin index 6b5896be7..46656d0cf 100644 Binary files a/bundles/typical/ING9188xx/platform.bin and b/bundles/typical/ING9188xx/platform.bin differ diff --git a/bundles/typical/inc/gap.h b/bundles/typical/inc/gap.h index 413b9423a..cc0896b57 100644 --- a/bundles/typical/inc/gap.h +++ b/bundles/typical/inc/gap.h @@ -47,14 +47,15 @@ typedef enum scan_type * @brief set random address device * * @param address random address + * @return 0: Message is sent to controller; others: failed */ -void gap_set_random_device_address(const uint8_t *address); +uint8_t gap_set_random_device_address(const uint8_t *address); /** * @brief Disconnect connection with handle * * @param handle Used to identify an advertising set. Range: 0x00 to 0xEF - * @return 0: Message is sent out or the connection alreay release + * @return 0: Message is sent out or the connection already release */ uint8_t gap_disconnect(hci_con_handle_t handle); @@ -67,7 +68,7 @@ void gap_disconnect_all(void); * * @param[in] address BLE address * @param[in] addtype BLE address type - * @return 0: Message is sent to controller + * @return 0: Message is sent to controller */ uint8_t gap_add_whitelist(const uint8_t *address,bd_addr_type_t addtype); @@ -1326,30 +1327,27 @@ uint8_t gap_vendor_tx_continuous_wave(uint8_t enable, uint8_t power_level_index, #define HCI_VENDOR_CCM 0xFC01 /** - * @brief host require controller to do AES-CCM functionality, and CCM referece to + * @brief Host require controller to do AES-CCM functionality, and CCM reference to * the document rfc3610:Counter with CBC-MAC (CCM) * - * @param type 0: encrypt 1:decrypt - * - * @param mic_size 8: mic size in 8 bytes 4: mic size in 4 bytes - * - * @param msg_len messge length to be encrypt or decrypt - * - * @param aad_len Additional authenticated data length - * - * @param tag a value to identify a AES-CCM request. - * - * @param key 128 bits long key as required by AES-CCM - * - * @param nonce random value of each AES-CCM require 13 bytes long - * - * @param msg pointer to the message input + * All input buffers (key, nonce, msg, aad) must be kept in memory until AES-CCM completed. * - * @param aad Additional authenticated data + * `return_param` passed to `cb` is casted from `event_vendor_ccm_complete_t`. * - * @param out_msg the output buffer to store the result of the AES-CCM ,calculated by controller. + * @param[in] type 0: encrypt 1:decrypt + * @param[in] mic_size 8: mic size in 8 bytes 4: mic size in 4 bytes + * @param[in] msg_len message length to be encrypt or decrypt (<= 384 bytes) + * @param[in] aad_len Additional authenticated data length (<= 16 bytes) + * @param[in] tag a value to identify a AES-CCM request. + * @param[in] key 128 bits long key as required by AES-CCM + * @param[in] nonce random value of each AES-CCM require 13 bytes long + * @param[in] msg pointer to the message input + * @param[in] aad Additional authenticated data + * @param[out] out_msg the output buffer to store the result of the AES-CCM + * @param[in] cb callback function on the corresponding command complete event + * @param[in] user_data user data for the callback function * - * @return 0: success others: failed + * @return 0: success others: failed */ uint8_t gap_start_ccm( uint8_t type, // 0: encrypt 1: decrypt @@ -1357,11 +1355,13 @@ uint8_t gap_start_ccm( uint16_t msg_len, uint16_t aad_len, uint32_t tag, // same value will be reported in event - uint8_t *key, - uint8_t *nonce, - uint8_t *msg, - uint8_t *aad, - uint8_t *out_msg); + const uint8_t *key, + const uint8_t *nonce, + const uint8_t *msg, + const uint8_t *aad, + uint8_t *out_msg, + gap_hci_cmd_complete_cb_t cb, + void *user_data); //HCI func interface diff --git a/bundles/typical/inc/ll_api.h b/bundles/typical/inc/ll_api.h index c32f31e3e..f49c2f484 100644 --- a/bundles/typical/inc/ll_api.h +++ b/bundles/typical/inc/ll_api.h @@ -118,6 +118,52 @@ void ll_set_conn_coded_scheme(uint16_t conn_handle, int ci); */ void ll_set_conn_latency(uint16_t conn_handle, int latency); +/** + **************************************************************************************** + * @brief Get connection basic information of a connection + * + * @param[in] conn_handle handle of an existing connection + * @param[out] access_addr Access address + * @param[out] crc_init CRC init value + * @param[out] interval interval (unit: us) + * @return 0 if successful else non-0 + **************************************************************************************** + */ +// int ll_get_conn_info(const uint16_t conn_handle, +// uint32_t *access_addr, +// uint32_t *crc_init, +// uint32_t *interval); +// WARNING: ^^^ this API is not available in this release + + +/** + **************************************************************************************** + * @brief Get information of upcoming connection events of a connection + * + * Information of consecutive N connection events after `from_time` can be retrieved, + * where N = `number`. + * + * Sub-rating is ignored. If channel map updated within these events, then `channel_ids` + * are not reliable. + * + * @param[in] conn_handle handle of an existing connection + * @param[in] number number of connection events to be queried + * @param[in] from_time the first connection event shall be after `from_time` (unit: us) + * @param[out] time_offset time offset between the start of the first connection event and `from_time` (unit: us) + * @param[out] event_count connection event count of the first connection event + * @param[out] channel_ids physical channel IDs of the upcoming `number` connection events + * @return 0 if successful else non-0 + **************************************************************************************** + */ +// int ll_get_conn_events_info(const uint16_t conn_handle, +// int number, +// uint64_t from_time, +// uint32_t *time_offset, +// uint16_t *event_count, +// uint8_t *channel_ids); +// WARNING: ^^^ this API is not available in this release + + /** **************************************************************************************** * @brief Set default antenna ID @@ -789,6 +835,21 @@ typedef int (*f_start_generate_dhkey)(int key_type, const uint8_t *remote_pub_k // f_start_generate_dhkey start_generate_dhkey); // WARNING: ^^^ this API is not available in this release + +/** + **************************************************************************************** + * @brief Low level AES encryption in blocking mode + * + * @param[in] key key (little-endian) + * @param[in] plaintext plaintext (little-endian) + * @param[out] ciphertext ciphertext (big-endian) + * @return 0 if completed successfully; non-0 if hardware is not ready or busy + * When non-0 is returned, it is possible to retry later. + **************************************************************************************** + */ +int ll_aes_encrypt(const uint8_t *key, const uint8_t *plaintext, + uint8_t *ciphertext); + #ifdef __cplusplus } #endif diff --git a/examples-gcc/central_fota/central_fota.ingw b/examples-gcc/central_fota/central_fota.ingw index 9fc9a7e40..f6f058c80 100644 --- a/examples-gcc/central_fota/central_fota.ingw +++ b/examples-gcc/central_fota/central_fota.ingw @@ -2,7 +2,7 @@ "watchdog": true, "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Programs\\gcc-arm-none-eabi-10.3-2021.10\\bin", "eflash_addr": "0x42000", diff --git a/examples-gcc/get_started/get_started.ingw b/examples-gcc/get_started/get_started.ingw index 1c457bdcd..e14642da2 100644 --- a/examples-gcc/get_started/get_started.ingw +++ b/examples-gcc/get_started/get_started.ingw @@ -2,7 +2,7 @@ "watchdog": true, "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Programs\\gcc-arm-none-eabi-10.3-2021.10\\bin", "eflash_addr": "0x42000", diff --git a/examples-gcc/peripheral_console_liteos/peripheral_console_liteos.ingw b/examples-gcc/peripheral_console_liteos/peripheral_console_liteos.ingw index 86d2f5135..eede67f42 100644 --- a/examples-gcc/peripheral_console_liteos/peripheral_console_liteos.ingw +++ b/examples-gcc/peripheral_console_liteos/peripheral_console_liteos.ingw @@ -2,7 +2,7 @@ "watchdog": false, "bundle_meta": { "rom": { - "size": 122892, + "size": 122900, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 147456 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Programs\\gcc-arm-none-eabi-10.3-2021.10\\bin", "eflash_addr": "0x42000", diff --git a/examples-gcc/peripheral_ibeacon/peripheral_ibeacon.ingw b/examples-gcc/peripheral_ibeacon/peripheral_ibeacon.ingw index 97a2a4a13..e0fa2a6cf 100644 --- a/examples-gcc/peripheral_ibeacon/peripheral_ibeacon.ingw +++ b/examples-gcc/peripheral_ibeacon/peripheral_ibeacon.ingw @@ -1,7 +1,7 @@ { "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -12,7 +12,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Programs\\gcc-arm-none-eabi-10.3-2021.10\\bin", "ide_ver": "", diff --git a/examples-gcc/smart_home_hub/smart_home_hub.ingw b/examples-gcc/smart_home_hub/smart_home_hub.ingw index d2252d9f9..a32961c92 100644 --- a/examples-gcc/smart_home_hub/smart_home_hub.ingw +++ b/examples-gcc/smart_home_hub/smart_home_hub.ingw @@ -2,7 +2,7 @@ "watchdog": false, "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Programs\\gcc-arm-none-eabi-10.3-2021.10\\bin", "eflash_addr": "0x42000", diff --git a/examples-iar/peripheral_ibeacon/generic_cortex.icf b/examples-iar/peripheral_ibeacon/generic_cortex.icf index dce3b6e9f..68b3ac1b3 100644 --- a/examples-iar/peripheral_ibeacon/generic_cortex.icf +++ b/examples-iar/peripheral_ibeacon/generic_cortex.icf @@ -2,9 +2,9 @@ /*-Editor annotation file-*/ /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_4.xml" */ /*-Specials-*/ -define symbol __ICFEDIT_intvec_start__ = 155648; +define symbol __ICFEDIT_intvec_start__ = 155648; /*-Memory Regions-*/ -define symbol __ICFEDIT_region_IROM1_start__ = 155648; +define symbol __ICFEDIT_region_IROM1_start__ = 155648; define symbol __ICFEDIT_region_IROM1_end__ = 0x00084000; define symbol __ICFEDIT_region_IROM2_start__ = 0x0; define symbol __ICFEDIT_region_IROM2_end__ = 0x0; @@ -14,7 +14,7 @@ define symbol __ICFEDIT_region_EROM2_start__ = 0x0; define symbol __ICFEDIT_region_EROM2_end__ = 0x0; define symbol __ICFEDIT_region_EROM3_start__ = 0x0; define symbol __ICFEDIT_region_EROM3_end__ = 0x0; -define symbol __ICFEDIT_region_IRAM1_start__ = 536900728; +define symbol __ICFEDIT_region_IRAM1_start__ = 536900728; define symbol __ICFEDIT_region_IRAM1_end__ = 0x2000FFFF; define symbol __ICFEDIT_region_IRAM2_start__ = 0x0; define symbol __ICFEDIT_region_IRAM2_end__ = 0x0; diff --git a/examples-iar/peripheral_ibeacon/peripheral_ibeacon.ingw b/examples-iar/peripheral_ibeacon/peripheral_ibeacon.ingw index 9911ca5d8..688559e0b 100644 --- a/examples-iar/peripheral_ibeacon/peripheral_ibeacon.ingw +++ b/examples-iar/peripheral_ibeacon/peripheral_ibeacon.ingw @@ -1,7 +1,7 @@ { "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -12,7 +12,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "", "ide_ver": "", diff --git a/examples-rowley/peripheral_ibeacon/peripheral_ibeacon.ingw b/examples-rowley/peripheral_ibeacon/peripheral_ibeacon.ingw index 3e6c89e91..06f50286c 100644 --- a/examples-rowley/peripheral_ibeacon/peripheral_ibeacon.ingw +++ b/examples-rowley/peripheral_ibeacon/peripheral_ibeacon.ingw @@ -1,7 +1,7 @@ { "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -12,7 +12,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "", "ide_ver": "", diff --git a/examples-segger/peripheral_ibeacon/peripheral_ibeacon.ingw b/examples-segger/peripheral_ibeacon/peripheral_ibeacon.ingw index 08454fdad..51b243023 100644 --- a/examples-segger/peripheral_ibeacon/peripheral_ibeacon.ingw +++ b/examples-segger/peripheral_ibeacon/peripheral_ibeacon.ingw @@ -1,7 +1,7 @@ { "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -12,7 +12,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "", "ide_ver": "", diff --git a/examples/anti_lost_mas/anti_lost_mas.ingw b/examples/anti_lost_mas/anti_lost_mas.ingw index fa3442083..ccfcac074 100644 --- a/examples/anti_lost_mas/anti_lost_mas.ingw +++ b/examples/anti_lost_mas/anti_lost_mas.ingw @@ -2,7 +2,7 @@ "watchdog": false, "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", diff --git a/examples/anti_lost_sla/anti_lost_sla.ingw b/examples/anti_lost_sla/anti_lost_sla.ingw index 8e32705e7..f23f0e07e 100644 --- a/examples/anti_lost_sla/anti_lost_sla.ingw +++ b/examples/anti_lost_sla/anti_lost_sla.ingw @@ -2,7 +2,7 @@ "watchdog": false, "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", diff --git a/examples/ble_rpc/ble_rpc.ingw b/examples/ble_rpc/ble_rpc.ingw index e9530dd88..cd1d76886 100644 --- a/examples/ble_rpc/ble_rpc.ingw +++ b/examples/ble_rpc/ble_rpc.ingw @@ -2,18 +2,18 @@ "watchdog": true, "bundle_meta": { "rom": { - "size": 143828, + "size": 143796, "base": 16384 }, "ram": { - "size": 29812, + "size": 29820, "base": 536870912 }, "app": { "base": 163840 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", @@ -69,8 +69,8 @@ }, "keil": true, "cmsis": "", - "app_ram_size": 35720, - "app_ram_addr": 536900728, + "app_ram_size": 35712, + "app_ram_addr": 536900736, "k5_cc_ver": "6", "printf_enable": true, "ota_ver_patch": "0", diff --git a/examples/ble_rpc/ble_rpc.uvproj b/examples/ble_rpc/ble_rpc.uvproj index daf0c7a94..b987dd7af 100644 --- a/examples/ble_rpc/ble_rpc.uvproj +++ b/examples/ble_rpc/ble_rpc.uvproj @@ -319,8 +319,8 @@ 0 - 536900728 - 35720 + 536900736 + 35712 0 diff --git a/examples/ble_rpc/ble_rpc.uvprojx b/examples/ble_rpc/ble_rpc.uvprojx index 4d8eb3fd8..da9c5713f 100644 --- a/examples/ble_rpc/ble_rpc.uvprojx +++ b/examples/ble_rpc/ble_rpc.uvprojx @@ -297,8 +297,8 @@ 0 - 536900728 - 35720 + 536900736 + 35712 0 diff --git a/examples/ble_rpc/data/brpc_handlers_weak.inc b/examples/ble_rpc/data/brpc_handlers_weak.inc index 56df0ca0e..163b87c60 100644 --- a/examples/ble_rpc/data/brpc_handlers_weak.inc +++ b/examples/ble_rpc/data/brpc_handlers_weak.inc @@ -11,7 +11,7 @@ __attribute((weak)) int platform_rand() {UNDEF_FUN(1010); return (int)0; } __attribute((weak)) uint64_t platform_get_us_time() {UNDEF_FUN(1011); return (uint64_t)0; } __attribute((weak)) void platform_set_rf_clk_source(const uint8_t source) {UNDEF_FUN(1012); } __attribute((weak)) uintptr_t platform_get_task_handle(platform_task_id_t id) {UNDEF_FUN(1013); return (uintptr_t)0; } -__attribute((weak)) void gap_set_random_device_address(const uint8_t * address) {UNDEF_FUN(1014); } +__attribute((weak)) uint8_t gap_set_random_device_address(const uint8_t * address) {UNDEF_FUN(1014); return (uint8_t)0; } __attribute((weak)) uint8_t gap_disconnect(hci_con_handle_t handle) {UNDEF_FUN(1015); return (uint8_t)0; } __attribute((weak)) void gap_disconnect_all() {UNDEF_FUN(1016); } __attribute((weak)) uint8_t gap_add_whitelist(const uint8_t * address,bd_addr_type_t addtype) {UNDEF_FUN(1017); return (uint8_t)0; } diff --git a/examples/bqb_rf/bqb_rf.ingw b/examples/bqb_rf/bqb_rf.ingw index 353ad545c..497d53add 100644 --- a/examples/bqb_rf/bqb_rf.ingw +++ b/examples/bqb_rf/bqb_rf.ingw @@ -2,7 +2,7 @@ "watchdog": false, "bundle_meta": { "rom": { - "size": 157540, + "size": 157488, "base": 33562624 }, "ram": { @@ -13,7 +13,7 @@ "base": 33722368 }, "version": [ - 2,2,10] + 2,2,12] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", diff --git a/examples/central_cte/central_cte.ingw b/examples/central_cte/central_cte.ingw index d5eabcd33..8b0816e87 100644 --- a/examples/central_cte/central_cte.ingw +++ b/examples/central_cte/central_cte.ingw @@ -2,18 +2,18 @@ "watchdog": true, "bundle_meta": { "rom": { - "size": 143828, + "size": 143796, "base": 16384 }, "ram": { - "size": 29812, + "size": 29820, "base": 536870912 }, "app": { "base": 163840 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", @@ -69,8 +69,8 @@ }, "keil": true, "cmsis": "", - "app_ram_size": 35720, - "app_ram_addr": 536900728, + "app_ram_size": 35712, + "app_ram_addr": 536900736, "printf_enable": true, "ota_ver_patch": "0", "profile_data": "0x00,0x00\r\n\/\/ total size = 2\r\n\r\n\r\n", diff --git a/examples/central_cte/central_cte.uvproj b/examples/central_cte/central_cte.uvproj index 64958de3f..b7cf2c146 100644 --- a/examples/central_cte/central_cte.uvproj +++ b/examples/central_cte/central_cte.uvproj @@ -319,8 +319,8 @@ 0 - 536900728 - 35720 + 536900736 + 35712 0 diff --git a/examples/central_cte/central_cte.uvprojx b/examples/central_cte/central_cte.uvprojx index 639681081..d221d49e4 100644 --- a/examples/central_cte/central_cte.uvprojx +++ b/examples/central_cte/central_cte.uvprojx @@ -297,8 +297,8 @@ 0 - 536900728 - 35720 + 536900736 + 35712 0 diff --git a/examples/central_fota/central_fota.ingw b/examples/central_fota/central_fota.ingw index dba44eb1a..fffcb8248 100644 --- a/examples/central_fota/central_fota.ingw +++ b/examples/central_fota/central_fota.ingw @@ -2,7 +2,7 @@ "watchdog": true, "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", diff --git a/examples/central_mass_conn/central_mass_conn.ingw b/examples/central_mass_conn/central_mass_conn.ingw index c1f84a24b..745e0ae70 100644 --- a/examples/central_mass_conn/central_mass_conn.ingw +++ b/examples/central_mass_conn/central_mass_conn.ingw @@ -2,7 +2,7 @@ "watchdog": true, "bundle_meta": { "rom": { - "size": 133712, + "size": 133724, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", diff --git a/examples/central_throughput/central_throughput.ingw b/examples/central_throughput/central_throughput.ingw index 9a2d61038..e3ffe2e4c 100644 --- a/examples/central_throughput/central_throughput.ingw +++ b/examples/central_throughput/central_throughput.ingw @@ -2,7 +2,7 @@ "watchdog": false, "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", diff --git a/examples/central_throughput/src/profile.c b/examples/central_throughput/src/profile.c index 9ed127ead..dfec9e4cb 100644 --- a/examples/central_throughput/src/profile.c +++ b/examples/central_throughput/src/profile.c @@ -22,6 +22,8 @@ #include "timers.h" #include "log_util.h" +#include "bluetooth_hci.h" + #define INVALID_HANDLE (0xffff) const uint8_t UUID_TPT[] = {0x24,0x45,0x31,0x4a,0xa1,0xd4,0x48,0x74,0xb4,0xd1,0xfd,0xfb,0x6f,0x50,0x14,0x85}; const uint8_t UUID_CHAR_GEN_IN[] = {0xbf,0x83,0xf3,0xf1,0x39,0x9a,0x41,0x4d,0x90,0x35,0xce,0x64,0xce,0xb3,0xff,0x67}; @@ -506,10 +508,6 @@ static initiating_phy_config_t phy_configs[] = bd_addr_t rand_addr = {0xC0, 0x00, 0x00, 0x11, 0x11, 0x11}; bd_addr_t peer_addr; -#define OGF_STATUS_PARAMETERS 0x05 -#define OPCODE(ogf, ocf) (ocf | ogf << 10) -#define OPCODE_READ_RSSI OPCODE(OGF_STATUS_PARAMETERS, 0x05) - static void user_packet_handler(uint8_t packet_type, uint16_t channel, const uint8_t *packet, uint16_t size) { uint8_t event = hci_event_packet_get_type(packet); @@ -592,7 +590,7 @@ static void user_packet_handler(uint8_t packet_type, uint16_t channel, const uin case HCI_EVENT_COMMAND_COMPLETE: { - if (hci_event_command_complete_get_command_opcode(packet) == OPCODE_READ_RSSI) + if (hci_event_command_complete_get_command_opcode(packet) == HCI_RD_RSSI_CMD_OPCODE) { const event_command_complete_return_param_read_rssi_t *cmpl = (const event_command_complete_return_param_read_rssi_t *)hci_event_command_complete_get_return_parameters(packet); diff --git a/examples/coremark/coremark.ingw b/examples/coremark/coremark.ingw index 96c99ceec..0ba26cc8f 100644 --- a/examples/coremark/coremark.ingw +++ b/examples/coremark/coremark.ingw @@ -2,7 +2,7 @@ "watchdog": false, "bundle_meta": { "rom": { - "size": 139768, + "size": 139740, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 163840 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", diff --git a/examples/data_logger/data_logger.ingw b/examples/data_logger/data_logger.ingw index 226e48f2c..3579a9a26 100644 --- a/examples/data_logger/data_logger.ingw +++ b/examples/data_logger/data_logger.ingw @@ -2,7 +2,7 @@ "watchdog": true, "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", diff --git a/examples/ext_ackable_packet/ext_ackable_packet.ingw b/examples/ext_ackable_packet/ext_ackable_packet.ingw index 01109cac1..ac3488fa7 100644 --- a/examples/ext_ackable_packet/ext_ackable_packet.ingw +++ b/examples/ext_ackable_packet/ext_ackable_packet.ingw @@ -2,18 +2,18 @@ "watchdog": true, "bundle_meta": { "rom": { - "size": 143828, + "size": 143796, "base": 16384 }, "ram": { - "size": 29812, + "size": 29820, "base": 536870912 }, "app": { "base": 163840 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", @@ -69,8 +69,8 @@ }, "keil": true, "cmsis": "", - "app_ram_size": 35720, - "app_ram_addr": 536900728, + "app_ram_size": 35712, + "app_ram_addr": 536900736, "printf_enable": true, "ota_ver_patch": "0", "profile_data": "0, 0\r\n", diff --git a/examples/ext_ackable_packet/ext_ackable_packet.uvproj b/examples/ext_ackable_packet/ext_ackable_packet.uvproj index 06f3b077d..92d01f064 100644 --- a/examples/ext_ackable_packet/ext_ackable_packet.uvproj +++ b/examples/ext_ackable_packet/ext_ackable_packet.uvproj @@ -319,8 +319,8 @@ 0 - 536900728 - 35720 + 536900736 + 35712 0 diff --git a/examples/ext_ackable_packet/ext_ackable_packet.uvprojx b/examples/ext_ackable_packet/ext_ackable_packet.uvprojx index 2e3e9e3b4..aec035c80 100644 --- a/examples/ext_ackable_packet/ext_ackable_packet.uvprojx +++ b/examples/ext_ackable_packet/ext_ackable_packet.uvprojx @@ -297,8 +297,8 @@ 0 - 536900728 - 35720 + 536900736 + 35712 0 diff --git a/examples/ext_raw_packet/ext_raw_packet.ingw b/examples/ext_raw_packet/ext_raw_packet.ingw index b28ab0940..bd091b56e 100644 --- a/examples/ext_raw_packet/ext_raw_packet.ingw +++ b/examples/ext_raw_packet/ext_raw_packet.ingw @@ -2,18 +2,18 @@ "watchdog": true, "bundle_meta": { "rom": { - "size": 143828, + "size": 143796, "base": 16384 }, "ram": { - "size": 29812, + "size": 29820, "base": 536870912 }, "app": { "base": 163840 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", @@ -69,8 +69,8 @@ }, "keil": true, "cmsis": "", - "app_ram_size": 35720, - "app_ram_addr": 536900728, + "app_ram_size": 35712, + "app_ram_addr": 536900736, "printf_enable": true, "ota_ver_patch": "0", "profile_data": "0, 0\r\n", diff --git a/examples/ext_raw_packet/ext_raw_packet.uvproj b/examples/ext_raw_packet/ext_raw_packet.uvproj index e98b8c603..c33617816 100644 --- a/examples/ext_raw_packet/ext_raw_packet.uvproj +++ b/examples/ext_raw_packet/ext_raw_packet.uvproj @@ -319,8 +319,8 @@ 0 - 536900728 - 35720 + 536900736 + 35712 0 diff --git a/examples/ext_raw_packet/ext_raw_packet.uvprojx b/examples/ext_raw_packet/ext_raw_packet.uvprojx index 5245419da..28ac59e15 100644 --- a/examples/ext_raw_packet/ext_raw_packet.uvprojx +++ b/examples/ext_raw_packet/ext_raw_packet.uvprojx @@ -297,8 +297,8 @@ 0 - 536900728 - 35720 + 536900736 + 35712 0 diff --git a/examples/ext_raw_packet_noos/ext_raw_packet_noos.ingw b/examples/ext_raw_packet_noos/ext_raw_packet_noos.ingw index 806cddaa8..3af975afd 100644 --- a/examples/ext_raw_packet_noos/ext_raw_packet_noos.ingw +++ b/examples/ext_raw_packet_noos/ext_raw_packet_noos.ingw @@ -2,18 +2,18 @@ "watchdog": false, "bundle_meta": { "rom": { - "size": 133064, + "size": 133032, "base": 16384 }, "ram": { - "size": 4348, + "size": 4356, "base": 536870912 }, "app": { "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", @@ -70,8 +70,8 @@ }, "keil": true, "cmsis": "", - "app_ram_size": 61184, - "app_ram_addr": 536875264, + "app_ram_size": 61176, + "app_ram_addr": 536875272, "k5_cc_ver": "6", "printf_enable": true, "ota_ver_patch": "0", diff --git a/examples/ext_raw_packet_noos/ext_raw_packet_noos.uvproj b/examples/ext_raw_packet_noos/ext_raw_packet_noos.uvproj index d203d321a..c2d624a8b 100644 --- a/examples/ext_raw_packet_noos/ext_raw_packet_noos.uvproj +++ b/examples/ext_raw_packet_noos/ext_raw_packet_noos.uvproj @@ -319,8 +319,8 @@ 0 - 536875264 - 61184 + 536875272 + 61176 0 diff --git a/examples/ext_raw_packet_noos/ext_raw_packet_noos.uvprojx b/examples/ext_raw_packet_noos/ext_raw_packet_noos.uvprojx index 59d5307ec..653618298 100644 --- a/examples/ext_raw_packet_noos/ext_raw_packet_noos.uvprojx +++ b/examples/ext_raw_packet_noos/ext_raw_packet_noos.uvprojx @@ -297,8 +297,8 @@ 0 - 536875264 - 61184 + 536875272 + 61176 0 diff --git a/examples/gatt_relay/gatt_relay.ingw b/examples/gatt_relay/gatt_relay.ingw index e1a256eb4..982c8821d 100644 --- a/examples/gatt_relay/gatt_relay.ingw +++ b/examples/gatt_relay/gatt_relay.ingw @@ -2,7 +2,7 @@ "watchdog": true, "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", diff --git a/examples/get_started/get_started.ingw b/examples/get_started/get_started.ingw index f3af6bd92..a4f881cea 100644 --- a/examples/get_started/get_started.ingw +++ b/examples/get_started/get_started.ingw @@ -2,7 +2,7 @@ "watchdog": true, "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", diff --git a/examples/hid_keyboard/hid_keyboard.ingw b/examples/hid_keyboard/hid_keyboard.ingw index a339b5192..d41e682d0 100644 --- a/examples/hid_keyboard/hid_keyboard.ingw +++ b/examples/hid_keyboard/hid_keyboard.ingw @@ -2,7 +2,7 @@ "watchdog": false, "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", diff --git a/examples/hid_keyboard/src/main.c b/examples/hid_keyboard/src/main.c index 86decd707..d273d0728 100644 --- a/examples/hid_keyboard/src/main.c +++ b/examples/hid_keyboard/src/main.c @@ -103,7 +103,7 @@ uint32_t gpio_isr(void *user_data) #if (INGCHIPS_FAMILY == INGCHIPS_FAMILY_918) #define DB_FLASH_ADDRESS 0x42000 #elif (INGCHIPS_FAMILY == INGCHIPS_FAMILY_916) -#define DB_FLASH_ADDRESS 0x20e0000 +#define DB_FLASH_ADDRESS 0x2042000 #else #error unknown or unsupported chip family #endif diff --git a/examples/hid_mouse/hid_mouse.ingw b/examples/hid_mouse/hid_mouse.ingw index 3dbb45ac4..992bce3f3 100644 --- a/examples/hid_mouse/hid_mouse.ingw +++ b/examples/hid_mouse/hid_mouse.ingw @@ -2,7 +2,7 @@ "watchdog": false, "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", diff --git a/examples/hid_mouse/src/main.c b/examples/hid_mouse/src/main.c index 91799a2d6..1edcdbf3f 100644 --- a/examples/hid_mouse/src/main.c +++ b/examples/hid_mouse/src/main.c @@ -151,7 +151,7 @@ uint32_t timer_isr(void *user_data) #if (INGCHIPS_FAMILY == INGCHIPS_FAMILY_918) #define DB_FLASH_ADDRESS 0x42000 #elif (INGCHIPS_FAMILY == INGCHIPS_FAMILY_916) -#define DB_FLASH_ADDRESS 0x20e0000 +#define DB_FLASH_ADDRESS 0x2042000 #else #error unknown or unsupported chip family #endif diff --git a/examples/ibeacon_scanner/ibeacon_scanner.ingw b/examples/ibeacon_scanner/ibeacon_scanner.ingw index 1d3bd2a96..26d67f719 100644 --- a/examples/ibeacon_scanner/ibeacon_scanner.ingw +++ b/examples/ibeacon_scanner/ibeacon_scanner.ingw @@ -1,7 +1,7 @@ { "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -12,7 +12,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "ide_ver": "5", diff --git a/examples/io_over_ble_mas/io_over_ble_mas.ingw b/examples/io_over_ble_mas/io_over_ble_mas.ingw index fa9679958..9c9a6d5d6 100644 --- a/examples/io_over_ble_mas/io_over_ble_mas.ingw +++ b/examples/io_over_ble_mas/io_over_ble_mas.ingw @@ -2,7 +2,7 @@ "watchdog": false, "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "ide_ver": "5", diff --git a/examples/io_over_ble_sla/io_over_ble_sla.ingw b/examples/io_over_ble_sla/io_over_ble_sla.ingw index 381a4736e..f0181f96e 100644 --- a/examples/io_over_ble_sla/io_over_ble_sla.ingw +++ b/examples/io_over_ble_sla/io_over_ble_sla.ingw @@ -2,7 +2,7 @@ "watchdog": false, "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "ide_ver": "5", diff --git a/examples/l2cap_psm/l2cap_psm.ingw b/examples/l2cap_psm/l2cap_psm.ingw index 51ae0177d..e48d6801f 100644 --- a/examples/l2cap_psm/l2cap_psm.ingw +++ b/examples/l2cap_psm/l2cap_psm.ingw @@ -2,7 +2,7 @@ "watchdog": true, "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", diff --git a/examples/littleVGL/littleVGL.ingw b/examples/littleVGL/littleVGL.ingw index 9ab432019..3a6f60d7b 100644 --- a/examples/littleVGL/littleVGL.ingw +++ b/examples/littleVGL/littleVGL.ingw @@ -2,7 +2,7 @@ "watchdog": true, "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", diff --git a/examples/llsync_light/llsync_light.ingw b/examples/llsync_light/llsync_light.ingw index d88d632eb..9c553ac03 100644 --- a/examples/llsync_light/llsync_light.ingw +++ b/examples/llsync_light/llsync_light.ingw @@ -2,7 +2,7 @@ "watchdog": true, "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", diff --git a/examples/mesh-light/mesh-light.ingw b/examples/mesh-light/mesh-light.ingw index e8c27da31..515da9de9 100644 --- a/examples/mesh-light/mesh-light.ingw +++ b/examples/mesh-light/mesh-light.ingw @@ -1,18 +1,18 @@ { "bundle_meta": { "rom": { - "size": 133048, + "size": 133464, "base": 16384 }, "ram": { - "size": 4452, + "size": 4460, "base": 536870912 }, "app": { "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "ide_ver": "5", @@ -43,8 +43,8 @@ "role": "light", "keil": true, "cmsis": "", - "app_ram_size": 61080, - "app_ram_addr": 536875368, + "app_ram_size": 61072, + "app_ram_addr": 536875376, "uart_log": true, "ota_ver_patch": "0", "profile_data": "0, 0\r\n", diff --git a/examples/mesh-light/mesh-light.uvproj b/examples/mesh-light/mesh-light.uvproj index b8a7fe1d3..63006bbc2 100644 --- a/examples/mesh-light/mesh-light.uvproj +++ b/examples/mesh-light/mesh-light.uvproj @@ -319,8 +319,8 @@ 0 - 536875368 - 61080 + 536875376 + 61072 0 diff --git a/examples/mesh-light/mesh-light.uvprojx b/examples/mesh-light/mesh-light.uvprojx index 68e472afc..67c2c860a 100644 --- a/examples/mesh-light/mesh-light.uvprojx +++ b/examples/mesh-light/mesh-light.uvprojx @@ -297,8 +297,8 @@ 0 - 536875368 - 61080 + 536875376 + 61072 0 diff --git a/examples/periodic_advertiser/periodic_advertiser.ingw b/examples/periodic_advertiser/periodic_advertiser.ingw index 225cfc0c5..57c0e02e3 100644 --- a/examples/periodic_advertiser/periodic_advertiser.ingw +++ b/examples/periodic_advertiser/periodic_advertiser.ingw @@ -2,7 +2,7 @@ "watchdog": false, "bundle_meta": { "rom": { - "size": 139768, + "size": 139740, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 163840 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", diff --git a/examples/periodic_scanner/periodic_scanner.ingw b/examples/periodic_scanner/periodic_scanner.ingw index 69000da2f..c2252e9cc 100644 --- a/examples/periodic_scanner/periodic_scanner.ingw +++ b/examples/periodic_scanner/periodic_scanner.ingw @@ -2,7 +2,7 @@ "watchdog": false, "bundle_meta": { "rom": { - "size": 139768, + "size": 139740, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 163840 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", diff --git a/examples/peripheral_ancs/peripheral_ancs.ingw b/examples/peripheral_ancs/peripheral_ancs.ingw index 2a0645146..887cb9227 100644 --- a/examples/peripheral_ancs/peripheral_ancs.ingw +++ b/examples/peripheral_ancs/peripheral_ancs.ingw @@ -2,7 +2,7 @@ "watchdog": false, "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", diff --git a/examples/peripheral_ancs/src/main.c b/examples/peripheral_ancs/src/main.c index eea596278..b53aca418 100644 --- a/examples/peripheral_ancs/src/main.c +++ b/examples/peripheral_ancs/src/main.c @@ -69,7 +69,7 @@ void config_uart(uint32_t freq, uint32_t baud) #if (INGCHIPS_FAMILY == INGCHIPS_FAMILY_918) #define DB_FLASH_ADDRESS 0x42000 #elif (INGCHIPS_FAMILY == INGCHIPS_FAMILY_916) -#define DB_FLASH_ADDRESS 0x20e0000 +#define DB_FLASH_ADDRESS 0x2042000 #else #error unknown or unsupported chip family #endif diff --git a/examples/peripheral_ancs/src/profile.c b/examples/peripheral_ancs/src/profile.c index 039d04948..045c3a83a 100644 --- a/examples/peripheral_ancs/src/profile.c +++ b/examples/peripheral_ancs/src/profile.c @@ -4,6 +4,7 @@ #include "gap.h" #include "btstack_event.h" #include "btstack_defines.h" +#include "bluetooth_hci.h" #include "sm.h" @@ -121,20 +122,6 @@ static void setup_adv(void) extern void connection_changed(int connected); -#define OGF_STATUS_PARAMETERS 0x05 -#define OPCODE(ogf, ocf) (ocf | ogf << 10) -#define OPCODE_READ_RSSI OPCODE(OGF_STATUS_PARAMETERS, 0x05) - -#pragma pack (push, 1) -typedef struct read_rssi_complete -{ - uint8_t status; - uint16_t handle; - int8_t rssi; -} read_rssi_complete_t; - -#pragma pack (pop) - static void user_packet_handler(uint8_t packet_type, uint16_t channel, const uint8_t *packet, uint16_t size) { uint8_t event = hci_event_packet_get_type(packet); @@ -158,10 +145,10 @@ static void user_packet_handler(uint8_t packet_type, uint16_t channel, const uin case HCI_EVENT_COMMAND_COMPLETE: switch (hci_event_command_complete_get_command_opcode(packet)) { - case OPCODE_READ_RSSI: + case HCI_RD_RSSI_CMD_OPCODE: { - const read_rssi_complete_t *cmpl = - (const read_rssi_complete_t *)hci_event_command_complete_get_return_parameters(packet); + const event_command_complete_return_param_read_rssi_t *cmpl = + (const event_command_complete_return_param_read_rssi_t *)hci_event_command_complete_get_return_parameters(packet); if (cmpl->rssi > -50) { connection_changed(1); diff --git a/examples/peripheral_band/peripheral_band.ingw b/examples/peripheral_band/peripheral_band.ingw index cf1995c8b..65626544d 100644 --- a/examples/peripheral_band/peripheral_band.ingw +++ b/examples/peripheral_band/peripheral_band.ingw @@ -1,7 +1,7 @@ { "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -12,7 +12,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "ide_ver": "5", diff --git a/examples/peripheral_battery/peripheral_battery.ingw b/examples/peripheral_battery/peripheral_battery.ingw index 18ab99f2d..e40d0cdf1 100644 --- a/examples/peripheral_battery/peripheral_battery.ingw +++ b/examples/peripheral_battery/peripheral_battery.ingw @@ -1,7 +1,7 @@ { "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -12,7 +12,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "ide_ver": "5", diff --git a/examples/peripheral_console/peripheral_console.ingw b/examples/peripheral_console/peripheral_console.ingw index 024f2dfb9..ec441eb78 100644 --- a/examples/peripheral_console/peripheral_console.ingw +++ b/examples/peripheral_console/peripheral_console.ingw @@ -1,7 +1,7 @@ { "bundle_meta": { "rom": { - "size": 133172, + "size": 133184, "base": 16384 }, "ram": { @@ -12,7 +12,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "ide_ver": "5", diff --git a/examples/peripheral_console_freertos/peripheral_console_freertos.ingw b/examples/peripheral_console_freertos/peripheral_console_freertos.ingw index e167b08ea..84c54d3b3 100644 --- a/examples/peripheral_console_freertos/peripheral_console_freertos.ingw +++ b/examples/peripheral_console_freertos/peripheral_console_freertos.ingw @@ -2,7 +2,7 @@ "watchdog": false, "bundle_meta": { "rom": { - "size": 122892, + "size": 122900, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 147456 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", diff --git a/examples/peripheral_console_realtime/peripheral_console_realtime.ingw b/examples/peripheral_console_realtime/peripheral_console_realtime.ingw index 4d1eda43d..71f8fa627 100644 --- a/examples/peripheral_console_realtime/peripheral_console_realtime.ingw +++ b/examples/peripheral_console_realtime/peripheral_console_realtime.ingw @@ -2,7 +2,7 @@ "watchdog": false, "bundle_meta": { "rom": { - "size": 122892, + "size": 122900, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 147456 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", diff --git a/examples/peripheral_console_realtime/src/startup_ing91800.s b/examples/peripheral_console_realtime/src/startup_ing91800.s index 37eeb0377..55a761b92 100644 --- a/examples/peripheral_console_realtime/src/startup_ing91800.s +++ b/examples/peripheral_console_realtime/src/startup_ing91800.s @@ -9,9 +9,9 @@ ; * Copyright (C) 2012 ARM Limited. All rights reserved. ; * ; * @par -; * ARM Limited (ARM) is supplying this software for use with Cortex-M -; * processor based microcontrollers. This file can be freely distributed -; * within development tools that are supporting such ARM based processors. +; * ARM Limited (ARM) is supplying this software for use with Cortex-M +; * processor based microcontrollers. This file can be freely distributed +; * within development tools that are supporting such ARM based processors. ; * ; * @par ; * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED @@ -35,8 +35,8 @@ __initial_sp EXPORT __heap_base EXPORT __heap_limit - -Heap_Size EQU 0 + +Heap_Size EQU 20480 AREA HEAP, NOINIT, READWRITE, ALIGN=3 __heap_base @@ -53,7 +53,7 @@ __heap_limit __Vectors DCD __initial_sp ; Top of Stack DCD Reset_Handler ; Reset Handler - + __Vectors_End __Vectors_Size EQU __Vectors_End - __Vectors @@ -73,7 +73,7 @@ Reset_Handler PROC LDR R0, =__scatterload BX R0 - + ENDP ALIGN @@ -84,11 +84,11 @@ main PROC LDR R0, =app_main BLX R0 - + POP {R1, PC} ENDP - + ALIGN END diff --git a/examples/peripheral_console_rt-thread/peripheral_console_rt-thread.ingw b/examples/peripheral_console_rt-thread/peripheral_console_rt-thread.ingw index fffed4239..80de71c48 100644 --- a/examples/peripheral_console_rt-thread/peripheral_console_rt-thread.ingw +++ b/examples/peripheral_console_rt-thread/peripheral_console_rt-thread.ingw @@ -2,7 +2,7 @@ "watchdog": false, "bundle_meta": { "rom": { - "size": 122892, + "size": 122900, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 147456 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", diff --git a/examples/peripheral_etag/peripheral_etag.ingw b/examples/peripheral_etag/peripheral_etag.ingw index 98ed87852..1f99f63df 100644 --- a/examples/peripheral_etag/peripheral_etag.ingw +++ b/examples/peripheral_etag/peripheral_etag.ingw @@ -1,7 +1,7 @@ { "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -12,7 +12,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "ide_ver": "5", diff --git a/examples/peripheral_ibeacon/peripheral_ibeacon.ingw b/examples/peripheral_ibeacon/peripheral_ibeacon.ingw index 470c2cae3..d06148dd9 100644 --- a/examples/peripheral_ibeacon/peripheral_ibeacon.ingw +++ b/examples/peripheral_ibeacon/peripheral_ibeacon.ingw @@ -1,7 +1,7 @@ { "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -12,7 +12,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "ide_ver": "5", diff --git a/examples/peripheral_irc/peripheral_irc.ingw b/examples/peripheral_irc/peripheral_irc.ingw index e527fc8be..1849ec316 100644 --- a/examples/peripheral_irc/peripheral_irc.ingw +++ b/examples/peripheral_irc/peripheral_irc.ingw @@ -2,7 +2,7 @@ "watchdog": false, "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", diff --git a/examples/peripheral_led/peripheral_led.ingw b/examples/peripheral_led/peripheral_led.ingw index 6a28df970..b342261ef 100644 --- a/examples/peripheral_led/peripheral_led.ingw +++ b/examples/peripheral_led/peripheral_led.ingw @@ -1,18 +1,18 @@ { "bundle_meta": { "rom": { - "size": 143828, + "size": 143796, "base": 16384 }, "ram": { - "size": 29812, + "size": 29820, "base": 536870912 }, "app": { "base": 163840 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "ide_ver": "5", @@ -52,8 +52,8 @@ "keil": true, "cmsis": "", "gatt_handle_name": "HANDLE_RGB_LIGHTING_CONTROL", - "app_ram_size": 35720, - "app_ram_addr": 536900728, + "app_ram_size": 35712, + "app_ram_addr": 536900736, "uart_log": true, "ota_ver_patch": "0", "profile_data": "\/\/ Service Generic Access: 1800\r\n0x0A, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x28,\r\n0x00, 0x18, \r\n\/\/ Characteristic Device Name: 2A00\r\n0x0D, 0x00, 0x02, 0x00, 0x02, 0x00, 0x03, 0x28,\r\n0x02, 0x03, 0x00, 0x00, 0x2A, \r\n0x0F, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x2A,\r\n0x49, 0x4E, 0x47, 0x20, 0x4C, 0x45, 0x44, \r\n\r\n\/\/ Service INGChips RGB Lighting Service: {6a33a526-e004-4793-a084-8a1dc49b84fd}\r\n0x18, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00, 0x28,\r\n0xFD, 0x84, 0x9B, 0xC4, 0x1D, 0x8A, 0x84, 0xA0, \r\n0x93, 0x47, 0x04, 0xE0, 0x26, 0xA5, 0x33, 0x6A, \r\n\/\/ Characteristic RGB Lighting Control: {1c190e92-37dd-4ac4-8154-0444c69274c2}\r\n0x1B, 0x00, 0x02, 0x00, 0x05, 0x00, 0x03, 0x28,\r\n0x06, 0x06, 0x00, 0xC2, 0x74, 0x92, 0xC6, 0x44, \r\n0x04, 0x54, 0x81, 0xC4, 0x4A, 0xDD, 0x37, 0x92, \r\n0x0E, 0x19, 0x1C, \r\n0x19, 0x00, 0x06, 0x02, 0x06, 0x00,\r\n0xC2, 0x74, 0x92, 0xC6, 0x44, 0x04, 0x54, 0x81, \r\n0xC4, 0x4A, 0xDD, 0x37, 0x92, 0x0E, 0x19, 0x1C, \r\n0x00, 0x00, 0x00, \r\n\r\n0x00,0x00\r\n\/\/ total size = 116\r\n\r\n\/\/ HANDLE_DEVICE_NAME=3\r\n\/\/ HANDLE_RGB_LIGHTING_CONTROL=6\r\n\r\n\/\/ HANDLE_DEVICE_NAME_OFFSET=31\r\n\/\/ HANDLE_RGB_LIGHTING_CONTROL_OFFSET=111\r\n", diff --git a/examples/peripheral_led/peripheral_led.uvproj b/examples/peripheral_led/peripheral_led.uvproj index 9a499bde1..b6bfabac2 100644 --- a/examples/peripheral_led/peripheral_led.uvproj +++ b/examples/peripheral_led/peripheral_led.uvproj @@ -319,8 +319,8 @@ 0 - 536900728 - 35720 + 536900736 + 35712 0 diff --git a/examples/peripheral_led/peripheral_led.uvprojx b/examples/peripheral_led/peripheral_led.uvprojx index 5a0c8bdd4..77860767f 100644 --- a/examples/peripheral_led/peripheral_led.uvprojx +++ b/examples/peripheral_led/peripheral_led.uvprojx @@ -297,8 +297,8 @@ 0 - 536900728 - 35720 + 536900736 + 35712 0 diff --git a/examples/peripheral_mass_conn/peripheral_mass_conn.ingw b/examples/peripheral_mass_conn/peripheral_mass_conn.ingw index 78a3fef2e..e38a5e046 100644 --- a/examples/peripheral_mass_conn/peripheral_mass_conn.ingw +++ b/examples/peripheral_mass_conn/peripheral_mass_conn.ingw @@ -2,7 +2,7 @@ "watchdog": true, "bundle_meta": { "rom": { - "size": 133712, + "size": 133724, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", diff --git a/examples/peripheral_pedometer/peripheral_pedometer.ingw b/examples/peripheral_pedometer/peripheral_pedometer.ingw index 557e717ae..b8bd3a07b 100644 --- a/examples/peripheral_pedometer/peripheral_pedometer.ingw +++ b/examples/peripheral_pedometer/peripheral_pedometer.ingw @@ -1,7 +1,7 @@ { "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -12,7 +12,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "ide_ver": "5", diff --git a/examples/peripheral_piano/peripheral_piano.ingw b/examples/peripheral_piano/peripheral_piano.ingw index 6cafe10ad..4610ef25f 100644 --- a/examples/peripheral_piano/peripheral_piano.ingw +++ b/examples/peripheral_piano/peripheral_piano.ingw @@ -1,7 +1,7 @@ { "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -12,7 +12,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "ide_ver": "5", diff --git a/examples/peripheral_throughput/peripheral_throughput.ingw b/examples/peripheral_throughput/peripheral_throughput.ingw index e6ef3d0ae..787144db2 100644 --- a/examples/peripheral_throughput/peripheral_throughput.ingw +++ b/examples/peripheral_throughput/peripheral_throughput.ingw @@ -1,7 +1,7 @@ { "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -12,7 +12,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "ide_ver": "5", diff --git a/examples/reset_handler/reset_handler.ingw b/examples/reset_handler/reset_handler.ingw index 8f1639305..4cc9f0afe 100644 --- a/examples/reset_handler/reset_handler.ingw +++ b/examples/reset_handler/reset_handler.ingw @@ -2,7 +2,7 @@ "watchdog": true, "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", diff --git a/examples/secondary_fota/secondary_fota.ingw b/examples/secondary_fota/secondary_fota.ingw index cf35bd685..357c023e6 100644 --- a/examples/secondary_fota/secondary_fota.ingw +++ b/examples/secondary_fota/secondary_fota.ingw @@ -2,7 +2,7 @@ "watchdog": false, "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "eflash_addr": "0x42000", diff --git a/examples/smart_meter/smart_meter.ingw b/examples/smart_meter/smart_meter.ingw index f8e7ec435..e028c796a 100644 --- a/examples/smart_meter/smart_meter.ingw +++ b/examples/smart_meter/smart_meter.ingw @@ -2,7 +2,7 @@ "watchdog": false, "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -13,7 +13,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "ide_ver": "5", diff --git a/examples/thermo_ota/thermo_ota.ingw b/examples/thermo_ota/thermo_ota.ingw index 6cbfede18..52dc04308 100644 --- a/examples/thermo_ota/thermo_ota.ingw +++ b/examples/thermo_ota/thermo_ota.ingw @@ -1,7 +1,7 @@ { "bundle_meta": { "rom": { - "size": 133656, + "size": 133664, "base": 16384 }, "ram": { @@ -12,7 +12,7 @@ "base": 155648 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "ide_ver": "5", diff --git a/examples/uart_console/src/profile.c b/examples/uart_console/src/profile.c index 7353ae48c..2310c8198 100644 --- a/examples/uart_console/src/profile.c +++ b/examples/uart_console/src/profile.c @@ -34,9 +34,6 @@ extern trace_air_t trace_ctx; #define RX_GOLDEN_RAGE_MIN (-75) #define RX_GOLDEN_RAGE_MAX (-50) -#define OPCODE(ogf, ocf) (ocf | ogf << 10) -#define OPCODE_READ_RSSI OPCODE(OGF_STATUS_PARAMETERS, 0x05) - sm_persistent_t sm_persistent = { .er = {1, 2, 3}, diff --git a/examples/uart_console/uart_console.ingw b/examples/uart_console/uart_console.ingw index 64554b957..f30c866a0 100644 --- a/examples/uart_console/uart_console.ingw +++ b/examples/uart_console/uart_console.ingw @@ -1,18 +1,18 @@ { "bundle_meta": { "rom": { - "size": 143816, + "size": 144232, "base": 16384 }, "ram": { - "size": 29916, + "size": 29924, "base": 536870912 }, "app": { "base": 163840 }, "version": [ - 1,9,12] + 1,9,15] }, "tc_dir": "C:\\Keil_v5\\UV4", "ide_ver": "5", @@ -53,8 +53,8 @@ "keil": true, "cmsis": "", "gatt_handle_name": "HANDLE_DEVICE_NAME", - "app_ram_size": 35616, - "app_ram_addr": 536900832, + "app_ram_size": 35608, + "app_ram_addr": 536900840, "uart_log": true, "ota_ver_patch": "0", "profile_data": "\/\/ Service Generic Access: 1800\r\n0x0A, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x28,\r\n0x00, 0x18, \r\n\/\/ Characteristic Device Name: 2A00\r\n0x0D, 0x00, 0x02, 0x00, 0x02, 0x00, 0x03, 0x28,\r\n0x02, 0x03, 0x00, 0x00, 0x2A, \r\n0x14, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x2A,\r\n0x55, 0x41, 0x52, 0x54, 0x20, 0x43, 0x6F, 0x6E, \r\n0x73, 0x6F, 0x6C, 0x65, \r\n\r\n0x00,0x00\r\n\/\/ total size = 45\r\n\r\n\/\/ HANDLE_DEVICE_NAME=3\r\n\r\n\/\/ HANDLE_DEVICE_NAME_OFFSET=31\r\n", diff --git a/examples/uart_console/uart_console.uvproj b/examples/uart_console/uart_console.uvproj index 36e5920f6..7253078eb 100644 --- a/examples/uart_console/uart_console.uvproj +++ b/examples/uart_console/uart_console.uvproj @@ -319,8 +319,8 @@ 0 - 536900832 - 35616 + 536900840 + 35608 0 diff --git a/examples/uart_console/uart_console.uvprojx b/examples/uart_console/uart_console.uvprojx index 6540bf200..aa1b1c5bb 100644 --- a/examples/uart_console/uart_console.uvprojx +++ b/examples/uart_console/uart_console.uvprojx @@ -297,8 +297,8 @@ 0 - 536900832 - 35616 + 536900840 + 35608 0 diff --git a/examples/voice_remote_ctrl/voice_remote_ctrl.ingw b/examples/voice_remote_ctrl/voice_remote_ctrl.ingw index f4d72e255..ad898972c 100644 --- a/examples/voice_remote_ctrl/voice_remote_ctrl.ingw +++ b/examples/voice_remote_ctrl/voice_remote_ctrl.ingw @@ -1,18 +1,18 @@ { "bundle_meta": { "rom": { - "size": 152856, + "size": 152800, "base": 33562624 }, "ram": { - "size": 21436, + "size": 21444, "base": 536870912 }, "app": { "base": 33718272 }, "version": [ - 2,2,10] + 2,2,12] }, "tc_dir": "C:\\Keil_v5\\UV4", "ide_ver": "5", @@ -53,8 +53,8 @@ "keil": true, "cmsis": "", "gatt_handle_name": "HANDLE_VOICE_CONTROL", - "app_ram_size": 11328, - "app_ram_addr": 536892352, + "app_ram_size": 11320, + "app_ram_addr": 536892360, "uart_log": true, "ota_ver_patch": "0", "profile_data": "\/\/ Service Generic Access: 1800\r\n0x0A, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x28,\r\n0x00, 0x18, \r\n\/\/ Characteristic Device Name: 2A00\r\n0x0D, 0x00, 0x02, 0x00, 0x02, 0x00, 0x03, 0x28,\r\n0x02, 0x03, 0x00, 0x00, 0x2A, \r\n0x20, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x2A,\r\n0x49, 0x4E, 0x47, 0x20, 0x56, 0x6F, 0x69, 0x63, \r\n0x65, 0x20, 0x52, 0x65, 0x6D, 0x6F, 0x74, 0x65, \r\n0x20, 0x43, 0x6F, 0x6E, 0x74, 0x72, 0x6F, 0x6C, \r\n\r\n\/\/ Service INGChips Voice Output Service: {00000001-494e-4743-4849-505355554944}\r\n0x18, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00, 0x28,\r\n0x44, 0x49, 0x55, 0x55, 0x53, 0x50, 0x49, 0x48, \r\n0x43, 0x47, 0x4E, 0x49, 0x01, 0x00, 0x00, 0x00, \r\n\/\/ Characteristic Voice Control: {bf83f3f1-399a-414d-9035-ce64ceb3ff67}\r\n0x1B, 0x00, 0x02, 0x00, 0x05, 0x00, 0x03, 0x28,\r\n0x06, 0x06, 0x00, 0x67, 0xFF, 0xB3, 0xCE, 0x64, \r\n0xCE, 0x35, 0x90, 0x4D, 0x41, 0x9A, 0x39, 0xF1, \r\n0xF3, 0x83, 0xBF, \r\n0x16, 0x00, 0x06, 0x03, 0x06, 0x00,\r\n0x67, 0xFF, 0xB3, 0xCE, 0x64, 0xCE, 0x35, 0x90, \r\n0x4D, 0x41, 0x9A, 0x39, 0xF1, 0xF3, 0x83, 0xBF, \r\n\/\/ Characteristic Voice Output: {bf83f3f2-399a-414d-9035-ce64ceb3ff67}\r\n0x1B, 0x00, 0x02, 0x00, 0x07, 0x00, 0x03, 0x28,\r\n0x10, 0x08, 0x00, 0x67, 0xFF, 0xB3, 0xCE, 0x64, \r\n0xCE, 0x35, 0x90, 0x4D, 0x41, 0x9A, 0x39, 0xF2, \r\n0xF3, 0x83, 0xBF, \r\n0x16, 0x00, 0x10, 0x02, 0x08, 0x00,\r\n0x67, 0xFF, 0xB3, 0xCE, 0x64, 0xCE, 0x35, 0x90, \r\n0x4D, 0x41, 0x9A, 0x39, 0xF2, 0xF3, 0x83, 0xBF, \r\n0x0A, 0x00, 0x0A, 0x01, 0x09, 0x00, 0x02, 0x29,\r\n0x00, 0x00, \r\n\r\n0x00,0x00\r\n\/\/ total size = 189\r\n\r\n\/\/ HANDLE_DEVICE_NAME=3\r\n\/\/ HANDLE_VOICE_CONTROL=6\r\n\/\/ HANDLE_VOICE_OUTPUT=8\r\n\r\n\/\/ HANDLE_DEVICE_NAME_OFFSET=31\r\n\/\/ HANDLE_VOICE_CONTROL_OFFSET=128\r\n\/\/ HANDLE_VOICE_OUTPUT_OFFSET=177\r\n", diff --git a/examples/voice_remote_ctrl/voice_remote_ctrl.uvproj b/examples/voice_remote_ctrl/voice_remote_ctrl.uvproj index d4d3fcafa..21d267a29 100644 --- a/examples/voice_remote_ctrl/voice_remote_ctrl.uvproj +++ b/examples/voice_remote_ctrl/voice_remote_ctrl.uvproj @@ -319,8 +319,8 @@ 0 - 536892352 - 11328 + 536892360 + 11320 0 diff --git a/examples/voice_remote_ctrl/voice_remote_ctrl.uvprojx b/examples/voice_remote_ctrl/voice_remote_ctrl.uvprojx index 7afc315f6..8e44d080d 100644 --- a/examples/voice_remote_ctrl/voice_remote_ctrl.uvprojx +++ b/examples/voice_remote_ctrl/voice_remote_ctrl.uvprojx @@ -298,8 +298,8 @@ 0 - 536892352 - 11328 + 536892360 + 11320 0 diff --git a/src/FWlib/peripheral_sysctrl.c b/src/FWlib/peripheral_sysctrl.c index 84d03c1ed..4fc76921e 100644 --- a/src/FWlib/peripheral_sysctrl.c +++ b/src/FWlib/peripheral_sysctrl.c @@ -89,6 +89,8 @@ void SYSCTRL_SelectMemoryBlocks(uint32_t block_map) uint8_t SYSCTRL_GetLastWakeupSource(SYSCTRL_WakeupSource_t *source) { + int i = 0; + while (((io_read(BB_REG_BASE + 0x58) & 0x20) == 0) && (i < 1000)) i++; source->source = (io_read(BB_REG_BASE + 0x304) >> 8) & 0x3; return source->source != 0; } @@ -925,6 +927,36 @@ void SYSCTRL_ConfigBOR(int threshold, int enable_active, int enable_sleep) } } +void SYSCTRL_EnablePVDInt(uint8_t enable, uint8_t polarity, uint8_t level) +{ + set_reg_bit((volatile uint32_t *)(AON1_CTRL_BASE + 0x10), 0, 17); + if (0 == enable) return; + set_reg_bits((volatile uint32_t *)(AON1_CTRL_BASE + 0x8), level, 4, 0); + set_reg_bit((volatile uint32_t *)(AON1_CTRL_BASE + 0x1c), 0x1, 5); + set_reg_bit((volatile uint32_t *)(AON1_CTRL_BASE + 0x10), 1, 17); + set_reg_bit(&APB_SYSCTRL->AnaCtrl, polarity, 2); + APB_SYSCTRL->AnaCtrl |= (1ul << 4); +} + +void SYSCTRL_ClearPVDInt(void) +{ + APB_SYSCTRL->AnaCtrl |= (1ul << 11); +} + +void SYSCTRL_EnablePDRInt(uint8_t enable) +{ + set_reg_bit((volatile uint32_t *)(AON1_CTRL_BASE + 0x10), 1, 16); + if (0 == enable) return; + set_reg_bit((volatile uint32_t *)(AON1_CTRL_BASE + 0x1c), 0x1, 4); + set_reg_bit((volatile uint32_t *)(AON1_CTRL_BASE + 0x10), 0, 16); + APB_SYSCTRL->AnaCtrl |= (1ul << 3); +} + +void SYSCTRL_ClearPDRInt(void) +{ + APB_SYSCTRL->AnaCtrl |= (1ul << 10); +} + void SYSCTRL_SetLDOOutputFlash(SYSCTRL_LDOOutputFlash level) { set_reg_bits((volatile uint32_t *)(AON1_CTRL_BASE + 0x8), level & 0xf, 4, 11); @@ -941,6 +973,11 @@ void SYSCTRL_SetBuckDCDCOutput(SYSCTRL_BuckDCDCOutput level) set_reg_bits((volatile uint32_t *)(AON1_CTRL_BASE + 0x8), level & 0xf, 4, 27); } +void SYSCTRL_EnableBuckDCDC(uint8_t enable) +{ + set_reg_bit((volatile uint32_t *)(AON2_CTRL_BASE + 0x0), enable & 1, 0); +} + void SYSCTRL_SetLDOOutputRF(SYSCTRL_LDOOutputRF level) { set_reg_bits((volatile uint32_t *)(AON1_CTRL_BASE + 0xc), level & 0x1f, 5, 6); diff --git a/src/FWlib/peripheral_sysctrl.h b/src/FWlib/peripheral_sysctrl.h index ea1c96847..df8b03164 100644 --- a/src/FWlib/peripheral_sysctrl.h +++ b/src/FWlib/peripheral_sysctrl.h @@ -840,7 +840,7 @@ typedef enum } SYSCTRL_AdcVrefOutput; /** - * @brief Set LDO output level for RF + * @brief Set LDO ADC V1.2 reference (VREF12_ADC) output level * * @param[in] level output level */ @@ -882,6 +882,54 @@ typedef enum */ void SYSCTRL_SetBuckDCDCOutput(SYSCTRL_BuckDCDCOutput level); +/** + * @brief Enable BUCK DC-DC + * + * Default: Enabled. + * + * @param[in] enable enable(1)/disable(0) + */ +void SYSCTRL_EnableBuckDCDC(uint8_t enable); + +/** + * @brief Enable PVD interrupt + * + * Note: BOR of ING916 relies on both PVD (Power Voltage Detector) & PDR (Power Down Reset): + * * If BOR threshold > SYSCTRL_BOR_1V5: + * 1) PDR disabled; + * 2) PVD is enabled, threshold is configured, and PVD is configured to reset the SoC. + * * If BOR threshold == SYSCTRL_BOR_1V5: + * 1) PVD disabled; + * 2) PDR is enabled and configured to reset the SoC. + * + * Effects of PVD & PDR are: either raise an interrupt or reset the SoC. + * + * This function reconfigures PVD to raise an interrupt. + * + * @param[in] enable Enable(1)/disable(0) + * @param[in] polarity Generate interrupt when V-bat becomes lower(0)/higher(1) than `level` + * @param[in] level trigger level (see SYSCTRL_BOR_...) + */ +void SYSCTRL_EnablePVDInt(uint8_t enable, uint8_t polarity, uint8_t level); + +/** + * @brief Clear PVD interrupt state + */ +void SYSCTRL_ClearPVDInt(void); + +/** + * @brief Enable PDR interrupt + * + * See also `SYSCTRL_EnablePVDInt`. + * + * @param[in] enable Enable(1)/disable(0) + */ +void SYSCTRL_EnablePDRInt(uint8_t enable); + +/** + * @brief Clear PDR interrupt state + */ +void SYSCTRL_ClearPDRInt(void); /** * @brief Config USB PHY functionality @@ -1019,9 +1067,11 @@ void SYSCTRL_SetLDOOutput(SYSCTRL_LDOOutputCore level); * * ING916: `enable_active` and `enable_sleep` should be the same. * Power consumption is larger when enabled, ~2.x uA. - * When `threshold` is set to 1.5V, a dedicated logic is used, only ~0.x uA is + * When `threshold` is set to 1.5V, a dedicated logic (PDR) is used, only ~0.x uA is * consumed. * + * See also `SYSCTRL_EnablePVDInt`, `SYSCTRL_EnablePDRInt`. + * * @param[in] threshold Threshold (available values see `SYSCTRL_BOR_...`) * default: 0.95V (ING918) * 2.30V (ING916) diff --git a/src/FWlib/peripheral_timer.c b/src/FWlib/peripheral_timer.c index 048f83e7f..74e05e22a 100644 --- a/src/FWlib/peripheral_timer.c +++ b/src/FWlib/peripheral_timer.c @@ -137,20 +137,25 @@ void TMR_SetReload(TMR_TypeDef *pTMR, uint8_t ch_id, uint32_t value) void TMR_Enable(TMR_TypeDef *pTMR, uint8_t ch_id, uint8_t mask) { pTMR->ChEn &= ~(0xf << (ch_id * 4)); - pTMR->ChEn |= mask << (ch_id * 4); + pTMR->ChEn |= (mask & 0xf) << (ch_id * 4); } void TMR_IntEnable(TMR_TypeDef *pTMR, uint8_t ch_id, uint8_t mask) { pTMR->IntEn &= ~(0xf << (ch_id * 4)); - pTMR->IntEn |= mask << (ch_id * 4); + pTMR->IntEn |= (mask & 0xf) << (ch_id * 4); } -uint32_t TMR_GetCMP(TMR_TypeDef *pTMR, uint8_t ch_id) +uint32_t TMR_GetCNT(TMR_TypeDef *pTMR, uint8_t ch_id) { return pTMR->Channels[ch_id].Counter; } +uint32_t TMR_GetCMP(TMR_TypeDef *pTMR, uint8_t ch_id) +{ + return pTMR->Channels[ch_id].Reload; +} + void TMR_IntClr(TMR_TypeDef *pTMR, uint8_t ch_id, uint8_t mask) { pTMR->IntStatus = (mask & 0xf) << (ch_id * 4); @@ -161,6 +166,16 @@ uint8_t TMR_IntHappened(TMR_TypeDef *pTMR, uint8_t ch_id) return (pTMR->IntStatus >> (ch_id * 4)) & 0xf; } +void TMR_PauseEnable(TMR_TypeDef *pTMR, uint8_t enable) +{ + uint8_t bit_offset = pTMR == APB_TMR0 ? 3 : + pTMR == APB_TMR1 ? 4 : 5; + volatile uint32_t * reg = (volatile uint32_t *)(APB_SYSCTRL_BASE + 0x28); + uint32_t mask = 1 << bit_offset; + + *reg = (*reg & ~mask) | (enable << bit_offset); +} + #define WDT_UNLOCK() APB_WDT->WrEn = 0x5aa5 void TMR_WatchDogEnable3(wdt_inttime_interval_t int_timeout, wdt_rsttime_interval_t rst_timeout, uint8_t enable_int) diff --git a/src/FWlib/peripheral_timer.h b/src/FWlib/peripheral_timer.h index 8d74f54fa..4b2f51a35 100644 --- a/src/FWlib/peripheral_timer.h +++ b/src/FWlib/peripheral_timer.h @@ -268,9 +268,18 @@ void TMR_SetReload(TMR_TypeDef *pTMR, uint8_t ch_id, uint32_t value); */ void TMR_Enable(TMR_TypeDef *pTMR, uint8_t ch_id, uint8_t mask); +/** + * @brief Get counter value of a timer + * + * @param[in] pTMR timer peripheral address + * @param[in] ch_id channel ID + * @return Current counter value + */ +uint32_t TMR_GetCNT(TMR_TypeDef *pTMR, uint8_t ch_id); + /** **************************************************************************************** - * @brief Get comparison value (counter value) of a timer + * @brief Get comparison value (reload value) of a timer * * @param[in] pTMR timer peripheral address * @param[in] ch_id channel ID @@ -312,6 +321,14 @@ void TMR_IntClr(TMR_TypeDef *pTMR, uint8_t ch_id, uint8_t mask); */ uint8_t TMR_IntHappened(TMR_TypeDef *pTMR, uint8_t ch_id); +/** + * @brief Pause a timer + * + * @param[in] pTMR timer peripheral address + * @param[in] enable pause(1)/not pause(0) + */ +void TMR_PauseEnable(TMR_TypeDef *pTMR, uint8_t enable); + /** **************************************************************************************** * @brief Enable watchdog. diff --git a/src/FWlib/peripheral_usb.c b/src/FWlib/peripheral_usb.c index 97be4e384..62c95bbd4 100644 --- a/src/FWlib/peripheral_usb.c +++ b/src/FWlib/peripheral_usb.c @@ -1,3 +1,4 @@ +#include #include "ingsoc.h" #include "peripheral_usb.h" @@ -55,7 +56,7 @@ void USB_FlushTXFifo(uint8_t FifoNum) { AHB_USB->UsbDControl |= (0x1 << 7); } - + while(!(AHB_USB->UsbIntStat & (0x1 << 6))); while(!(AHB_USB->UsbRControl & (1U << 31))); while(AHB_USB->UsbRControl & (0x1 << 5)); @@ -76,74 +77,79 @@ void USB_FlushRXFifo(void) void USB_DeviceInitialization(void) { - AHB_USB->UsbIntMask |= (0x1 << 4) ; + AHB_USB->UsbIntMask &= ~((0x1 << 3) | (0x1 << 4) | (0x1 << 5) | (0x1 << 15)); + AHB_USB->UsbDConfig |= (3 << 0) | (1 << 24); AHB_USB->UsbDConfig &= ~(0x7F << 4); AHB_USB->UsbDConfig &= (~(1 << 23)); AHB_USB->UsbDConfig &= (~(0x1 << 2)); AHB_USB->UsbDControl &= (~(0x1 << 1)); - AHB_USB->UsbIntMask |= (0x1 << 12) | (0x1 << 13) | (g_UsbVar.UserIntMask); + AHB_USB->UsbIntMask |= (0x1 << 12) | (0x1 << 13) | (g_UsbVar.UserConfig.intmask); } -void USB_DeviceSetThreshold(USB_INIT_CONFIG_T *config) +void USB_DeviceSetThreshold(void) { - if(config->rx_thr_en) + if(g_UsbVar.UserConfig.rx_thr_en) { AHB_USB->UsbDThreCtrl &= ~(0x1ff<<17); - AHB_USB->UsbDThreCtrl |= (1 << 16) | (((config->rx_thr_length)&0x1ff) << 17); + AHB_USB->UsbDThreCtrl |= (1 << 16) | (((g_UsbVar.UserConfig.rx_thr_length)&0x1ff) << 17); } - if((config->iso_tx_thr_en)||(config->non_iso_tx_thr_en)) + if((g_UsbVar.UserConfig.iso_tx_thr_en)||(g_UsbVar.UserConfig.non_iso_tx_thr_en)) { AHB_USB->UsbDThreCtrl &= ~(0x1ff<<2); - AHB_USB->UsbDThreCtrl |= (config->iso_tx_thr_en << 1) | (config->non_iso_tx_thr_en << 1) | (((config->tx_thr_length)&0x1ff) << 2); + AHB_USB->UsbDThreCtrl |= (g_UsbVar.UserConfig.iso_tx_thr_en << 1) | (g_UsbVar.UserConfig.non_iso_tx_thr_en << 1) | (((g_UsbVar.UserConfig.tx_thr_length)&0x1ff) << 2); } } -USB_ERROR_TYPE_E USB_InitConfig(USB_INIT_CONFIG_T *config) + +void USB_ResetAndConfig(void) { - USB_ERROR_TYPE_E status = USB_ERROR_NONE; - - if(!config){status = USB_ERROR_INVALID_INPUT;} - - g_UsbVar.DeviceState = USB_DEVICE_NONE; - g_UsbVar.Ep0State = EP0_DISCONNECT; - g_UsbVar.EventHandler = config->handler; - g_UsbVar.UserIntMask = config->intmask; - AHB_USB->UsbConfig |= 1 << 6; USB_CoreReset(); - + AHB_USB->UsbAConfig |= (1 << 5) | (3 << 1) | (1 << 0); AHB_USB->UsbConfig |= (0x1 << 3) | (AHB_USB->UsbConfig & (~(0xF<<10))) | (9 << 10); - + AHB_USB->UsbIntMask |= (0x1 << 2) | (0x1 << 1); USB_SetupDataFifo(); - + USB_FlushTXFifo(0x10); USB_FlushRXFifo(); - + USB_DeviceInitialization(); - + AHB_USB->UsbIntStat |= AHB_USB->UsbIntStat; AHB_USB->UsbOTGIntStat |= AHB_USB->UsbOTGIntStat; USB_ResetTransfert(); - - return status; + USB_DeviceSetThreshold(); } void USB_ReInit(void) { USB_FlushTXFifo(0x10); USB_FlushRXFifo(); - + USB_ClrConfig(); - USB_ResetTransfert(); } +USB_ERROR_TYPE_E USB_InitConfig(USB_INIT_CONFIG_T *config) +{ + USB_ERROR_TYPE_E status = USB_ERROR_NONE; + + if(!config){status = USB_ERROR_INVALID_INPUT;} + + g_UsbVar.DeviceState = USB_DEVICE_NONE; + g_UsbVar.Ep0State = EP0_DISCONNECT; + memcpy(&(g_UsbVar.UserConfig),config, sizeof(USB_INIT_CONFIG_T)); + + USB_ResetAndConfig(); + + return status; +} void USB_ResetTransfert(void) { @@ -154,12 +160,14 @@ void USB_ResetTransfert(void) g_UsbVar.InTransfer[i].sizeRemaining = -1; g_UsbVar.InTransfer[i].sizeTransfered = 0; g_UsbVar.InTransfer[i].sizeTotalLen = 0; + g_UsbVar.InTransfer[i].flags = 0; } for(i = 0; i < DOEP_NUM+1; ++i) { g_UsbVar.OutTransfer[i].sizeRemaining = -1; g_UsbVar.OutTransfer[i].sizeTransfered = 0; g_UsbVar.OutTransfer[i].sizeTotalLen = 0; + g_UsbVar.OutTransfer[i].flags = 0; } } @@ -174,20 +182,89 @@ void USB_CancelTransfert(uint8_t ep) g_UsbVar.InTransfer[epNum].sizeRemaining = -1; g_UsbVar.InTransfer[epNum].sizeTransfered = 0; g_UsbVar.InTransfer[epNum].sizeTotalLen = 0; + g_UsbVar.InTransfer[epNum].flags = 0; } else { g_UsbVar.OutTransfer[epNum].sizeRemaining = -1; g_UsbVar.OutTransfer[epNum].sizeTransfered = 0; g_UsbVar.OutTransfer[epNum].sizeTotalLen = 0; + g_UsbVar.OutTransfer[epNum].flags = 0; } } +uint32_t USB_CheckTransferCondition(uint8_t ep) +{ + uint8_t epNum; + uint32_t XferSize = 0; + USB_TRANSFERT_T* transfer; + uint32_t abort = 0; + + epNum = USB_EP_NUM(ep); + + /* + For out transfer, we always program recv packet size to a multiple of the maximum packet size. + for say, if app wants to receive 7bytes, the real register will be programed to 64bytes(mps) + when device received the first 7bytes, we have to abort the transfer and reset state. + */ + + if(USB_IS_EP_DIRECTION_IN(ep)) + { + transfer = &g_UsbVar.InTransfer[epNum]; + switch(epNum) + { + case 0: + XferSize = (AHB_USB->UsbDISize0) & 0x7f; + break; + default: + XferSize = (AHB_USB->UsbDIxConfig[epNum-1].DISizex) & 0x7ffff; + break; + } + } + else + { + transfer = &g_UsbVar.OutTransfer[epNum]; + switch(epNum) + { + case 0: + XferSize = (AHB_USB->UsbDOSize0) & 0x7f; + break; + default: + XferSize = (AHB_USB->UsbDOxConfig[epNum-1].DOSizex) & 0x7ffff; + break; + } + } + + if((transfer->flags)&(1<sizeTransfered = transfer->sizeTotalLen - XferSize; + transfer->sizeRemaining = -1; + transfer->sizeTotalLen = 0; + abort = 1; + } + + return abort; +} + +uint32_t USB_GetTransferedSize(uint8_t ep) +{ + uint8_t epNum; + epNum = USB_EP_NUM(ep); + + if(USB_IS_EP_DIRECTION_IN(ep)) + { + return g_UsbVar.InTransfer[epNum].sizeTransfered; + } + else + { + return g_UsbVar.OutTransfer[epNum].sizeTransfered; + } +} void USB_DisableEp(uint8_t ep) { uint8_t epNum = USB_EP_NUM(ep); - + if(USB_IS_EP_DIRECTION_IN(ep)) { if(0 == epNum) @@ -236,10 +313,10 @@ void USB_DisableEp(uint8_t ep) AHB_USB->UsbDIntMask &= ~(1 << (epNum + 16)); } } - + USB_FlushTXFifo(epNum); USB_CancelTransfert(ep); - + } void USB_ClrConfig(void) @@ -248,14 +325,19 @@ void USB_ClrConfig(void) g_UsbVar.DeviceState = USB_DEVICE_NONE; g_UsbVar.Ep0State = EP0_DISCONNECT; - + // Disable all EP + USB_SetStallEp(USB_EP_DIRECTION_IN(0),U_FALSE); for(i = 0; i < DIEP_NUM; ++i) { + USB_SetStallEp(USB_EP_DIRECTION_IN(i+1),U_FALSE); USB_DisableEp(USB_EP_DIRECTION_IN (i+1)); } + + USB_SetStallEp(USB_EP_DIRECTION_OUT(0),U_FALSE); for(i = 0; i < DOEP_NUM; ++i) { + USB_SetStallEp(USB_EP_DIRECTION_OUT(i+1),U_FALSE); USB_DisableEp(USB_EP_DIRECTION_OUT(i+1)); } @@ -298,26 +380,26 @@ void USB_GetTransferSize(uint8_t ep, int32_t *size_p, uint16_t *nbPacket_p) /* Program the transfer size and packet count * as follows: xfersize = N * maxpacket + * short_packet pktcnt = N + (short_packet - * exist ? 1 : 0) + * exist ? 1 : 0) */ size = transfer->sizeRemaining; size = (size < maxPacketSize) ? size : maxPacketSize; nbPacket = 1; } break; - + default: { /* Transfer size[epnum] = n * mps[epnum] + sp (where n is an integer = 0, and 0 = sp < mps[epnum]) If (sp > 0), then packet count[epnum] = n + 1. Otherwise, packet count[epnum] = n */ - + size = transfer->sizeRemaining; size = (size < USB_GetMaxTransferSize()) ? size : USB_GetMaxTransferSize(); - + nbPacket = (size <= maxPacketSize) ? 1 : ((size + (maxPacketSize - 1))/maxPacketSize); - + if(nbPacket > USB_GetMaxPacketSize()) { nbPacket = USB_GetMaxPacketSize(); @@ -336,29 +418,29 @@ void USB_GetTransferSize(uint8_t ep, int32_t *size_p, uint16_t *nbPacket_p) /* Program the transfer size and packet count * as follows: xfersize = N * maxpacket + * short_packet pktcnt = N + (short_packet - * exist ? 1 : 0) + * exist ? 1 : 0) */ size = maxPacketSize; nbPacket = 1; } break; - + default: { /* For OUT transfers, the Transfer Size field in the endpoint Transfer Size register must be a multiple of the maximum packet size of the endpoint, adjusted to the DWORD boundary. */ - + size = transfer->sizeRemaining; size = (size < USB_GetMaxTransferSize()) ? size : USB_GetMaxTransferSize(); - + nbPacket = (size <= maxPacketSize) ? 1 : ((size + (maxPacketSize - 1))/maxPacketSize); nbPacket = (nbPacket < USB_GetMaxPacketSize()) ? nbPacket : USB_GetMaxPacketSize(); - + size = nbPacket * maxPacketSize; } } } - + *size_p = size; *nbPacket_p = nbPacket; } @@ -392,7 +474,7 @@ void USB_NewTransfer(uint8_t ep, int32_t size, uint16_t nbPacket) { case 0: { - AHB_USB->UsbDOSize0 |= (AHB_USB->UsbDOSize0 & (~(0x7F << 0))) | ((size & 0x7F) << 0) | (nbPacket ? (0x1 << 19) : 0); + AHB_USB->UsbDOSize0 = (0x3 << 29) | ((size & 0x7F) << 0) | (nbPacket ? (0x1 << 19) : 0); AHB_USB->UsbDOCtrl0 |= (1U << 31) | (0x1 << 26); } break; @@ -445,13 +527,14 @@ uint8_t USB_StartTransfer(uint8_t ep, void *data, uint16_t size, uint32_t flag) { //return 1; } - + transfer->sizeRemaining = size; transfer->sizeTransfered = 0; - + transfer->flags = flag; + USB_GetTransferSize(ep, &sc_size, &sc_nbPacket); transfer->sizeTotalLen = sc_size; - + // Program the EP USB_NewTransfer(ep, sc_size, sc_nbPacket); @@ -467,7 +550,7 @@ uint8_t USB_ContinueTransfer(uint8_t ep) uint32_t XferSize = 0; uint16_t sc_nbPacket; int32_t sc_size; - + epNum = USB_EP_NUM(ep); if(USB_IS_EP_DIRECTION_IN(ep)) @@ -497,7 +580,7 @@ uint8_t USB_ContinueTransfer(uint8_t ep) } } - + if(transfer->sizeRemaining == -1) { return 1; @@ -507,7 +590,7 @@ uint8_t USB_ContinueTransfer(uint8_t ep) transfer->sizeRemaining -= size; transfer->sizeTransfered += size; - + if(transfer->sizeRemaining <= 0) { // End of transfert @@ -517,7 +600,7 @@ uint8_t USB_ContinueTransfer(uint8_t ep) USB_GetTransferSize(ep, &sc_size, &sc_nbPacket); transfer->sizeTotalLen = sc_size; - + USB_NewTransfer(ep, sc_size, sc_nbPacket); return 0; } @@ -564,16 +647,16 @@ USB_ERROR_TYPE_E USB_ConfigureEp(const USB_EP_DESCRIPTOR_REAL_T* ep) { uint8_t epNum; USB_ERROR_TYPE_E error = USB_ERROR_NONE; - + epNum = USB_EP_NUM(ep->ep); g_UsbVar.ep[epNum].type = ep->type; g_UsbVar.ep[epNum].maxpacket = ep->mps; g_UsbVar.ep[epNum].is_in = USB_IS_EP_DIRECTION_IN(ep->ep) ? 1 : 0; - + USB_EnableEp(ep->ep, (USB_EP_TYPE_T)(ep->attributes)); g_UsbVar.ep[epNum].active = 1; - + return(error); } @@ -593,7 +676,7 @@ void USB_SetStallEp(uint8_t ep, uint8_t stall) diepctrl = &AHB_USB->UsbDIxConfig[epNum-1].DICtrlx; doepctrl = &AHB_USB->UsbDOxConfig[epNum-1].DOCtrlx; } - + if(USB_IS_EP_DIRECTION_IN(ep)) { if(U_TRUE == stall) @@ -606,6 +689,7 @@ void USB_SetStallEp(uint8_t ep, uint8_t stall) { *diepctrl |= (0x1 << 21); } + USB_FlushTXFifo(0x10); } else { @@ -644,11 +728,11 @@ USB_ERROR_TYPE_E USB_SendData(uint8_t ep, void* buffer, uint16_t size, uint32_t uint8_t epNum; uint32_t activeEp; USB_ERROR_TYPE_E error = USB_ERROR_NONE; - + epNum = USB_EP_NUM(ep); - + if((epNum > DIEP_NUM)||(((uint32_t)buffer)&0x3)){return USB_ERROR_INVALID_INPUT;} - + if(epNum == 0) { activeEp = AHB_USB->UsbDICtrl0 & (0x1 << 15); @@ -670,11 +754,11 @@ USB_ERROR_TYPE_E USB_RecvData(uint8_t ep, void* buffer, uint16_t size, uint32_t uint8_t epNum; uint32_t activeEp; USB_ERROR_TYPE_E error = USB_ERROR_NONE; - + epNum = USB_EP_NUM(ep); - + if((epNum > DOEP_NUM)||(((uint32_t)buffer)&0x3)){return USB_ERROR_INVALID_INPUT;} - + if(epNum == 0) { activeEp = AHB_USB->UsbDOCtrl0 & (0x1 << 15); @@ -721,7 +805,7 @@ void USB_HandleEp0(void) USB_SETUP_T* setup = (USB_SETUP_T*)(g_UsbBufferEp0Out); USB_EVNET_HANDLER_T event; uint32_t event_status = 0; - + switch(g_UsbVar.Ep0State) { case EP0_IDLE: @@ -748,10 +832,10 @@ void USB_HandleEp0(void) } break; } - + event.id = USB_EVENT_EP0_SETUP; - event_status = g_UsbVar.EventHandler(&event); - + event_status = g_UsbVar.UserConfig.handler(&event); + //setup requset which is not supported, by spec, device should return stall pid to host if(USB_ERROR_REQUEST_NOT_SUPPORT == event_status) { @@ -786,8 +870,9 @@ void USB_HandleEp0(void) { event.id = USB_EVENT_EP_DATA_TRANSFER; event.data.ep = 0; + event.data.size = 0;//no need to provide size for IN endpoint event.data.type = USB_CALLBACK_TYPE_TRANSMIT_END; - g_UsbVar.EventHandler(&event); + g_UsbVar.UserConfig.handler(&event); USB_EP0StatusOut(); } } @@ -799,8 +884,9 @@ void USB_HandleEp0(void) // OUT was complete, prepare to receive IN for status event.id = USB_EVENT_EP_DATA_TRANSFER; event.data.ep = 0; + event.data.size = g_UsbVar.OutTransfer[0].sizeTransfered; event.data.type = USB_CALLBACK_TYPE_RECEIVE_END; - g_UsbVar.EventHandler(&event); + g_UsbVar.UserConfig.handler(&event); USB_EP0StatusIn(); } } @@ -819,7 +905,7 @@ void USB_HandleEp0(void) } break; default: - + break; } } @@ -829,7 +915,8 @@ uint32_t USB_IrqHandler (void *user_data) uint32_t status = AHB_USB->UsbIntStat,i; uint32_t statusEp = 0, ep_intr = 0; USB_EVNET_HANDLER_T event; - + + AHB_USB->UsbIntStat |= status; if(status & (0x1 << 12)) { //1. Set the NAK bit for all OUT endpoints: @@ -840,20 +927,21 @@ uint32_t USB_IrqHandler (void *user_data) } USB_ReInit(); - + AHB_USB->UsbDIntMask |= (0x1 << 0) | (0x1 << 16); AHB_USB->UsbDIMask |= (0x1 << 0) | (0x1 << 2) | (0x1 << 3); AHB_USB->UsbDOMask |= (0x1 << 0) | (0x1 << 2) | (0x1 << 3) | (0x1 << 12) | (0x1 << 8) | (0x1 << 5); AHB_USB->UsbDConfig &= ~(0x7F << 4); - + //USB_GetSetupPacket(); AHB_USB->UsbIntMask |= (0x1 << 19) | (0x1 << 18); - + event.id = USB_EVENT_DEVICE_RESET; - g_UsbVar.EventHandler(&event); + g_UsbVar.UserConfig.handler(&event); g_UsbVar.DeviceState = (USB_DEVICE_STATE_E)((1<UsbDInt) & (AHB_USB->UsbDIntMask); + uint32_t epnum = 0; - + ep_intr = ep_intr & 0xffff; - for(epnum = 0; epnum < DIEP_NUM; epnum++) + for(epnum = 0; epnum <= DIEP_NUM; epnum++) { if ((ep_intr >> epnum) & 0x1) { @@ -899,7 +988,7 @@ uint32_t USB_IrqHandler (void *user_data) else { statusEp = AHB_USB->UsbDIxConfig[epnum-1].DIIntx; - + AHB_USB->UsbDIxConfig[epnum-1].DIIntx = statusEp; if(statusEp & (0x1 << 0)) { @@ -907,29 +996,31 @@ uint32_t USB_IrqHandler (void *user_data) { event.id = USB_EVENT_EP_DATA_TRANSFER; event.data.ep = epnum; + event.data.size = 0;//no need to provide size for IN endpoint event.data.type = USB_CALLBACK_TYPE_TRANSMIT_END; - g_UsbVar.EventHandler(&event); + g_UsbVar.UserConfig.handler(&event); } } } } } - + } - + if((status & (0x1 << 19)) && (g_UsbVar.DeviceState & (1<UsbDInt) & (AHB_USB->UsbDIntMask); uint32_t epnum = 0; ep_intr = ep_intr >> 16; - for(epnum = 0; epnum < DOEP_NUM; epnum++) + for(epnum = 0; epnum <= DOEP_NUM; epnum++) { if ((ep_intr >> epnum) & 0x1) { if(0 == epnum) { statusEp = AHB_USB->UsbDOInt0; + AHB_USB->UsbDOInt0 = statusEp; if(statusEp & (0x1 << 0)) { @@ -948,62 +1039,59 @@ uint32_t USB_IrqHandler (void *user_data) } else { + if((statusEp & (0x1 << 5))&&(g_UsbVar.Ep0State == EP0_OUT_DATA_PHASE)) + { + USB_EP0StatusIn(); + } if((statusEp & (0x1 << 3))) { USB_GetSetupPacket(); } } - - if(statusEp & (0x1 << 5)) - { - USB_EP0StatusIn(); - } - - AHB_USB->UsbDOInt0 = statusEp; } else { statusEp = AHB_USB->UsbDOxConfig[epnum-1].DOIntx; - + AHB_USB->UsbDOxConfig[epnum-1].DOIntx = statusEp; if(statusEp & (0x1 << 0)) { - if(USB_ContinueTransfer(USB_EP_DIRECTION_OUT(epnum))) + if(USB_CheckTransferCondition(USB_EP_DIRECTION_OUT(epnum)) || + USB_ContinueTransfer(USB_EP_DIRECTION_OUT(epnum))) { event.id = USB_EVENT_EP_DATA_TRANSFER; event.data.ep = epnum; + event.data.size = g_UsbVar.OutTransfer[epnum].sizeTransfered; event.data.type = USB_CALLBACK_TYPE_RECEIVE_END; - g_UsbVar.EventHandler(&event); + g_UsbVar.UserConfig.handler(&event); } } } } } } - - if((status & USBINTMASK_SOF) && (g_UsbVar.DeviceState & (1<UsbIntStat |= status; return 0; } @@ -1040,11 +1128,11 @@ void USB_Close(void) { USB_ClrConfig(); USB_ResetTransfert(); - + AHB_USB->UsbIntMask = 0; AHB_USB->UsbDIntMask = 0; - g_UsbVar.EventHandler = 0; - g_UsbVar.UserIntMask = 0; + g_UsbVar.UserConfig.handler = 0; + g_UsbVar.UserConfig.intmask = 0; } void USB_SetGlobalOutNak(uint8_t enable) diff --git a/src/FWlib/peripheral_usb.h b/src/FWlib/peripheral_usb.h index 1b23f6a69..528388c1d 100644 --- a/src/FWlib/peripheral_usb.h +++ b/src/FWlib/peripheral_usb.h @@ -305,6 +305,7 @@ typedef struct { uint8_t ep; USB_CALLBACK_EP_TYPE_T type; + uint32_t size; }USB_EVNET_DATA_TYPE_T ; typedef struct @@ -332,11 +333,19 @@ typedef struct // ----------------------------------------------------------------------------- /// Structure containt the transfert parameter // ============================================================================= + +typedef enum +{ + USB_TRANSFERT_FLAG_NONE, + USB_TRANSFERT_FLAG_FLEXIBLE_RECV_LEN +} USB_TRANSFERT_FLAGS_E; + typedef struct { int32_t sizeRemaining; int32_t sizeTransfered; int32_t sizeTotalLen; + uint32_t flags; } USB_TRANSFERT_T; typedef struct { @@ -363,10 +372,8 @@ typedef struct // Transfert data USB_TRANSFERT_T InTransfer [DIEP_NUM+1]; USB_TRANSFERT_T OutTransfer[DOEP_NUM+1]; - - USB_VAR_EP_T ep[TOTAL_EP_NUM]; - USB_USER_EVENT_HANDLER EventHandler; - uint32_t UserIntMask; + USB_VAR_EP_T ep[TOTAL_EP_NUM]; + USB_INIT_CONFIG_T UserConfig; } USB_GLOBAL_VAR_S; // ============================================================================= @@ -376,143 +383,157 @@ typedef struct // ============================================================================= /** - * @brief interface API. initilize usb module and related variables, must be called before any usb usage + * @brief interface API. initilize usb module and related variables, must be called before any usb usage * - * @param[in] device callback function with structure USB_INIT_CONFIG_T. + * @param[in] device callback function with structure USB_INIT_CONFIG_T. * When this function has been called your device is ready to be enumerated by the USB host. - * @param[out] null. + * @param[out] null. */ extern USB_ERROR_TYPE_E USB_InitConfig(USB_INIT_CONFIG_T *config); /** * @brief interface API. send usb device data packet. * * @param[in] ep, endpoint number, the highest bit represent direction, use USB_EP_DIRECTION_IN/OUT - * @param[in] buffer, global buffer to hold data of the packet, it must be a DWORD-aligned address. + * @param[in] buffer, global buffer to hold data of the packet, it must be a DWORD-aligned address. * @param[in] size. it should be a value smaller than 512*mps(eg, for EP0, mps is 64byte, maximum packet number is 512, MPS is 64). * @param[in] flag. null - * @param[out] return U_TRUE if successful, otherwise U_FALSE. + * @param[out] return U_TRUE if successful, otherwise U_FALSE. */ extern USB_ERROR_TYPE_E USB_SendData(uint8_t ep, void* buffer, uint16_t size, uint32_t flag); /** * @brief interface API. receive usb device data packet. * * @param[in] ep, endpoint number, the highest bit represent direction, use USB_EP_DIRECTION_IN/OUT - * @param[in] buffer, global buffer to hold data of the packet, it must be a DWORD-aligned address. + * @param[in] buffer, global buffer to hold data of the packet, it must be a DWORD-aligned address. * @param[in] size. For OUT transfers, the Transfer Size field in the endpoint Transfer Size register must be a multiple * of the maximum packet size of the endpoint(eg, EP0 is 64byte), adjusted to the DWORD boundary * @param[in] flag. null - * @param[out] return U_TRUE if successful, otherwise U_FALSE. + * @param[out] return U_TRUE if successful, otherwise U_FALSE. + for example, if the MPS of ep is 64bytes, there are two options: + 1. you know that you need to recieve exactly 64bytes, then set size to 64 and set flag to 0. + the driver will only call the event handler when it has received all 64bytes. + 2. you do know that size of next OUT packet, then set size to 64 and set to flag to 1<address);btstack_mt_event_set(ctx->_event);} -void mt_gap_set_random_device_address(const uint8_t * address){if(IS_IN_HOST()){gap_set_random_device_address(address);}else{struct gap_set_random_device_address_ctx ctx = {._event = btstack_mt_event_alloc(),.address = address};CALL_USER_VOID(gap_set_random_device_address);}} +__attribute((weak)) uint8_t gap_set_random_device_address(const uint8_t * address) { return (uint8_t)0; } +struct gap_set_random_device_address_ctx {struct btstack_mt_event*_event;uint8_t _ret;const uint8_t * address;}; +static void gap_set_random_device_address_0(struct gap_set_random_device_address_ctx*ctx,uint16_t _){ctx->_ret =gap_set_random_device_address(ctx->address);btstack_mt_event_set(ctx->_event);} +uint8_t mt_gap_set_random_device_address(const uint8_t * address){if(IS_IN_HOST()){return gap_set_random_device_address(address);}else{struct gap_set_random_device_address_ctx ctx = {._event = btstack_mt_event_alloc(),.address = address};CALL_USER_RET(gap_set_random_device_address);}} __attribute((weak)) uint8_t gap_disconnect(hci_con_handle_t handle) { return (uint8_t)0; } struct gap_disconnect_ctx {struct btstack_mt_event*_event;uint8_t _ret;hci_con_handle_t handle;}; static void gap_disconnect_0(struct gap_disconnect_ctx*ctx,uint16_t _){ctx->_ret =gap_disconnect(ctx->handle);btstack_mt_event_set(ctx->_event);} @@ -262,10 +262,10 @@ __attribute((weak)) uint8_t gap_vendor_tx_continuous_wave(uint8_t enable,uint8_t struct gap_vendor_tx_continuous_wave_ctx {struct btstack_mt_event*_event;uint8_t _ret;uint8_t enable;uint8_t power_level_index;uint16_t freq;}; static void gap_vendor_tx_continuous_wave_0(struct gap_vendor_tx_continuous_wave_ctx*ctx,uint16_t _){ctx->_ret =gap_vendor_tx_continuous_wave(ctx->enable,ctx->power_level_index,ctx->freq);btstack_mt_event_set(ctx->_event);} uint8_t mt_gap_vendor_tx_continuous_wave(uint8_t enable,uint8_t power_level_index,uint16_t freq){if(IS_IN_HOST()){return gap_vendor_tx_continuous_wave(enable,power_level_index,freq);}else{struct gap_vendor_tx_continuous_wave_ctx ctx = {._event = btstack_mt_event_alloc(),.enable = enable,.power_level_index = power_level_index,.freq = freq};CALL_USER_RET(gap_vendor_tx_continuous_wave);}} -__attribute((weak)) uint8_t gap_start_ccm(uint8_t type,uint8_t mic_size,uint16_t msg_len,uint16_t aad_len,uint32_t tag,uint8_t * key,uint8_t * nonce,uint8_t * msg,uint8_t * aad,uint8_t * out_msg) { return (uint8_t)0; } -struct gap_start_ccm_ctx {struct btstack_mt_event*_event;uint8_t _ret;uint8_t type;uint8_t mic_size;uint16_t msg_len;uint16_t aad_len;uint32_t tag;uint8_t * key;uint8_t * nonce;uint8_t * msg;uint8_t * aad;uint8_t * out_msg;}; -static void gap_start_ccm_0(struct gap_start_ccm_ctx*ctx,uint16_t _){ctx->_ret =gap_start_ccm(ctx->type,ctx->mic_size,ctx->msg_len,ctx->aad_len,ctx->tag,ctx->key,ctx->nonce,ctx->msg,ctx->aad,ctx->out_msg);btstack_mt_event_set(ctx->_event);} -uint8_t mt_gap_start_ccm(uint8_t type,uint8_t mic_size,uint16_t msg_len,uint16_t aad_len,uint32_t tag,uint8_t * key,uint8_t * nonce,uint8_t * msg,uint8_t * aad,uint8_t * out_msg){if(IS_IN_HOST()){return gap_start_ccm(type,mic_size,msg_len,aad_len,tag,key,nonce,msg,aad,out_msg);}else{struct gap_start_ccm_ctx ctx = {._event = btstack_mt_event_alloc(),.type = type,.mic_size = mic_size,.msg_len = msg_len,.aad_len = aad_len,.tag = tag,.key = key,.nonce = nonce,.msg = msg,.aad = aad,.out_msg = out_msg};CALL_USER_RET(gap_start_ccm);}} +__attribute((weak)) uint8_t gap_start_ccm(uint8_t type,uint8_t mic_size,uint16_t msg_len,uint16_t aad_len,uint32_t tag,const uint8_t * key,const uint8_t * nonce,const uint8_t * msg,const uint8_t * aad,uint8_t * out_msg,gap_hci_cmd_complete_cb_t cb,void * user_data) { return (uint8_t)0; } +struct gap_start_ccm_ctx {struct btstack_mt_event*_event;uint8_t _ret;uint8_t type;uint8_t mic_size;uint16_t msg_len;uint16_t aad_len;uint32_t tag;const uint8_t * key;const uint8_t * nonce;const uint8_t * msg;const uint8_t * aad;uint8_t * out_msg;gap_hci_cmd_complete_cb_t cb;void * user_data;}; +static void gap_start_ccm_0(struct gap_start_ccm_ctx*ctx,uint16_t _){ctx->_ret =gap_start_ccm(ctx->type,ctx->mic_size,ctx->msg_len,ctx->aad_len,ctx->tag,ctx->key,ctx->nonce,ctx->msg,ctx->aad,ctx->out_msg,ctx->cb,ctx->user_data);btstack_mt_event_set(ctx->_event);} +uint8_t mt_gap_start_ccm(uint8_t type,uint8_t mic_size,uint16_t msg_len,uint16_t aad_len,uint32_t tag,const uint8_t * key,const uint8_t * nonce,const uint8_t * msg,const uint8_t * aad,uint8_t * out_msg,gap_hci_cmd_complete_cb_t cb,void * user_data){if(IS_IN_HOST()){return gap_start_ccm(type,mic_size,msg_len,aad_len,tag,key,nonce,msg,aad,out_msg,cb,user_data);}else{struct gap_start_ccm_ctx ctx = {._event = btstack_mt_event_alloc(),.type = type,.mic_size = mic_size,.msg_len = msg_len,.aad_len = aad_len,.tag = tag,.key = key,.nonce = nonce,.msg = msg,.aad = aad,.out_msg = out_msg,.cb = cb,.user_data = user_data};CALL_USER_RET(gap_start_ccm);}} __attribute((weak)) int att_server_deferred_read_response(hci_con_handle_t con_handle,uint16_t attribute_handle,const uint8_t * value,uint16_t value_len) { return (int)0; } struct att_server_deferred_read_response_ctx {struct btstack_mt_event*_event;int _ret;hci_con_handle_t con_handle;uint16_t attribute_handle;const uint8_t * value;uint16_t value_len;}; static void att_server_deferred_read_response_0(struct att_server_deferred_read_response_ctx*ctx,uint16_t _){ctx->_ret =att_server_deferred_read_response(ctx->con_handle,ctx->attribute_handle,ctx->value,ctx->value_len);btstack_mt_event_set(ctx->_event);} diff --git a/tools/README.md b/tools/README.md index cf2357038..d774046b7 100644 --- a/tools/README.md +++ b/tools/README.md @@ -60,4 +60,29 @@ nim -d:release c gen_files.nim gen_files /path/to/sdk/bundles ``` -Note: [Nim](https://nim-lang.org/) is required to build this tool. \ No newline at end of file +Note: [Nim](https://nim-lang.org/) is required to build this tool. + +## RTT Logger + +_rtt_logger.py_ is based on [pyocd](https://pyocd.io/), and supports J-Link, +DAP-Link, etc. + +Usage: + +```shell +python rtt_logger.py -RTTSearchRanges "0x2000XXXX 0xYYYY" log_file +``` + +### Command line options + +|Option | Explanation | +|:--------------------|:-----------------------------------------| +|-Speed `SpeedInKHZ` |Sets speed in kHz | +|-ID `id` | Connects to the probe with unique `id` | +|-RTTAddress `RTTAddress` | Sets RTT address to `RTTAddress` | +|-RTTSearchRanges "`Ranges`" |Sets RTT search ranges to `Ranges` | +|-RTTChannel `RTTChannel` | Sets RTT channel to `RTTChannel` | + +`Ranges` is specified as `start` address and `size`, for example +"0x2000XXXX 0xYYYY" tells this tool to search for RTT in the memory range +from `0x2000XXXX` to `(0x2000XXXX + 0xYYYY)`. \ No newline at end of file diff --git a/tools/requirements.txt b/tools/requirements.txt index 374c18df9..2a21aa462 100644 --- a/tools/requirements.txt +++ b/tools/requirements.txt @@ -1,5 +1,5 @@ DateTime==5.0 -future==0.18.2 +future==0.18.3 iso8601==1.0.2 libusb-package==1.0.26.1 pyserial==3.5 @@ -7,3 +7,4 @@ pytz==2022.7.1 pyusb==1.2.1 PyYAML==6.0 zope.interface==5.5.2 +pyocd==0.34.3 diff --git a/tools/rtt_logger.py b/tools/rtt_logger.py new file mode 100644 index 000000000..875621bc1 --- /dev/null +++ b/tools/rtt_logger.py @@ -0,0 +1,238 @@ +import sys +import ctypes +import logging +import argparse +import time + +import colorama +from colorama import (Fore, Style) +import logging +from shutil import get_terminal_size +from typing import (IO, Optional) + +import pyocd.utility.color_log +from pyocd.core.helpers import ConnectHelper +from pyocd.core.memory_map import MemoryMap, MemoryRegion, MemoryType +from pyocd.core.soc_target import SoCTarget +from pyocd.utility.cmdline import convert_session_options, int_base_0 +from pyocd.probe import aggregator +from pyocd.utility.kbhit import KBHit +from pyocd.utility.color_log import ColorFormatter + +from ctypes import Structure, c_char, c_int32, c_uint32, sizeof + +LOG = logging.getLogger(__name__) + +RTT_MAGIC = 'SEGGER RTT' + +class SEGGER_RTT_BUFFER_UP(ctypes.Structure): + _fields_ = [ + ('sName', ctypes.c_uint32), + ('pBuffer', ctypes.c_uint32), + ('SizeOfBuffer', ctypes.c_uint32), + ('WrOff', ctypes.c_uint32), + ('RdOff', ctypes.c_uint32), + ('Flags', ctypes.c_uint32), + ] + +class SEGGER_RTT_BUFFER_DOWN(ctypes.Structure): + _fields_ = [ + ('sName', ctypes.c_uint32), + ('pBuffer', ctypes.c_uint32), + ('SizeOfBuffer', ctypes.c_uint32), + ('WrOff', ctypes.c_uint32), + ('RdOff', ctypes.c_uint32), + ('Flags', ctypes.c_uint32), + ] + +class SEGGER_RTT_CB(ctypes.Structure): # Control Block + _fields_ = [ + ('acID', ctypes.c_char * 16), + ('MaxNumUpBuffers', ctypes.c_uint32), + ('MaxNumDownBuffers', ctypes.c_uint32), + ] + +def get_default_probe_id(): + daplinks = aggregator.DebugProbeAggregator.get_all_connected_probes() + + if len(daplinks) == 0: + LOG.error("NO DAP-Link") + exit(-1) + + if len(daplinks) == 1: + return daplinks[0].unique_id + + LOG.info("Multiple DAP-Link found. Use -Id .. to specify one:\n") + LOG.info(list(daplinks.keys())) + + exit(-2) + +def find_rtt_ctx(FLAGS, dap): + if FLAGS.RTTAddress > 0: + buff = dap.read_memory_block8(FLAGS.RTTAddress, 32) + buff = ''.join([chr(x) for x in buff]) + if buff.find(RTT_MAGIC) == 0: + return FLAGS.RTTAddress + else: + raise Exception(f"SEGGER RTT not found at 0x{FLAGS.RTTAddress:0>8x}") + + search = [int(x, 0) for x in FLAGS.RTTSearchRanges.split()] + if len(search) != 2: + raise Exception(f"Search range '{FLAGS.RTTSearchRanges}' is invalid") + + start = search[0] + remain = search[1] + while remain > 0: + buff = dap.read_memory_block8(start, 512 + 16) + buff = ''.join([chr(x) for x in buff]) + index = buff.find(RTT_MAGIC) + if index >= 0: + return start + index + start += 512 + remain -= 512 + + raise Exception(f"SEGGER RTT not found in specified range") + +def run(FLAGS): + pyocd.utility.color_log.build_color_logger(color_setting='auto') + + if FLAGS.ID == '': + FLAGS.ID = get_default_probe_id() + LOG.setLevel(logging.DEBUG) + kb = None + try: + session = ConnectHelper.session_with_chosen_probe( + project_dir=None, + config_file=None, + user_script=None, + no_config=True, + pack=None, + unique_id=FLAGS.ID, + target_override=FLAGS.Device, + frequency=FLAGS.Speed * 1000, + blocking=False, + connect_mode=FLAGS.ConnectMode, + options={}) + + if session is None: + LOG.error("No target device available") + return 1 + + with session, open(FLAGS.LogFile, 'wb') as log_file: + + target: SoCTarget = session.board.target + + rtt_cb_addr = find_rtt_ctx(FLAGS, target) + + data = target.read_memory_block8(rtt_cb_addr, sizeof(SEGGER_RTT_CB)) + rtt_cb = SEGGER_RTT_CB.from_buffer(bytearray(data)) + up_addr = rtt_cb_addr + sizeof(SEGGER_RTT_CB) + sizeof(SEGGER_RTT_BUFFER_UP) * FLAGS.RTTChannel + + LOG.info(f"_SEGGER_RTT @ {rtt_cb_addr:#08x} with {rtt_cb.MaxNumUpBuffers} aUp and {rtt_cb.MaxNumDownBuffers} aDown") + + target.resume() + + # set up terminal input + kb = KBHit() + + LOG.info("start logging...") + total_size = 0 + block_size = 0 + last_time = time.time() + + while True: + # read data from up buffers (target -> host) + data = target.read_memory_block8(up_addr, sizeof(SEGGER_RTT_BUFFER_UP)) + up = SEGGER_RTT_BUFFER_UP.from_buffer(bytearray(data)) + + if up.WrOff == up.RdOff: + if kb.kbhit(): + LOG.info("Abort...") + break + + if up.WrOff > up.RdOff: + """ + |oooooo|xxxxxxxxxxxx|oooooo| + 0 rdOff WrOff SizeOfBuffer + """ + data = target.read_memory_block8(up.pBuffer + up.RdOff, up.WrOff - up.RdOff) + target.write_memory(up_addr + SEGGER_RTT_BUFFER_UP.RdOff.offset, up.WrOff) + + elif up.WrOff < up.RdOff: + """ + |xxxxxx|oooooooooooo|xxxxxx| + 0 WrOff RdOff SizeOfBuffer + """ + data = target.read_memory_block8(up.pBuffer + up.RdOff, up.SizeOfBuffer - up.RdOff) + data += target.read_memory_block8(up.pBuffer, up.WrOff) + target.write_memory(up_addr + SEGGER_RTT_BUFFER_UP.RdOff.offset, up.WrOff) + + log_file.write(bytes(data)) + + s = len(data) + block_size += s + total_size += s + diff = time.time() - last_time + if diff > 1.0: + print(f"Transfer rate: {block_size / 1000:.1f} KByte/s; Bytes written: {total_size / 1000:.0f} KByte", end="\r") + block_size = 0 + last_time = time.time() + + except KeyboardInterrupt: + pass + + finally: + if session: + session.close() + if kb: + kb.set_normal_term() + + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument( + '-If', + type=str, + default='SWD', + help='interface') + parser.add_argument( + '-Device', + type=str, + default='cortex_m', + help='device') + parser.add_argument( + '-Speed', + type=int, + default=8000, + help='speed') + parser.add_argument( + '-RTTChannel', + type=int, + default=0, + help='RTT channel') + parser.add_argument( + '-RTTSearchRanges', + type=str, + default="", + help='RTT search ranges') + parser.add_argument( + '-RTTAddress', + type=lambda x: int(x, 0), + default=-1, + help='RTT search ranges') + parser.add_argument( + '-ID', + type=str, + default="", + help='Probe unique ID') + parser.add_argument( + '-ConnectMode', + type=str, + default="attach", + help='Select connect mode from one of (halt, pre-reset, under-reset, attach)') + parser.add_argument( + 'LogFile', + type=str, + help='Log file name') + FLAGS, unparsed = parser.parse_known_args() + run(FLAGS)