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

Committer:
PixArtHC
Date:
Tue Mar 26 22:32:06 2019 +0000
Revision:
1:95917b856631
Parent:
0:2a85075b8467
* V1.1 library changes:;  * Add support to 5101 LD/LED switching.;  * Add support to PAT9150.;  * Fixed bug on loading initialization setting.;  * Optimized register read timing.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
PixArtHC 0:2a85075b8467 1 /* PixArt Optical Finger Navigation, OFN, sensor driver.
PixArtHC 0:2a85075b8467 2 * By PixArt Imaging Inc.
PixArtHC 0:2a85075b8467 3 * Primary Engineer: Hill Chen (PixArt USA)
PixArtHC 0:2a85075b8467 4 *
PixArtHC 0:2a85075b8467 5 * License: Apache-2.0; http://www.apache.org/licenses/LICENSE-2.0
PixArtHC 0:2a85075b8467 6 */
PixArtHC 0:2a85075b8467 7
PixArtHC 0:2a85075b8467 8 #pragma once
PixArtHC 0:2a85075b8467 9 #include "mbed.h"
PixArtHC 0:2a85075b8467 10
PixArtHC 0:2a85075b8467 11 class Pixart_ComPort
PixArtHC 0:2a85075b8467 12 {
PixArtHC 0:2a85075b8467 13 public:
PixArtHC 0:2a85075b8467 14 virtual void writeRegister(uint8_t addr, uint8_t data) = 0;
PixArtHC 0:2a85075b8467 15 virtual uint8_t readRegister(uint8_t addr) = 0;
PixArtHC 0:2a85075b8467 16 };
PixArtHC 0:2a85075b8467 17
PixArtHC 0:2a85075b8467 18
PixArtHC 0:2a85075b8467 19 class Pixart_I2cComPort: public Pixart_ComPort
PixArtHC 0:2a85075b8467 20 {
PixArtHC 0:2a85075b8467 21 public:
PixArtHC 0:2a85075b8467 22 Pixart_I2cComPort(I2C &i2c, int address);
PixArtHC 0:2a85075b8467 23
PixArtHC 0:2a85075b8467 24 virtual void writeRegister(uint8_t addr, uint8_t data);
PixArtHC 0:2a85075b8467 25 virtual uint8_t readRegister(uint8_t addr);
PixArtHC 0:2a85075b8467 26
PixArtHC 0:2a85075b8467 27 private:
PixArtHC 0:2a85075b8467 28 I2C &m_i2c;
PixArtHC 0:2a85075b8467 29 int m_address;
PixArtHC 0:2a85075b8467 30 };
PixArtHC 0:2a85075b8467 31
PixArtHC 0:2a85075b8467 32 class Pixart_SpiComPort: public Pixart_ComPort
PixArtHC 0:2a85075b8467 33 {
PixArtHC 0:2a85075b8467 34 public:
PixArtHC 0:2a85075b8467 35 Pixart_SpiComPort(SPI &spi, DigitalOut &cs);
PixArtHC 0:2a85075b8467 36
PixArtHC 0:2a85075b8467 37 virtual void writeRegister(uint8_t addr, uint8_t data);
PixArtHC 0:2a85075b8467 38 virtual uint8_t readRegister(uint8_t addr);
PixArtHC 0:2a85075b8467 39
PixArtHC 0:2a85075b8467 40 private:
PixArtHC 0:2a85075b8467 41 SPI &m_spi;
PixArtHC 0:2a85075b8467 42 DigitalOut &m_cs;
PixArtHC 0:2a85075b8467 43 };