From 70d74889798eec615eccc6f64d5ebb2c21a5bde4 Mon Sep 17 00:00:00 2001 From: Matthias Ringwald Date: Fri, 23 Mar 2018 10:07:24 +0100 Subject: [PATCH] em9304: add some vendor specific hci commands --- chipset/em9301/btstack_chipset_em9301.c | 54 ++++++++++++++++++++++++- chipset/em9301/btstack_chipset_em9301.h | 10 +++++ 2 files changed, 63 insertions(+), 1 deletion(-) diff --git a/chipset/em9301/btstack_chipset_em9301.c b/chipset/em9301/btstack_chipset_em9301.c index 0631fa1ce..197c50077 100644 --- a/chipset/em9301/btstack_chipset_em9301.c +++ b/chipset/em9301/btstack_chipset_em9301.c @@ -60,8 +60,60 @@ #define HCI_OPCODE_EM_WRITE_PATCH_CONTINUE (0xFC28) #define HCI_OPCODE_EM_WRITE_PATCH_ABORT (0xFC29) #define HCI_OPCODE_EM_CPU_RESET (0xFC32) -#define HCI_OPCODE_EM_PATCH_QUERY (0xFC34) +/** + * @param bd_addr + */ +const hci_cmd_t hci_vendor_em_set_public_address = { + 0xFC02, "B" +}; + +/** + * @param baud_rate_index + */ +const hci_cmd_t hci_vendor_em_set_uart_baudrate = { + 0xFC07, "1" +}; + +/** + * @param transmitter_test_mode + * @param channel_number + * @param packet_length + * @param packet_payload_type + */ +const hci_cmd_t hci_vendor_em_transmitter_test = { + 0xFC11, "1111" +}; + +/** + */ +const hci_cmd_t hci_vendor_em_transmitter_test_end = { + 0xFC12, "" +}; + +/** + * @param patch_index + */ +const hci_cmd_t hci_vendor_em_patch_query = { + 0xFC34, "2" +}; + +/** + * Change the state of the selected memory. + * @param memory_attribute + */ +const hci_cmd_t hci_vendor_em_set_memory_mode = { + 0xFC2B, "1" +}; + +/** + * @param sleep_option_settings + */ +const hci_cmd_t hci_vendor_em_set_sleep_options = { + 0xFC2D, "1" +}; + +// baudrate to index for hci_vendor_em_set_uart_baudrate static const uint32_t baudrates[] = { 0, 0, diff --git a/chipset/em9301/btstack_chipset_em9301.h b/chipset/em9301/btstack_chipset_em9301.h index 62bd8fb3d..8bdd9e2ec 100644 --- a/chipset/em9301/btstack_chipset_em9301.h +++ b/chipset/em9301/btstack_chipset_em9301.h @@ -51,9 +51,19 @@ extern "C" { #endif #include "btstack_chipset.h" +#include "hci_cmd.h" const btstack_chipset_t * btstack_chipset_em9301_instance(void); +// vendor specific commands +extern const hci_cmd_t hci_vendor_em_set_public_address; +extern const hci_cmd_t hci_vendor_em_set_uart_baudrate; +extern const hci_cmd_t hci_vendor_em_transmitter_test; +extern const hci_cmd_t hci_vendor_em_transmitter_test_end; +extern const hci_cmd_t hci_vendor_em_patch_query; +extern const hci_cmd_t hci_vendor_em_set_memory_mode; +extern const hci_cmd_t hci_vendor_em_set_sleep_options; + #if defined __cplusplus } #endif