main.c (b78986078bc20b1a7b88aa8112c0f0dc0cab23e7) | main.c (9c228539c3642b8deb9946ec408199dd181ab24d) |
---|---|
1/* 2 * Copyright (c) 2016 Nordic Semiconductor ASA 3 * Copyright (c) 2015-2016 Intel Corporation 4 * 5 * SPDX-License-Identifier: Apache-2.0 6 */ 7 8#include <errno.h> --- 21 unchanged lines hidden (view full) --- 30#include "hci_transport.h" 31#include "bluetooth_company_id.h" 32#include "btstack_chipset_zephyr.h" 33 34#include "btstack_tlv.h" 35#include "btstack_tlv_none.h" 36#include "ble/le_device_db_tlv.h" 37 | 1/* 2 * Copyright (c) 2016 Nordic Semiconductor ASA 3 * Copyright (c) 2015-2016 Intel Corporation 4 * 5 * SPDX-License-Identifier: Apache-2.0 6 */ 7 8#include <errno.h> --- 21 unchanged lines hidden (view full) --- 30#include "hci_transport.h" 31#include "bluetooth_company_id.h" 32#include "btstack_chipset_zephyr.h" 33 34#include "btstack_tlv.h" 35#include "btstack_tlv_none.h" 36#include "ble/le_device_db_tlv.h" 37 |
38#define HCI_OPCODE_ZEPHYR_READ_STATIC_ADDRESS 0xFC09 39const hci_cmd_t hci_zephyr_read_static_address = { 40 HCI_OPCODE_ZEPHYR_READ_STATIC_ADDRESS, "" 41}; | |
42static K_FIFO_DEFINE(tx_queue); 43static K_FIFO_DEFINE(rx_queue); 44 45// 46// hci_transport_zephyr.c 47// 48 49static void (*transport_packet_handler)(uint8_t packet_type, uint8_t *packet, uint16_t size); --- 151 unchanged lines hidden (view full) --- 201 &btstack_run_loop_base_remove_timer, 202 &btstack_run_loop_zephyr_execute, 203 &btstack_run_loop_base_dump_timer, 204 &btstack_run_loop_zephyr_get_time_ms, 205}; 206/** 207 * @brief Provide btstack_run_loop_posix instance for use with btstack_run_loop_init 208 */ | 38static K_FIFO_DEFINE(tx_queue); 39static K_FIFO_DEFINE(rx_queue); 40 41// 42// hci_transport_zephyr.c 43// 44 45static void (*transport_packet_handler)(uint8_t packet_type, uint8_t *packet, uint16_t size); --- 151 unchanged lines hidden (view full) --- 197 &btstack_run_loop_base_remove_timer, 198 &btstack_run_loop_zephyr_execute, 199 &btstack_run_loop_base_dump_timer, 200 &btstack_run_loop_zephyr_get_time_ms, 201}; 202/** 203 * @brief Provide btstack_run_loop_posix instance for use with btstack_run_loop_init 204 */ |
209const btstack_run_loop_t * btstack_run_loop_zephyr_get_instance(void){ | 205static const btstack_run_loop_t * btstack_run_loop_zephyr_get_instance(void){ |
210 return &btstack_run_loop_zephyr; 211} 212 213static btstack_packet_callback_registration_t hci_event_callback_registration; 214 215static bd_addr_t local_addr; 216 217void nrf_get_static_random_addr( bd_addr_t addr ) { --- 37 unchanged lines hidden (view full) --- 255 printf("Unknown manufacturer.\n"); 256 nrf_get_static_random_addr( local_addr ); 257 gap_random_address_set( local_addr ); 258 break; 259 } 260} 261 262static void packet_handler (uint8_t packet_type, uint16_t channel, uint8_t *packet, uint16_t size){ | 206 return &btstack_run_loop_zephyr; 207} 208 209static btstack_packet_callback_registration_t hci_event_callback_registration; 210 211static bd_addr_t local_addr; 212 213void nrf_get_static_random_addr( bd_addr_t addr ) { --- 37 unchanged lines hidden (view full) --- 251 printf("Unknown manufacturer.\n"); 252 nrf_get_static_random_addr( local_addr ); 253 gap_random_address_set( local_addr ); 254 break; 255 } 256} 257 258static void packet_handler (uint8_t packet_type, uint16_t channel, uint8_t *packet, uint16_t size){ |
259 const uint8_t *params; |
|
263 if (packet_type != HCI_EVENT_PACKET) return; 264 switch (hci_event_packet_get_type(packet)){ 265 case BTSTACK_EVENT_STATE: 266 switch(btstack_event_state_get_state(packet)){ 267 case HCI_STATE_WORKING: 268 printf("BTstack up and running on %s.\n", bd_addr_to_str(local_addr)); 269 break; 270 case HCI_STATE_OFF: 271 log_info("Good bye, see you.\n"); 272 break; 273 default: 274 break; 275 } 276 break; 277 case HCI_EVENT_COMMAND_COMPLETE: 278 switch (hci_event_command_complete_get_command_opcode(packet)){ 279 case HCI_OPCODE_HCI_READ_LOCAL_VERSION_INFORMATION: 280 local_version_information_handler(packet); 281 break; | 260 if (packet_type != HCI_EVENT_PACKET) return; 261 switch (hci_event_packet_get_type(packet)){ 262 case BTSTACK_EVENT_STATE: 263 switch(btstack_event_state_get_state(packet)){ 264 case HCI_STATE_WORKING: 265 printf("BTstack up and running on %s.\n", bd_addr_to_str(local_addr)); 266 break; 267 case HCI_STATE_OFF: 268 log_info("Good bye, see you.\n"); 269 break; 270 default: 271 break; 272 } 273 break; 274 case HCI_EVENT_COMMAND_COMPLETE: 275 switch (hci_event_command_complete_get_command_opcode(packet)){ 276 case HCI_OPCODE_HCI_READ_LOCAL_VERSION_INFORMATION: 277 local_version_information_handler(packet); 278 break; |
282 case HCI_OPCODE_ZEPHYR_READ_STATIC_ADDRESS: 283 reverse_48(&packet[7], local_addr); | 279 case HCI_OPCODE_HCI_ZEPHYR_READ_STATIC_ADDRESS: 280 params = hci_event_command_complete_get_return_parameters(packet); 281 if(params[0] != 0) 282 break; 283 if(size < 13) 284 break; 285 reverse_48(¶ms[2], local_addr); |
284 gap_random_address_set(local_addr); 285 break; 286 default: 287 break; 288 } 289 break; 290 default: 291 break; --- 50 unchanged lines hidden --- | 286 gap_random_address_set(local_addr); 287 break; 288 default: 289 break; 290 } 291 break; 292 default: 293 break; --- 50 unchanged lines hidden --- |