HW layer for the Nucleo board, it only work with old BLE_API

Dependents:   Hello_BLE F446RE-BLE

Fork of X_NUCLEO_IDB0XA1 by ST

Committer:
leonardoaraujosantos
Date:
Tue Nov 03 23:10:27 2015 +0000
Revision:
129:57997390c086
Parent:
70:d20d30f59b1c
Changing pin D13

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Silvio Lucio Oliva 70:d20d30f59b1c 1 /******************** (C) COPYRIGHT 2014 STMicroelectronics ********************
Silvio Lucio Oliva 70:d20d30f59b1c 2 * File Name : bluenrg_updater_aci.h
Silvio Lucio Oliva 70:d20d30f59b1c 3 * Author : AMS - HEA&RF BU
Silvio Lucio Oliva 70:d20d30f59b1c 4 * Version : V1.0.0
Silvio Lucio Oliva 70:d20d30f59b1c 5 * Date : 26-Jun-2014
Silvio Lucio Oliva 70:d20d30f59b1c 6 * Description : Header file with updater commands for BlueNRG FW6.3.
Silvio Lucio Oliva 70:d20d30f59b1c 7 ********************************************************************************
Silvio Lucio Oliva 70:d20d30f59b1c 8 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
Silvio Lucio Oliva 70:d20d30f59b1c 9 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
Silvio Lucio Oliva 70:d20d30f59b1c 10 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
Silvio Lucio Oliva 70:d20d30f59b1c 11 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
Silvio Lucio Oliva 70:d20d30f59b1c 12 * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
Silvio Lucio Oliva 70:d20d30f59b1c 13 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
Silvio Lucio Oliva 70:d20d30f59b1c 14 *******************************************************************************/
Silvio Lucio Oliva 70:d20d30f59b1c 15
Silvio Lucio Oliva 70:d20d30f59b1c 16 #ifndef __BLUENRG_UPDATER_ACI_H__
Silvio Lucio Oliva 70:d20d30f59b1c 17 #define __BLUENRG_UPDATER_ACI_H__
Silvio Lucio Oliva 70:d20d30f59b1c 18
Silvio Lucio Oliva 70:d20d30f59b1c 19 #include <compiler.h>
Silvio Lucio Oliva 70:d20d30f59b1c 20
Silvio Lucio Oliva 70:d20d30f59b1c 21 /**
Silvio Lucio Oliva 70:d20d30f59b1c 22 * @defgroup Updater Updater
Silvio Lucio Oliva 70:d20d30f59b1c 23 * @brief Updater.
Silvio Lucio Oliva 70:d20d30f59b1c 24 * @{
Silvio Lucio Oliva 70:d20d30f59b1c 25 */
Silvio Lucio Oliva 70:d20d30f59b1c 26
Silvio Lucio Oliva 70:d20d30f59b1c 27 /**
Silvio Lucio Oliva 70:d20d30f59b1c 28 * @defgroup Updater_Functions Updater functions
Silvio Lucio Oliva 70:d20d30f59b1c 29 * @brief API for BlueNRG Updater.
Silvio Lucio Oliva 70:d20d30f59b1c 30 * @{
Silvio Lucio Oliva 70:d20d30f59b1c 31 */
Silvio Lucio Oliva 70:d20d30f59b1c 32
Silvio Lucio Oliva 70:d20d30f59b1c 33 tBleStatus aci_updater_start(void);
Silvio Lucio Oliva 70:d20d30f59b1c 34
Silvio Lucio Oliva 70:d20d30f59b1c 35 tBleStatus aci_updater_reboot(void);
Silvio Lucio Oliva 70:d20d30f59b1c 36
Silvio Lucio Oliva 70:d20d30f59b1c 37 tBleStatus aci_get_updater_version(uint8_t *version);
Silvio Lucio Oliva 70:d20d30f59b1c 38
Silvio Lucio Oliva 70:d20d30f59b1c 39 tBleStatus aci_get_updater_buffer_size(uint8_t *buffer_size);
Silvio Lucio Oliva 70:d20d30f59b1c 40
Silvio Lucio Oliva 70:d20d30f59b1c 41 tBleStatus aci_erase_blue_flag(void);
Silvio Lucio Oliva 70:d20d30f59b1c 42
Silvio Lucio Oliva 70:d20d30f59b1c 43 tBleStatus aci_reset_blue_flag(void);
Silvio Lucio Oliva 70:d20d30f59b1c 44
Silvio Lucio Oliva 70:d20d30f59b1c 45 tBleStatus aci_updater_erase_sector(uint32_t address);
Silvio Lucio Oliva 70:d20d30f59b1c 46
Silvio Lucio Oliva 70:d20d30f59b1c 47 tBleStatus aci_updater_program_data_block(uint32_t address, uint16_t len, const uint8_t *data);
Silvio Lucio Oliva 70:d20d30f59b1c 48
Silvio Lucio Oliva 70:d20d30f59b1c 49 tBleStatus aci_updater_read_data_block(uint32_t address, uint16_t data_len, uint8_t *data);
Silvio Lucio Oliva 70:d20d30f59b1c 50
Silvio Lucio Oliva 70:d20d30f59b1c 51 tBleStatus aci_updater_calc_crc(uint32_t address, uint8_t num_sectors, uint32_t *crc);
Silvio Lucio Oliva 70:d20d30f59b1c 52
Silvio Lucio Oliva 70:d20d30f59b1c 53 tBleStatus aci_updater_hw_version(uint8_t *version);
Silvio Lucio Oliva 70:d20d30f59b1c 54
Silvio Lucio Oliva 70:d20d30f59b1c 55 /**
Silvio Lucio Oliva 70:d20d30f59b1c 56 * @}
Silvio Lucio Oliva 70:d20d30f59b1c 57 */
Silvio Lucio Oliva 70:d20d30f59b1c 58
Silvio Lucio Oliva 70:d20d30f59b1c 59 /**
Silvio Lucio Oliva 70:d20d30f59b1c 60 * @defgroup Updater_Events Updater events
Silvio Lucio Oliva 70:d20d30f59b1c 61 * @{
Silvio Lucio Oliva 70:d20d30f59b1c 62 */
Silvio Lucio Oliva 70:d20d30f59b1c 63 /** HCI vendor specific event, raised at BlueNRG power-up or reboot. */
Silvio Lucio Oliva 70:d20d30f59b1c 64 #define EVT_BLUE_INITIALIZED (0x0001)
Silvio Lucio Oliva 70:d20d30f59b1c 65 typedef __packed struct _evt_blue_initialized{
Silvio Lucio Oliva 70:d20d30f59b1c 66 uint8_t reason_code;
Silvio Lucio Oliva 70:d20d30f59b1c 67 } PACKED evt_blue_initialized;
Silvio Lucio Oliva 70:d20d30f59b1c 68 /**
Silvio Lucio Oliva 70:d20d30f59b1c 69 * @}
Silvio Lucio Oliva 70:d20d30f59b1c 70 */
Silvio Lucio Oliva 70:d20d30f59b1c 71
Silvio Lucio Oliva 70:d20d30f59b1c 72 /**
Silvio Lucio Oliva 70:d20d30f59b1c 73 * @}
Silvio Lucio Oliva 70:d20d30f59b1c 74 */
Silvio Lucio Oliva 70:d20d30f59b1c 75
Silvio Lucio Oliva 70:d20d30f59b1c 76
Silvio Lucio Oliva 70:d20d30f59b1c 77
Silvio Lucio Oliva 70:d20d30f59b1c 78 #endif /* __BLUENRG_UPDATER_ACI_H__ */