gas_sensor

gas sensor project
git clone _git@git.tontus.eu/gas_sensor.git
Log | Files | Refs

commit 29802bf51a1760c02e4b8ee4dfaed156ca1d694f
parent 86442e180de98829d7d80fd52a233aa7c17852f1
Author: Tonton <tonterface@proton.me>
Date:   Thu,  9 Jul 2026 13:49:18 +0200

add decide function

Diffstat:
Msrc/sensor.cpp | 24++++++++++++++++--------
1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/src/sensor.cpp b/src/sensor.cpp @@ -1,4 +1,6 @@ -/* sensor utilities */ +/* sensor utilities + * Handles all interaction with sensor + */ #include <Arduino.h> @@ -26,6 +28,7 @@ static int *read_series(int sensor); static int find_interval(int *series, int sensor); static int in_range(int num, int u_lim, int l_lim); static int get_average(int *series); +static int decide_result(int *ser); /* variables */ struct interval sensor1_intervals[INTERVAL_NUMBER]; @@ -102,8 +105,6 @@ get_average(int *series, int size) static int find_interval(int in, int sensor) { - /* only checks a single int currently */ - /* maybe make this receive an avg of series??*/ struct interval *ivl= NULL; int u_lim, l_lim = 0; @@ -122,6 +123,14 @@ find_interval(int in, int sensor) return 0; } +/* consolidate partial results from sensor to final verdict, -1 if undecided */ +static int +decide_result(int *ser) +{ + /* testing */ + return 1; +} + void sensor_init(void) { @@ -147,9 +156,9 @@ sensor_read(int sensor) int sensor_analyze(void) { - int *ser, res, avg; + int *ser, *tmp, res, avg; - ser = NULL; + ser = tmp = NULL; res = avg = 0; for (int i = 0; i < SENSOR_NUMBER; ++i) { @@ -160,11 +169,10 @@ sensor_analyze(void) goto out_free_ser; } avg = get_average(ser, SAMPLE_NUMBER); - find_interval(avg, i); + tmp[i] = find_interval(avg, i); } - /* temp */ - res = 1; + res = decide_result(tmp); out_free_ser: free(ser);