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

This file contains API for SolidSwitch 6 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  solidswitch6_t
 SolidSwitch 6 Click context object. More...
 
struct  solidswitch6_cfg_t
 SolidSwitch 6 Click configuration object. More...
 
struct  solidswitch6_device_info_t
 SolidSwitch 6 Click device information object. More...
 
struct  solidswitch6_ctrl_t
 SolidSwitch 6 Click control object. More...
 

Macros

#define SOLIDSWITCH6_REG_CTRL_1   0x01
 SolidSwitch 6 description register. More...
 
#define SOLIDSWITCH6_REG_CTRL_2   0x02
 
#define SOLIDSWITCH6_REG_CTRL_3   0x03
 
#define SOLIDSWITCH6_REG_STATUS_1   0x11
 
#define SOLIDSWITCH6_REG_STATUS_2   0x12
 
#define SOLIDSWITCH6_REG_STATUS_3   0x13
 
#define SOLIDSWITCH6_REG_STATUS_4   0x14
 
#define SOLIDSWITCH6_REG_STATUS_5   0x15
 
#define SOLIDSWITCH6_REG_STATUS_6   0x16
 
#define SOLIDSWITCH6_REG_STATUS_7   0x17
 
#define SOLIDSWITCH6_REG_STATUS_8   0x18
 
#define SOLIDSWITCH6_REG_ADV_OPC   0x3F
 
#define SOLIDSWITCH6_REG_ROM_CCODE   0x00
 SolidSwitch 6 description ROM memory register. More...
 
#define SOLIDSWITCH6_REG_ROM_DEVF   0x01
 
#define SOLIDSWITCH6_REG_ROM_PR_CODE_1   0x02
 
#define SOLIDSWITCH6_REG_ROM_PR_CODE_2   0x03
 
#define SOLIDSWITCH6_REG_ROM_PR_CODE_3   0x04
 
#define SOLIDSWITCH6_REG_ROM_PR_CODE_4   0x05
 
#define SOLIDSWITCH6_REG_ROM_SIL_VER   0x0A
 
#define SOLIDSWITCH6_REG_ROM_SPI_MODE   0x10
 
#define SOLIDSWITCH6_REG_ROM_WD_TYPE   0x11
 
#define SOLIDSWITCH6_REG_ROM_WD_P1   0x13
 
#define SOLIDSWITCH6_REG_ROM_WD_P2   0x14
 
#define SOLIDSWITCH6_REG_ROM_ADV_OPC   0x3F
 
#define SOLIDSWITCH6_ROM_COMPANY_CODE   0x00
 SolidSwitch 6 ROM memory device information data values. More...
 
#define SOLIDSWITCH6_ROM_DEVICE_FAMILY   0x01
 
#define SOLIDSWITCH6_ROM_PRODUCT_CODE_1   0x55
 
#define SOLIDSWITCH6_ROM_PRODUCT_CODE_2   0x52
 
#define SOLIDSWITCH6_ROM_PRODUCT_CODE_3   0x05
 
#define SOLIDSWITCH6_ROM_PRODUCT_CODE_4   0x4A
 
#define SOLIDSWITCH6_ROM_SILICON_VERSION   0x02
 
#define SOLIDSWITCH6_CTRL_1_GOSTBY_DIS   0x00
 SolidSwitch 6 control register 1 data values. More...
 
#define SOLIDSWITCH6_CTRL_1_GOSTBY_EN   0x01
 
#define SOLIDSWITCH6_CTRL_1_EN_DIS   0x00
 
#define SOLIDSWITCH6_CTRL_1_EN   0x01
 
#define SOLIDSWITCH6_CTRL_1_S_T_START_DIS   0x00
 
#define SOLIDSWITCH6_CTRL_1_S_T_START_EN   0x01
 
#define SOLIDSWITCH6_CTRL_1_S_T_STOP_DIS   0x00
 
#define SOLIDSWITCH6_CTRL_1_S_T_STOP_EN   0x01
 
#define SOLIDSWITCH6_CTRL_1_S_T_CFG_NO   0x00
 
#define SOLIDSWITCH6_CTRL_1_S_T_CFG_CS   0x01
 
