Code for our FYDP -only one IMU works right now -RTOS is working

Dependencies:   mbed

Committer:
majik
Date:
Wed Mar 18 22:23:48 2015 +0000
Revision:
0:964eb6a2ef00
This is our FYDP code, but only one IMU works with the RTOS.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
majik 0:964eb6a2ef00 1 #ifndef ADNS5090_H
majik 0:964eb6a2ef00 2 #define ADNS5090_H
majik 0:964eb6a2ef00 3
majik 0:964eb6a2ef00 4 #include "stdint.h"
majik 0:964eb6a2ef00 5 #include "mbed.h"
majik 0:964eb6a2ef00 6 #include "SWSPI.h"
majik 0:964eb6a2ef00 7
majik 0:964eb6a2ef00 8 #define ADNS5090_WRITE_VAL (0x80)
majik 0:964eb6a2ef00 9 #define ADNS5090_MOTION_ST_REG (0x02)
majik 0:964eb6a2ef00 10 #define ADNS5090_MOTION_BURST_REG (0x63)
majik 0:964eb6a2ef00 11 #define ADNS5090_RESET_REG (0x3a)
majik 0:964eb6a2ef00 12 #define ADNS5090_RESET_VAL (0x5a)
majik 0:964eb6a2ef00 13 #define ADNS5090_MOUSE_CTRL_REG (0x0d)
majik 0:964eb6a2ef00 14 #define ADNS5090_POWERDOWN_VAL (0x02)
majik 0:964eb6a2ef00 15
majik 0:964eb6a2ef00 16
majik 0:964eb6a2ef00 17 class ADNS5090
majik 0:964eb6a2ef00 18 {
majik 0:964eb6a2ef00 19 private:
majik 0:964eb6a2ef00 20
majik 0:964eb6a2ef00 21 SWSPI spi;
majik 0:964eb6a2ef00 22 DigitalOut ncs;
majik 0:964eb6a2ef00 23
majik 0:964eb6a2ef00 24 public:
majik 0:964eb6a2ef00 25
majik 0:964eb6a2ef00 26 ADNS5090(PinName mosi_pin, PinName miso_pin, PinName sclk_pin, PinName ncs_pin, float pxPerMM_);
majik 0:964eb6a2ef00 27
majik 0:964eb6a2ef00 28 int8_t dx_px, dy_px;
majik 0:964eb6a2ef00 29 uint8_t sq; //surface quality, higher better, ~30 is good, 0= no surface
majik 0:964eb6a2ef00 30 float pxPerMM;
majik 0:964eb6a2ef00 31
majik 0:964eb6a2ef00 32 float dx();
majik 0:964eb6a2ef00 33 float dy();
majik 0:964eb6a2ef00 34
majik 0:964eb6a2ef00 35 bool updateMotion();
majik 0:964eb6a2ef00 36 void reset();
majik 0:964eb6a2ef00 37 void powerDown();
majik 0:964eb6a2ef00 38 void setDPI();
majik 0:964eb6a2ef00 39 };
majik 0:964eb6a2ef00 40
majik 0:964eb6a2ef00 41 #endif