dac18  2.1.0.0
Data Structures | Macros | Enumerations | Functions
dac18.h File Reference

This file contains API for DAC 18 Click Driver. More...

#include "mikrosdk_version.h"
#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_i2c_master.h"

Go to the source code of this file.

Data Structures

struct  dac18_t
 DAC 18 Click context object. More...
 
struct  dac18_cfg_t
 DAC 18 Click configuration object. More...
 

Macros

#define DAC18_REG_NOP   0x00
 DAC 18 description register. More...
 
#define DAC18_REG_DAC0_VOUT_CMP_CONFIG   0x15
 
#define DAC18_REG_DAC1_VOUT_CMP_CONFIG   0x03
 
#define DAC18_REG_COMMON_CONFIG   0x1F
 
#define DAC18_REG_COMMON_TRIGGER   0x20
 
#define DAC18_REG_FUNCTION_TRIGGER   0x21
 
#define DAC18_REG_GENERAL_STATUS   0x22
 
#define DAC18_REG_DEVICE_MODE_CONFIG   0x25
 
#define DAC18_REG_INTERFACE_CONFIG   0x26
 
#define DAC18_REG_STATE_MACHINE_CONFIG   0x27
 
#define DAC18_REG_SRAM_CONFIG   0x2B
 
#define DAC18_REG_SRAM_DATA   0x2C
 
#define DAC18_SRAM_REG_FUNCTION_CONFIG   0x20
 DAC 18 description SRAM register address. More...
 
#define DAC18_SRAM_REG_FUNCTION_MAX   0x21
 
#define DAC18_SRAM_REG_FUNCTION_MIN   0x22
 
#define DAC18_SRAM_REG_GPI_DEBOUNCE   0x23
 
#define DAC18_SRAM_REG_VOUT_DATA_0   0x24
 
#define DAC18_SRAM_REG_VOUT_DATA_1   0x25
 
#define DAC18_SRAM_REG_VOUT_DATA_2   0x26
 
#define DAC18_SRAM_REG_VOUT_DATA_3   0x27
 
#define DAC18_SRAM_REG_VOUT_DATA_4   0x28
 
#define DAC18_SRAM_REG_VOUT_DATA_5   0x29
 
#define DAC18_SRAM_REG_VOUT_DATA_6   0x2A
 
#define DAC18_SRAM_REG_VOUT_DATA_7   0x2B
 
#define DAC18_SRAM_REG_PWM_FREQUENCY_ERROR   0x9E
 
#define DAC18_MODE_CONFIGURATION   0
 DAC 18 mode selection. More...
 
#define DAC18_MODE_STANDALONE   1
 
#define DAC18_DACX_VOUT_CFG_GAIN_BITMASK   0x1C00u
 DAC 18 DAC-X-VOUT-CMP-CONFIG register bitmask. More...
 
#define DAC18_DACX_VOUT_CFG_GAIN_X1   0x0400u
 
#define DAC18_DACX_VOUT_CFG_GAIN_X1_5   0x0800u
 
#define DAC18_DACX_VOUT_CFG_GAIN_X2   0x0C00u
 
#define DAC18_DACX_VOUT_CFG_GAIN_X3   0x1000u
 
#define DAC18_DACX_VOUT_CFG_GAIN_X4   0x1400u
 
#define DAC18_DACX_VOUT_CFG_CMPX_OD_EN   0x0010u
 
#define DAC18_DACX_VOUT_CFG_CMPX_OUT_EN   0x0008u
 
#define DAC18_DACX_VOUT_CFG_CMPX_HIZ_IN_DIS   0x0004u
 
#define DAC18_DACX_VOUT_CFG_CMPX_INV_EN   0x0002u
 
#define DAC18_DACX_VOUT_CFG_CMPX_EN   0x0001u
 
#define DAC18_COMMON_CFG_DEFAULT   0x03F9u
 DAC 18 COMMON-CONFIG register bitmask. More...
 
#define DAC18_COMMON_CFG_DEV_LOCK   0x4000u
 
#define DAC18_COMMON_CFG_EN_INT_REF   0x1000u
 
#define DAC18_COMMON_CFG_VOUT0_BITMASK   0x0C00u
 
#define DAC18_COMMON_CFG_VOUT0_PDN   0x0000u
 
#define DAC18_COMMON_CFG_VOUT0_10KOHM   0x0400u
 
#define DAC18_COMMON_CFG_VOUT0_100KOHM   0x0800u
 
#define DAC18_COMMON_CFG_VOUT0_HIZ   0x0C00u
 
