diff --git a/connectivity/drivers/ble/COMPONENT_CYW43XXX/CyH4TransportDriver.cpp b/connectivity/drivers/ble/COMPONENT_CYW43XXX/CyH4TransportDriver.cpp index cc206f2ec9..787f1a7c7c 100644 --- a/connectivity/drivers/ble/COMPONENT_CYW43XXX/CyH4TransportDriver.cpp +++ b/connectivity/drivers/ble/COMPONENT_CYW43XXX/CyH4TransportDriver.cpp @@ -18,11 +18,18 @@ #if DEVICE_SERIAL && DEVICE_SERIAL_FC #include "CyH4TransportDriver.h" +#include "mbed_power_mgmt.h" +#include "drivers/InterruptIn.h" +#include "cybsp_types.h" +#include "Callback.h" +#include "rtos/ThisThread.h" +#include namespace ble { namespace vendor { namespace cypress_ble { +using namespace std::chrono_literals; 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) : cts(cts), rts(rts), @@ -112,7 +119,7 @@ static void on_controller_irq(void *callback_arg, cyhal_uart_event_t event) void CyH4TransportDriver::initialize() { #if (defined(MBED_TICKLESS) && DEVICE_SLEEP && DEVICE_LPTICKER) - InterruptIn *host_wake_pin; + mbed::InterruptIn *host_wake_pin; #endif sleep_manager_lock_deep_sleep(); @@ -126,9 +133,9 @@ void CyH4TransportDriver::initialize() #if (defined(MBED_TICKLESS) && DEVICE_SLEEP && DEVICE_LPTICKER) if (bt_host_wake_name != NC) { //Register IRQ for Host WAKE - host_wake_pin = new InterruptIn(bt_host_wake_name); - host_wake_pin->fall(callback(this, &CyH4TransportDriver::bt_host_wake_fall_irq_handler)); - host_wake_pin->rise(callback(this, &CyH4TransportDriver::bt_host_wake_rise_irq_handler)); + host_wake_pin = new mbed::InterruptIn(bt_host_wake_name); + host_wake_pin->fall(mbed::callback(this, &CyH4TransportDriver::bt_host_wake_fall_irq_handler)); + host_wake_pin->rise(mbed::callback(this, &CyH4TransportDriver::bt_host_wake_rise_irq_handler)); } #endif if (dev_wake_irq_event == WAKE_EVENT_ACTIVE_LOW) { diff --git a/connectivity/drivers/ble/COMPONENT_CYW43XXX/CyH4TransportDriver.h b/connectivity/drivers/ble/COMPONENT_CYW43XXX/CyH4TransportDriver.h index e07b2c8a22..86c83fdd49 100644 --- a/connectivity/drivers/ble/COMPONENT_CYW43XXX/CyH4TransportDriver.h +++ b/connectivity/drivers/ble/COMPONENT_CYW43XXX/CyH4TransportDriver.h @@ -21,9 +21,9 @@ #if (DEVICE_SERIAL && DEVICE_SERIAL_FC) || defined(DOXYGEN_ONLY) #include -#include "mbed.h" #include "CordioHCITransportDriver.h" #include "drivers/DigitalInOut.h" +#include "cyhal_uart.h" namespace ble { namespace vendor { @@ -88,15 +88,15 @@ private: // However UART APIs does not prevent the BT radio from going to sleep. // Use the HAL APIs to prevent the radio from going to sleep until UART transmition is complete. // Mbed layer has no API that distinguish between data in HW buffer v.s. data already transmitted. - + cyhal_uart_t uart; PinName cts; PinName rts; PinName bt_host_wake_name; PinName bt_device_wake_name; - DigitalInOut bt_host_wake; - DigitalInOut bt_device_wake; + mbed::DigitalInOut bt_host_wake; + mbed::DigitalInOut bt_device_wake; bool bt_host_wake_active; bool enabled_powersave; diff --git a/connectivity/drivers/ble/COMPONENT_CYW43XXX/mbed_lib.json b/connectivity/drivers/ble/COMPONENT_CYW43XXX/mbed_lib.json new file mode 100644 index 0000000000..5dc4dbe304 --- /dev/null +++ b/connectivity/drivers/ble/COMPONENT_CYW43XXX/mbed_lib.json @@ -0,0 +1,3 @@ +{ + "name": "cordio-cyw43xxx" +} diff --git a/connectivity/drivers/ble/TARGET_CY8C63XX/mbed_lib.json b/connectivity/drivers/ble/TARGET_CY8C63XX/mbed_lib.json new file mode 100644 index 0000000000..a23fb75acb --- /dev/null +++ b/connectivity/drivers/ble/TARGET_CY8C63XX/mbed_lib.json @@ -0,0 +1,4 @@ +{ + "name": "cordio-cy8c63xx" +} + diff --git a/connectivity/drivers/ble/TARGET_STM32WB/mbed_lib.json b/connectivity/drivers/ble/TARGET_STM32WB/mbed_lib.json new file mode 100644 index 0000000000..b0c80f5002 --- /dev/null +++ b/connectivity/drivers/ble/TARGET_STM32WB/mbed_lib.json @@ -0,0 +1,3 @@ +{ + "name": "cordio-stm32wb" +}