mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-04-16 08:42:28 +00:00
add hci_read_bd_addr, don't turn on BT in hci_init(), add temp hack to get socket data
This commit is contained in:
parent
e1d15a27d1
commit
68d92d036b
13
src/hci.c
13
src/hci.c
@ -15,6 +15,7 @@
|
|||||||
#define OPCODE(ogf, ocf) (ocf | ogf << 10)
|
#define OPCODE(ogf, ocf) (ocf | ogf << 10)
|
||||||
#define OGF_LINK_CONTROL 0x01
|
#define OGF_LINK_CONTROL 0x01
|
||||||
#define OGF_CONTROLLER_BASEBAND 0x03
|
#define OGF_CONTROLLER_BASEBAND 0x03
|
||||||
|
#define OGF_INFORMATIONAL_PARAMETERS 0x04
|
||||||
|
|
||||||
hci_cmd_t hci_inquiry = {
|
hci_cmd_t hci_inquiry = {
|
||||||
OPCODE(OGF_LINK_CONTROL, 0x01), "311"
|
OPCODE(OGF_LINK_CONTROL, 0x01), "311"
|
||||||
@ -54,6 +55,11 @@ hci_cmd_t hci_host_buffer_size = {
|
|||||||
// Host_ACL_Data_Packet_Length:, Host_Synchronous_Data_Packet_Length:, Host_Total_Num_ACL_Data_Packets:, Host_Total_Num_Synchronous_Data_Packets:
|
// Host_ACL_Data_Packet_Length:, Host_Synchronous_Data_Packet_Length:, Host_Total_Num_ACL_Data_Packets:, Host_Total_Num_Synchronous_Data_Packets:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hci_cmd_t hci_read_bd_addr = {
|
||||||
|
OPCODE(OGF_INFORMATIONAL_PARAMETERS, 0x09), ""
|
||||||
|
// no params
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
// the stack is here
|
// the stack is here
|
||||||
static hci_stack_t hci_stack;
|
static hci_stack_t hci_stack;
|
||||||
@ -214,9 +220,6 @@ void hci_init(hci_transport_t *transport, void *config, bt_control_t *control){
|
|||||||
// register packet handlers with transport
|
// register packet handlers with transport
|
||||||
transport->register_event_packet_handler( event_handler);
|
transport->register_event_packet_handler( event_handler);
|
||||||
transport->register_acl_packet_handler( acl_handler);
|
transport->register_acl_packet_handler( acl_handler);
|
||||||
|
|
||||||
// turn on
|
|
||||||
hci_power_control(HCI_POWER_ON);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int hci_power_control(HCI_POWER_MODE power_mode){
|
int hci_power_control(HCI_POWER_MODE power_mode){
|
||||||
@ -241,6 +244,10 @@ int hci_power_control(HCI_POWER_MODE power_mode){
|
|||||||
// power off
|
// power off
|
||||||
hci_stack.control->off(hci_stack.config);
|
hci_stack.control->off(hci_stack.config);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// trigger next/first action
|
||||||
|
hci_run();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -174,6 +174,7 @@ int hci_send_acl_packet(uint8_t *packet, int size);
|
|||||||
// helper
|
// helper
|
||||||
extern void bt_store_16(uint8_t *buffer, uint16_t pos, uint16_t value);
|
extern void bt_store_16(uint8_t *buffer, uint16_t pos, uint16_t value);
|
||||||
extern void bt_store_32(uint8_t *buffer, uint16_t pos, uint32_t value);
|
extern void bt_store_32(uint8_t *buffer, uint16_t pos, uint32_t value);
|
||||||
|
extern void bt_flip_addr(bd_addr_t dest, bd_addr_t src);
|
||||||
|
|
||||||
extern hci_cmd_t hci_inquiry;
|
extern hci_cmd_t hci_inquiry;
|
||||||
extern hci_cmd_t hci_link_key_request_negative_reply;
|
extern hci_cmd_t hci_link_key_request_negative_reply;
|
||||||
@ -183,4 +184,5 @@ extern hci_cmd_t hci_create_connection;
|
|||||||
extern hci_cmd_t hci_host_buffer_size;
|
extern hci_cmd_t hci_host_buffer_size;
|
||||||
extern hci_cmd_t hci_write_authentication_enable;
|
extern hci_cmd_t hci_write_authentication_enable;
|
||||||
extern hci_cmd_t hci_write_page_timeout;
|
extern hci_cmd_t hci_write_page_timeout;
|
||||||
|
extern hci_cmd_t hci_read_bd_addr;
|
||||||
|
|
||||||
|
@ -155,8 +155,8 @@ int main (int argc, const char * argv[]) {
|
|||||||
// init L2CAP
|
// init L2CAP
|
||||||
l2cap_init();
|
l2cap_init();
|
||||||
|
|
||||||
// trigger first hci action
|
// turn on
|
||||||
hci_run();
|
hci_power_control(HCI_POWER_ON);
|
||||||
|
|
||||||
// create server
|
// create server
|
||||||
data_source_t *socket_server = socket_server_create_tcp(1919);
|
data_source_t *socket_server = socket_server_create_tcp(1919);
|
||||||
|
@ -16,4 +16,10 @@ data_source_t * socket_server_create_tcp(int port);
|
|||||||
/**
|
/**
|
||||||
* create socket data_source for unix domain socket
|
* create socket data_source for unix domain socket
|
||||||
*/
|
*/
|
||||||
data_source_t * socket_server_create_unix(char *path);
|
data_source_t * socket_server_create_unix(char *path);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* register data available callback
|
||||||
|
* @todo: hack callback to allow data reception - replace with better architecture
|
||||||
|
*/
|
||||||
|
void socket_server_register_process_callback( int (*process_callback)(struct data_source *ds, int ready) );
|
||||||
|
Loading…
x
Reference in New Issue
Block a user