From fcf267dc7c98dbfffe8b28a61455ef031c3a4356 Mon Sep 17 00:00:00 2001
From: Francois <thiebolt@irit.fr>
Date: Wed, 16 Mar 2022 08:53:09 +0100
Subject: [PATCH] corrected multi-sensors corner case in general calls

---
 neosensor/libraries/neocampus_drivers/generic_driver.cpp | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/neosensor/libraries/neocampus_drivers/generic_driver.cpp b/neosensor/libraries/neocampus_drivers/generic_driver.cpp
index 930e2b22..2b6011f5 100644
--- a/neosensor/libraries/neocampus_drivers/generic_driver.cpp
+++ b/neosensor/libraries/neocampus_drivers/generic_driver.cpp
@@ -11,6 +11,7 @@
 
 	@section  HISTORY
 
+    F.Thiebolt  mar.22  added support for multi-sensors corner cases
     F.Thiebolt  nov.21  added support for single data threshold_cpt
     F.Thiebolt  aug.21  added support for analog data integration
     2020-May    - First release, F. Thiebolt
@@ -144,7 +145,13 @@ bool generic_driver::getTrigger( void ) {
  *  get official value that has gone through the whole integration process
  */
 float generic_driver::getValue( uint8_t *idx ) {
-  return value;
+
+  // regular case or first value required
+  if( !idx or *idx==0 ) return value;
+
+  // first value already sent back ...
+  if( idx ) *idx = (uint8_t)(-1);
+  return -42.0;
 }
 
 
-- 
GitLab