SmartSnippets DA1459x SDK
Data Structures | Typedefs | Enumerations | Functions
ble_mgr.h File Reference

BLE Manager API. More...

#include <stdbool.h>
#include "osal.h"
#include "ad_ble.h"
#include "ble_config.h"
#include "ble_gap.h"
#include "ble_mgr_config.h"
#include "ble_mgr_cmd.h"

Go to the source code of this file.

Data Structures

struct  ble_dev_params_tag
 
struct  ble_mgr_interface_t
 

Typedefs

typedef struct ble_dev_params_tag ble_dev_params_t
 
typedef enum ble_stack_msg_types ble_stack_msg_type_t
 

Enumerations

enum  ble_stack_msg_types
 

Functions

void ble_mgr_init (void)
 Initialize BLE Manager - create command and event queues. More...
 
OS_BASE_TYPE ble_mgr_command_queue_send (const void *item, OS_TICK_TIME wait_ticks)
 Send a message to the BLE Manager's command queue. More...
 
OS_BASE_TYPE ble_mgr_event_queue_send (const void *item, OS_TICK_TIME wait_ticks)
 Send a message to the BLE Manager's event queue. More...
 
void ble_mgr_event_queue_flush (void)
 Flush BLE Manager's event queue. More...
 
OS_BASE_TYPE ble_mgr_event_queue_get (void *item, OS_TICK_TIME wait_ticks)
 Get message from BLE Manager's event queue. More...
 
OS_BASE_TYPE ble_mgr_event_queue_peek (void *item, OS_TICK_TIME wait_ticks)
 Peek message from BLE Manager's event queue. More...
 
OS_BASE_TYPE ble_mgr_command_queue_send_from_isr (const void *item)
 Send a message to the BLE Manager's command queue from an ISR. More...
 
const ble_mgr_interface_tble_mgr_get_interface (void)
 Get BLE Manager interface structure. More...
 
void ble_mgr_register_application (OS_TASK task)
 Register application in BLE Manager. More...
 
OS_BASE_TYPE ble_mgr_response_queue_send (const void *item, OS_TICK_TIME wait_ticks)
 Send message to BLE Manager's response queue. More...
 
OS_BASE_TYPE ble_mgr_response_queue_get (void *item, OS_TICK_TIME wait_ticks)
 Get message from BLE Manager's response queue. More...
 
void ble_mgr_notify_app_task (uint32_t notif_value)
 Send a task notification to the application task registered to the BLE Manager. More...
 
ble_dev_params_tble_mgr_dev_params_acquire (void)
 Get a pointer to the BLE device parameters structure. More...
 
void ble_mgr_dev_params_release (void)
 Release the BLE device parameters. More...
 
void ble_mgr_acquire (void)
 Acquire the BLE manager interface. More...
 
void ble_mgr_release (void)
 Release the BLE manager interface. More...
 
void ble_mgr_waitqueue_acquire (void)
 Acquire the BLE manager waitqueue. More...
 
void ble_mgr_waitqueue_release (void)
 Release the BLE manager waitqueue. More...
 
bool ble_mgr_is_own_task (void)
 Checks if current task is BLE Manager task. More...
 
void ble_mgr_dev_params_set_default (void)
 Set default dev_params. More...
 
void ble_mgr_notify_commit_storage (void)
 Notifies BLE manager to commit storage changes, if any. More...
 
void ble_mgr_notify_adapter_blocked (bool status)
 Notifies BLE manager that BLE adapter is blocked or unblocked on its event queue. More...
 
void ble_mgr_notify_event_consumed (void)
 Notifies BLE manager that posted event was consumed. More...
 
bool ble_mgr_adapter_is_blocked (void)
 Returns current adapter status (blocked or not) More...
 
ble_status_t ble_mgr_get_status (void)
 Get the status of BLE. More...
 
void ble_mgr_set_status (ble_status_t status)
 Set BLE status. More...
 

Detailed Description

BLE Manager API.

Copyright (C) 2015-2023 Renesas Electronics Corporation and/or its affiliates. All rights reserved. Confidential Information.

This software ("Software") is supplied by Renesas Electronics Corporation and/or its affiliates ("Renesas"). Renesas grants you a personal, non-exclusive, non-transferable, revocable, non-sub-licensable right and license to use the Software, solely if used in or together with Renesas products. You may make copies of this Software, provided this copyright notice and disclaimer ("Notice") is included in all such copies. Renesas reserves the right to change or discontinue the Software at any time without notice.

THE SOFTWARE IS PROVIDED "AS IS". RENESAS DISCLAIMS ALL WARRANTIES OF ANY KIND, WHETHER EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. TO THE MAXIMUM EXTENT PERMITTED UNDER LAW, IN NO EVENT SHALL RENESAS BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE, EVEN IF RENESAS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. USE OF THIS SOFTWARE MAY BE SUBJECT TO TERMS AND CONDITIONS CONTAINED IN AN ADDITIONAL AGREEMENT BETWEEN YOU AND RENESAS. IN CASE OF CONFLICT BETWEEN THE TERMS OF THIS NOTICE AND ANY SUCH ADDITIONAL LICENSE AGREEMENT, THE TERMS OF THE AGREEMENT SHALL TAKE PRECEDENCE. BY CONTINUING TO USE THIS SOFTWARE, YOU AGREE TO THE TERMS OF THIS NOTICE.IF YOU DO NOT AGREE TO THESE TERMS, YOU ARE NOT PERMITTED TO USE THIS SOFTWARE.