This is the David Smart RA8875 Library with mods for working with FRDM-K64F

Revision:
178:ae472eb22740
Parent:
166:53fd4a876dac
Child:
181:0032d1b8f5d4
--- a/RA8875_Touch_FT5206.cpp	Wed Jul 17 03:02:31 2019 +0000
+++ b/RA8875_Touch_FT5206.cpp	Sun Jul 28 01:33:02 2019 +0000
@@ -51,9 +51,26 @@
 
 
 RetCode_t RA8875::FT5206_Init() {
-    char data[2] = {FT5206_DEVICE_MODE, 0};
+    const char data[] = {FT5206_DEVICE_MODE, 0};
+    //const char data[] = {0xC3, 0x55, 0x11, 0x33, 0xAA};
 
-    m_i2c->write(m_addr, data, 2);
+    #ifdef DEBUG
+    int count = 0;
+    for (int address=0; address<256; address+=2) {
+        if (!m_i2c->write(address, NULL, 0)) { // 0 returned is ok
+            INFO("I2C address 0x%02X", address);
+            count++;
+        }
+    }
+    INFO("%d devices found", count);
+    #endif
+    
+    INFO("FT5206_Init: Addr %02X", m_addr);
+    HexDump("FT5206 Init", (uint8_t *)data, sizeof(data)/sizeof(data[0]));
+    int err = m_i2c->write(m_addr, data, sizeof(data)/sizeof(data[0]), true);
+    if (err) {
+        ERR("  result: %d", err);
+    }
     return noerror;
 }
 
@@ -61,11 +78,11 @@
     uint8_t valXH;
     uint8_t valYH;
 
-    //INFO("FT5206_TouchPositions()");
+    INFO("FT5206_TouchPositions()");
     numberOfTouchPoints = FT5206_ReadRegU8(FT5206_TD_STATUS) & 0xF;
-    //INFO("  numOfTouchPoints %d", numberOfTouchPoints);
+    INFO("  numOfTouchPoints %d", numberOfTouchPoints);
     gesture = FT5206_ReadRegU8(FT5206_GEST_ID);
-    //INFO("  gesture %d", gesture);
+    INFO("  gesture %d", gesture);
     
     valXH  = FT5206_ReadRegU8(FT5206_TOUCH5_XH);
     valYH  = FT5206_ReadRegU8(FT5206_TOUCH5_YH);