Skip to content

Commit 3445eb2

Browse files
committed
Shifting BT power pin references to mbed style in transport ccriver and cy_bt_cordio_cfg; removing freeing of dev wake pin and changing to deasserting this during terminate
1 parent 4d70877 commit 3445eb2

File tree

3 files changed

+18
-17
lines changed

3 files changed

+18
-17
lines changed

connectivity/drivers/ble/FEATURE_BLE/COMPONENT_CYW43XXX/CyH4TransportDriver.cpp

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ namespace cypress_ble {
3131

3232
using namespace std::chrono_literals;
3333

34-
CyH4TransportDriver::CyH4TransportDriver(PinName tx, PinName rx, PinName cts, PinName rts, int baud, PinName bt_host_wake_name, PinName bt_device_wake_name, uint8_t host_wake_irq, uint8_t dev_wake_irq) :
34+
CyH4TransportDriver::CyH4TransportDriver(PinName tx, PinName rx, PinName cts, PinName rts, PinName bt_power_name, int baud, PinName bt_host_wake_name, PinName bt_device_wake_name, uint8_t host_wake_irq, uint8_t dev_wake_irq) :
3535
cts(cts), rts(rts),
3636
tx(tx), rx(rx),
3737
bt_host_wake_name(bt_host_wake_name),
@@ -40,21 +40,21 @@ CyH4TransportDriver::CyH4TransportDriver(PinName tx, PinName rx, PinName cts, Pi
4040
bt_device_wake(bt_device_wake_name, PIN_OUTPUT, PullNone, 1),
4141
host_wake_irq_event(host_wake_irq),
4242
dev_wake_irq_event(dev_wake_irq),
43-
bt_power(CYBSP_BT_POWER, PIN_OUTPUT, PullNone, 0)
43+
bt_power(bt_power_name, PIN_OUTPUT, PullNone, 0)
4444
{
4545
enabled_powersave = true;
4646
bt_host_wake_active = false;
4747
}
4848

49-
CyH4TransportDriver::CyH4TransportDriver(PinName tx, PinName rx, PinName cts, PinName rts, int baud) :
49+
CyH4TransportDriver::CyH4TransportDriver(PinName tx, PinName rx, PinName cts, PinName rts, PinName bt_power_name, int baud) :
5050
cts(cts),
5151
rts(rts),
5252
tx(tx), rx(rx),
5353
bt_host_wake_name(NC),
5454
bt_device_wake_name(NC),
5555
bt_host_wake(bt_host_wake_name),
5656
bt_device_wake(bt_device_wake_name),
57-
bt_power(CYBSP_BT_POWER, PIN_OUTPUT, PullNone, 0)
57+
bt_power(bt_power_name, PIN_OUTPUT, PullNone, 0)
5858
{
5959
enabled_powersave = false;
6060
bt_host_wake_active = false;
@@ -169,11 +169,6 @@ void CyH4TransportDriver::terminate()
169169
false
170170
);
171171

172-
// DigitalInOut does not appear to have Destructor nor does it have a
173-
// free() func (though the protected gpio_t does) so must call directly
174-
// into cyhal
175-
if(CYBSP_BT_DEVICE_WAKE != NC) cyhal_gpio_free(CYBSP_BT_DEVICE_WAKE);
176-
177172
if(bt_host_wake.is_connected())
178173
{
179174
#if (defined(MBED_TICKLESS) && DEVICE_SLEEP && DEVICE_LPTICKER)
@@ -182,6 +177,8 @@ void CyH4TransportDriver::terminate()
182177
bt_host_wake = false;
183178
}
184179

180+
deassert_bt_dev_wake();
181+
185182
bt_power = 0; //BT_POWER is an output, should not be freed only set inactive
186183

187184
cyhal_uart_free(&uart);
@@ -265,14 +262,14 @@ ble::vendor::cypress_ble::CyH4TransportDriver& ble_cordio_get_default_h4_transpo
265262
#if (defined(CYBSP_BT_HOST_WAKE) && defined(CYBSP_BT_DEVICE_WAKE))
266263
static ble::vendor::cypress_ble::CyH4TransportDriver s_transport_driver(
267264
/* TX */ CYBSP_BT_UART_TX, /* RX */ CYBSP_BT_UART_RX,
268-
/* cts */ CYBSP_BT_UART_CTS, /* rts */ CYBSP_BT_UART_RTS, DEF_BT_BAUD_RATE,
265+
/* cts */ CYBSP_BT_UART_CTS, /* rts */ CYBSP_BT_UART_RTS, CYBSP_BT_POWER, DEF_BT_BAUD_RATE,
269266
CYBSP_BT_HOST_WAKE, CYBSP_BT_DEVICE_WAKE
270267
);
271268

272269
#else
273270
static ble::vendor::cypress_ble::CyH4TransportDriver s_transport_driver(
274271
/* TX */ CYBSP_BT_UART_TX, /* RX */ CYBSP_BT_UART_RX,
275-
/* cts */ CYBSP_BT_UART_CTS, /* rts */ CYBSP_BT_UART_RTS, DEF_BT_BAUD_RATE);
272+
/* cts */ CYBSP_BT_UART_CTS, /* rts */ CYBSP_BT_UART_RTS, CYBSP_BT_POWER, DEF_BT_BAUD_RATE);
276273
#endif
277274
return s_transport_driver;
278275
}

