35#include "mikrosdk_version.h"
38#if mikroSDK_GET_VERSION < 20800ul
39#include "rcu_delays.h"
45#include "drv_digital_out.h"
46#include "drv_digital_in.h"
47#include "drv_i2c_master.h"
74#define LOADCELL8_DATA_NO_DATA 0
75#define LOADCELL8_DATA_OK 1
76#define LOADCELL8_WEIGHT_100G 100u
77#define LOADCELL8_WEIGHT_500G 500u
78#define LOADCELL8_WEIGHT_1000G 1000u
79#define LOADCELL8_WEIGHT_5000G 5000u
80#define LOADCELL8_WEIGHT_10000G 10000u
81#define LOADCELL8_WEIGHT_ZERO 0.0f
82#define LOADCELL8_AVG_MEASURE_100 100.0
83#define LOADCELL8_MEASURE_DATA_RES 0x3FFF
90#define LOADCELL8_DEVICE_ADDRESS 0x78
108#define LOADCELL8_MAP_MIKROBUS( cfg, mikrobus ) \
109 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
110 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
111 cfg.an = MIKROBUS( mikrobus, MIKROBUS_AN ); \
112 cfg.en = MIKROBUS( mikrobus, MIKROBUS_RST )
err_t loadcell8_get_weight(loadcell8_t *ctx, loadcell8_data_t *cell_data, float *weight_g)
Load Cell 8 get weight function.
err_t loadcell8_generic_read(loadcell8_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
Load Cell 8 I2C reading function.
err_t loadcell8_calibration_weight(loadcell8_t *ctx, uint16_t cal_val, loadcell8_data_t *cell_data)
Load Cell 8 calibrate weight function.
err_t loadcell8_default_cfg(loadcell8_t *ctx)
Load Cell 8 default configuration function.
err_t loadcell8_tare_scale(loadcell8_t *ctx, loadcell8_data_t *cell_data)
Load Cell 8 read raw ADC value function.
err_t loadcell8_generic_write(loadcell8_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
Load Cell 8 I2C writing function.
err_t loadcell8_init(loadcell8_t *ctx, loadcell8_cfg_t *cfg)
Load Cell 8 initialization function.
err_t loadcell8_read_raw_adc(loadcell8_t *ctx, uint32_t *raw_adc)
Load Cell 8 read raw ADC value function.
void loadcell8_hw_reset(loadcell8_t *ctx)
Load Cell 8 HW reset function.
void loadcell8_cfg_setup(loadcell8_cfg_t *cfg)
Load Cell 8 configuration object setup function.
loadcell8_return_value_t
Load Cell 8 Click return value data.
Definition: loadcell8.h:180
@ LOADCELL8_ERROR
Definition: loadcell8.h:182
@ LOADCELL8_OK
Definition: loadcell8.h:181
Load Cell 8 Click configuration object.
Definition: loadcell8.h:142
uint32_t i2c_speed
Definition: loadcell8.h:149
pin_name_t scl
Definition: loadcell8.h:143
pin_name_t en
Definition: loadcell8.h:147
pin_name_t sda
Definition: loadcell8.h:144
pin_name_t an
Definition: loadcell8.h:146
uint8_t i2c_address
Definition: loadcell8.h:150
Load Cell 8 Click data object.
Definition: loadcell8.h:159
float tare
Definition: loadcell8.h:160
float weight_coeff_10000g
Definition: loadcell8.h:170
uint8_t weight_data_1000g_ok
Definition: loadcell8.h:167
uint8_t weight_data_500g_ok
Definition: loadcell8.h:165
float weight_coeff_100g
Definition: loadcell8.h:162
float weight_coeff_5000g
Definition: loadcell8.h:168
uint8_t weight_data_10000g_ok
Definition: loadcell8.h:171
float weight_coeff_500g
Definition: loadcell8.h:164
uint8_t weight_data_5000g_ok
Definition: loadcell8.h:169
uint8_t tare_ok
Definition: loadcell8.h:161
uint8_t weight_data_100g_ok
Definition: loadcell8.h:163
float weight_coeff_1000g
Definition: loadcell8.h:166
Load Cell 8 Click context object.
Definition: loadcell8.h:122
i2c_master_t i2c
Definition: loadcell8.h:130
digital_in_t an
Definition: loadcell8.h:127
digital_out_t en
Definition: loadcell8.h:124
uint8_t slave_address
Definition: loadcell8.h:133