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:
Wed Mar 06 21:02:39 2019 +0000
Revision:
0:2a85075b8467
PixArt Optical Track Sensor, OTS, library initial release v1.0. Supports PAT9125, PAT9126, PAT9130, PAA5101. Future to support PAT9150.

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 };