LoRa-BLE-Sensor
Loading...
Searching...
No Matches
sensor_reading.h
Go to the documentation of this file.
1
13#ifndef SENSOR_READING_H
14#define SENSOR_READING_H
15
16#include "sensor_id.h"
17#include <zephyr/drivers/gpio.h>
18#include <zephyr/drivers/adc.h>
19
23typedef struct {
24 /* Identification number of sensor. */
25 enum sensor_id id;
26 /* First Digital Pin. */
27 struct gpio_dt_spec d1;
28 /* Second Digital Pin. */
29 struct gpio_dt_spec d2;
30 /* ADC spec for voltage sensor. */
31 const struct adc_dt_spec voltage_read;
32 /* ADC spec for current sensor. */
33 const struct adc_dt_spec current_read;
35
36#define VOLTAGE_READ_DIVIDER_HIGH 100
37#define VOLTAGE_READ_DIVIDER_LOW 13
38#define CURRENT_READ_RESISTOR 50
39#define PULSE_DEBOUNCE_MS 50
40
48int sensor_reading_setup(sensor_reading_config_t *config, enum sensor_types sensor_type);
49
57
66
75
83
91
92#endif
This is a library to keep track of sensor ids and sensor power ids. As well as the configuration for ...
sensor_id
Sensor identifiers.
Definition sensor_id.h:20
sensor_types
Types of sensors that can be configured.
Definition sensor_id.h:29
float get_sensor_voltage_reading(sensor_reading_config_t *config)
Get the sensor voltage reading for a given sensor, takes into account the VOLTAGE_READ_DIVIDER_HIGH a...
Definition sensor_reading.c:169
enum sensor_types get_sensor_reading_setup(sensor_reading_config_t *config)
Get the sensor type set for a hardware configuration.
Definition sensor_reading.c:141
float get_sensor_current_reading(sensor_reading_config_t *config)
Get the sensor current reading for a given sensor in milliamperes, takes into account the CURRENT_REA...
Definition sensor_reading.c:184
int get_sensor_pulse_count(sensor_reading_config_t *config)
Get the current number of pulses captured on since initialization or last reset.
Definition sensor_reading.c:200
int sensor_reading_setup(sensor_reading_config_t *config, enum sensor_types sensor_type)
Setup sensor for sensor_type with hardware configuration.
Definition sensor_reading.c:102
int reset_sensor_pulse_count(sensor_reading_config_t *config)
Reset the pulse count for a given sensor to 0.
Definition sensor_reading.c:209
Sensor data pin configuration.
Definition sensor_reading.h:23