108 lines
2.7 KiB
C
108 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_
|