From 7ee811141bd98f15e93da141b5a90d0e26296550 Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Tue, 19 Mar 2019 16:08:04 +0000 Subject: [PATCH] BLE - Add CordioHCIDriver::on_host_stack_inactivity This callback should be called by the host stack when it has no pending activities. It allows a driver to put its controller to sleep. --- .../targets/TARGET_CORDIO/driver/CordioHCIDriver.cpp | 4 ++++ .../targets/TARGET_CORDIO/driver/CordioHCIDriver.h | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/features/FEATURE_BLE/targets/TARGET_CORDIO/driver/CordioHCIDriver.cpp b/features/FEATURE_BLE/targets/TARGET_CORDIO/driver/CordioHCIDriver.cpp index 271ff9463a..f1c704583a 100644 --- a/features/FEATURE_BLE/targets/TARGET_CORDIO/driver/CordioHCIDriver.cpp +++ b/features/FEATURE_BLE/targets/TARGET_CORDIO/driver/CordioHCIDriver.cpp @@ -283,6 +283,10 @@ uint16_t CordioHCIDriver::write(uint8_t type, uint16_t len, uint8_t *pData) return _transport_driver.write(type, len, pData); } +void CordioHCIDriver::on_host_stack_inactivity() +{ +} + } // namespace cordio } // namespace vendor } // namespace ble diff --git a/features/FEATURE_BLE/targets/TARGET_CORDIO/driver/CordioHCIDriver.h b/features/FEATURE_BLE/targets/TARGET_CORDIO/driver/CordioHCIDriver.h index bf83389241..737bce73de 100644 --- a/features/FEATURE_BLE/targets/TARGET_CORDIO/driver/CordioHCIDriver.h +++ b/features/FEATURE_BLE/targets/TARGET_CORDIO/driver/CordioHCIDriver.h @@ -134,6 +134,16 @@ public: */ uint16_t write(uint8_t type, uint16_t len, uint8_t *pData); + /** + * React to host stack inactivity. + * + * The host stack invoke this function when it is inactive. It allows a + * driver to put its controller to sleep if all the conditions are met. + * + * Any call to write signals to the driver that the host stack is active. + */ + virtual void on_host_stack_inactivity(); + protected: /** * Return a default set of memory pool that the Cordio stack can use.