#include <stdbool.h>
#include <zephyr/device.h>
#include <zephyr/devicetree.h>
#include <zephyr/drivers/sensor.h>
#include "nturt/err.h"
◆ SENSOR_TOL_DEFINE
#define SENSOR_TOL_DEFINE |
( |
| NAME, |
|
|
| NODE_ID, |
|
|
| THRES, |
|
|
| WEIGHT, |
|
|
| ERR ) |
Value:
SENSOR_TOL_INITIALIZER(NODE_ID, THRES, WEIGHT, ERR)
Sensor tolerant structure.
Definition sensors.h:48
Instantiate a sensor_tol.
- Parameters
-
NAME | Name of the sensor tolerant read structure. |
NODE_ID | Node ID of the sensor device. |
THRES | Error level when greater or equal is considered an error. |
WEIGHT | Error level increase of one sensor failure. |
ERR | Error code corresponding to the sensor. |
◆ SENSOR_TOL_INITIALIZER
#define SENSOR_TOL_INITIALIZER |
( |
| NODE_ID, |
|
|
| THRES, |
|
|
| WEIGHT, |
|
|
| ERR ) |
Value: { \
.dev = DEVICE_DT_GET(NODE_ID), \
.thres = THRES, \
.weight = WEIGHT, \
.err = ERR, \
.level = 0, \
}
Designated initializer for sensor_tol.
- Parameters
-
NODE_ID | Node ID of the sensor device. |
THRES | Error level when greater or equal is considered an error. |
WEIGHT | Error level increase of one sensor failure. |
ERR | Error code corresponding to the sensor. |
◆ sensor_tol_chan_read()
int sensor_tol_chan_read |
( |
struct sensor_tol * | tol, |
|
|
enum sensor_channel | chan, |
|
|
struct sensor_value * | val ) |
Read sensor data with tolerance. Sets error when error level reaches threshold. Does nothing if the sensor error is set and returns -ENODEV.
- Parameters
-
tol | Sensor tolerant read structure. |
chan | Sensor channel. |
val | Sensor value. |
- Returns
- 0 if read successful, negative error code otherwise.
◆ sensor_tol_init()
◆ sensor_tol_is_ok()
◆ sensor_tol_report_error()
void sensor_tol_report_error |
( |
struct sensor_tol * | tol | ) |
|
◆ sensor_tol_report_fail()
void sensor_tol_report_fail |
( |
struct sensor_tol * | tol | ) |
|
Report sensor failure.
- Parameters
-
tol | Sensor tolerant read structure. |