#define DAC18_COMMON_CFG_VOUT1_BITMASK   0x0060u
 
#define DAC18_COMMON_CFG_VOUT1_PDN   0x0000u
 
#define DAC18_COMMON_CFG_VOUT1_10KOHM   0x0040u
 
#define DAC18_COMMON_CFG_VOUT1_100KOHM   0x0020u
 
#define DAC18_COMMON_CFG_VOUT1_HIZ   0x0060u
 
#define DAC18_COMMON_TRG_DEV_LOCK   0x5000u
 DAC 18 COMMON-TRIGGER register bitmask. More...
 
#define DAC18_COMMON_TRG_RESET   0x0A00u
 
#define DAC18_COMMON_TRG_NVM_PROG   0x0002u
 
#define DAC18_COMMON_TRG_NVM_RELOAD   0x0001u
 
#define DAC18_FUNCTION_TRG_START   0x0001u
 DAC 18 FUNCTION-TRIGGER register bitmask. More...
 
#define DAC18_FUNCTION_TRG_STOP   0x0000u
 
#define DAC18_GEN_STATUS_NVM_CRC_FAIL_INT   0x8000u
 DAC 18 GENERAL-STATUS register bitmask. More...
 
#define DAC18_GEN_STATUS_NVM_CRC_FAIL_USER   0x4000u
 
#define DAC18_GEN_STATUS_DAC_0_BUSY   0x1000u
 
#define DAC18_GEN_STATUS_DAC_1_BUSY   0x0200u
 
#define DAC18_GEN_STATUS_NVM_BUSY   0x0100u
 
#define DAC18_GEN_STATUS_DEVICE_ID_BITMASK   0x00FCu
 
#define DAC18_GEN_STATUS_DEVICE_ID   0x001Au
 
#define DAC18_GEN_STATUS_VERSION_ID_BITMASK   0x0003u
 
#define DAC18_GEN_STATUS_VERSION_ID   0x0000u
 
#define DAC18_DEV_MODE_CFG_DEFAULT   0x8000u
 DAC 18 DEVICE-MODE-CONFIG register bitmask. More...
 
#define DAC18_DEV_MODE_CFG_EN   0x0000u
 
#define DAC18_DEV_MODE_CFG_DIS   0x2000u
 
#define DAC18_DEV_MODE_CFG_SM_IO_EN   0x0040u
 
#define DAC18_STATE_M_CFG_SM_ABORT   0x0004u
 DAC 18 STATE-MACHINE-CONFIG register bitmask. More...
 
#define DAC18_STATE_M_CFG_SM_START   0x0002u
 
#define DAC18_STATE_M_CFG_SM_EN   0x0001u
 
#define DAC18_STATE_M_CFG_SM_STOP   0x0000u
 
#define DAC18_FUN_CFG_F_SEL_TRIANGULAR   0x00
 DAC 18 FUNCTION-CONFIG register data values. More...
 
#define DAC18_FUN_CFG_F_SEL_SAWTOOTH   0x01
 
#define DAC18_FUN_CFG_F_SEL_INV_SAWTOOTH   0x02
 
#define DAC18_FUN_CFG_F_SEL_DISABLE   0x07
 
#define DAC18_FUN_CFG_C_STEP_1LSB   0x00
 
#define DAC18_FUN_CFG_C_STEP_2LSB   0x01
 
#define DAC18_FUN_CFG_C_STEP_3LSB   0x02
 
#define DAC18_FUN_CFG_C_STEP_4LSB   0x03
 
#define DAC18_FUN_CFG_C_STEP_6LSB   0x04
 
#define DAC18_FUN_CFG_C_STEP_8LSB   0x05
 
#define DAC18_FUN_CFG_C_STEP_16LSB   0x06
 
#define DAC18_FUN_CFG_C_STEP_32LSB   0x07
 
#define DAC18_FUN_CFG_T_STEP_INVALID   0x00
 
#define DAC18_FUN_CFG_T_STEP_4_US   0x01
 
#define DAC18_FUN_CFG_T_STEP_8_US   0x02
 
#define DAC18_FUN_CFG_T_STEP_12_US   0x03
 
#define DAC18_FUN_CFG_T_STEP_18_US   0x04
 
#define DAC18_FUN_CFG_T_STEP_27_04_US   0x05
 
#define DAC18_FUN_CFG_T_STEP_40_48_US   0x06
 
#define DAC18_FUN_CFG_T_STEP_60_72_US   0x07
 
#define DAC18_FUN_CFG_T_STEP_91_12_US   0x08
 
#define DAC18_FUN_CFG_T_STEP_136_72_US   0x09
 
