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-06-16
- Revision:
- 2:4612564007c0
- Parent:
- 1:98a9d6fc60ae
File content as of revision 2:4612564007c0:
#ifndef ADNS5090_H #define ADNS5090_H #include "stdint.h" #include "mbed.h" #include "SWSPI.h" #include "rtos.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; Mutex& spi_mutex; DigitalOut ncs; public: ADNS5090(SWSPI&, Mutex&, 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