Skip to content

Commit 57d4103

Browse files
committed
Adapt to Target that don't support 3M BT Uart Baud
1 parent 15ee09c commit 57d4103

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

features/FEATURE_BLE/targets/TARGET_Cypress/TARGET_CYW43XXX/CyH4TransportDriver.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,10 @@ class CyH4TransportDriver : public cordio::CordioHCITransportDriver {
112112
#define WAKE_EVENT_ACTIVE_HIGH ( 1 ) /* Interrupt Rising Edge */
113113
#define WAKE_EVENT_ACTIVE_LOW ( 0 ) /* Interrupt Falling Edge */
114114

115+
#if (defined(TARGET_CY8CPROTO_062_4343W))
116+
#define BT_UART_NO_3M_SUPPORT ( 1 )
117+
#endif
118+
115119
ble::vendor::cypress_ble::CyH4TransportDriver& ble_cordio_get_default_h4_transport_driver();
116120
ble::vendor::cypress_ble::CyH4TransportDriver& ble_cordio_get_h4_transport_driver();
117121
#endif

features/FEATURE_BLE/targets/TARGET_Cypress/TARGET_CYW43XXX/HCIDriver.cpp

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,18 @@
2929
extern const int brcm_patch_ram_length;
3030
extern const uint8_t brcm_patchram_buf[];
3131

32+
#ifndef BT_UART_NO_3M_SUPPORT
3233
static const uint8_t pre_brcm_patchram_buf[] = {
3334
// RESET followed by update uart baudrate
3435
0x03, 0x0C, 0x00,
3536
0x18, 0xFC, 0x06, 0x00, 0x00, 0xC0, 0xC6, 0x2D, 0x00, //update uart baudrate 3 mbp
3637
};
38+
#else /* BT_UART_NO_3M_SUPPORT */
39+
static const uint8_t pre_brcm_patchram_buf[] = {
40+
// RESET cmd
41+
0x03, 0x0C, 0x00,
42+
};
43+
#endif /* BT_UART_NO_3M_SUPPORT */
3744

3845
static const uint8_t pre_brcm_patchram_buf2[] = {
3946
//download mini driver
@@ -126,7 +133,9 @@ class HCIDriver : public cordio::CordioHCIDriver {
126133
/* decode opcode */
127134
switch (opcode) {
128135
case HCI_VS_CMD_UPDATE_UART_BAUD_RATE:
136+
#ifndef BT_UART_NO_3M_SUPPORT
129137
cy_transport_driver.update_uart_baud_rate(DEF_BT_3M_BAUD_RATE);
138+
#endif /* BT_UART_NO_3M_SUPPORT */
130139
#ifdef CY_DEBUG
131140
HciReadLocalVerInfoCmd();
132141
#else
@@ -333,9 +342,11 @@ class HCIDriver : public cordio::CordioHCIDriver {
333342
// on PSoC6 to send hci download minidriver
334343
void prepare_service_pack_transfert2(void)
335344
{
345+
#ifndef BT_UART_NO_3M_SUPPORT
336346
cy_transport_driver.update_uart_baud_rate(DEF_BT_3M_BAUD_RATE);
347+
#endif /* BT_UART_NO_3M_SUPPORT */
337348
service_pack_ptr = pre_brcm_patchram_buf2;
338-
service_pack_length = pre_brcm_patch_ram_length2;
349+
service_pack_length = pre_brcm_patch_ram_length2;
339350
service_pack_next = &HCIDriver::start_service_pack_transfert;
340351
service_pack_index = 0;
341352
service_pack_transfered = false;
@@ -374,7 +385,11 @@ class HCIDriver : public cordio::CordioHCIDriver {
374385
service_pack_next = NULL;
375386
service_pack_index = 0;
376387
service_pack_transfered = true;
388+
#ifndef BT_UART_NO_3M_SUPPORT
377389
HciUpdateUartBaudRate();
390+
#else /* BT_UART_NO_3M_SUPPORT */
391+
set_sleep_mode();
392+
#endif /* BT_UART_NO_3M_SUPPORT */
378393
sleep_manager_unlock_deep_sleep();
379394
}
380395

0 commit comments

Comments
 (0)