Go to the documentation of this file.
39 #ifdef PREINIT_SUPPORTED
43 #ifdef MikroCCoreVersion
44 #if MikroCCoreVersion >= 1
49 #include "drv_digital_out.h"
50 #include "drv_digital_in.h"
51 #include "drv_analog_in.h"
52 #include "drv_i2c_master.h"
74 #define COOLER_REG_SENSOR_VOLTAGE 0x00
75 #define COOLER_REG_LOCAL_TEMPERATURE 0x01
76 #define COOLER_REG_CONFIGURATION 0x02
77 #define COOLER_REG_OBJECT_TEMPERATURE 0x03
78 #define COOLER_REG_STATUS 0x04
79 #define COOLER_REG_STATUS_MASK_AND_ENABLE 0x05
80 #define COOLER_REG_OBJECT_HIGH_LIMIT_TEMP 0x06
81 #define COOLER_REG_OBJECT_LOW_LIMIT_TEMP 0x07
82 #define COOLER_REG_LOCAL_HIGH_LIMIT_TEMP 0x08
83 #define COOLER_REG_LOCAL_LOW_LIMIT_TEMP 0x09
84 #define COOLER_REG_S0_COEFFICIENT 0x0A
85 #define COOLER_REG_A0_COEFFICIENT 0x0B
86 #define COOLER_REG_A1_COEFFICIENT 0x0C
87 #define COOLER_REG_B0_COEFFICIENT 0x0D
88 #define COOLER_REG_B1_COEFFICIENT 0x0E
89 #define COOLER_REG_B2_COEFFICIENT 0x0F
90 #define COOLER_REG_C_COEFFICIENT 0x10
91 #define COOLER_REG_TC0_COEFFICIENT 0X11
92 #define COOLER_REG_TC1_COEFFICIENT 0x12
93 #define COOLER_REG_MANUFACTURER_ID 0x1E
94 #define COOLER_REG_DEVICE_ID 0x1F
95 #define COOLER_REG_MEMORY_ACCESS 0x2A
113 #define COOLER_CFG_MODEON 0x1000u
114 #define COOLER_CFG_RESET 0x8000u
115 #define COOLER_CFG_1SAMPLE 0x0000u
116 #define COOLER_CFG_2SAMPLE 0x0200u
117 #define COOLER_CFG_4SAMPLE 0x0400u
118 #define COOLER_CFG_8SAMPLE 0x0600u
119 #define COOLER_CFG_16SAMPLE 0x0800u
120 #define COOLER_CFG_ALERTEN 0x0100u
121 #define COOLER_CFG_ALERTF 0x0080u
122 #define COOLER_CFG_TRANSC 0x0040u
128 #define COOLER_STAT_ALERTEN 0x8000u
129 #define COOLER_STAT_CRTEN 0x4000u
135 #define COOLER_DEVICE_ID 0x0078u
141 #define COOLER_TEMPERATURE_SENS 0.03125f
142 #define COOLER_SENSOR_VTG_SENS 0.15625f
148 #define COOLER_ADC_RESOLUTION 0x0FFFu
149 #define COOLER_VREF_3V3 3.3f
150 #define COOLER_VREF_5V 5.0f
157 #define COOLER_SET_DEV_ADDR_0 0x40
158 #define COOLER_SET_DEV_ADDR_1 0x41
159 #define COOLER_SET_DEV_ADDR_2 0x44
160 #define COOLER_SET_DEV_ADDR_3 0x45
178 #define COOLER_MAP_MIKROBUS( cfg, mikrobus ) \
179 cfg.an = MIKROBUS( mikrobus, MIKROBUS_AN ); \
180 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
181 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
182 cfg.in2 = MIKROBUS( mikrobus, MIKROBUS_RST ); \
183 cfg.in1 = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
184 cfg.alr = MIKROBUS( mikrobus, MIKROBUS_INT )
pin_name_t an
Definition: cooler.h:225
void cooler_cfg_setup(cooler_cfg_t *cfg)
Cooler configuration object setup function.
cooler_drv_t
Cooler Click driver selector.
Definition: cooler.h:194
err_t cooler_data_write(cooler_t *ctx, uint8_t reg, uint16_t data_in)
Cooler 16-bit data writing function.
digital_out_t in2
Definition: cooler.h:206
@ COOLER_DISABLE
Definition: cooler.h:258
void cooler_clear_in1_pin(cooler_t *ctx)
Cooler IN1 pin clearing function.
err_t cooler_init(cooler_t *ctx, cooler_cfg_t *cfg)
Cooler initialization function.
@ COOLER_OK
Definition: cooler.h:246
err_t cooler_set_out_state(cooler_t *ctx, cooler_out_state_t out_state)
Cooler set output function.
void cooler_set_in2_pin(cooler_t *ctx)
Cooler set IN2 pin state function.
err_t cooler_generic_read(cooler_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
Cooler data reading function.
pin_name_t in2
Definition: cooler.h:228
digital_in_t alr
Definition: cooler.h:209
pin_name_t in1
Definition: cooler.h:229
digital_out_t in1
Definition: cooler.h:207
float vref
Definition: cooler.h:215
uint8_t i2c_address
Definition: cooler.h:236
pin_name_t alr
Definition: cooler.h:230
float vref
Definition: cooler.h:233
@ COOLER_ERROR
Definition: cooler.h:247
@ COOLER_DRV_SEL_I2C
Definition: cooler.h:196
err_t cooler_read_raw_adc(cooler_t *ctx, uint16_t *raw_adc)
Cooler read raw ADC value function.
cooler_return_value_t
Cooler Click return value data.
Definition: cooler.h:245
cooler_out_state_t
Cooler Click cooler states selection.
Definition: cooler.h:256
err_t cooler_sensor_voltage(cooler_t *ctx, float *voltage)
Cooler get sensor voltage result function.
i2c_master_t i2c
Definition: cooler.h:212
err_t cooler_data_read(cooler_t *ctx, uint8_t reg, uint16_t *data_out)
Cooler 16-bit data reading function.
err_t cooler_get_object_temperature(cooler_t *ctx, float *temperature)
Cooler get object temperature function.
uint32_t i2c_speed
Definition: cooler.h:235
err_t cooler_get_device_id(cooler_t *ctx, uint16_t *device_id)
Cooler get device ID function.
err_t cooler_read_voltage(cooler_t *ctx, float *voltage)
Cooler read voltage level function.
void cooler_set_in1_pin(cooler_t *ctx)
Cooler set IN1 pin state function.
pin_name_t sda
Definition: cooler.h:227
uint8_t cooler_get_alert(cooler_t *ctx)
Cooler fault indication function.
@ COOLER_ENABLE
Definition: cooler.h:257
err_t cooler_generic_write(cooler_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
Cooler data writing function.
Cooler Click configuration object.
Definition: cooler.h:224
analog_in_resolution_t resolution
Definition: cooler.h:232
@ COOLER_DRV_SEL_ADC
Definition: cooler.h:195
uint8_t slave_address
Definition: cooler.h:214
pin_name_t scl
Definition: cooler.h:226
Cooler Click context object.
Definition: cooler.h:205
err_t cooler_default_cfg(cooler_t *ctx)
Cooler default configuration function.
err_t cooler_set_vref(cooler_t *ctx, float vref)
Cooler set vref function.
analog_in_t adc
Definition: cooler.h:211
void cooler_clear_in2_pin(cooler_t *ctx)
Cooler IN2 pin clearing function.