#define SOLIDSWITCH6_CTRL_1_S_T_CFG_VDS   0x02
 
#define SOLIDSWITCH6_CTRL_1_S_T_CFG_CS_VDS   0x03
 
#define SOLIDSWITCH6_CTRL_1_S_T_CFG_PWRS   0x04
 
#define SOLIDSWITCH6_CTRL_1_S_T_CFG_CS_PWRS   0x05
 
#define SOLIDSWITCH6_CTRL_1_S_T_CFG_VDS_PWRS   0x06
 
#define SOLIDSWITCH6_CTRL_1_S_T_CFG_ALL   0x07
 
#define SOLIDSWITCH6_CTRL_1_OUTCTL_OFF   0x00
 
#define SOLIDSWITCH6_CTRL_1_OUTCTL_ON   0x01
 
#define SOLIDSWITCH6_CTRL_1_BYPASSCTL_OFF   0x00
 
#define SOLIDSWITCH6_CTRL_1_BYPASSCTL_ON   0x01
 
#define SOLIDSWITCH6_CTRL_1_WD_TRI_DIS   0x00
 
#define SOLIDSWITCH6_CTRL_1_WD_TRI_EN   0x01
 
#define SOLIDSWITCH6_CTRL_1_PARITY_BIT   0x01
 
#define SOLIDSWITCH6_CTRL_2_T_NOM_1SEC   0x00
 SolidSwitch 6 control register 2 data values. More...
 
#define SOLIDSWITCH6_CTRL_2_T_NOM_511SEC   0xFF
 
#define SOLIDSWITCH6_CTRL_2_OVC_THR_6_MV   0x00
 
#define SOLIDSWITCH6_CTRL_2_OVC_THR_90_MV   0x1F
 
#define SOLIDSWITCH6_CTRL_2_HSHT_THR_20_MV   0x00
 
#define SOLIDSWITCH6_CTRL_2_HSHT_THR_160_MV   0x0F
 
#define SOLIDSWITCH6_CTRL_2_VDS_THR_0_3_V   0x00
 
#define SOLIDSWITCH6_CTRL_2_VDS_THR_1_8_V   0x1F
 
#define SOLIDSWITCH6_CTRL_2_WD_TRI_EN   0x01
 
#define SOLIDSWITCH6_CTRL_2_PARITY_BIT   0x01
 
#define SOLIDSWITCH6_CTRL_3_UNLOCK_DIS   0x00
 SolidSwitch 6 control register 3 data values. More...
 
#define SOLIDSWITCH6_CTRL_3_UNLOCK_EN   0x01
 
#define SOLIDSWITCH6_CTRL_3_NTC_THR_37_5   0x00
 
#define SOLIDSWITCH6_CTRL_3_NTC_THR_110_92   0x0F
 
#define SOLIDSWITCH6_CTRL_3_WD_TIME_50_MS   0x00
 
#define SOLIDSWITCH6_CTRL_3_WD_TIME_100_MS   0x01
 
#define SOLIDSWITCH6_CTRL_3_WD_TIME_150_MS   0x02
 
#define SOLIDSWITCH6_CTRL_3_WD_TIME_200_MS   0x03
 
#define SOLIDSWITCH6_CTRL_3_DIS_OUT_MODE_DIS   0x00
 
#define SOLIDSWITCH6_CTRL_3_DIS_OUT_MODE_EN   0x01
 
#define SOLIDSWITCH6_CTRL_3_WD_TRI_EN   0x01
 
#define SOLIDSWITCH6_CTRL_3_PARITY_BITMASK   0x00000001ul
 
#define SOLIDSWITCH6_CTRL_3_WD_TRIG   0x00000002ul
 
#define SOLIDSWITCH6_CTRL_3_GOTO_UNLOCK   0x00000200ul
 
#define SOLIDSWITCH6_CURR_SENSE_RANGE_MV   160.0f
 SolidSwitch 6 Current sense amplifier. More...
 
#define SOLIDSWITCH6_CURR_SENSE_RES   0x1FFFu
 
