Go to the documentation of this file.
38 #include "drv_digital_out.h"
39 #include "drv_digital_in.h"
40 #include "drv_spi_master.h"
54 #define VOLTMETER_MAP_MIKROBUS( cfg, mikrobus ) \
55 cfg.miso = MIKROBUS( mikrobus, MIKROBUS_MISO ); \
56 cfg.mosi = MIKROBUS( mikrobus, MIKROBUS_MOSI ); \
57 cfg.sck = MIKROBUS( mikrobus, MIKROBUS_SCK ); \
58 cfg.cs = MIKROBUS( mikrobus, MIKROBUS_CS ); \
59 cfg.an = MIKROBUS( mikrobus, MIKROBUS_AN )
66 #define VOLTMETER_OK 0
67 #define VOLTMETER_ERROR -1
74 #define VOLTMETER_DATA_RESOLUTION 0x0FFF
75 #define VOLTMETER_VREF_ISOLATED_GND 17.05f
76 #define VOLTMETER_VREF_SHARED_GND 8.525f
77 #define VOLTMETER_NUM_ADC_CONVERSIONS 100
78 #define VOLTMETER_DATA_OFFSET 15
79 #define VOLTMETER_GND_ISO 1
80 #define VOLTMETER_GND_SHARED 0
178 #endif // _VOLTMETER_H_
spi_master_t spi
Definition: voltmeter.h:99
err_t voltmeter_init(voltmeter_t *ctx, voltmeter_cfg_t *cfg)
Initialization function.
pin_name_t an
Definition: voltmeter.h:116
pin_name_t mosi
Definition: voltmeter.h:111
pin_name_t miso
Definition: voltmeter.h:110
float voltmeter_calculate_voltage(voltmeter_t *ctx, int16_t raw_adc, uint8_t iso_gnd)
Voltage calculation function.
digital_in_t an
Definition: voltmeter.h:96
spi_master_mode_t spi_mode
Definition: voltmeter.h:120
pin_name_t cs
Definition: voltmeter.h:113
pin_name_t sck
Definition: voltmeter.h:112
pin_name_t chip_select
Definition: voltmeter.h:100
int16_t voltmeter_read_raw_data(voltmeter_t *ctx)
Read raw ADC value function.
void voltmeter_cfg_setup(voltmeter_cfg_t *cfg)
Config Object Initialization function.
Click ctx object definition.
Definition: voltmeter.h:94
uint32_t spi_speed
Definition: voltmeter.h:119
Click configuration structure definition.
Definition: voltmeter.h:108
spi_master_chip_select_polarity_t cs_polarity
Definition: voltmeter.h:121