ismtx 2.0.0.0
ismtx.h File Reference

This file contains API for ISM TX Click Driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_spi_master.h"

Go to the source code of this file.

Data Structures

struct  ismtx_t
 ISM TX Click context object. More...
 
struct  ismtx_cfg_t
 ISM TX Click configuration object. More...
 

Macros

#define ISMTX_REG_CFG1   0x00
 ISM TX description register.
 
#define ISMTX_REG_CFG2   0x01
 
#define ISMTX_REG_CFG3   0x02
 
#define ISMTX_REG_CFG4   0x03
 
#define ISMTX_REG_CFG5   0x04
 
#define ISMTX_REG_SHDN   0x05
 
#define ISMTX_REG_PA1   0x06
 
#define ISMTX_REG_PA2   0x07
 
#define ISMTX_REG_PLL1   0x08
 
#define ISMTX_REG_PLL2   0x09
 
#define ISMTX_REG_CFG6   0x0A
 
#define ISMTX_REG_PLL3   0x0B
 
#define ISMTX_REG_PLL4   0x0C
 
#define ISMTX_REG_PLL5   0x0D
 
#define ISMTX_REG_PLL6   0x0E
 
#define ISMTX_REG_PLL7   0x0F
 
#define ISMTX_REG_CFG7   0x10
 
#define ISMTX_REG_CFG8   0x17
 
#define ISMTX_REG_CFG9   0x18
 
#define ISMTX_REG_ADDL1   0x19
 
#define ISMTX_REG_ADDL2   0x1A
 
#define ISM_TX_MODULATION_NULL   0
 ISM TX modulation setting.
 
#define ISM_TX_MODULATION_ASK   1
 
#define ISM_TX_MODULATION_FSK   2
 
#define ISMTX_CFG_XO_CLK_DELAY   30
 ISM TX configuration macro.
 
#define ISMTX_CFG_XO_CLK_DIV   31
 
#define ISMTX_CFG_FSK_SHAPE   32
 
#define ISMTX_CFG_SYNC   33
 
#define ISMTX_CFG_MODE   34
 
#define ISMTX_CFG_CLKOUT_DELAY   35
 
#define ISMTX_CFG_BCLK_POSTDIV   36
 
#define ISMTX_CFG_BCLK_PREDIV   37
 
#define ISMTX_CFG_PWDN_MODE   38
 
#define ISMTX_CFG_PA_MODE   39
 
#define ISMTX_CFG_PA_DRIVERS   40
 
#define ISMTX_CFG_PA_SHUNT   41
 
#define ISMTX_CFG_PA_OFFSET_CUR   42
 
#define ISMTX_CFG_PA_PLL_N   43
 
#define ISMTX_CFG_PA_LCVCO_DIV   44
 
#define ISMTX_CFG_PA_LCVCO_MODE   45
 
#define ISMTX_CFG_CP_CURRENT   46
 
#define ISMTX_CFG_SPITXEN1   47
 
#define ISMTX_CFG_FOURWIRE1   48
 
#define ISMTX_CFG_SPITXEN2   49
 
#define ISMTX_CFG_FOURWIRE2   50
 
#define ISMTX_CFG_DELTAF   51
 
#define ISMTX_CFG_DELTAF_SHAPE   52
 
#define ISMTX_CFG_TSTEP   53
 
#define ISMTX_CFG_EN_LDO   54
 
#define ISMTX_CFG_DIS_LDO_FUNC_EN   55
 
#define ISMTX_CFG_PLL_LOOP_BAND   56
 
#define ISMTX_CFG_LCVCO_FAST_START   57
 
#define ISMTX_CFG_LCVCO_PWR   58
 
#define ISMTX_XO_CLK_DELAY_NO_CYC   0x00
 ISM TX configuration value.
 
#define ISMTX_XO_CLK_DELAY_16_CYC   0x01
 
#define ISMTX_XO_CLK_DELAY_32_CYC   0x02
 
#define ISMTX_XO_CLK_DELAY_64_CYC   0x03
 
#define ISMTX_XO_CLK_DIV_4   0x00
 
#define ISMTX_XO_CLK_DIV_5   0x01
 
#define ISMTX_XO_CLK_DIV_6   0x02
 