#define SOLIDSWITCH6_TJ_TEMP_MIN   -40.0f
 SolidSwitch 6 ADC conversion related to TJ. More...
 
#define SOLIDSWITCH6_TJ_TEMP_MAX   150.0f
 
#define SOLIDSWITCH6_TJ_RANGE   190.0f
 
#define SOLIDSWITCH6_TJ_RES   0x03FFu
 
#define SOLIDSWITCH6_S_T_VDS_MIN_START   300.0f
 SolidSwitch 6 ADC conversion of the VDS self-test data values. More...
 
#define SOLIDSWITCH6_S_T_VDS_RANGE_MV   1500.0f
 
#define SOLIDSWITCH6_S_T_VDS_RES   0x03FFu
 
#define SOLIDSWITCH6_VNTC_MIN_3V3   -0.3f
 SolidSwitch 6 ADC conversion related to NTC data values. More...
 
#define SOLIDSWITCH6_VNTC_MIN_5V   1.7f
 
#define SOLIDSWITCH6_VNTC_RANGE_3V3   3.9f
 
#define SOLIDSWITCH6_VNTC_RANGE_5V   3.6f
 
#define SOLIDSWITCH6_VNTC_RES   0x03FFu
 
#define SOLIDSWITCH6_VDS_MIN_MV   300.0f
 SolidSwitch 6 ADC conversion of the voltage across HS switch data values. More...
 
#define SOLIDSWITCH6_VDS_MAX_MV   1800.0f
 
#define SOLIDSWITCH6_VDS_RANGE_MV   1500.0f
 
#define SOLIDSWITCH6_VDS_CONVERT_TO_V   1000.0f
 
#define SOLIDSWITCH6_VDS_RES   0x03FFu
 
#define SOLIDSWITCH6_VOUT_RANGE   60.0f
 SolidSwitch 6 ADC conversion of the OUT data values. More...
 
#define SOLIDSWITCH6_VOUT_RES   0x03FFu
 
#define SOLIDSWITCH6_S_T_CURR_RANGE_MV   160.0f
 SolidSwitch 6 Current sense amplifier. More...
 
#define SOLIDSWITCH6_S_T_CURR_RES   0x1FFFu
 
#define SOLIDSWITCH6_S_T_STUCK_MIN_MIN   300.0f
 SolidSwitch 6 ADC conversion of the VDS STUCK ON data values. More...
 
#define SOLIDSWITCH6_S_T_STUCK_RANGE_MV   1500.0f
 
#define SOLIDSWITCH6_S_T_STUCK_RES   0x03FFu
 
#define SOLIDSWITCH6_HSHT_SAR_RANGE_MV   160.0f
 SolidSwitch 6 Current sense amplifier. More...
 
#define SOLIDSWITCH6_HSHT_SAR_RES   0x03FFu
 
#define SOLIDSWITCH6_VCC_SEL_3V3   0
 SolidSwitch 6 VCC selection. More...
 
#define SOLIDSWITCH6_VCC_SEL_5V   1
 
#define SOLIDSWITCH6_GS_GSBN_BIT   0x80
 SolidSwitch 6 global status byte bitmasks. More...
 
#define SOLIDSWITCH6_GS_RSTB_BIT   0x40
 
#define SOLIDSWITCH6_GS_SPIE_BIT   0x20
 
#define SOLIDSWITCH6_GS_AUTOON_BIT   0x10
 
#define SOLIDSWITCH6_GS_DIAGS_BIT   0x08
 
#define SOLIDSWITCH6_GS_DE_BIT   0x04
 
#define SOLIDSWITCH6_GS_OVC_BIT   0x02
 
#define SOLIDSWITCH6_GS_FS_BIT   0x01
 
#define SOLIDSWITCH6_GS_OK   0x00
 
#define SOLIDSWITCH6_SET_DATA_SAMPLE_EDGE   SET_SPI_DATA_SAMPLE_EDGE
 Data sample selection. More...
 
#define SOLIDSWITCH6_SET_DATA_SAMPLE_MIDDLE   SET_SPI_DATA_SAMPLE_MIDDLE
 
#define SOLIDSWITCH6_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping. More...
 

