mbusrf4 2.0.0.0
mbusrf4.h File Reference

This file contains API for M-BUS RF 4 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  mbusrf4_t
 Click ctx object definition. More...
 
struct  mbusrf4_cfg_t
 Click configuration structure definition. More...
 

Macros

#define MBUSRF4_MAP_MIKROBUS(cfg, mikrobus)
 
#define MBUSRF4_RETVAL   uint8_t
 
#define MBUSRF4_OK   0x00
 
#define MBUSRF4_INIT_ERROR   0xFF
 
#define MBUSRF4_ERROR_COMMAND_OR_ELEMENT   0xFF
 
#define MBUSRF4_ERROR_START_OR_END_COMMAND   0x8F
 
#define MBUSRF4_ERROR_NEXT_ELEMENT   0x4F
 
#define MBUSRF4_ERROR_CURRENT_ELEMENT   0x2F
 
#define MBUSRF4_NO_ERROR   0x00
 
#define DRV_RX_BUFFER_SIZE   256
 
#define MBUSRF4_CMD_RESET   0x30
 
#define MBUSRF4_CMD_FACTORY_RESET   0x31
 
#define MBUSRF4_CMD_SET_MODE   0x32
 
#define MBUSRF4_CMD_EEPROM_WRITE   0x33
 
#define MBUSRF4_CMD_EEPROM_READ   0x34
 
#define MBUSRF4_CMD_TX_MSG   0x35
 
#define MBUSRF4_CMD_RX_MSG_IND   0x36
 
#define MBUSRF4_CMD_GET_FW_VERSION   0x37
 
#define MBUSRF4_CMD_GET_SERIALNO   0x38
 
#define MBUSRF4_CMD_GET_RSSI   0x39
 
#define MBUSRF4_CMD_SET_C_FIELD   0x40
 
#define MBUSRF4_EEADDR_WM_BUS_MODE   0x00
 
#define MBUSRF4_EEADDR_RF_CHANNEL   0x01
 
#define MBUSRF4_EEADDR_RF_POWER   0x02
 
#define MBUSRF4_EEADDR_RF_AUTOSLEEP   0x03
 
#define MBUSRF4_EEADDR_RX_WINDOW   0x04
 
#define MBUSRF4_EEADDR_WMBUS_C_FIELD   0x10
 
#define MBUSRF4_EEADDR_WMBUS_MANUFACTER_ID0   0x11
 
#define MBUSRF4_EEADDR_WMBUS_MANUFACTER_ID1   0x12
 
#define MBUSRF4_EEADDR_WMBUS_DEVICE_ID0   0x13
 
#define MBUSRF4_EEADDR_WMBUS_DEVICE_ID1   0x14
 
#define MBUSRF4_EEADDR_WMBUS_DEVICE_ID2   0x15
 
#define MBUSRF4_EEADDR_WMBUS_DEVICE_ID3   0x16
 
#define MBUSRF4_EEADDR_WMBUS_VERSION   0x17
 
#define MBUSRF4_EEADDR_WMBUS_DEVICE_TYPE   0x18
 
#define MBUSRF4_EEADDR_WMBUS_BLOCK1_FROM_MODULE_ENABLE   0x20
 
#define MBUSRF4_EEADDR_WMBUS_RSSI_ENABLE   0x21
 
#define MBUSRF4_EEADDR_WMBUS_INDICATE_TIMEOUT_LSB   0x22
 
#define MBUSRF4_EEADDR_WMBUS_INDICATE_TIMEOUT_MSB   0x23
 
#define MBUSRF4_EEADDR_WMBUS_UART_BAUDREATE   0x24
 
#define MBUSRF4_EEPARAM_WMBUS_MODE_S2_SHORT_PREAMBLE   0x00
 
#define MBUSRF4_EEPARAM_WMBUS_MODE_S2_LONG_PREAMBLE   0x01
 
#define MBUSRF4_EEPARAM_WMBUS_MODE_S1   0x02
 
#define MBUSRF4_EEPARAM_WMBUS_MODE_S1_M   0x03
 
#define MBUSRF4_EEPARAM_WMBUS_MODE_T1_METER   0x04
 
#define MBUSRF4_EEPARAM_WMBUS_MODE_T2_METER   0x05
 
#define MBUSRF4_EEPARAM_WMBUS_MODE_T2_OTHER   0x06
 
#define MBUSRF4_EEPARAM_WMBUS_MODE_R2_METER   0x07
 
#define MBUSRF4_EEPARAM_WMBUS_MODE_R2_OTHER   0x08
 
#define MBUSRF4_EEPARAM_WMBUS_MODE_C1_METER_FRAME_A   0x09
 
#define MBUSRF4_EEPARAM_WMBUS_MODE_C1_METER_FRAME_B   0x0A
 
#define MBUSRF4_EEPARAM_WMBUS_MODE_C2_METER_FRAME_A   0x0B
 
