Go to the documentation of this file.
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_spi_master.h"
76 #define LOADCELL5_MODE_POWER_DOWN 0x00
77 #define LOADCELL5_MODE_POWER_UP 0x01
91 #define LOADCELL5_UPDATE_RATE_16_7_Hz 0x00
92 #define LOADCELL5_UPDATE_RATE_10_Hz 0x01
106 #define LOADCELL5_GAIN_1 1
107 #define LOADCELL5_GAIN_128 128
134 #define LOADCELL5_NEW_DATA_IS_AVAILABLE 0
135 #define LOADCELL5_NO_DATA 1
149 #define LOADCELL5_STATUS_PAT_ADC_PERFORMED_NOT_CORRECTLY 0x00
150 #define LOADCELL5_STATUS_PAT_ADC_PERFORMED_CORRECTLY 0x01
151 #define LOADCELL5_STATUS_GAIN_128 0x00
152 #define LOADCELL5_STATUS_GAIN_1 0x04
153 #define LOADCELL5_STATUS_BITS_ID_0 0x08
154 #define LOADCELL5_STATUS_BITS_ID_1 0x10
155 #define LOADCELL5_STATUS_ERROR 0x20
156 #define LOADCELL5_STATUS_FILTER_UPDATE_RATE_16_7_HZ 0x00
157 #define LOADCELL5_STATUS_FILTER_UPDATE_RATE_10_HZ 0x40
158 #define LOADCELL5_STATUS_CONVERSION_NOT_AVAILABLE 0x80
159 #define LOADCELL5_STATUS_CONVERSION_IS_AVAILABLE 0x00
160 #define LOADCELL5_STATUS_CONVERSION_NOT_AVAILABLE 0x80
167 #define LOADCELL5_DATA_NO_DATA 0
168 #define LOADCELL5_DATA_OK 1
189 #define LOADCELL5_WEIGHT_ZERO 0
190 #define LOADCELL5_WEIGHT_100G 100
191 #define LOADCELL5_WEIGHT_500G 500
192 #define LOADCELL5_WEIGHT_1000G 1000
193 #define LOADCELL5_WEIGHT_5000G 5000
194 #define LOADCELL5_WEIGHT_10000G 10000
208 #define LOADCELL5_STATUS_PAT_ADC_PERFORMED_NOT_CORRECTLY 0x00
209 #define LOADCELL5_STATUS_PAT_ADC_PERFORMED_CORRECTLY 0x01
210 #define LOADCELL5_STATUS_GAIN_128 0x00
211 #define LOADCELL5_STATUS_GAIN_1 0x04
212 #define LOADCELL5_STATUS_BITS_ID_0 0x08
213 #define LOADCELL5_STATUS_BITS_ID_1 0x10
214 #define LOADCELL5_STATUS_ERROR 0x20
215 #define LOADCELL5_STATUS_FILTER_UPDATE_RATE_16_7_HZ 0x00
216 #define LOADCELL5_STATUS_FILTER_UPDATE_RATE_10_HZ 0x40
217 #define LOADCELL5_STATUS_CONVERSION_NOT_AVAILABLE 0x80
218 #define LOADCELL5_STATUS_CONVERSION_IS_AVAILABLE 0x00
219 #define LOADCELL5_STATUS_CONVERSION_NOT_AVAILABLE 0x80
240 #define LOADCELL5_MAP_MIKROBUS( cfg, mikrobus ) \
241 cfg.miso = MIKROBUS( mikrobus, MIKROBUS_MISO ); \
242 cfg.mosi = MIKROBUS( mikrobus, MIKROBUS_MOSI ); \
243 cfg.sck = MIKROBUS( mikrobus, MIKROBUS_SCK ); \
244 cfg.cs = MIKROBUS( mikrobus, MIKROBUS_CS ); \
245 cfg.rst = MIKROBUS( mikrobus, MIKROBUS_RST ); \
246 cfg.gn = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
247 cfg.rdy = MIKROBUS( mikrobus, MIKROBUS_INT );
545 #endif // LOADCELL5_H
uint8_t weight_data_500g_ok
Definition: loadcell5.h:313
float loadcell5_get_weight(loadcell5_t *ctx, loadcell5_data_t *cell_data)
Load Cell 5 get weight function.
pin_name_t sck
Definition: loadcell5.h:285
uint32_t spi_speed
Definition: loadcell5.h:296
uint8_t weight_data_100g_ok
Definition: loadcell5.h:311
float weight_coeff_1000g
Definition: loadcell5.h:314
digital_out_t gn
Definition: loadcell5.h:261
uint8_t loadcell5_check_data_ready(loadcell5_t *ctx)
Load Cell 5 get error function.
digital_in_t rdy
Definition: loadcell5.h:265
Load Cell 5 Click data structure definition.
Definition: loadcell5.h:307
err_t loadcell5_calibration(loadcell5_t *ctx, uint16_t cal_val, loadcell5_data_t *cell_data)
Load Cell 5 calibration function.
float tare
Definition: loadcell5.h:308
Load Cell 5 Click context object.
Definition: loadcell5.h:257
spi_master_mode_t spi_mode
Definition: loadcell5.h:297
digital_out_t rst
Definition: loadcell5.h:260
uint8_t tare_ok
Definition: loadcell5.h:309
uint8_t weight_data_10000g_ok
Definition: loadcell5.h:319
pin_name_t mosi
Definition: loadcell5.h:284
pin_name_t miso
Definition: loadcell5.h:283
spi_master_t spi
Definition: loadcell5.h:269
pin_name_t chip_select
Definition: loadcell5.h:271
@ LOADCELL5_ERROR
Definition: loadcell5.h:330
err_t loadcell5_set_power_mode(loadcell5_t *ctx, uint8_t pwr_mode)
Load Cell 5 set power mode function.
pin_name_t rst
Definition: loadcell5.h:290
err_t loadcell5_filter_select(loadcell5_t *ctx, uint8_t fil_sel)
Load Cell 5 filter select function.
loadcell5_return_value_t
Load Cell 5 Click return value data.
Definition: loadcell5.h:328
pin_name_t cs
Definition: loadcell5.h:286
float weight_coeff_10000g
Definition: loadcell5.h:318
void loadcell5_tare(loadcell5_t *ctx, loadcell5_data_t *cell_data)
Load Cell 5 tare the scales function.
pin_name_t gn
Definition: loadcell5.h:291
err_t loadcell5_get_data(loadcell5_t *ctx, uint8_t *status, uint32_t *adc_data)
Load Cell 5 data reading function.
err_t loadcell5_default_cfg(loadcell5_t *ctx)
Load Cell 5 default configuration function.
void loadcell5_hw_reset(loadcell5_t *ctx)
Load Cell 5 set hardware reset function.
uint32_t loadcell5_read_adc(loadcell5_t *ctx)
Load Cell 5 reading ADC data function.
err_t loadcell5_init(loadcell5_t *ctx, loadcell5_cfg_t *cfg)
Load Cell 5 initialization function.
uint8_t weight_data_5000g_ok
Definition: loadcell5.h:317
float weight_coeff_5000g
Definition: loadcell5.h:316
void loadcell5_cfg_setup(loadcell5_cfg_t *cfg)
Load Cell 5 configuration object setup function.
spi_master_chip_select_polarity_t cs_polarity
Definition: loadcell5.h:298
float weight_coeff_100g
Definition: loadcell5.h:310
pin_name_t rdy
Definition: loadcell5.h:292
err_t loadcell5_set_gain(loadcell5_t *ctx, uint8_t gain)
Load Cell 5 set gain function.
@ LOADCELL5_OK
Definition: loadcell5.h:329
uint8_t weight_data_1000g_ok
Definition: loadcell5.h:315
float weight_coeff_500g
Definition: loadcell5.h:312
Load Cell 5 Click configuration object.
Definition: loadcell5.h:280