Enumerations

enum  solidswitch6_return_value_t { SOLIDSWITCH6_OK = 0, SOLIDSWITCH6_ERROR = -1 }
 SolidSwitch 6 Click return value data. More...
 

Functions

void solidswitch6_cfg_setup (solidswitch6_cfg_t *cfg)
 SolidSwitch 6 configuration object setup function. More...
 
err_t solidswitch6_init (solidswitch6_t *ctx, solidswitch6_cfg_t *cfg)
 SolidSwitch 6 initialization function. More...
 
err_t solidswitch6_default_cfg (solidswitch6_t *ctx)
 SolidSwitch 6 default configuration function. More...
 
err_t solidswitch6_generic_write (solidswitch6_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
 SolidSwitch 6 data writing function. More...
 
err_t solidswitch6_generic_read (solidswitch6_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
 SolidSwitch 6 data reading function. More...
 
err_t solidswitch6_frame_write (solidswitch6_t *ctx, uint8_t reg, uint32_t data_in)
 SolidSwitch 6 SPI frame data writing function. More...
 
err_t solidswitch6_frame_read (solidswitch6_t *ctx, uint8_t reg, uint32_t *data_out)
 SolidSwitch 6 SPI frame data reading function. More...
 
err_t solidswitch6_frame_read_clear (solidswitch6_t *ctx, uint8_t reg, uint32_t data_in, uint32_t *data_out)
 SolidSwitch 6 SPI frame data read and clear function. More...
 
err_t solidswitch6_read_rom (solidswitch6_t *ctx, uint8_t reg, uint8_t *data_out)
 SolidSwitch 6 SPI ROM frame data reading function. More...
 
err_t solidswitch6_get_global_status (solidswitch6_t *ctx)
 SolidSwitch 6 get global status function. More...
 
err_t solidswitch6_get_device_info (solidswitch6_t *ctx, solidswitch6_device_info_t *device_info)
 SolidSwitch 6 get device information function. More...
 
void solidswitch6_lock_write (solidswitch6_t *ctx)
 SolidSwitch 6 lock write function. More...
 
void solidswitch6_unlock_write (solidswitch6_t *ctx)
 SolidSwitch 6 unlock write function. More...
 
err_t solidswitch6_set_control (solidswitch6_t *ctx, solidswitch6_ctrl_t ctrl)
 SolidSwitch 6 set control function. More...
 
err_t solidswitch6_get_vsense (solidswitch6_t *ctx, float *vsense)
 SolidSwitch 6 get Vsense function. More...
 
err_t solidswitch6_get_device_temp (solidswitch6_t *ctx, float *tj)
 SolidSwitch 6 get device temperature function. More...
 
err_t solidswitch6_get_vntc (solidswitch6_t *ctx, float *vntc)
 SolidSwitch 6 get Vntc function. More...
 
err_t solidswitch6_get_vds (solidswitch6_t *ctx, float *vds)
 SolidSwitch 6 get VDS function. More...
 
err_t solidswitch6_get_vout (solidswitch6_t *ctx, float *vout)
 SolidSwitch 6 get Vout function. More...
 
err_t solidswitch6_get_st_vds (solidswitch6_t *ctx, float *st_vds)
 SolidSwitch 6 get VDS self-test function. More...
 
err_t solidswitch6_get_st_stuck (solidswitch6_t *ctx, float *st_stuck)
 SolidSwitch 6 get VDS STUCK ON self-test function. More...
 
err_t solidswitch6_get_st_curr (solidswitch6_t *ctx, float *st_curr)
 SolidSwitch 6 get self-test current sense amplifier function. More...
 
err_t solidswitch6_get_vsense_hshd (solidswitch6_t *ctx, float *vsense_hshd)
 SolidSwitch 6 get Vsense HSHD function. More...
 

Detailed Description

This file contains API for SolidSwitch 6 Click Driver.

Enumeration Type Documentation

◆ solidswitch6_return_value_t

SolidSwitch 6 Click return value data.

Predefined enum values for driver return values.

Enumerator
SOLIDSWITCH6_OK 
SOLIDSWITCH6_ERROR