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_analog_in.h"
48#include "drv_i2c_master.h"
70#define PIR2_ADC_RESOLUTION 0x0FFF
71#define PIR2_VREF_3V3 3.3
72#define PIR2_VREF_5V 5.0
79#define PIR2_SET_DEV_ADDR 0x4D
97#define PIR2_MAP_MIKROBUS( cfg, mikrobus ) \
98 cfg.an = MIKROBUS( mikrobus, MIKROBUS_AN ); \
99 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
100 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA )
err_t pir2_init(pir2_t *ctx, pir2_cfg_t *cfg)
PIR 2 initialization function.
err_t pir2_read_voltage(pir2_t *ctx, float *voltage)
PIR 2 read voltage level function.
err_t pir2_read_raw_adc(pir2_t *ctx, uint16_t *raw_adc)
PIR 2 read raw ADC value function.
void pir2_drv_interface_sel(pir2_cfg_t *cfg, pir2_drv_t drv_sel)
PIR 2 driver interface setup function.
void pir2_cfg_setup(pir2_cfg_t *cfg)
PIR 2 configuration object setup function.
err_t pir2_set_vref(pir2_t *ctx, float vref)
PIR 2 set vref function.
pir2_drv_t
PIR 2 Click driver selector.
Definition: pir2.h:110
@ PIR2_DRV_SEL_ADC
Definition: pir2.h:111
@ PIR2_DRV_SEL_I2C
Definition: pir2.h:112
pir2_return_value_t
PIR 2 Click return value data.
Definition: pir2.h:156
@ PIR2_OK
Definition: pir2.h:157
@ PIR2_ERROR
Definition: pir2.h:158
PIR 2 Click configuration object.
Definition: pir2.h:136
analog_in_resolution_t resolution
Definition: pir2.h:141
float vref
Definition: pir2.h:142
pir2_drv_t drv_sel
Definition: pir2.h:147
uint32_t i2c_speed
Definition: pir2.h:144
pin_name_t scl
Definition: pir2.h:138
pin_name_t sda
Definition: pir2.h:139
pin_name_t an
Definition: pir2.h:137
uint8_t i2c_address
Definition: pir2.h:145
PIR 2 Click context object.
Definition: pir2.h:121
float vref
Definition: pir2.h:126
pir2_drv_t drv_sel
Definition: pir2.h:127
i2c_master_t i2c
Definition: pir2.h:123
uint8_t slave_address
Definition: pir2.h:125
analog_in_t adc
Definition: pir2.h:122