solenoiddriver 2.2.0
Loading...
Searching...
No Matches
solenoiddriver.h File Reference

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

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

Go to the source code of this file.

Data Structures

struct  solenoiddriver_t
 Solenoid Driver Click context object. More...
struct  solenoiddriver_cfg_t
 Solenoid Driver Click configuration object. More...

Macros

#define SOLENOIDDRIVER_REG_OUT_CTRL   0x00
 Solenoid Driver register list.
#define SOLENOIDDRIVER_REG_STANDARD_DIAGNOSIS   0x01
#define SOLENOIDDRIVER_REG_IN0_MAP   0x04
#define SOLENOIDDRIVER_REG_IN1_MAP   0x05
#define SOLENOIDDRIVER_REG_IN_STATUS_MONITOR   0x06
#define SOLENOIDDRIVER_REG_OPEN_LOAD_CURRENT_CTRL   0x08
#define SOLENOIDDRIVER_REG_OUT_STATUS_MONITOR   0x09
#define SOLENOIDDRIVER_REG_CONFIG   0x0C
#define SOLENOIDDRIVER_REG_OUT_CLEAR_LATCH   0x0D
#define SOLENOIDDRIVER_REG_CONFIG2   0x28
#define SOLENOIDDRIVER_DIAG_UVRVM   0x4000
 Solenoid Driver STANDARD_DIAGNOSIS register setting.
#define SOLENOIDDRIVER_DIAG_MODE_LIMP_HOME   0x0800
#define SOLENOIDDRIVER_DIAG_MODE_ACTIVE   0x1000
#define SOLENOIDDRIVER_DIAG_MODE_IDLE   0x1800
#define SOLENOIDDRIVER_DIAG_MODE_MASK   0x1800
#define SOLENOIDDRIVER_DIAG_TER   0x0400
#define SOLENOIDDRIVER_DIAG_OLOFF   0x0100
#define SOLENOIDDRIVER_DIAG_ERR_OUT3   0x0008
#define SOLENOIDDRIVER_DIAG_ERR_OUT2   0x0004
#define SOLENOIDDRIVER_DIAG_ERR_OUT1   0x0002
#define SOLENOIDDRIVER_DIAG_ERR_OUT0   0x0001
#define SOLENOIDDRIVER_OUT_CTRL_EN3   0x08
 Solenoid Driver OUT_CTRL register setting.
#define SOLENOIDDRIVER_OUT_CTRL_EN2   0x04
#define SOLENOIDDRIVER_OUT_CTRL_EN1   0x02
#define SOLENOIDDRIVER_OUT_CTRL_EN0   0x01
#define SOLENOIDDRIVER_IN0_MAP_OUT3   0x08
 Solenoid Driver IN0_MAP register setting.
#define SOLENOIDDRIVER_IN0_MAP_OUT2   0x04
#define SOLENOIDDRIVER_IN0_MAP_OUT1   0x02
#define SOLENOIDDRIVER_IN0_MAP_OUT0   0x01
#define SOLENOIDDRIVER_IN0_MAP_NONE   0x00
#define SOLENOIDDRIVER_IN1_MAP_OUT3   0x08
 Solenoid Driver IN1_MAP register setting.
#define SOLENOIDDRIVER_IN1_MAP_OUT2   0x04
#define SOLENOIDDRIVER_IN1_MAP_OUT1   0x02
#define SOLENOIDDRIVER_IN1_MAP_OUT0   0x01
#define SOLENOIDDRIVER_IN1_MAP_NONE   0x00
#define SOLENOIDDRIVER_IN_STATUS_MONITOR_TER   0x80
 Solenoid Driver IN_STATUS_MONITOR register setting.
#define SOLENOIDDRIVER_IN_STATUS_MONITOR_INST1   0x02
#define SOLENOIDDRIVER_IN_STATUS_MONITOR_INST0   0x01
#define SOLENOIDDRIVER_OPEN_LOAD_CURRENT_CTRL_IOL3   0x08
 Solenoid Driver OPEN_LOAD_CURRENT_CTRL register setting.
#define SOLENOIDDRIVER_OPEN_LOAD_CURRENT_CTRL_IOL2   0x04
#define SOLENOIDDRIVER_OPEN_LOAD_CURRENT_CTRL_IOL1   0x02
#define SOLENOIDDRIVER_OPEN_LOAD_CURRENT_CTRL_IOL0   0x01
#define SOLENOIDDRIVER_OUT_STATUS_MONITOR_OSM3   0x08
 Solenoid Driver OUT_STATUS_MONITOR register setting.
