mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-04-25 09:02:30 +00:00
hci: add hci_set_chipset and set it for all ports
This commit is contained in:
parent
58360f586d
commit
c67501cb47
@ -751,6 +751,7 @@ void BTstackManager::setup(void){
|
|||||||
hci_transport_t * transport = hci_transport_h4_instance();
|
hci_transport_t * transport = hci_transport_h4_instance();
|
||||||
bt_control_t * control = bt_control_em9301_instance();
|
bt_control_t * control = bt_control_em9301_instance();
|
||||||
hci_init(transport, NULL, control, NULL);
|
hci_init(transport, NULL, control, NULL);
|
||||||
|
hci_set_chipset(btstack_chipset_em9301_instance());
|
||||||
|
|
||||||
if (have_custom_addr){
|
if (have_custom_addr){
|
||||||
hci_set_bd_addr(public_bd_addr);
|
hci_set_bd_addr(public_bd_addr);
|
||||||
|
@ -102,9 +102,10 @@ int main(void)
|
|||||||
bt_control_t * control = bt_control_cc256x_instance();
|
bt_control_t * control = bt_control_cc256x_instance();
|
||||||
remote_device_db_t * remote_db = (remote_device_db_t *) &remote_device_db_memory;
|
remote_device_db_t * remote_db = (remote_device_db_t *) &remote_device_db_memory;
|
||||||
hci_init(transport, &config, control, remote_db);
|
hci_init(transport, &config, control, remote_db);
|
||||||
|
hci_set_chipset(btstack_chipset_cc256x_instance());
|
||||||
|
|
||||||
// use eHCILL
|
// use eHCILL
|
||||||
bt_control_cc256x_enable_ehcill(1);
|
btstack_chipset_cc256x_enable_ehcill(1);
|
||||||
|
|
||||||
// ready - enable irq used in h4 task
|
// ready - enable irq used in h4 task
|
||||||
__enable_interrupt();
|
__enable_interrupt();
|
||||||
|
@ -379,9 +379,10 @@ int main(void){
|
|||||||
bt_control_t * control = bt_control_cc256x_instance();
|
bt_control_t * control = bt_control_cc256x_instance();
|
||||||
remote_device_db_t * remote_db = (remote_device_db_t *) &remote_device_db_memory;
|
remote_device_db_t * remote_db = (remote_device_db_t *) &remote_device_db_memory;
|
||||||
hci_init(transport, &config, control, remote_db);
|
hci_init(transport, &config, control, remote_db);
|
||||||
|
hci_set_chipset(btstack_chipset_cc256x_instance());
|
||||||
|
|
||||||
// use eHCILL
|
// use eHCILL
|
||||||
bt_control_cc256x_enable_ehcill(1);
|
btstack_chipset_cc256x_enable_ehcill(1);
|
||||||
|
|
||||||
// init L2CAP
|
// init L2CAP
|
||||||
l2cap_init();
|
l2cap_init();
|
||||||
|
@ -102,9 +102,10 @@ static void btstack_setup(void){
|
|||||||
bt_control_t * control = bt_control_cc256x_instance();
|
bt_control_t * control = bt_control_cc256x_instance();
|
||||||
remote_device_db_t * remote_db = (remote_device_db_t *) &remote_device_db_memory;
|
remote_device_db_t * remote_db = (remote_device_db_t *) &remote_device_db_memory;
|
||||||
hci_init(transport, &config, control, remote_db);
|
hci_init(transport, &config, control, remote_db);
|
||||||
|
hci_set_chipset(btstack_chipset_cc256x_instance());
|
||||||
|
|
||||||
// use eHCILL
|
// use eHCILL
|
||||||
bt_control_cc256x_enable_ehcill(1);
|
btstack_chipset_cc256x_enable_ehcill(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
int btstack_main(int argc, const char * argv[]);
|
int btstack_main(int argc, const char * argv[]);
|
||||||
|
@ -109,9 +109,10 @@ static void btstack_setup(void){
|
|||||||
bt_control_t * control = bt_control_cc256x_instance();
|
bt_control_t * control = bt_control_cc256x_instance();
|
||||||
remote_device_db_t * remote_db = (remote_device_db_t *) &remote_device_db_memory;
|
remote_device_db_t * remote_db = (remote_device_db_t *) &remote_device_db_memory;
|
||||||
hci_init(transport, &config, control, remote_db);
|
hci_init(transport, &config, control, remote_db);
|
||||||
|
hci_set_chipset(btstack_chipset_cc256x_instance());
|
||||||
|
|
||||||
// use eHCILL
|
// use eHCILL
|
||||||
// bt_control_cc256x_enable_ehcill(1);
|
// btstack_chipset_cc256x_enable_ehcill(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
int btstack_main(int argc, const char * argv[]);
|
int btstack_main(int argc, const char * argv[]);
|
||||||
|
@ -228,6 +228,7 @@ void BTSTACK_Initialize ( void )
|
|||||||
hci_transport_t * transport = hci_transport_h4_instance();
|
hci_transport_t * transport = hci_transport_h4_instance();
|
||||||
bt_control_t * control = bt_control_csr_instance();
|
bt_control_t * control = bt_control_csr_instance();
|
||||||
hci_init(transport, &config, control, NULL);
|
hci_init(transport, &config, control, NULL);
|
||||||
|
hci_set_chipset(btstack_chipset_csr_instance());
|
||||||
|
|
||||||
// hci_power_control(HCI_POWER_ON);
|
// hci_power_control(HCI_POWER_ON);
|
||||||
btstack_main(0, NULL);
|
btstack_main(0, NULL);
|
||||||
|
@ -118,6 +118,7 @@ int main(int argc, const char * argv[]){
|
|||||||
remote_device_db_t * remote_db = (remote_device_db_t *) &remote_device_db_fs;
|
remote_device_db_t * remote_db = (remote_device_db_t *) &remote_device_db_fs;
|
||||||
|
|
||||||
hci_init(transport, (void*) &config, control, remote_db);
|
hci_init(transport, (void*) &config, control, remote_db);
|
||||||
|
hci_set_chipset(btstack_chipset_csr_instance());
|
||||||
|
|
||||||
// handle CTRL-c
|
// handle CTRL-c
|
||||||
signal(SIGINT, sigint_handler);
|
signal(SIGINT, sigint_handler);
|
||||||
|
@ -107,6 +107,7 @@ int main(int argc, const char * argv[]){
|
|||||||
remote_device_db_t * remote_db = (remote_device_db_t *) &remote_device_db_fs;
|
remote_device_db_t * remote_db = (remote_device_db_t *) &remote_device_db_fs;
|
||||||
|
|
||||||
hci_init(transport, (void*) &config, control, remote_db);
|
hci_init(transport, (void*) &config, control, remote_db);
|
||||||
|
hci_set_chipset(btstack_chipset_stlc2500d_instance());
|
||||||
|
|
||||||
// handle CTRL-c
|
// handle CTRL-c
|
||||||
signal(SIGINT, sigint_handler);
|
signal(SIGINT, sigint_handler);
|
||||||
|
@ -104,6 +104,7 @@ int main(int argc, const char * argv[]){
|
|||||||
remote_device_db_t * remote_db = (remote_device_db_t *) &remote_device_db_fs;
|
remote_device_db_t * remote_db = (remote_device_db_t *) &remote_device_db_fs;
|
||||||
|
|
||||||
hci_init(transport, (void*) &hci_uart_config, control, remote_db);
|
hci_init(transport, (void*) &hci_uart_config, control, remote_db);
|
||||||
|
hci_set_chipset(btstack_chipset_tc3566x_instance());
|
||||||
|
|
||||||
// handle CTRL-c
|
// handle CTRL-c
|
||||||
signal(SIGINT, sigint_handler);
|
signal(SIGINT, sigint_handler);
|
||||||
|
@ -108,6 +108,7 @@ int main(int argc, const char * argv[]){
|
|||||||
remote_device_db_t * remote_db = (remote_device_db_t *) &remote_device_db_fs;
|
remote_device_db_t * remote_db = (remote_device_db_t *) &remote_device_db_fs;
|
||||||
|
|
||||||
hci_init(transport, (void*) &config, control, remote_db);
|
hci_init(transport, (void*) &config, control, remote_db);
|
||||||
|
hci_set_chipset(btstack_chipset_cc256x_instance());
|
||||||
|
|
||||||
// handle CTRL-c
|
// handle CTRL-c
|
||||||
signal(SIGINT, sigint_handler);
|
signal(SIGINT, sigint_handler);
|
||||||
|
@ -428,9 +428,10 @@ int main(void)
|
|||||||
bt_control_t * control = bt_control_cc256x_instance();
|
bt_control_t * control = bt_control_cc256x_instance();
|
||||||
remote_device_db_t * remote_db = (remote_device_db_t *) &remote_device_db_memory;
|
remote_device_db_t * remote_db = (remote_device_db_t *) &remote_device_db_memory;
|
||||||
hci_init(transport, (void*) &config, control, remote_db);
|
hci_init(transport, (void*) &config, control, remote_db);
|
||||||
|
hci_set_chipset(btstack_chipset_cc256x_instance());
|
||||||
|
|
||||||
// enable eHCILL
|
// enable eHCILL
|
||||||
bt_control_cc256x_enable_ehcill(1);
|
btstack_chipset_cc256x_enable_ehcill(1);
|
||||||
|
|
||||||
// hand over to btstack embedded code
|
// hand over to btstack embedded code
|
||||||
btstack_main();
|
btstack_main();
|
||||||
|
@ -96,6 +96,7 @@ void application_start(void){
|
|||||||
bt_control_t * control = bt_control_bcm_instance();
|
bt_control_t * control = bt_control_bcm_instance();
|
||||||
remote_device_db_t * remote_db = (remote_device_db_t *) &remote_device_db_memory;
|
remote_device_db_t * remote_db = (remote_device_db_t *) &remote_device_db_memory;
|
||||||
hci_init(transport, (void*) &hci_transport_config_uart, control, remote_db);
|
hci_init(transport, (void*) &hci_transport_config_uart, control, remote_db);
|
||||||
|
hci_set_chipset(btstack_chipset_bcm_instance());
|
||||||
|
|
||||||
// use WIFI Mac address + 1 for Bluetooth
|
// use WIFI Mac address + 1 for Bluetooth
|
||||||
bd_addr_t dummy = { 1,2,3,4,5,6};
|
bd_addr_t dummy = { 1,2,3,4,5,6};
|
||||||
|
@ -1910,6 +1910,8 @@ void hci_init(hci_transport_t *transport, void *config, bt_control_t *control, r
|
|||||||
// reference to used config
|
// reference to used config
|
||||||
hci_stack->config = config;
|
hci_stack->config = config;
|
||||||
|
|
||||||
|
// init used chipset with NULL for now (already done my memset above)
|
||||||
|
|
||||||
// higher level handler
|
// higher level handler
|
||||||
hci_stack->packet_handler = dummy_handler;
|
hci_stack->packet_handler = dummy_handler;
|
||||||
|
|
||||||
|
@ -515,6 +515,7 @@ typedef struct {
|
|||||||
typedef struct {
|
typedef struct {
|
||||||
// transport component with configuration
|
// transport component with configuration
|
||||||
hci_transport_t * hci_transport;
|
hci_transport_t * hci_transport;
|
||||||
|
btstack_chipset_t * chipset;
|
||||||
void * config;
|
void * config;
|
||||||
|
|
||||||
// basic configuration
|
// basic configuration
|
||||||
@ -758,6 +759,11 @@ void hci_local_bd_addr(bd_addr_t address_buffer);
|
|||||||
*/
|
*/
|
||||||
void hci_init(hci_transport_t *transport, void *config, bt_control_t *control, remote_device_db_t const* remote_device_db);
|
void hci_init(hci_transport_t *transport, void *config, bt_control_t *control, remote_device_db_t const* remote_device_db);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Configure Bluetooth chipset driver. Has to be called before power on, or right after receiving the local version information
|
||||||
|
*/
|
||||||
|
void hci_set_chipset(btstack_chipset_t *chipset_driver);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Set class of device that will be set during Bluetooth init.
|
* @brief Set class of device that will be set during Bluetooth init.
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user