Air Quality Monitor
Portable C application for collecting, storing, and analyzing air quality sensor readings
Loading...
Searching...
No Matches
sensor.h
1#ifndef SENSOR_H
2#define SENSOR_H
3
4#include "core/globals.h"
5
12typedef struct {
13 char name[50];
14 float (*read_data)();
15 int (*init)();
16 int (*shutdown)();
17} Sensor;
18
26#define SENSOR_PLUGIN_API_VERSION 1
27
35typedef struct {
39 const char *name;
41 const char *plugin_version;
43 const char *description;
47 int (*init)(void);
53 int (*read_sample)(AirQualityData *out);
55 int (*shutdown)(void);
57
69#endif
One air quality reading: pollutant values plus sensor/timestamp metadata.
Definition globals.h:27
Runtime contract every sensor plugin (.so/.dylib/.dll) must implement.
Definition sensor.h:35
int sensor_id
Numeric identifier stored alongside readings in the database.
Definition sensor.h:45
const char * description
Short description shown in sensor info/listing screens.
Definition sensor.h:43
int api_version
Must equal SENSOR_PLUGIN_API_VERSION at build time.
Definition sensor.h:37
const char * plugin_version
Plugin version string, e.g.
Definition sensor.h:41
const char * name
Human-readable sensor name, e.g.
Definition sensor.h:39
Legacy sensor interface, superseded by SensorPlugin.
Definition sensor.h:12