#define SOLENOIDDRIVER_OUT_STATUS_MONITOR_OSM2   0x04
#define SOLENOIDDRIVER_OUT_STATUS_MONITOR_OSM1   0x02
#define SOLENOIDDRIVER_OUT_STATUS_MONITOR_OSM0   0x01
#define SOLENOIDDRIVER_CONFIG_ACT   0x80
 Solenoid Driver CONFIG register setting.
#define SOLENOIDDRIVER_CONFIG_RST   0x40
#define SOLENOIDDRIVER_CONFIG_DISOL   0x20
#define SOLENOIDDRIVER_CONFIG_OCP   0x10
#define SOLENOIDDRIVER_CONFIG_PAR1   0x02
#define SOLENOIDDRIVER_CONFIG_PAR0   0x01
#define SOLENOIDDRIVER_OUT_CLEAR_LATCH_CLR3   0x08
 Solenoid Driver OUT_CLEAR_LATCH register setting.
#define SOLENOIDDRIVER_OUT_CLEAR_LATCH_CLR2   0x04
#define SOLENOIDDRIVER_OUT_CLEAR_LATCH_CLR1   0x02
#define SOLENOIDDRIVER_OUT_CLEAR_LATCH_CLR0   0x01
#define SOLENOIDDRIVER_CONFIG2_LOCK_SET_LOCK   0xC0
 Solenoid Driver CONFIG2 register setting.
#define SOLENOIDDRIVER_CONFIG2_LOCK_SET_UNLOCK   0x60
#define SOLENOIDDRIVER_CONFIG2_LOCK_MASK   0xE0
#define SOLENOIDDRIVER_CONFIG2_OTW   0x04
#define SOLENOIDDRIVER_CONFIG2_SR_1_2V   0x00
#define SOLENOIDDRIVER_CONFIG2_SR_3V   0x01
#define SOLENOIDDRIVER_CONFIG2_SR_MASK   0x01
#define SOLENOIDDRIVER_SET_DATA_SAMPLE_EDGE   SET_SPI_DATA_SAMPLE_EDGE
 Data sample selection.
#define SOLENOIDDRIVER_SET_DATA_SAMPLE_MIDDLE   SET_SPI_DATA_SAMPLE_MIDDLE
#define SOLENOIDDRIVER_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.

Enumerations

enum  solenoiddriver_return_value_t { SOLENOIDDRIVER_OK = 0 , SOLENOIDDRIVER_ERROR = -1 }
 Solenoid Driver Click return value data. More...

Functions

void solenoiddriver_cfg_setup (solenoiddriver_cfg_t *cfg)
 Solenoid Driver configuration object setup function.
err_t solenoiddriver_init (solenoiddriver_t *ctx, solenoiddriver_cfg_t *cfg)
 Solenoid Driver initialization function.
err_t solenoiddriver_default_cfg (solenoiddriver_t *ctx)
 Solenoid Driver default configuration function.
err_t solenoiddriver_write_reg (solenoiddriver_t *ctx, uint8_t reg, uint8_t data_in)
 Solenoid Driver write register function.
err_t solenoiddriver_read_reg (solenoiddriver_t *ctx, uint8_t reg, uint8_t *data_out)
 Solenoid Driver read register function.
void solenoiddriver_set_in0_pin (solenoiddriver_t *ctx, uint8_t state)
 Solenoid Driver set IN0 pin function.
void solenoiddriver_set_in1_pin (solenoiddriver_t *ctx, uint8_t state)
 Solenoid Driver set IN1 pin function.
void solenoiddriver_set_sleep_pin (solenoiddriver_t *ctx, uint8_t state)
 Solenoid Driver set SLEEP pin function.
void solenoiddriver_enter_sleep (solenoiddriver_t *ctx)
 Solenoid Driver enter sleep mode function.
void solenoiddriver_exit_sleep (solenoiddriver_t *ctx)
 Solenoid Driver exit sleep mode function.
err_t solenoiddriver_reset_device (solenoiddriver_t *ctx)
 Solenoid Driver device reset function.
err_t solenoiddriver_lock_settings (solenoiddriver_t *ctx)
 Solenoid Driver lock settings function.
err_t solenoiddriver_unlock_settings (solenoiddriver_t *ctx)
 Solenoid Driver unlock settings function.
err_t solenoiddriver_clear_latch (solenoiddriver_t *ctx)
 Solenoid Driver clear latch outputs function.
err_t solenoiddriver_set_output (solenoiddriver_t *ctx, uint8_t out_ctrl)
 Solenoid Driver set output function.

Detailed Description

This file contains API for Solenoid Driver Click Driver.

Enumeration Type Documentation

◆ solenoiddriver_return_value_t

Solenoid Driver Click return value data.

Predefined enum values for driver return values.

Enumerator
SOLENOIDDRIVER_OK 
SOLENOIDDRIVER_ERROR