PixArt Optical Track Sensor, OTS, library initial release v1.0. Supports PAT9125, PAT9126, PAT9130, PAA5101. Future to support PAT9150.

Fork of Pixart_OTS by Hill Chen

Revision:
1:95917b856631
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Pixart_OTS_Task.h	Tue Mar 26 22:32:06 2019 +0000
@@ -0,0 +1,42 @@
+/* PixArt Optical Finger Navigation, OFN, sensor driver.
+ * By PixArt Imaging Inc.
+ * Primary Engineer: Hill Chen (PixArt USA)
+ *
+ * License: Apache-2.0; http://www.apache.org/licenses/LICENSE-2.0
+ */
+
+#pragma once
+#include "mbed.h"
+#include "Pixart_ComPort.h"
+
+class Pixart_OTS_Task
+{
+public:
+    virtual void reset_task(Pixart_ComPort &com_port){
+        com_port.writeRegister(0x7F, 0x00);
+        com_port.writeRegister(0x06, 0x80);}
+    virtual void pre_task(Pixart_ComPort &com_port) {}
+    virtual void periodic_task(Pixart_ComPort &com_port) {}
+};
+
+class Pixart_OTS_Task_5101: public Pixart_OTS_Task
+{
+private:
+    uint16_t LD2LED_TH;
+    uint16_t LED2LD_TH;
+    uint16_t FIQ[8];
+    uint16_t FIQ_AVG;
+    uint8_t FIQt;
+    uint8_t EXTLED_ON; // Mode index, 0:LD, 1:LED
+    DigitalOut &m_ldp_enl;
+
+    void PAA5101_LD_MODE(Pixart_ComPort &com_port);
+    void PAA5101_EXTLED_MODE(Pixart_ComPort &com_port);
+    
+public:
+    Pixart_OTS_Task_5101(DigitalOut &ldp_enl_pin);
+
+    virtual void reset_task(Pixart_ComPort &com_port);
+    virtual void pre_task(Pixart_ComPort &com_port);
+    virtual void periodic_task(Pixart_ComPort &com_port);
+};