nanobeacon 2.1.0.0
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 )