nanobeacon 2.1.0.0
nanobeacon.h File Reference

This file contains API for NanoBeacon Click Driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_uart.h"

Go to the source code of this file.

Data Structures

struct  nanobeacon_packet_t
 NanoBeacon Click packet object. More...
 
struct  nanobeacon_t
 NanoBeacon Click context object. More...
 
struct  nanobeacon_cfg_t
 NanoBeacon Click configuration object. More...
 

Macros

#define NANOBEACON_OPCODE_READY   0x01
 NanoBeacon opcode commands.
 
#define NANOBEACON_OPCODE_READY_ACK   0x80
 
#define NANOBEACON_OPCODE_READY_NACK   0x81
 
#define NANOBEACON_OPCODE_RATE   0x02
 
#define NANOBEACON_OPCODE_READ_REG   0x03
 
#define NANOBEACON_OPCODE_READ_REG_RESP   0x83
 
#define NANOBEACON_OPCODE_WRITE_REG   0x04
 
#define NANOBEACON_OPCODE_WRITE_REG_RESP   0x84
 
#define NANOBEACON_OPCODE_READ_MEM   0x05
 
#define NANOBEACON_OPCODE_READ_MEM_RESP   0x85
 
#define NANOBEACON_OPCODE_WRITE_MEM   0x06
 
#define NANOBEACON_OPCODE_WRITE_MEM_RESP   0x86
 
#define NANOBEACON_OPCODE_READ_EFUSE   0x07
 
#define NANOBEACON_OPCODE_READ_EFUSE_RESP   0x87
 
#define NANOBEACON_OPCODE_WRITE_EFUSE   0x08
 
#define NANOBEACON_OPCODE_WRITE_EFUSE_RESP   0x88
 
#define NANOBEACON_PACKET_HEADER   0xAE
 NanoBeacon command and data packet format.
 
#define NANOBEACON_PACKET_TAIL   0xEA
 
#define NANOBEACON_PAYLOAD_READY   0xAA
 
#define NANOBEACON_PACKET_PAYLOAD_SIZE   128
 
#define NANOBEACON_TIMEOUT_MS   3000
 
#define NANOBEACON_CHECK_COMM_NUM_TRIES   5
 
#define NANOBEACON_TX_DRV_BUFFER_SIZE   ( NANOBEACON_PACKET_PAYLOAD_SIZE + 4 )
 NanoBeacon driver buffer size.
 
#define NANOBEACON_RX_DRV_BUFFER_SIZE   ( NANOBEACON_PACKET_PAYLOAD_SIZE + 4 )
 
#define NANOBEACON_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.
 

Enumerations

enum  nanobeacon_return_value_t { NANOBEACON_OK = 0 , NANOBEACON_ERROR = -1 }
 NanoBeacon Click return value data. More...
 

Functions

void nanobeacon_cfg_setup (nanobeacon_cfg_t *cfg)
 NanoBeacon configuration object setup function.
 
err_t nanobeacon_init (nanobeacon_t *ctx, nanobeacon_cfg_t *cfg)
 NanoBeacon initialization function.
 
err_t nanobeacon_generic_write (nanobeacon_t *ctx, uint8_t *data_in, uint16_t len)
 NanoBeacon data writing function.
 
err_t nanobeacon_generic_read (nanobeacon_t *ctx, uint8_t *data_out, uint16_t len)
 NanoBeacon data reading function.
 
uint8_t nanobeacon_get_an_pin (nanobeacon_t *ctx)
 NanoBeacon get an pin function.
 
void nanobeacon_set_en_pin (nanobeacon_t *ctx, uint8_t state)
 NanoBeacon set EN pin function.
 
void nanobeacon_set_dq_pin (nanobeacon_t *ctx, uint8_t state)
 NanoBeacon set DQ pin function.
 
void nanobeacon_restart_device (nanobeacon_t *ctx)
 NanoBeacon restart device function.
 
err_t nanobeacon_send_packet (nanobeacon_t *ctx, nanobeacon_packet_t pkt_in)
 NanoBeacon send packet function.
 
err_t nanobeacon_read_packet (nanobeacon_t *ctx, nanobeacon_packet_t *pkt_out)
 NanoBeacon read packet function.
 
err_t nanobeacon_check_communication (nanobeacon_t *ctx)
 NanoBeacon check communication function.
 
err_t nanobeacon_write_reg (nanobeacon_t *ctx, uint16_t address, uint32_t data_in)
 NanoBeacon write reg function.
 
err_t nanobeacon_read_reg (nanobeacon_t *ctx, uint16_t address, uint32_t *data_out)
 NanoBeacon read reg function.
 
err_t nanobeacon_write_mem (nanobeacon_t *ctx, uint16_t address, uint32_t data_in)
 NanoBeacon write mem function.
 
err_t nanobeacon_read_mem (nanobeacon_t *ctx, uint16_t address, uint32_t *data_out)
 NanoBeacon read mem function.
 
err_t nanobeacon_write_efuse (nanobeacon_t *ctx, uint8_t aid, uint16_t data_in)
 NanoBeacon write efuse function.
 
err_t nanobeacon_read_efuse (nanobeacon_t *ctx, uint8_t aid, uint16_t *data_out)
 NanoBeacon read efuse function.
 
err_t nanobeacon_set_advertising (uint8_t *mac_address, uint16_t interval, uint8_t *adv_raw_data, uint8_t len)
 NanoBeacon set advertising function.
 
err_t nanobeacon_load_adv_to_ram (nanobeacon_t *ctx)
 NanoBeacon load adv to ram function.
 
err_t nanobeacon_start_advertising (nanobeacon_t *ctx)
 NanoBeacon start advertising function.
 

Detailed Description

This file contains API for NanoBeacon Click Driver.

Enumeration Type Documentation

◆ nanobeacon_return_value_t

NanoBeacon Click return value data.

Predefined enum values for driver return values.

Enumerator
NANOBEACON_OK 
NANOBEACON_ERROR