commit 29802bf51a1760c02e4b8ee4dfaed156ca1d694f
parent 86442e180de98829d7d80fd52a233aa7c17852f1
Author: Tonton <tonterface@proton.me>
Date: Thu, 9 Jul 2026 13:49:18 +0200
add decide function
Diffstat:
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);