Adapt to Target that don't support 3M BT Uart Baud

pull/11518/head
Mukund Ghonasgi 2019-09-24 16:49:54 -07:00
parent 15ee09c4bd
commit 57d4103dd8
2 changed files with 20 additions and 1 deletions

View File

@ -112,6 +112,10 @@ private:
#define WAKE_EVENT_ACTIVE_HIGH ( 1 ) /* Interrupt Rising Edge */
#define WAKE_EVENT_ACTIVE_LOW ( 0 ) /* Interrupt Falling Edge */
#if (defined(TARGET_CY8CPROTO_062_4343W))
#define BT_UART_NO_3M_SUPPORT ( 1 )
#endif
ble::vendor::cypress_ble::CyH4TransportDriver& ble_cordio_get_default_h4_transport_driver();
ble::vendor::cypress_ble::CyH4TransportDriver& ble_cordio_get_h4_transport_driver();
#endif

View File

@ -29,11 +29,18 @@
extern const int brcm_patch_ram_length;
extern const uint8_t brcm_patchram_buf[];
#ifndef BT_UART_NO_3M_SUPPORT
static const uint8_t pre_brcm_patchram_buf[] = {
// RESET followed by update uart baudrate
0x03, 0x0C, 0x00,
0x18, 0xFC, 0x06, 0x00, 0x00, 0xC0, 0xC6, 0x2D, 0x00, //update uart baudrate 3 mbp
};
#else /* BT_UART_NO_3M_SUPPORT */
static const uint8_t pre_brcm_patchram_buf[] = {
// RESET cmd
0x03, 0x0C, 0x00,
};
#endif /* BT_UART_NO_3M_SUPPORT */
static const uint8_t pre_brcm_patchram_buf2[] = {
//download mini driver
@ -126,7 +133,9 @@ public:
/* decode opcode */
switch (opcode) {
case HCI_VS_CMD_UPDATE_UART_BAUD_RATE:
#ifndef BT_UART_NO_3M_SUPPORT
cy_transport_driver.update_uart_baud_rate(DEF_BT_3M_BAUD_RATE);
#endif /* BT_UART_NO_3M_SUPPORT */
#ifdef CY_DEBUG
HciReadLocalVerInfoCmd();
#else
@ -333,9 +342,11 @@ private:
// on PSoC6 to send hci download minidriver
void prepare_service_pack_transfert2(void)
{
#ifndef BT_UART_NO_3M_SUPPORT
cy_transport_driver.update_uart_baud_rate(DEF_BT_3M_BAUD_RATE);
#endif /* BT_UART_NO_3M_SUPPORT */
service_pack_ptr = pre_brcm_patchram_buf2;
service_pack_length = pre_brcm_patch_ram_length2;
service_pack_length = pre_brcm_patch_ram_length2;
service_pack_next = &HCIDriver::start_service_pack_transfert;
service_pack_index = 0;
service_pack_transfered = false;
@ -374,7 +385,11 @@ private:
service_pack_next = NULL;
service_pack_index = 0;
service_pack_transfered = true;
#ifndef BT_UART_NO_3M_SUPPORT
HciUpdateUartBaudRate();
#else /* BT_UART_NO_3M_SUPPORT */
set_sleep_mode();
#endif /* BT_UART_NO_3M_SUPPORT */
sleep_manager_unlock_deep_sleep();
}