nanobeacon  2.1.0.0
Data Structures | Macros | Enumerations | Functions
nanobeacon_adv.h File Reference
#include "stdint.h"

Go to the source code of this file.

Data Structures

struct  pkt_f0_t
 
union  pkt_fx_private_t
 
struct  pkt_f1to7_t
 
union  pkt_ctl_byte0_t
 
union  pkt_ctl_byte1_t
 
union  pkt_ctl_byte2_t
 
struct  pkt_ctl_t
 
union  adv_ctl_byte0_t
 
union  adv_ctl_byte8_t
 
union  addr_private_data_t
 
struct  adv_ctl_t
 

Macros

#define RET_OK   0
 
#define RET_ERROR   -1
 
#define RET_INVALID_PARAMETER   -2
 

Enumerations

enum  adv_data_t {
  ADV_DATA_TYPE_PREDEF = 0, ADV_DATA_TYPE_TIMER = 1, ADV_DATA_TYPE_RAND = 2, ADV_DATA_TYPE_TEMP = 3,
  ADV_DATA_TYPE_VBAT = 4, ADV_DATA_TYPE_SENSOR = 5, ADV_DATA_TYPE_TAG = 7, ADV_DATA_TYPE_MTS_DATA = 8,
  ADV_DATA_TYPE_TX_PWR_0M = 9, ADV_DATA_TYPE_INP_UUID = 10, ADV_DATA_TYPE_CUS_UUID = 11, ADV_DATA_TYPE_EID = 12,
  ADV_DATA_TYPE_ADV_EVNT_CNT = 13, ADV_DATA_TYPE_AUXPTR = 14, ADV_DATA_TYPE_SLEEP_CNT = 15, ADV_DATA_TYPE_GPIO_VAL = 27,
  ADV_DATA_TYPE_PLSDTCT = 28, ADV_DATA_TYPE_GPIO_CNT = 29, ADV_DATA_TYPE_REG_DATA = 31
}
 
enum  adv_mode_t { ADV_MODE_CONTINUOUS = 0, ADV_MODE_EVENT }
 
enum  address_type_t {
  ADDR_PUBLIC = 0, ADDR_RANDOM_NON_RESOLVABLE, ADDR_RANDOM_RESOLVABLE, ADDR_RANDOM_STATIC,
  ADDR_NOT_PRESENT
}
 
enum  adv_channel_ctl_t {
  ADV_CH_37_38_39 = 0, ADV_CH_38_39, ADV_CH_37_39, ADV_CH_39,
  ADC_CH_37_38, ADV_CH_38, ADV_CH_37
}
 

Functions

void nanobeacon_adv_data_reset (void)
 
void nanobeacon_adv_tx_set (uint32_t tx_interval, adv_channel_ctl_t ch_ctl, adv_mode_t mode)
 
void nanobeacon_adv_address_set (address_type_t addr_type, uint8_t *mac_addr, uint16_t addr_gen_interval, uint8_t key_idx)
 
int32_t nanobeacon_adv_add_data (uint8_t *data_in, uint8_t length, uint8_t encrypt_en)
 
int32_t nanobeacon_adv_add_cnt (uint8_t length, uint8_t big_endian, uint8_t encrypt_en)
 
int32_t nanobeacon_adv_add_sec_cnt (uint8_t length, uint8_t big_endian, uint8_t encrypt_en)
 
int32_t nanobeacon_adv_add_100ms_cnt (uint8_t length, uint8_t big_endian, uint8_t encrypt_en)
 
int32_t nanobeacon_adv_add_gpio_stat (uint8_t encrypt_en)
 
int32_t nanobeacon_adv_add_vcc (uint8_t length, uint8_t big_endian, uint8_t encrypt_en)
 
int32_t nanobeacon_adv_add_temp (uint8_t length, uint8_t big_endian, uint8_t encrypt_en)
 
uint16_t nanobeacon_adv_data_to_raw (uint8_t *buffer)
 

Macro Definition Documentation

◆ RET_ERROR