#define DAC18_FUN_CFG_T_STEP_239_2_US   0x0A
 
#define DAC18_FUN_CFG_T_STEP_418_64_US   0x0B
 
#define DAC18_FUN_CFG_T_STEP_732_56_US   0x0C
 
#define DAC18_FUN_CFG_T_STEP_1282_US   0x0D
 
#define DAC18_FUN_CFG_T_STEP_2563_92_US   0x0E
 
#define DAC18_FUN_CFG_T_STEP_5127_92_US   0x0F
 
#define DAC18_DAC_CODE_MAX_DEFAULT   0x05AAu
 DAC 18 FUNCTION-MAX and FUNCTION-MIN register data values. More...
 
#define DAC18_DAC_CODE_MIN_DEFAULT   0x00C8u
 
#define DAC18_DAC_CODE_12BIT_MAX   0x0FFFu
 
#define DAC18_GPI_DEBOUNCE_50_MS   50.0f
 DAC 18 Debounce delay for the GPI pins data values. More...
 
#define DAC18_GPI_DEBOUNCE_MAX   10485.7f
 
#define DAC18_GPI_DEBOUNCE_SENS   0.16f
 
#define DAC18_LUT_DEFAULT_VOUT_DATA_0   0xA1C0u
 DAC 18 default LUT data values. More...
 
#define DAC18_LUT_DEFAULT_VOUT_DATA_1   0x8E40u
 
#define DAC18_LUT_DEFAULT_VOUT_DATA_2   0x7AC0u
 
#define DAC18_LUT_DEFAULT_VOUT_DATA_3   0x6740u
 
#define DAC18_LUT_DEFAULT_VOUT_DATA_4   0x5380u
 
#define DAC18_LUT_DEFAULT_VOUT_DATA_5   0x4000u
 
#define DAC18_LUT_DEFAULT_VOUT_DATA_6   0x2C80u
 
#define DAC18_LUT_DEFAULT_VOUT_DATA_7   0x18C0u
 
#define DAC18_DEVICE_ADDRESS_GND   0x48
 DAC 18 device address setting. More...
 
#define DAC18_DEVICE_ADDRESS_VCC   0x49
 
#define DAC18_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping. More...
 

Enumerations

enum  dac18_return_value_t { DAC18_OK = 0, DAC18_ERROR = -1 }
 DAC 18 Click return value data. More...
 

Functions

void dac18_cfg_setup (dac18_cfg_t *cfg)
 DAC 18 configuration object setup function. More...
 
err_t dac18_init (dac18_t *ctx, dac18_cfg_t *cfg)
 DAC 18 initialization function. More...
 
err_t dac18_default_cfg (dac18_t *ctx)
 DAC 18 default configuration function. More...
 
err_t dac18_generic_write (dac18_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
 DAC 18 I2C writing function. More...
 
err_t dac18_generic_read (dac18_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
 DAC 18 I2C reading function. More...
 
err_t dac18_register_write (dac18_t *ctx, uint8_t reg, uint16_t data_in)
 DAC 18 register writing function. More...
 
err_t dac18_register_read (dac18_t *ctx, uint8_t reg, uint16_t *data_out)
 DAC 18 register reading function. More...
 
err_t dac18_cfg_pwm_out (dac18_t *ctx, uint8_t f_sel, uint8_t c_step, uint8_t t_step)
 DAC 18 PWM OUT0 configuration function. More...
 
err_t dac18_set_dac_code (dac18_t *ctx, uint16_t max_dc, uint16_t min_dc)
 DAC 18 set DAC code function. More...
 
err_t dac18_set_debounce_delay (dac18_t *ctx, float delay_ms)
 DAC 18 set debounce delay function. More...
 
void dac18_set_mode (dac18_t *ctx, uint8_t mode)
 DAC 18 set operation mode function. More...
 
uint8_t dac18_get_gp0 (dac18_t *ctx)
 DAC 18 get GP0 pin state function. More...
 
uint8_t dac18_get_gp1 (dac18_t *ctx)
 DAC 18 get GP1 pin state function. More...
 
uint8_t dac18_get_gp2 (dac18_t *ctx)
 DAC 18 get GP2 pin state function. More...
 
void dac18_get_gpi_status (dac18_t *ctx, uint8_t *gpi_status)
 DAC 18 get GPI status function. More...
 

Detailed Description

This file contains API for DAC 18 Click Driver.

Enumeration Type Documentation

◆ dac18_return_value_t

DAC 18 Click return value data.

Predefined enum values for driver return values.

Enumerator
DAC18_OK 
DAC18_ERROR