#define MBUSRF4_EEPARAM_WMBUS_MODE_C2_METER_FRAME_B   0x0C
 
#define MBUSRF4_EEPARAM_WMBUS_MODE_C2_OTHER_FRAME_A   0x0D
 
#define MBUSRF4_EEPARAM_WMBUS_MODE_C2_OTHER_FRAME_B   0x0E
 
#define MBUSRF4_EEPARAM_WMBUS_MODE_T2_C2_OTHER   0x0F
 
#define MBUSRF4_EEPARAM_RFGH_868p03MHz   0x00
 
#define MBUSRF4_EEPARAM_RFGH_868p09MHz   0x01
 
#define MBUSRF4_EEPARAM_RFGH_868p15MHz   0x02
 
#define MBUSRF4_EEPARAM_RFGH_868p21MHz   0x03
 
#define MBUSRF4_EEPARAM_RFGH_868p27MHz   0x04
 
#define MBUSRF4_EEPARAM_RFGH_868p33MHz   0x05
 
#define MBUSRF4_EEPARAM_RFGH_868p39MHz   0x06
 
#define MBUSRF4_EEPARAM_RFGH_868p45MHz   0x07
 
#define MBUSRF4_EEPARAM_RFGH_868p51MHz   0x08
 
#define MBUSRF4_EEPARAM_RFGH_868p57MHz   0x09
 
#define MBUSRF4_EEPARAM_RFPWR_0dBm   0x00
 
#define MBUSRF4_EEPARAM_RFPWR_5dBm   0x01
 
#define MBUSRF4_EEPARAM_RFPWR_7dBm   0x02
 
#define MBUSRF4_EEPARAM_RFPWR_10dBm   0x03
 
#define MBUSRF4_EEPARAM_RFPWR_12dBm   0x04
 
#define MBUSRF4_EEPARAM_RFAS_SLEEP_DISABLE   0x00
 
#define MBUSRF4_EEPARAM_RFAS_SLEEP_ENABLE   0x01
 
#define MBUSRF4_WM_BUS_C_FIELD   0x44
 
#define MBUSRF4_HEADER   0xAA
 
#define MBUSRF4_EEPARAM_BLOCK1_FROM_MODULE_ENABLE   0x01
 
#define MBUSRF4_EEPARAM_BLOCK1_FROM_MODULE_DISABLE   0x00
 
#define MBUSRF4_EEPARAM_RSSI_ENABLE   0x01
 
#define MBUSRF4_EEPARAM_RSSI_DISABLE   0x00
 
#define MBUSRF4_EEPARAM_UART_BAUDRATE_9600   0x00
 
#define MBUSRF4_EEPARAM_UART_BAUDRATE_19200   0x01
 
#define MBUSRF4_EEPARAM_UART_BAUDRATE_38400   0x02
 
#define MBUSRF4_EEPARAM_UART_BAUDRATE_57600   0x03
 
#define MBUSRF4_EEPARAM_UART_BAUDRATE_115200   0x04
 
#define MBUSRF4_SET_VALUE_IN_RAM_MEMORY   0x00
 
#define MBUSRF4_SET_VALUE_IN_EEPROM_MEMORY   0xFF
 
#define MBUSRF4_USER_APP_RX_MODE   0x00
 
#define MBUSRF4_USER_APP_TX_MODE   0x01
 
#define MBUSRF4_COMMUNICATION_UART_MODE   0x01
 
#define MBUSRF4_COMMUNICATION_SPI_MODE   0x00
 

Typedefs

typedef uint8_t mbusrf4_error_t
 Error type.
 

Functions

void mbusrf4_cfg_setup (mbusrf4_cfg_t *cfg)
 Config Object Initialization function.
 
MBUSRF4_RETVAL mbusrf4_init (mbusrf4_t *ctx, mbusrf4_cfg_t *cfg)
 Initialization function.
 
void mbusrf4_generic_write (mbusrf4_t *ctx, char *data_buf, uint16_t len)
 Generic write function.
 
int32_t mbusrf4_generic_read (mbusrf4_t *ctx, char *data_buf, uint16_t max_len)
 Generic read function.
 
uint8_t mbusrf4_get_state_rts (mbusrf4_t *ctx)
 Get Interrupt state of the RTS(INT) pin.
 
void mbusrf4_set_communication_mode (mbusrf4_t *ctx, uint8_t mode)
 Set communication SPI/UART.
 
void mbusrf4_send_command (mbusrf4_t *ctx, uint8_t command, uint8_t length, uint8_t *payload_buff)
 Send command - UART communication.
 
void mbusrf4_transmit_data (mbusrf4_t *ctx, uint8_t *tx_buf, uint8_t tx_len)
 
uint8_t mbusrf4_get_state_ind (mbusrf4_t *ctx)
 Get Interrupt state of the IND(AN) pin.
 

Detailed Description

This file contains API for M-BUS RF 4 Click driver.