From e4819d3854d8cfed687e14e2ee6e973ddeefe9e1 Mon Sep 17 00:00:00 2001
From: Francois <thiebolt@irit.fr>
Date: Tue, 15 Mar 2022 08:01:39 +0100
Subject: [PATCH] trying to overcome i2c comm issues with TSL2561

---
 .../libraries/neocampus_drivers/TSL2561.cpp     | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/neosensor/libraries/neocampus_drivers/TSL2561.cpp b/neosensor/libraries/neocampus_drivers/TSL2561.cpp
index 44be5d65..a82920d2 100644
--- a/neosensor/libraries/neocampus_drivers/TSL2561.cpp
+++ b/neosensor/libraries/neocampus_drivers/TSL2561.cpp
@@ -214,6 +214,23 @@ bool TSL2561::_check_identity( uint8_t a ) {
   _powerON(a); delay(10);
 
   // check Register ID
+  Wire.beginTransmission(a);
+  Wire.write((uint8_t)(TSL2561_COMMAND_BIT | TSL2561_CLEAR_BIT | TSL2561_REGISTER_CONTROL));
+  Wire.beginTransmission(a);
+  Wire.requestFrom(a, (uint8_t)1);
+
+TO BE CONTINUED
+
+  else yield();
+
+  uint8_t i=0;
+  while( Wire.available() and (i < tabsize) ) {
+    tab[i++] = Wire.read();
+  }
+  Wire.endTransmission();
+
+TO BE CONTINUED
+
   uint8_t _res = read8(a,TSL2561_REGISTER_ID);
   if( (_res&0xF0)!=REGISTER_ID_TSL2561 and (_res&0xF0)!=0x00  ) return false;
 
-- 
GitLab