connectivity/drivers/ble/FEATURE_BLE/COMPONENT_CYW43XXX/CyH4TransportDriver.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@ class CyH4TransportDriver : public CordioHCITransportDriver {
4141
* Initialize the transport driver.
4242
*
4343
*/
44-
CyH4TransportDriver(PinName tx, PinName rx, PinName cts, PinName rts, int baud, PinName bt_host_wake_name, PinName bt_device_wake_name,
44+
CyH4TransportDriver(PinName tx, PinName rx, PinName cts, PinName rts, PinName bt_power_name, int baud, PinName bt_host_wake_name, PinName bt_device_wake_name,
4545
uint8_t host_wake_irq = 0, uint8_t dev_wake_irq = 0);
46-
CyH4TransportDriver(PinName tx, PinName rx, PinName cts, PinName rts, int baud);
46+
CyH4TransportDriver(PinName tx, PinName rx, PinName cts, PinName rts, PinName bt_power_name, int baud);
4747

4848
/**
4949
* Destructor

connectivity/drivers/ble/FEATURE_BLE/COMPONENT_CYW43XXX/TARGET_PSOC6/cy_bt_cordio_cfg.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,8 @@ ble::vendor::cypress_ble::CyH4TransportDriver& ble_cordio_get_h4_transport_drive
8787
/* TX */ cyhal_gpio_to_rtos(CYBSP_BT_UART_TX),
8888
/* RX */ cyhal_gpio_to_rtos(CYBSP_BT_UART_RX),
8989
/* cts */ cyhal_gpio_to_rtos(CYBSP_BT_UART_CTS),
90-
/* rts */ cyhal_gpio_to_rtos(CYBSP_BT_UART_RTS), DEF_BT_BAUD_RATE,
90+
/* rts */ cyhal_gpio_to_rtos(CYBSP_BT_UART_RTS),
91+
/* power */ cyhal_gpio_to_rtos(CYBSP_BT_POWER), DEF_BT_BAUD_RATE,
9192
cyhal_gpio_to_rtos(CYCFG_BT_HOST_WAKE_GPIO),
9293
cyhal_gpio_to_rtos(CYCFG_BT_DEV_WAKE_GPIO),
9394
CYCFG_BT_HOST_WAKE_IRQ_EVENT,
@@ -99,15 +100,17 @@ ble::vendor::cypress_ble::CyH4TransportDriver& ble_cordio_get_h4_transport_drive
99100
/* TX */ cyhal_gpio_to_rtos(CYBSP_BT_UART_TX),
100101
/* RX */ cyhal_gpio_to_rtos(CYBSP_BT_UART_RX),
101102
/* cts */ cyhal_gpio_to_rtos(CYBSP_BT_UART_CTS),
102-
/* rts */ cyhal_gpio_to_rtos(CYBSP_BT_UART_RTS), DEF_BT_BAUD_RATE);
103+
/* rts */ cyhal_gpio_to_rtos(CYBSP_BT_UART_RTS),
104+
/* power */ cyhal_gpio_to_rtos(CYBSP_BT_POWER), DEF_BT_BAUD_RATE);
103105
return s_transport_driver;
104106
}
105107
#else /* (defined(CYCFG_BT_LP_ENABLED)) */
106108
static ble::vendor::cypress_ble::CyH4TransportDriver s_transport_driver(
107109
/* TX */ cyhal_gpio_to_rtos(CYBSP_BT_UART_TX),
108110
/* RX */ cyhal_gpio_to_rtos(CYBSP_BT_UART_RX),
109111
/* cts */ cyhal_gpio_to_rtos(CYBSP_BT_UART_CTS),
110-
/* rts */ cyhal_gpio_to_rtos(CYBSP_BT_UART_RTS), DEF_BT_BAUD_RATE,
112+
/* rts */ cyhal_gpio_to_rtos(CYBSP_BT_UART_RTS),
113+
/* power */ cyhal_gpio_to_rtos(CYBSP_BT_POWER), DEF_BT_BAUD_RATE,
111114
cyhal_gpio_to_rtos(CYBSP_BT_HOST_WAKE), cyhal_gpio_to_rtos(CYBSP_BT_DEVICE_WAKE)
112115
);
113116
return s_transport_driver;
@@ -118,7 +121,8 @@ ble::vendor::cypress_ble::CyH4TransportDriver& ble_cordio_get_h4_transport_drive
118121
/* TX */ cyhal_gpio_to_rtos(CYBSP_BT_UART_TX),
119122
/* RX */ cyhal_gpio_to_rtos(CYBSP_BT_UART_RX),
120123
/* cts */ cyhal_gpio_to_rtos(CYBSP_BT_UART_CTS),
121-
/* rts */ cyhal_gpio_to_rtos(CYBSP_BT_UART_RTS), DEF_BT_BAUD_RATE);
124+
/* rts */ cyhal_gpio_to_rtos(CYBSP_BT_UART_RTS),
125+
/* power */ cyhal_gpio_to_rtos(CYBSP_BT_POWER), DEF_BT_BAUD_RATE);
122126
return s_transport_driver;
123127
#endif /* (defined(MBED_TICKLESS) && DEVICE_SLEEP && DEVICE_LPTICKER) */
124128
}

0 commit comments

Comments
 (0)