#define RET_ERROR   -1

◆ RET_INVALID_PARAMETER

#define RET_INVALID_PARAMETER   -2

◆ RET_OK

#define RET_OK   0

Enumeration Type Documentation

◆ address_type_t

Enumerator
ADDR_PUBLIC 
ADDR_RANDOM_NON_RESOLVABLE 
ADDR_RANDOM_RESOLVABLE 
ADDR_RANDOM_STATIC 
ADDR_NOT_PRESENT 

◆ adv_channel_ctl_t

Enumerator
ADV_CH_37_38_39 
ADV_CH_38_39 
ADV_CH_37_39 
ADV_CH_39 
ADC_CH_37_38 
ADV_CH_38 
ADV_CH_37 

◆ adv_data_t

enum adv_data_t
Enumerator
ADV_DATA_TYPE_PREDEF 
ADV_DATA_TYPE_TIMER 
ADV_DATA_TYPE_RAND 
ADV_DATA_TYPE_TEMP 
ADV_DATA_TYPE_VBAT 
ADV_DATA_TYPE_SENSOR 
ADV_DATA_TYPE_TAG 
ADV_DATA_TYPE_MTS_DATA 
ADV_DATA_TYPE_TX_PWR_0M 
ADV_DATA_TYPE_INP_UUID 
ADV_DATA_TYPE_CUS_UUID 
ADV_DATA_TYPE_EID 
ADV_DATA_TYPE_ADV_EVNT_CNT 
ADV_DATA_TYPE_AUXPTR 
ADV_DATA_TYPE_SLEEP_CNT 
ADV_DATA_TYPE_GPIO_VAL 
ADV_DATA_TYPE_PLSDTCT 
ADV_DATA_TYPE_GPIO_CNT 
ADV_DATA_TYPE_REG_DATA 

◆ adv_mode_t

enum adv_mode_t
Enumerator
ADV_MODE_CONTINUOUS 
ADV_MODE_EVENT 

Function Documentation

◆ nanobeacon_adv_add_100ms_cnt()

int32_t nanobeacon_adv_add_100ms_cnt ( uint8_t  length,
uint8_t  big_endian,
uint8_t  encrypt_en 
)

◆ nanobeacon_adv_add_cnt()

int32_t nanobeacon_adv_add_cnt ( uint8_t  length,
uint8_t  big_endian,
uint8_t  encrypt_en 
)

◆ nanobeacon_adv_add_data()

int32_t nanobeacon_adv_add_data ( uint8_t *  data_in,
uint8_t  length,
uint8_t  encrypt_en 
)

◆ nanobeacon_adv_add_gpio_stat()

int32_t nanobeacon_adv_add_gpio_stat ( uint8_t  encrypt_en)

◆ nanobeacon_adv_add_sec_cnt()

int32_t nanobeacon_adv_add_sec_cnt ( uint8_t  length,
uint8_t  big_endian,
uint8_t  encrypt_en 
)

◆ nanobeacon_adv_add_temp()

int32_t nanobeacon_adv_add_temp ( uint8_t  length,
uint8_t  big_endian,
uint8_t  encrypt_en 
)

◆ nanobeacon_adv_add_vcc()

int32_t nanobeacon_adv_add_vcc ( uint8_t  length,
uint8_t  big_endian,
uint8_t  encrypt_en 
)

◆ nanobeacon_adv_address_set()

void nanobeacon_adv_address_set ( address_type_t  addr_type,
uint8_t *  mac_addr,
uint16_t  addr_gen_interval,
uint8_t  key_idx 
)

◆ nanobeacon_adv_data_reset()

void nanobeacon_adv_data_reset ( void  )

◆ nanobeacon_adv_data_to_raw()

uint16_t nanobeacon_adv_data_to_raw ( uint8_t *  buffer)

◆ nanobeacon_adv_tx_set()

void nanobeacon_adv_tx_set ( uint32_t  tx_interval,
adv_channel_ctl_t  ch_ctl,
adv_mode_t  mode 
)