#define ISMTX_XO_CLK_DIV_7   0x03
 
#define ISMTX_FSK_SHAPE_DISABLED   0x00
 
#define ISMTX_FSK_SHAPE_ENABLED   0x01
 
#define ISMTX_SYNC_DISABLE   0x00
 
#define ISMTX_SYNC_ENABLE   0x01
 
#define ISMTX_MODE_ASK   0x00
 
#define ISMTX_MODE_FSK   0x01
 
#define ISMTX_CLKOUT_DELAY_64_CYC   0x00
 
#define ISMTX_CLKOUT_DELAY_128_CYC   0x01
 
#define ISMTX_CLKOUT_DELAY_256_CYC   0x02
 
#define ISMTX_CLKOUT_DELAY_512_CYC   0x03
 
#define ISMTX_PWDN_MODE_SHUTDOWN   0x00
 
#define ISMTX_PWDN_MODE_STAMDBY   0x01
 
#define ISMTX_PWDN_MODE_FAST_WAKEUP   0x02
 
#define ISMTX_PWDN_MODE_FAST_WAKEUP_   0x03
 
#define ISMTX_PA_MODE_NORMAL   0x00
 
#define ISMTX_PA_MODE_BOOST   0x01
 
#define ISMTX_PA_DRIVERS_1   0x00
 
#define ISMTX_PA_DRIVERS_2   0x01
 
#define ISMTX_PA_DRIVERS_3   0x02
 
#define ISMTX_PA_DRIVERS_4   0x03
 
#define ISMTX_PA_DRIVERS_5   0x04
 
#define ISMTX_PA_DRIVERS_6   0x05
 
#define ISMTX_PA_DRIVERS_7   0x06
 
#define ISMTX_PA_DRIVERS_8   0x07
 
#define ISMTX_PA_SHUNT_0   0x00
 
#define ISMTX_PA_SHUNT_175   0x01
 
#define ISMTX_PA_SHUNT_350   0x02
 
#define ISMTX_PA_SHUNT_525   0x03
 
#define ISMTX_PA_SHUNT_700   0x04
 
#define ISMTX_PA_SHUNT_875   0x05
 
#define ISMTX_PA_SHUNT_1050   0x06
 
#define ISMTX_PA_SHUNT_1225   0x07
 
#define ISMTX_PA_SHUNT_1400   0x08
 
#define ISMTX_PA_SHUNT_1575   0x09
 
#define ISMTX_PA_SHUNT_1750   0x0A
 
#define ISMTX_PA_SHUNT_1925   0x0B
 
#define ISMTX_PA_SHUNT_2100   0x0C
 
#define ISMTX_PA_SHUNT_2275   0x0D
 
#define ISMTX_PA_SHUNT_2450   0x0E
 
#define ISMTX_PA_SHUNT_2625   0x0F
 
#define ISMTX_PA_SHUNT_2800   0x10
 
#define ISMTX_PA_SHUNT_2975   0x11
 
#define ISMTX_PA_SHUNT_3150   0x12
 
#define ISMTX_PA_SHUNT_3325   0x13
 
#define ISMTX_PA_SHUNT_3500   0x14
 
#define ISMTX_PA_SHUNT_3675   0x15
 
#define ISMTX_PA_SHUNT_3850   0x16
 
#define ISMTX_PA_SHUNT_4025   0x17
 
#define ISMTX_PA_SHUNT_4200   0x18
 
#define ISMTX_PA_SHUNT_4375   0x19
 
#define ISMTX_PA_SHUNT_4550   0x1A
 
#define ISMTX_PA_SHUNT_4725   0x1B
 
#define ISMTX_PA_SHUNT_4900   0x1C
 
#define ISMTX_PA_SHUNT_5075   0x1D
 
#define ISMTX_PA_SHUNT_5250   0x1E
 
#define ISMTX_PA_SHUNT_5425   0x1F
 
#define ISMTX_PA_OFFSET_CUR_NO   0x00
 
#define ISMTX_PA_OFFSET_CUR_5_PCT   0x01
 
#define ISMTX_PA_OFFSET_CUR_10_PCT   0x02
 
#define ISMTX_PA_OFFSET_CUR_15_PCT   0x03
 
#define ISMTX_PA_PLL_N_INT   0x00
 
