HW layer for the Nucleo board, it only work with old BLE_API
Dependents: Hello_BLE F446RE-BLE
Fork of X_NUCLEO_IDB0XA1 by
BlueNRGDevice.h@70:d20d30f59b1c, 2015-06-08 (annotated)
- Committer:
- Silvio Lucio Oliva
- Date:
- Mon Jun 08 17:08:01 2015 +0200
- Revision:
- 70:d20d30f59b1c
- Child:
- 74:c4526f8284d5
Initial commit for mbed support
Signed-off-by: Silvio Lucio Oliva <silvio.oliva@st.com>
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Silvio Lucio Oliva |
70:d20d30f59b1c | 1 | /* mbed Microcontroller Library |
Silvio Lucio Oliva |
70:d20d30f59b1c | 2 | * Copyright (c) 2006-2013 ARM Limited |
Silvio Lucio Oliva |
70:d20d30f59b1c | 3 | * |
Silvio Lucio Oliva |
70:d20d30f59b1c | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
Silvio Lucio Oliva |
70:d20d30f59b1c | 5 | * you may not use this file except in compliance with the License. |
Silvio Lucio Oliva |
70:d20d30f59b1c | 6 | * You may obtain a copy of the License at |
Silvio Lucio Oliva |
70:d20d30f59b1c | 7 | * |
Silvio Lucio Oliva |
70:d20d30f59b1c | 8 | * http://www.apache.org/licenses/LICENSE-2.0 |
Silvio Lucio Oliva |
70:d20d30f59b1c | 9 | * |
Silvio Lucio Oliva |
70:d20d30f59b1c | 10 | * Unless required by applicable law or agreed to in writing, software |
Silvio Lucio Oliva |
70:d20d30f59b1c | 11 | * distributed under the License is distributed on an "AS IS" BASIS, |
Silvio Lucio Oliva |
70:d20d30f59b1c | 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
Silvio Lucio Oliva |
70:d20d30f59b1c | 13 | * See the License for the specific language governing permissions and |
Silvio Lucio Oliva |
70:d20d30f59b1c | 14 | * limitations under the License. |
Silvio Lucio Oliva |
70:d20d30f59b1c | 15 | */ |
Silvio Lucio Oliva |
70:d20d30f59b1c | 16 | |
Silvio Lucio Oliva |
70:d20d30f59b1c | 17 | /** |
Silvio Lucio Oliva |
70:d20d30f59b1c | 18 | ****************************************************************************** |
Silvio Lucio Oliva |
70:d20d30f59b1c | 19 | * @file BlueNRGDevice.h |
Silvio Lucio Oliva |
70:d20d30f59b1c | 20 | * @author STMicroelectronics |
Silvio Lucio Oliva |
70:d20d30f59b1c | 21 | * @brief Header file for BLEDeviceInstanceBase based BlueNRGDevice |
Silvio Lucio Oliva |
70:d20d30f59b1c | 22 | ****************************************************************************** |
Silvio Lucio Oliva |
70:d20d30f59b1c | 23 | * @copy |
Silvio Lucio Oliva |
70:d20d30f59b1c | 24 | * |
Silvio Lucio Oliva |
70:d20d30f59b1c | 25 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS |
Silvio Lucio Oliva |
70:d20d30f59b1c | 26 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE |
Silvio Lucio Oliva |
70:d20d30f59b1c | 27 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY |
Silvio Lucio Oliva |
70:d20d30f59b1c | 28 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING |
Silvio Lucio Oliva |
70:d20d30f59b1c | 29 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE |
Silvio Lucio Oliva |
70:d20d30f59b1c | 30 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. |
Silvio Lucio Oliva |
70:d20d30f59b1c | 31 | * |
Silvio Lucio Oliva |
70:d20d30f59b1c | 32 | * <h2><center>© COPYRIGHT 2013 STMicroelectronics</center></h2> |
Silvio Lucio Oliva |
70:d20d30f59b1c | 33 | */ |
Silvio Lucio Oliva |
70:d20d30f59b1c | 34 | |
Silvio Lucio Oliva |
70:d20d30f59b1c | 35 | #ifndef __BLUENRG_H__ |
Silvio Lucio Oliva |
70:d20d30f59b1c | 36 | #define __BLUENRG_H__ |
Silvio Lucio Oliva |
70:d20d30f59b1c | 37 | |
Silvio Lucio Oliva |
70:d20d30f59b1c | 38 | #define BLUENRG |
Silvio Lucio Oliva |
70:d20d30f59b1c | 39 | #define DEBUG_BLUENRG_USER |
Silvio Lucio Oliva |
70:d20d30f59b1c | 40 | |
Silvio Lucio Oliva |
70:d20d30f59b1c | 41 | #include "btle.h" |
Silvio Lucio Oliva |
70:d20d30f59b1c | 42 | |
Silvio Lucio Oliva |
70:d20d30f59b1c | 43 | #include "mbed.h" |
Silvio Lucio Oliva |
70:d20d30f59b1c | 44 | #include "blecommon.h" |
Silvio Lucio Oliva |
70:d20d30f59b1c | 45 | #include "BLEDevice.h" |
Silvio Lucio Oliva |
70:d20d30f59b1c | 46 | #include "BlueNRGGap.h" |
Silvio Lucio Oliva |
70:d20d30f59b1c | 47 | #include "BlueNRGGattServer.h" |
Silvio Lucio Oliva |
70:d20d30f59b1c | 48 | |
Silvio Lucio Oliva |
70:d20d30f59b1c | 49 | |
Silvio Lucio Oliva |
70:d20d30f59b1c | 50 | class BlueNRGDevice : public BLEDeviceInstanceBase |
Silvio Lucio Oliva |
70:d20d30f59b1c | 51 | { |
Silvio Lucio Oliva |
70:d20d30f59b1c | 52 | |
Silvio Lucio Oliva |
70:d20d30f59b1c | 53 | public: |
Silvio Lucio Oliva |
70:d20d30f59b1c | 54 | BlueNRGDevice(void); |
Silvio Lucio Oliva |
70:d20d30f59b1c | 55 | virtual ~BlueNRGDevice(void); |
Silvio Lucio Oliva |
70:d20d30f59b1c | 56 | |
Silvio Lucio Oliva |
70:d20d30f59b1c | 57 | // <<<ANDREA>>> |
Silvio Lucio Oliva |
70:d20d30f59b1c | 58 | virtual const char *getVersion(void); |
Silvio Lucio Oliva |
70:d20d30f59b1c | 59 | virtual Gap& getGap(); |
Silvio Lucio Oliva |
70:d20d30f59b1c | 60 | virtual GattServer& getGattServer(); |
Silvio Lucio Oliva |
70:d20d30f59b1c | 61 | virtual ble_error_t init(void); |
Silvio Lucio Oliva |
70:d20d30f59b1c | 62 | virtual ble_error_t shutdown(void); |
Silvio Lucio Oliva |
70:d20d30f59b1c | 63 | virtual ble_error_t reset(void); |
Silvio Lucio Oliva |
70:d20d30f59b1c | 64 | virtual ble_error_t initializeSecurity(bool enableBonding = true, |
Silvio Lucio Oliva |
70:d20d30f59b1c | 65 | bool requireMITM = true, |
Silvio Lucio Oliva |
70:d20d30f59b1c | 66 | Gap::SecurityIOCapabilities_t iocaps = Gap::IO_CAPS_NONE, |
Silvio Lucio Oliva |
70:d20d30f59b1c | 67 | const Gap::Passkey_t passkey = NULL); |
Silvio Lucio Oliva |
70:d20d30f59b1c | 68 | virtual ble_error_t setTxPower(int8_t txPower); |
Silvio Lucio Oliva |
70:d20d30f59b1c | 69 | virtual void getPermittedTxPowerValues(const int8_t **, size_t *); |
Silvio Lucio Oliva |
70:d20d30f59b1c | 70 | virtual void waitForEvent(void); |
Silvio Lucio Oliva |
70:d20d30f59b1c | 71 | // <<<ANDREA>>> |
Silvio Lucio Oliva |
70:d20d30f59b1c | 72 | |
Silvio Lucio Oliva |
70:d20d30f59b1c | 73 | bool getIsInitialized(void); |
Silvio Lucio Oliva |
70:d20d30f59b1c | 74 | |
Silvio Lucio Oliva |
70:d20d30f59b1c | 75 | private: |
Silvio Lucio Oliva |
70:d20d30f59b1c | 76 | bool isInitialized; |
Silvio Lucio Oliva |
70:d20d30f59b1c | 77 | }; |
Silvio Lucio Oliva |
70:d20d30f59b1c | 78 | |
Silvio Lucio Oliva |
70:d20d30f59b1c | 79 | #endif |