PixArt Optical Track Sensor, OTS, library initial release v1.0. Supports PAT9125, PAT9126, PAT9130, PAA5101. Future to support PAT9150.
Fork of Pixart_OTS by
Pixart_ComPort.h@0:2a85075b8467, 2019-03-06 (annotated)
- 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?
User | Revision | Line number | New 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 | }; |