FreeCalypso > hg > fc-magnetite
view src/aci2/mfw/mfw_bte.h @ 222:79cb194284ca
doc/Freerunner-Howto: update for the TCS2/TCS3 hybrid development
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 16 Oct 2016 00:26:26 +0000 |
parents | 93999a60b835 |
children |
line wrap: on
line source
/* +-------------------------------------------------------------------+ | PROJECT: MMI-Framework (8445) $Workfile:: mfw_bte.h $| | $Author:: NDH $Revision:: 1 $| | CREATED: 17.04.04 $Modtime:: 17.04.04 10:48 $| | STATE : code | +-------------------------------------------------------------------+ MODULE : MFW_BT PURPOSE : This module contains the definitions for MFW Bluetooth Management */ #ifndef DEF_MFW_BT_HEADER #define DEF_MFW_BT_HEADER #define BT_INTERFACE #include "bta_riviera.h" #include "target.h" #include "buildcfg.h" #include "bta_api.h" #include "mfw_mfw.h" #include "mfw_win.h" typedef enum { MFW_BT_UNKNOWN_DEVICE = -8, MFW_BT_DATA_BASE_FULL = -7, MFW_BT_NOT_INITIALISED = -6, MFW_BT_FAILED_TO_STORE_EVENT = -5, MFW_BT_INVALID_DATA = -4, MFW_BT_INVALID_EVENT = -3, MFW_BT_INVALID_ORIG = -2, MFW_BT_UNABLE_TO_CREATE_EVT_BUF = -1, MFW_BT_FAIL = 0, MFW_BT_SUCCESS = 1 } T_MFW_BT_STATUS; typedef enum { MFW_BT_DEFAULT_VIS = -1, MFW_BT_SHOWN = BTA_DM_GENERAL_DISC, MFW_BT_HIDDEN = BTA_DM_NON_DISC }T_MFW_STARTUP_VISIBILITY; /* ** Debug Macros : These will enable easy enabling/disabling of tracing within the Bluetooth environment */ #define MFW_BT_DEBUG 1 #ifdef MFW_BT_DEBUG #define MFW_BT_TRACE(a) TRACE_EVENT(a) #define MFW_BT_TRACE_P1(s, a) TRACE_EVENT_P1(s, a) #define MFW_BT_TRACE_P2(s, a, b) TRACE_EVENT_P2(s, a, b) #define MFW_BT_TRACE_P3(s, a, b, c) TRACE_EVENT_P3(s, a, b, c) #define MFW_BT_TRACE_P4(s, a, b, c, d) TRACE_EVENT_P4(s, a, b, c, d) #define MFW_BT_TRACE_P5(s, a, b, c, d, e) TRACE_EVENT_P5(s, a, b, c, d, e) #define MFW_BT_TRACE_P6(s, a, b, c, d, e, f) TRACE_EVENT_P6(s, a, b, c, d, e, f) #define MFW_BT_TRACE_P7(s, a, b, c, d, e, f, g) TRACE_EVENT_P7(s, a, b, c, d, e, f, g) #define MFW_BT_TRACE_P8(s, a, b, c, d, e, f, g, h) TRACE_EVENT_P8(s, a, b, c, d, e, f, g, h) #define MFW_BT_TRACE_P9(s, a, b, c, d, e, f, g, h, i) TRACE_EVENT_P9(s, a, b, c, d, e, f, g, h, i) #else #define MFW_BT_TRACE(a) #define MFW_BT_TRACE_P1(s, a) #define MFW_BT_TRACE_P2(s, a, b) #define MFW_BT_TRACE_P3(s, a, b, c) #define MFW_BT_TRACE_P4(s, a, b, c, d) #define MFW_BT_TRACE_P5(s, a, b, c, d, e) #define MFW_BT_TRACE_P6(s, a, b, c, d, e, f) #define MFW_BT_TRACE_P7(s, a, b, c, d, e, f, g) #define MFW_BT_TRACE_P8(s, a, b, c, d, e, f, g, h) #define MFW_BT_TRACE_P9(s, a, b, c, d, e, f, g, h, i) #endif /* ** Status return values : The Bluetooth module will use meaningful return values to the functions so the software ** can be engineered to react appropriately to specific events */ /********************************************************************************************** ** ** Mfw -> BMI Interface (Event related definitions) ** **********************************************************************************************/ /* * Events are organised as bitmaps */ #define E_BT_ENABLE_CMPL (T_MFW_EVENT)0x00000001 #define E_BT_DISABLE_CMPL (T_MFW_EVENT)0x00000002 #define E_BT_ALL_GENERIC_SERVICES (T_MFW_EVENT)0x0000000F #define E_BT_ALL_SERVICES ( (T_MFW_EVENT)(E_BT_ALL_GENERIC_SERVICES) \ | (T_MFW_EVENT)(E_BT_ALL_DM_SERVICES)) /*#if 0 Not Implemented yet | (T_MFW_EVENT)(E_BT_ALL_DG_SERVICES) \ | (T_MFW_EVENT)(E_BT_ALL_AG_SERVICES) \ | (T_MFW_EVENT)(E_BT_ALL_OP_SERVICES) \ | (T_MFW_EVENT)(E_BT_ALL_FT_SERVICES) \ #endif */ /* ** Signal Parameter Structure Definitions */ typedef struct { BOOL Success; } T_MFW_BT_ENABLE_CMPL; #include "mfw_bt_dm.h" #include "mfw_bt_dg.h" #include "mfw_bt_ag.h" #include "mfw_bt_op.h" #include "mfw_bt_ft.h" /* * BT Mfw -> BMI signal parameter */ typedef union { /* ** Generic Service Signal Parameters */ T_MFW_BT_ENABLE_CMPL enable_cmpl; /* ** Device Manager Signal Parameters */ T_MFW_BT_DM_LINK_UP link_up; T_MFW_BT_DM_LINK_DOWN link_down; T_MFW_BT_DM_INQ_RES inq_res; T_MFW_BT_DM_INQ_CMPL inq_cmpl; T_MFW_BT_DM_DISC_RES disc_res; T_MFW_BT_DM_PIN_REQ pin_req; T_MFW_BT_DM_AUTH_CMPL auth_cmpl; T_MFW_BT_DM_AUTHORIZE_REQ authorize_req; T_MFW_BT_DM_SIG_STRENGTH_IND sig_strength_ind; } T_MFW_BT_PARA; /* * BT Control Block */ typedef struct { T_MFW_EVENT emask; /* events of interest */ T_MFW_EVENT event; /* current event */ T_MFW_CB handler; T_MFW_BT_PARA para; } T_MFW_BT; void mfw_bt_signal(T_MFW_EVENT event, void *para); /******************************************************************************* $Function: mfw_bt_enable $Description: This function will start the whole process of enabling Bluetooth. $Returns: MFW_BT_FAIL if the chip is not stopped or if the generic event handler doesn't start correctly. $Arguments: Specify the visibility parameter at start-up. MFW_BT_DEFAULT => use value in flash MFW_BT_SHOWN => device will be visible ( that doesn't update the flash ) MFW_BT_HIDDEN => device will be hidden ( ... ) *******************************************************************************/ T_MFW_BT_STATUS mfw_bt_enable(T_MFW_STARTUP_VISIBILITY startup_visibility ); /* */ /******************************************************************************* $Function: mfw_bt_enable_cb $Description: mfw_bt_enable will cause a BTA_DM_SYS_START_EVT to be sent. At this moment we call BTA_EnableBluetooth. When we receive BTA_DM_ENABLE_EVT, we call this function. $Returns: Will send a BMI signal if there is no default name. If the user cancels the input, BT will then be stopped. Will send a E_BT_ENABLE_CMPL event when the initialization is done. $Arguments: none *******************************************************************************/ void mfw_bt_enable_cb(void); /******************************************************************************* $Function: mfw_bt_disable $Description: This function stops the BT system. $Returns: None $Arguments: *******************************************************************************/ void mfw_bt_disable(void); /******************************************************************************* $Function: mfw_bt_init $Description: This function initialises the Mfw Bluetooth Persistent Data on Power Up. $Returns: None $Arguments: None *******************************************************************************/ void mfw_bt_init(void); /******************************************************************************* $Function: mfw_bt_exit $Description: This function will tidy up any resources used by the Mfw Bluetooth Module on Power Down $Returns: None $Arguments: None *******************************************************************************/ void mfw_bt_exit(void); /******************************************************************************* $Function: mfw_bt_create $Description: This function initialises an Mfw Bluetooth entity and adds it to the Window Stack $Returns: T_MFW_HND : A handle for the entity $Arguments: T_MFW_HND : Parent Window Handle T_MFW_EVENT : Event Mask of the events to be handled T_MFW_CB : Callback function to handle the events *******************************************************************************/ T_MFW_HND mfw_bt_create(T_MFW_HND hWin, T_MFW_EVENT event, T_MFW_CB cbfunc); /******************************************************************************* $Function: mfw_bt_delete $Description: This function clears down an Mfw Bluetooth entity and removes it from the Window Stack $Returns: T_MFW_RES : The result of the function $Arguments: T_MFW_HND : The Handle of the entity to be removed *******************************************************************************/ T_MFW_RES mfw_bt_delete(T_MFW_HND hnd); /******************************************************************************* $Function: mfw_bt_signal $Description: This function sends the Mfw Bluetooth events from the Mfw to the BMI. $Returns: None $Arguments: T_MFW_EVENT : The event to be sent to the BMI void * : Pointer to the Event data *******************************************************************************/ void mfw_bt_signal(T_MFW_EVENT event, void *para); /******************************************************************************* $Function: mfw_bt_sign_exec $Description: This function sends the Mfw Bluetooth events from the Mfw to the BMI. $Returns: None $Arguments: None *******************************************************************************/ BOOL mfw_bt_sign_exec (T_MFW_HDR * cur_elem, T_MFW_EVENT event, T_MFW_BT_PARA * para); #endif