BLE_API wrapper library for STMicroelectronics' BlueNRG Bluetooth Low Energy expansion board shield

Fork of X_NUCLEO_IDB0XA1 by ST Expansion SW Team

Committer:
avilei
Date:
Fri Jun 17 16:07:05 2016 +0000
Revision:
232:f2a7da5d24e1
Parent:
209:d8e8cd4d4521
Add firmware update capabilities

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Wolfgang Betz 132:51056160fa4a 1 /* mbed Microcontroller Library
Wolfgang Betz 132:51056160fa4a 2 * Copyright (c) 2006-2013 ARM Limited
Wolfgang Betz 132:51056160fa4a 3 *
Wolfgang Betz 132:51056160fa4a 4 * Licensed under the Apache License, Version 2.0 (the "License");
Wolfgang Betz 132:51056160fa4a 5 * you may not use this file except in compliance with the License.
Wolfgang Betz 132:51056160fa4a 6 * You may obtain a copy of the License at
Wolfgang Betz 132:51056160fa4a 7 *
Wolfgang Betz 132:51056160fa4a 8 * http://www.apache.org/licenses/LICENSE-2.0
Wolfgang Betz 132:51056160fa4a 9 *
Wolfgang Betz 132:51056160fa4a 10 * Unless required by applicable law or agreed to in writing, software
Wolfgang Betz 132:51056160fa4a 11 * distributed under the License is distributed on an "AS IS" BASIS,
Wolfgang Betz 132:51056160fa4a 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Wolfgang Betz 132:51056160fa4a 13 * See the License for the specific language governing permissions and
Wolfgang Betz 132:51056160fa4a 14 * limitations under the License.
Wolfgang Betz 132:51056160fa4a 15 */
Wolfgang Betz 132:51056160fa4a 16
Wolfgang Betz 132:51056160fa4a 17
Wolfgang Betz 132:51056160fa4a 18 #ifndef _BTLE_H_
Wolfgang Betz 132:51056160fa4a 19 #define _BTLE_H_
Wolfgang Betz 132:51056160fa4a 20
Wolfgang Betz 132:51056160fa4a 21
Wolfgang Betz 132:51056160fa4a 22 #ifdef __cplusplus
Wolfgang Betz 132:51056160fa4a 23 extern "C" {
Wolfgang Betz 132:51056160fa4a 24 #endif
Wolfgang Betz 132:51056160fa4a 25
Wolfgang Betz 132:51056160fa4a 26 #include <stdio.h>
Wolfgang Betz 132:51056160fa4a 27 #include <string.h>
Wolfgang Betz 132:51056160fa4a 28
Wolfgang Betz 132:51056160fa4a 29 #include "hci.h"
Wolfgang Betz 132:51056160fa4a 30 #include "bluenrg_aci.h"
Wolfgang Betz 132:51056160fa4a 31 #include "hci_const.h"
Wolfgang Betz 132:51056160fa4a 32 #include "bluenrg_hal_aci.h"
Wolfgang Betz 132:51056160fa4a 33 #include "stm32_bluenrg_ble.h"
Wolfgang Betz 132:51056160fa4a 34 #include "bluenrg_gap.h"
Wolfgang Betz 132:51056160fa4a 35 #include "bluenrg_gatt_server.h"
Wolfgang Betz 132:51056160fa4a 36
Wolfgang Betz 132:51056160fa4a 37 extern uint16_t g_gap_service_handle;
Wolfgang Betz 132:51056160fa4a 38 extern uint16_t g_appearance_char_handle;
Wolfgang Betz 132:51056160fa4a 39 extern uint16_t g_device_name_char_handle;
avilei 232:f2a7da5d24e1 40
avilei 232:f2a7da5d24e1 41 void btleInitHW(void);
avilei 232:f2a7da5d24e1 42 uint8_t btleGetUpdaterHWVersion(uint8_t *upd_hw_version);
avilei 232:f2a7da5d24e1 43 int btleUpdateFirmware(const uint8_t *fw_image, uint32_t fw_size);
avilei 232:f2a7da5d24e1 44 void btleStart(bool isSetAddress, uint8_t role);
Wolfgang Betz 132:51056160fa4a 45 void SPI_Poll(void);
Wolfgang Betz 132:51056160fa4a 46 void User_Process(void);
Wolfgang Betz 132:51056160fa4a 47 void setConnectable(void);
Andrea Palmieri 209:d8e8cd4d4521 48 void setVersionString(uint8_t hwVersion, uint16_t fwVersion);
Andrea Palmieri 209:d8e8cd4d4521 49 const char* getVersionString(void);
Andrea Palmieri 209:d8e8cd4d4521 50 tBleStatus btleStartRadioScan(uint8_t scan_type,
Andrea Palmieri 209:d8e8cd4d4521 51 uint16_t scan_interval,
Andrea Palmieri 209:d8e8cd4d4521 52 uint16_t scan_window,
Andrea Palmieri 209:d8e8cd4d4521 53 uint8_t own_address_type);
Wolfgang Betz 132:51056160fa4a 54
Wolfgang Betz 138:32e3c4ca7a45 55 #ifdef AST_FOR_MBED_OS
Wolfgang Betz 134:d2f8d5898d04 56 extern int btle_handler_pending;
Wolfgang Betz 133:1bb8df697f7f 57 extern void btle_handler(void);
Wolfgang Betz 133:1bb8df697f7f 58 #endif
Wolfgang Betz 133:1bb8df697f7f 59
Wolfgang Betz 132:51056160fa4a 60 #ifdef __cplusplus
Wolfgang Betz 132:51056160fa4a 61 }
Wolfgang Betz 132:51056160fa4a 62 #endif
Wolfgang Betz 132:51056160fa4a 63
Wolfgang Betz 132:51056160fa4a 64 #endif