Software SPI allows non-standard SPI pins to be used for interfacing with SPI devices
Fork of SWSPI by
ADNS5090.h
- Committer:
- Throwbot
- Date:
- 2014-05-08
- Revision:
- 1:98a9d6fc60ae
- Parent:
- SWSPI.h@ 0:6a500a08c7fd
- Child:
- 2:4612564007c0
File content as of revision 1:98a9d6fc60ae:
#ifndef ADNS5090_H #define ADNS5090_H #include "stdint.h" #include "mbed.h" #include "SWSPI.h" #define ADNS5090_WRITE_VAL (0x80) #define ADNS5090_MOTION_ST_REG (0x02) #define ADNS5090_MOTION_BURST_REG (0x63) #define ADNS5090_RESET_REG (0x3a) #define ADNS5090_RESET_VAL (0x5a) #define ADNS5090_MOUSE_CTRL_REG (0x0d) #define ADNS5090_POWERDOWN_VAL (0x02) class ADNS5090 { private: SWSPI spi; DigitalOut ncs; public: ADNS5090(PinName mosi_pin, PinName miso_pin, PinName sclk_pin, PinName ncs_pin, float pxPerMM_); int8_t dx_px, dy_px; uint8_t sq; //surface quality, higher better, ~30 is good, 0= no surface float pxPerMM; float dx(); float dy(); bool updateMotion(); void reset(); void powerDown(); void setDPI(); }; #endif