pinebuds/services/ble_app/app_main/app_task.h
2022-08-15 17:20:27 +08:00

107 lines
2.7 KiB
C

/***************************************************************************
*
* Copyright 2015-2019 BES.
* All rights reserved. All unpublished rights reserved.
*
* No part of this work may be used or reproduced in any form or by any
* means, or stored in a database or retrieval system, without prior written
* permission of BES.
*
* Use of this work is governed by a license granted by BES.
* This work contains confidential and proprietary information of
* BES. which is protected by copyright, trade secret,
* trademark and other intellectual property rights.
*
****************************************************************************/
#ifndef APP_TASK_H_
#define APP_TASK_H_
/**
****************************************************************************************
* @addtogroup APPTASK Task
* @ingroup APP
* @brief Routes ALL messages to/from APP block.
*
* The APPTASK is the block responsible for bridging the final application with the
* RWBLE software host stack. It communicates with the different modules of the BLE host,
* i.e. @ref SMP, @ref GAP and @ref GATT.
*
* @{
****************************************************************************************
*/
/*
* INCLUDE FILES
****************************************************************************************
*/
#include "rwip_config.h" // SW configuration
#if (BLE_APP_PRESENT)
#include <stdint.h> // Standard Integer
#include "rwip_task.h" // Task definitions
#include "ke_task.h" // Kernel Task
/*
* DEFINES
****************************************************************************************
*/
/// Number of APP Task Instances
#define APP_IDX_MAX (BLE_CONNECTION_MAX)
/*
* ENUMERATIONS
****************************************************************************************
*/
/// States of APP task
enum appm_state
{
/// Initialization state
APPM_INIT,
/// Database create state
APPM_CREATE_DB,
/// Ready State
APPM_READY,
/// Advertising state
APPM_ADVERTISING,
/// Scanning state
APPM_SCANNING,
/// connecting state
APPM_CONNECTING,
/// Connected state
APPM_CONNECTED,
/// Number of defined states.
APPM_STATE_MAX
};
/// APP Task messages
enum appm_msg
{
APPM_DUMMY_MSG = TASK_FIRST_MSG(TASK_ID_APP),
/// Timer used to automatically stop advertising
APP_ADV_TIMEOUT_TIMER,
#if (BLE_APP_HT)
/// Timer used to refresh the temperature measurement value
APP_HT_MEAS_INTV_TIMER,
#endif //(BLE_APP_HT)
#if (BLE_APP_HID)
/// Timer used to disconnect the moue if no activity is detecter
APP_HID_MOUSE_TIMEOUT_TIMER,
#endif //(BLE_APP_HID)
};
/// @} APPTASK
#endif //(BLE_APP_PRESENT)
#endif // APP_TASK_H_