#define ISMTX_PA_PLL_N_FRAC   0x01
 
#define ISMTX_PA_LCVCO_DIV_NO   0x00
 
#define ISMTX_PA_LCVCO_DIV_4   0x01
 
#define ISMTX_PA_LCVCO_DIV_8   0x02
 
#define ISMTX_PA_LCVCO_DIV_12   0x03
 
#define ISMTX_PA_LCVCO_MODE_RING   0x00
 
#define ISMTX_PA_LCVCO_MODE_LC   0x01
 
#define ISMTX_CP_CURRENT_5uA   0x00
 
#define ISMTX_CP_CURRENT_10uA   0x01
 
#define ISMTX_CP_CURRENT_15uA   0x02
 
#define ISMTX_CP_CURRENT_20uA   0x03
 
#define ISMTX_SPITXEN1_DISABLED   0x00
 
#define ISMTX_SPITXEN1_ENABLED   0x01
 
#define ISMTX_FOURWIRE1_DISABLED   0x00
 
#define ISMTX_FOURWIRE1_ENABLED   0x01
 
#define ISMTX_SPITXEN2_DISABLED   0x00
 
#define ISMTX_SPITXEN2_ENABLED   0x01
 
#define ISMTX_FOURWIRE2_DISABLED   0x00
 
#define ISMTX_FOURWIRE2_ENABLED   0x01
 
#define ISMTX_BCLK_POSTDIV_1   0x01
 
#define ISMTX_BCLK_POSTDIV_2   0x02
 
#define ISMTX_BCLK_POSTDIV_3   0x03
 
#define ISMTX_BCLK_POSTDIV_4   0x04
 
#define ISMTX_BCLK_POSTDIV_5   0x05
 
#define ISMTX_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.
 

Enumerations

enum  ismtx_return_value_t { ISMTX_OK = 0 , ISMTX_ERROR = -1 , ISMTX_PARAMETER_ERROR = -2 }
 ISM TX Click return value data. More...
 

Functions

void ismtx_cfg_setup (ismtx_cfg_t *cfg)
 ISM TX configuration object setup function.
 
err_t ismtx_init (ismtx_t *ctx, ismtx_cfg_t *cfg)
 ISM TX initialization function.
 
err_t ismtx_default_cfg (ismtx_t *ctx)
 ISM TX default configuration function.
 
err_t ismtx_generic_write (ismtx_t *ctx, uint8_t reg, uint8_t data_in)
 ISM TX data writing function.
 
err_t ismtx_generic_read (ismtx_t *ctx, uint8_t reg, uint8_t *data_out)
 ISM TX data reading function.
 
void ismtx_soft_reset (ismtx_t *ctx)
 ISM TX software reset.
 
err_t ismtx_set_cfg (ismtx_t *ctx, uint8_t cfg_macro, uint8_t cfg_value)
 ISM TX writing configuration.
 
err_t ismtx_get_cfg (ismtx_t *ctx, uint8_t cfg_macro, uint8_t *cfg_value)
 ISM TX reading configuration.
 
err_t ismtx_set_frequency (ismtx_t *ctx, uint32_t freq)
 Setting specific frequency for transmission.
 
uint32_t ismtx_get_frequency (ismtx_t *ctx)
 Getting current frequency for transmission .
 
err_t ismtx_adjust_freq_deviation (ismtx_t *ctx, uint32_t deviation_freq)
 Adjust frequency for transmission.
 
err_t ismtx_adjust_man_bitrate (ismtx_t *ctx, uint32_t baud)
 Adjust manchester baudrate.
 
err_t ismtx_transmit_raw_data (ismtx_t *ctx, uint8_t *tx_data, uint8_t tx_len)
 Function for trinsmiting data.
 
err_t ismtx_transmit_data (ismtx_t *ctx, uint8_t preamble_byte, uint8_t *tx_data, uint8_t tx_data_len)
 Function for transmitting data with preamble byte and lenght.
 

Detailed Description

This file contains API for ISM TX Click Driver.

Enumeration Type Documentation

◆ ismtx_return_value_t

ISM TX Click return value data.

Predefined enum values for driver return values.

Enumerator
ISMTX_OK 
ISMTX_ERROR 
ISMTX_PARAMETER_ERROR