mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-03-23 10:21:12 +00:00
atwilc3000: configure main baud rate
This commit is contained in:
parent
c7d3427cb5
commit
9df3854281
@ -82,6 +82,23 @@ static uint32_t fw_size;
|
||||
static uint32_t fw_offset;
|
||||
static uint32_t fw_baudrate;
|
||||
|
||||
static void atwilc3000_set_baudrate_command(uint32_t baudrate, uint8_t *hci_cmd_buffer){
|
||||
hci_cmd_buffer[0] = 0x53;
|
||||
hci_cmd_buffer[1] = 0xfc;
|
||||
hci_cmd_buffer[2] = 5;
|
||||
little_endian_store_32(hci_cmd_buffer, 3, fw_baudrate);
|
||||
hci_cmd_buffer[7] = 0; // No flow control
|
||||
}
|
||||
|
||||
#if 0
|
||||
static void atwilc3000_set_bd_addr_command(bd_addr_t addr, uint8_t *hci_cmd_buffer){
|
||||
hci_cmd_buffer[0] = 0x06;
|
||||
hci_cmd_buffer[1] = 0xFC;
|
||||
hci_cmd_buffer[2] = 0x06;
|
||||
reverse_bd_addr(addr, &hci_cmd_buffer[3]);
|
||||
}
|
||||
#endif
|
||||
|
||||
static void atwilc3000_send_command(const uint8_t * data, uint16_t len){
|
||||
hci_dump_packet(HCI_COMMAND_DATA_PACKET, 0, (uint8_t *) &data[1], len - 1);
|
||||
the_uart_driver->send_block(data, len);
|
||||
@ -133,11 +150,7 @@ static void atwilc3000_w4_command_complete_read_local_version_information(void){
|
||||
|
||||
static void atwilc3000_update_uart_params(void){
|
||||
command_buffer[0] = 1;
|
||||
command_buffer[1] = 0x53;
|
||||
command_buffer[2] = 0xfc;
|
||||
command_buffer[3] = 5;
|
||||
little_endian_store_32(command_buffer, 4, fw_baudrate);
|
||||
command_buffer[8] = 0; // No flow control
|
||||
atwilc3000_set_baudrate_command(fw_baudrate, &command_buffer[1]);
|
||||
the_uart_driver->receive_block(&event_buffer[0], 7);
|
||||
the_uart_driver->set_block_received(&atwilc3000_w4_baudrate_update);
|
||||
atwilc3000_send_command(&command_buffer[0], 9);
|
||||
@ -222,8 +235,8 @@ static const btstack_chipset_t btstack_chipset_atwilc3000 = {
|
||||
"atwilc3000",
|
||||
NULL, // chipset_init not used
|
||||
NULL, // chipset_next_command not used
|
||||
NULL, // chipset_set_baudrate_command not needed as we're connected via SPI
|
||||
NULL, // chipset_set_bd_addr not provided
|
||||
atwilc3000_set_baudrate_command,
|
||||
NULL, // atwilc3000_set_bd_addr_command,
|
||||
};
|
||||
|
||||
// MARK: public API
|
||||
|
@ -74,7 +74,7 @@ int btstack_main(int argc, const char * argv[]);
|
||||
static hci_transport_config_uart_t transport_config = {
|
||||
HCI_TRANSPORT_CONFIG_UART,
|
||||
115200,
|
||||
0, // main baudrate
|
||||
921600, // main baudrate
|
||||
0, // flow control
|
||||
NULL,
|
||||
};
|
||||
@ -128,6 +128,7 @@ static void phase2(int status){
|
||||
const hci_transport_t * transport = hci_transport_h4_instance(uart_driver);
|
||||
const btstack_link_key_db_t * link_key_db = btstack_link_key_db_fs_instance();
|
||||
hci_init(transport, (void*) &transport_config);
|
||||
hci_set_chipset(btstack_chipset_atwilc3000_instance());
|
||||
hci_set_link_key_db(link_key_db);
|
||||
|
||||
// inform about BTstack state
|
||||
|
Loading…
x
Reference in New Issue
Block a user