Library containing Crazyflie 2.0 sensors drivers: - LPS25H (barometer) - MPU9250 (IMU) - PMW3901 (optical flow) - VL53L0X (range)
Dependents: Drones-Controlador controladoatitude_cteste Drone_Controlador_Atitude optical_test
PMW3901/PMW3901.h
- Committer:
- fbob
- Date:
- 2018-05-04
- Revision:
- 5:1ef8b91a0318
- Child:
- 6:c7bc001826ba
File content as of revision 5:1ef8b91a0318:
#ifndef PMW3901_h #define PMW3901_h #include "mbed.h" #define MOTION 0x02 // Accelerometer output register addresses #define DELTA_X_L 0x03 #define DELTA_X_H 0x04 #define DELTA_Y_L 0x05 #define DELTA_Y_H 0x06 /** PMW3901 (optical flow sensor) class * * Example code (print optical flow data on serial port every 1 second): * @code * #include "mbed.h" * #include "USBSerial.h" * #include "PMW3901.h" * * USBSerial pc; * PMW3901 flow(PA_7,PA_6,PA_5,PB_4); * * int main() * { * flow.init(); * while(1); * { * flow.read(); pc.printf("Optical flow []: %d %d \n\n", flow.x, flow.y); * wait(1); * } * } * @endcode * (Need to target to NUCLEO-F401RE board platform) */ class PMW3901 { public: /** Class constructor */ PMW3901(PinName mosi, PinName miso, PinName sclk, PinName csel); /** Initialize optical flow */ int init(); /** **/ void read(); /** Optical flow data in x-axis **/ int16_t x; /** Optical flow data in y-axis **/ int16_t y; private: /** SPI bus */ SPI spi; /** Chip select */ DigitalOut cs; /** **/ void setup_flow(); /** **/ void read_flow(); }; #endif