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_i2c_master.h"
73 #define IRGRID4_ADDR_RAM_START 0x0400
74 #define IRGRID4_ADDR_RAM_END 0x05BF
75 #define IRGRID4_ADDR_EEPROM_START 0x2400
76 #define IRGRID4_ADDR_EEPROM_END 0x273F
77 #define IRGRID4_ADDR_REG_STATUS 0x8000
78 #define IRGRID4_ADDR_REG_CONTROL 0x800D
79 #define IRGRID4_ADDR_REG_I2C_CONFIG 0x800F
97 #define IRGRID4_STATUS_SUBPAGE 0x0001
98 #define IRGRID4_STATUS_DATA_READY 0x0008
99 #define IRGRID4_STATUS_OVERWRITE_EN 0x0010
105 #define IRGRID4_CONTROL_SUBPAGE_EN 0x0001
106 #define IRGRID4_CONTROL_DATA_HOLD_EN 0x0004
107 #define IRGRID4_CONTROL_SUBPAGE_REP_EN 0x0008
108 #define IRGRID4_CONTROL_SUBPAGE_1_SEL 0x0010
109 #define IRGRID4_CONTROL_REFRESH_RATE_0_5_HZ 0x0000
110 #define IRGRID4_CONTROL_REFRESH_RATE_1_HZ 0x0080
111 #define IRGRID4_CONTROL_REFRESH_RATE_2_HZ 0x0100
112 #define IRGRID4_CONTROL_REFRESH_RATE_4_HZ 0x0180
113 #define IRGRID4_CONTROL_REFRESH_RATE_8_HZ 0x0200
114 #define IRGRID4_CONTROL_REFRESH_RATE_16_HZ 0x0280
115 #define IRGRID4_CONTROL_REFRESH_RATE_32_HZ 0x0300
116 #define IRGRID4_CONTROL_REFRESH_RATE_64_HZ 0x0380
117 #define IRGRID4_CONTROL_REFRESH_RATE_MASK 0x0380
118 #define IRGRID4_CONTROL_RESOLUTION_16_BIT 0x0000
119 #define IRGRID4_CONTROL_RESOLUTION_17_BIT 0x0400
120 #define IRGRID4_CONTROL_RESOLUTION_18_BIT 0x0800
121 #define IRGRID4_CONTROL_RESOLUTION_19_BIT 0x0C00
122 #define IRGRID4_CONTROL_RESOLUTION_MASK 0x0C00
123 #define IRGRID4_CONTROL_PATTERN_CHESS 0x1000
129 #define IRGRID4_RESOLUTION_16_BIT 0
130 #define IRGRID4_RESOLUTION_17_BIT 1
131 #define IRGRID4_RESOLUTION_18_BIT 2
132 #define IRGRID4_RESOLUTION_19_BIT 3
138 #define IRGRID4_REFRESH_RATE_0_5_HZ 0
139 #define IRGRID4_REFRESH_RATE_1_HZ 1
140 #define IRGRID4_REFRESH_RATE_2_HZ 2
141 #define IRGRID4_REFRESH_RATE_4_HZ 3
142 #define IRGRID4_REFRESH_RATE_8_HZ 4
143 #define IRGRID4_REFRESH_RATE_16_HZ 5
144 #define IRGRID4_REFRESH_RATE_32_HZ 6
145 #define IRGRID4_REFRESH_RATE_64_HZ 7
151 #define IRGRID4_SCALE_ALPHA 0.000001
152 #define IRGRID4_EMISSIVITY 0.95
153 #define IRGRID4_TA_SHIFT 5
154 #define IRGRID4_ABS_ZERO_K 273.15
161 #define IRGRID4_DEVICE_ADDRESS 0x33
179 #define IRGRID4_MAP_MIKROBUS( cfg, mikrobus ) \
180 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
181 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
182 cfg.led2 = MIKROBUS( mikrobus, MIKROBUS_RST ); \
183 cfg.led1 = MIKROBUS( mikrobus, MIKROBUS_PWM );
209 uint16_t alpha[ 192 ];
211 int16_t offset[ 2 ][ 192 ];
239 uint16_t eeprom[ 832 ];
uint8_t slave_address
Definition: irgrid4.h:237
pin_name_t sda
Definition: irgrid4.h:252
uint8_t resolution_ee
Definition: irgrid4.h:204
float irgrid4_get_vdd(irgrid4_t *ctx, uint16_t *frame_data)
IR Grid 4 get VDD function.
void irgrid4_disable_led2(irgrid4_t *ctx)
IR Grid 4 disable LED2 function.
float tgc
Definition: irgrid4.h:201
float cp_kv
Definition: irgrid4.h:202
err_t irgrid4_get_refresh_rate(irgrid4_t *ctx, uint8_t *refresh_rate)
IR Grid 4 get refresh rate function.
uint8_t kta_scale
Definition: irgrid4.h:213
void irgrid4_enable_led2(irgrid4_t *ctx)
IR Grid 4 enable LED2 function.
digital_out_t led1
Definition: irgrid4.h:231
err_t irgrid4_read_data(irgrid4_t *ctx, uint16_t addr, uint16_t *data_out, uint8_t len)
IR Grid 4 read data function.
uint8_t kv_scale
Definition: irgrid4.h:215
err_t irgrid4_trigger_measurement(irgrid4_t *ctx)
IR Grid 4 trigger measurement function.
irgrid4_return_value_t
IR Grid 4 Click return value data.
Definition: irgrid4.h:267
pin_name_t led1
Definition: irgrid4.h:255
uint8_t alpha_scale
Definition: irgrid4.h:210
uint16_t v_ptat_25
Definition: irgrid4.h:198
err_t irgrid4_write_data(irgrid4_t *ctx, uint16_t addr, uint16_t data_in)
IR Grid 4 write data function.
err_t irgrid4_default_cfg(irgrid4_t *ctx)
IR Grid 4 default configuration function.
err_t irgrid4_get_measurement(irgrid4_t *ctx, float *t_amb, float *t_obj)
IR Grid 4 get measurement function.
IR Grid 4 Click context object.
Definition: irgrid4.h:228
void irgrid4_enable_led1(irgrid4_t *ctx)
IR Grid 4 enable LED1 function.
@ IRGRID4_OK
Definition: irgrid4.h:268
int16_t gain_ee
Definition: irgrid4.h:200
err_t irgrid4_init(irgrid4_t *ctx, irgrid4_cfg_t *cfg)
IR Grid 4 initialization function.
IR Grid 4 Click configuration object.
Definition: irgrid4.h:250
float cp_kta
Definition: irgrid4.h:203
float emissivity_ee
Definition: irgrid4.h:218
int16_t cp_offset
Definition: irgrid4.h:217
float ks_ta
Definition: irgrid4.h:206
err_t irgrid4_sync_frame(irgrid4_t *ctx)
IR Grid 4 sync frame function.
i2c_master_t i2c
Definition: irgrid4.h:234
pin_name_t scl
Definition: irgrid4.h:251
@ IRGRID4_ERROR
Definition: irgrid4.h:269
uint32_t i2c_speed
Definition: irgrid4.h:257
err_t irgrid4_set_resolution(irgrid4_t *ctx, uint8_t resolution)
IR Grid 4 set resolution function.
float kt_ptat
Definition: irgrid4.h:197
uint8_t i2c_address
Definition: irgrid4.h:258
err_t irgrid4_general_reset(irgrid4_t *ctx)
IR Grid 4 general reset function.
IR Grid 4 Click parameters object.
Definition: irgrid4.h:193
digital_out_t led2
Definition: irgrid4.h:230
void irgrid4_cfg_setup(irgrid4_cfg_t *cfg)
IR Grid 4 configuration object setup function.
float irgrid4_get_ta(irgrid4_t *ctx, uint16_t *frame_data)
IR Grid 4 get TA function.
err_t irgrid4_get_resolution(irgrid4_t *ctx, uint8_t *resolution)
IR Grid 4 get resolution function.
uint16_t broken_pixel
Definition: irgrid4.h:219
float alpha_ptat
Definition: irgrid4.h:199
uint8_t calibration_mode_ee
Definition: irgrid4.h:205
err_t irgrid4_dump_eeprom(irgrid4_t *ctx)
IR Grid 4 dump EEPROM function.
int16_t k_vdd
Definition: irgrid4.h:194
err_t irgrid4_get_parameters(irgrid4_t *ctx)
IR Grid 4 get parameters function.
float cp_alpha
Definition: irgrid4.h:216
err_t irgrid4_set_refresh_rate(irgrid4_t *ctx, uint8_t refresh_rate)
IR Grid 4 set refresh rate function.
void irgrid4_disable_led1(irgrid4_t *ctx)
IR Grid 4 disable LED1 function.
void irgrid4_get_to(irgrid4_t *ctx, uint16_t *frame_data, float tr_val, float *result)
IR Grid 4 get TO function.
int16_t vdd_25
Definition: irgrid4.h:195
pin_name_t led2
Definition: irgrid4.h:254
irgrid4_params_t calib
Definition: irgrid4.h:241
err_t irgrid4_get_frame_data(irgrid4_t *ctx, uint16_t *frame_data)
IR Grid 4 get frame data function.
float kv_ptat
Definition: irgrid4.h:196