W801_SDK_dev_env/app/ble/ble_modem.h

61 lines
1.5 KiB
C

#ifndef BLE_MODEM_H
#define BLE_MODEM_H
#include "wm_type_def.h"
/**
* @brief Turns the BLE modem on
*
* @param startService to start the ble service when turning the modem on
* @return true on success
* @return false on failure
*/
bool ble_modem_on(bool bluetoothOnly, bool startService);
/**
* @brief Turns the BLE modem off
* @note If the ble service was started, then it will automatically be turned off with the modem
*
* @return true on success
* @return false on failure
*/
bool ble_modem_off(void);
/**
* @brief Find out if the modem is turned on or not
*
* @return true if turned on
* @return false if turned off
*/
bool is_ble_modem_on(void);
/**
* @brief Sets the BLE modem to sleep during IDLE times.
* This will lead to a latency penalty of arround 10 seconds,
* upon receiving a new frame but reduces power consumption when using BLE.
*
* @return true if the modem was successfully set to sleep.
* @return false if not
*/
bool ble_modem_sleep(void);
/**
* @brief Disables the sleep state of the BLE modem. Latency will increase and power
* consumption also.
*
* @return true if the modem woke up successfully
* @return false otherwise
*/
bool ble_modem_wake(void);
/**
* @brief Returns true if the BLE modem is allowed to sleep during IDLE times, false
* if it is not allowed to sleep.
*
* @return true if it is sleeping or allowed to sleep
* @return false otherwise
*/
bool ble_modem_is_sleeping(void);
#endif //BLE_MODEM_H