enocean 2.0.0.0
enocean.h File Reference

This file contains API for EnOcean 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  enocean_packet_t
 
struct  enocean_t
 Click ctx object definition. More...
 
struct  enocean_cfg_t
 Click configuration structure definition. More...
 

Macros

#define ENOCEAN_MAP_MIKROBUS(cfg, mikrobus)
 
#define ENOCEAN_RETVAL   uint8_t
 
#define ENOCEAN_OK   0x00
 
#define ENOCEAN_INIT_ERROR   0xFF
 
#define DRV_RX_BUFFER_SIZE   500
 
#define DRV_TX_BUFFER_SIZE   100
 
#define ENOCEAN_SYNC_BYTE   0x55
 
#define ENOCEAN_MAX_BUFF_SIZE   256
 
#define ENOCEAN_HEADER_SIZE   0x04
 
#define ENOCEAN_BUFF_EMPTY   0x00
 
#define ENOCEAN_RESPONSE_READY   0x01
 
#define ENOCEAN_RESPONSE_NOT_READY   0x00
 
#define ENOCEAN_UART_RX_READY   0x01
 
#define ENOCEAN_UART_RX_NOT_READY   0x00
 
#define ENOCEAN_OK   0x00
 
#define ENOCEAN_INVALID_PACKET_SIZE   0x01
 
#define ENOCEAN_PACK_TYPE_EVENT   0x04
 
#define ENOCEAN_PACK_TYPE_COMMON_COMMAND   0x05
 
#define ENOCEAN_CO_EVENT_SECUREDEVICES   0x05
 
#define ENOCEAN_CO_WR_FILTER_ADD   0x0B
 
#define ENOCEAN_CO_WR_FILTER_ENABLE   0x0E
 
#define ENOCEAN_CO_WR_REPEATER   0x09
 
#define ENOCEAN_CO_SET_NOISETHRESHOLD   0x32
 
#define ENOCEAN_FILT_TYPE_SOURCE_ID   0x00
 
#define ENOCEAN_FILT_TYPE_R_ORG   0x01
 
#define ENOCEAN_FILT_TYPE_RSSI   0x02
 
#define ENOCEAN_FILT_TYPE_DEST_ID   0x03
 
#define ENOCEAN_FILT_KIND_NEG_TEL_FWRD   0x00
 
#define ENOCEAN_FILT_KIND_POS_TEL_FWRD   0x80
 
#define ENOCEAN_FILT_KIND_NEG_TEL_RPT   0x40
 
#define ENOCEAN_FILT_KIND_POS_TEL_RPT   0xC0
 
#define ENOCEAN_FILT_FWRD_OFF   0x00
 
#define ENOCEAN_FILT_FWRD_ON   0x01
 
#define ENOCEAN_FILT_OP_OR_ALL_FILT   0x00
 
#define ENOCEAN_FILT_OP_AND_ALL_FILT   0x01
 
#define ENOCEAN_FILT_OP_OR_RADIO_INTER_AND_FILT_RPT   0x08
 
#define ENOCEAN_FILT_OP_AND_RADIO_INTER_OR_FILT_RPT   0x09
 
#define ENOCEAN_RPT_OFF   0x00
 
#define ENOCEAN_RPT_ALL_TELEG   0x01
 
#define ENOCEAN_RPT_SELECTIVE   0x02
 
#define ENOCEAN_RPT_LEVEL_OFF   0x00
 
#define ENOCEAN_RPT_LEVEL_ONE   0x01
 
#define ENOCEAN_RPT_LEVEL_TWO   0x02
 
#define ENOCEAN_RSSI_LEVEL_100_DBM_NEG   0x2E
 
#define ENOCEAN_RSSI_LEVEL_99_DBM_NEG   0x2F
 
#define ENOCEAN_RSSI_LEVEL_98_DBM_NEG   0x30
 
#define ENOCEAN_RSSI_LEVEL_97_DBM_NEG   0x31
 
#define ENOCEAN_RSSI_LEVEL_96_DBM_NEG   0x32
 
#define ENOCEAN_RSSI_LEVEL_95_DBM_NEG   0x33
 
#define ENOCEAN_RSSI_LEVEL_94_DBM_NEG   0x34
 
#define ENOCEAN_RSSI_LEVEL_93_DBM_NEG   0x35
 
#define ENOCEAN_RSSI_LEVEL_92_DBM_NEG   0x36
 
#define ENOCEAN_RSSI_LEVEL_91_DBM_NEG   0x37
 
#define ENOCEAN_RSSI_LEVEL_90_DBM_NEG   0x38
 

Typedefs

typedef void(* enocean_hdl_t) (enocean_packet_t *, uint16_t *)
 
typedef uint8_t enocean_error_t
 Error type.
 

Functions

void enocean_cfg_setup (enocean_cfg_t *cfg)
 Config Object Initialization function.
 
ENOCEAN_RETVAL enocean_init (enocean_t *ctx, enocean_cfg_t *cfg)
 Initialization function.
 
void enocean_set_rst_pin (enocean_t *ctx, uint8_t state)
 Set RST ( reset ) pin state.
 
void enocean_generic_write (enocean_t *ctx, char *data_buf, uint16_t len)
 Generic write function.
 
int32_t enocean_generic_read (enocean_t *ctx, char *data_buf, uint16_t max_len)
 Generic read function.
 
void enocean_response_handler_set (enocean_t *ctx, enocean_hdl_t handler)
 Handler Set function.
 
uint8_t enocean_send_packet (enocean_t *ctx, enocean_packet_t *packet)
 Packet Send function.
 
uint8_t enocean_response_ready (enocean_t *ctx)
 Response Ready function.
 
void enocean_uart_isr (enocean_t *ctx)
 UART Interrupt Routine function.
 

Detailed Description

This file contains API for EnOcean Click driver.