This is for our FYDP project. 2 MPU6050s are used
Diff: drivers/ADNS5090/ADNS5090.h
- Revision:
- 0:21019d94ad33
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/drivers/ADNS5090/ADNS5090.h Sat Mar 21 21:31:29 2015 +0000 @@ -0,0 +1,41 @@ +#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