library for m3Dpi robot, based on the Pololu 3pi and m3pi. m3Dpi has multiple distance sensors, gyroscope, compass and accelerometer sensor to be fully aware of its environment. With the addition of xbee or nrf24n01 module it has wireless communication capabilities.
Dependencies: m3pi ADXL345_I2C HMC5583L ITG3200 PCA9547 TLC59116 VL6180x RGB-fun xbee
lib/vl6180xManager.h@4:b2fe3a2545bf, 2015-12-03 (annotated)
- Committer:
- sillevl
- Date:
- Thu Dec 03 16:34:59 2015 +0000
- Revision:
- 4:b2fe3a2545bf
- Parent:
- 0:9f02ae958e20
- Child:
- 10:4200a8140b10
return data structures for sensor values instead of array pointers
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sillevl | 0:9f02ae958e20 | 1 | #pragma once |
sillevl | 0:9f02ae958e20 | 2 | |
sillevl | 0:9f02ae958e20 | 3 | #include "mbed.h" |
sillevl | 0:9f02ae958e20 | 4 | #include "PCA9547.h" |
sillevl | 0:9f02ae958e20 | 5 | #include "vl6180x.h" |
sillevl | 4:b2fe3a2545bf | 6 | #include "datatypes.h" |
sillevl | 0:9f02ae958e20 | 7 | |
sillevl | 0:9f02ae958e20 | 8 | /*enum DistanceSensor{ |
sillevl | 0:9f02ae958e20 | 9 | FRONT, |
sillevl | 0:9f02ae958e20 | 10 | FRONT_RIGHT, |
sillevl | 0:9f02ae958e20 | 11 | RIGHT, |
sillevl | 0:9f02ae958e20 | 12 | BACK_RIGHT, |
sillevl | 0:9f02ae958e20 | 13 | BACK, |
sillevl | 0:9f02ae958e20 | 14 | BACK_LEFT, |
sillevl | 0:9f02ae958e20 | 15 | LEFT, |
sillevl | 0:9f02ae958e20 | 16 | FRONT_LEFT |
sillevl | 0:9f02ae958e20 | 17 | }; */ |
sillevl | 0:9f02ae958e20 | 18 | |
sillevl | 0:9f02ae958e20 | 19 | class VL6180xManager |
sillevl | 0:9f02ae958e20 | 20 | { |
sillevl | 0:9f02ae958e20 | 21 | public: |
sillevl | 0:9f02ae958e20 | 22 | VL6180xManager(PinName sda, PinName scl); |
sillevl | 0:9f02ae958e20 | 23 | void select(int index); |
sillevl | 4:b2fe3a2545bf | 24 | m3dpi::Distance getAllDistance(); |
sillevl | 4:b2fe3a2545bf | 25 | int getDistance(int index); |
sillevl | 0:9f02ae958e20 | 26 | |
sillevl | 0:9f02ae958e20 | 27 | protected: |
sillevl | 0:9f02ae958e20 | 28 | |
sillevl | 0:9f02ae958e20 | 29 | /* enum DistanceSensor { |
sillevl | 0:9f02ae958e20 | 30 | FRONT, |
sillevl | 0:9f02ae958e20 | 31 | FRONT_RIGHT, |
sillevl | 0:9f02ae958e20 | 32 | RIGHT, |
sillevl | 0:9f02ae958e20 | 33 | BACK_RIGHT, |
sillevl | 0:9f02ae958e20 | 34 | BACK, |
sillevl | 0:9f02ae958e20 | 35 | BACK_LEFT, |
sillevl | 0:9f02ae958e20 | 36 | LEFT, |
sillevl | 0:9f02ae958e20 | 37 | FRONT_LEFT |
sillevl | 0:9f02ae958e20 | 38 | };*/ |
sillevl | 0:9f02ae958e20 | 39 | PCA9547 mux; |
sillevl | 0:9f02ae958e20 | 40 | I2C i2c; |
sillevl | 0:9f02ae958e20 | 41 | int address; |
sillevl | 0:9f02ae958e20 | 42 | VL6180x sensor; |
sillevl | 0:9f02ae958e20 | 43 | |
sillevl | 0:9f02ae958e20 | 44 | static const int SENSOR_COUNT = 8; |
sillevl | 0:9f02ae958e20 | 45 | static const int VL6180X_ADDRESS = 0x52; |
sillevl | 0:9f02ae958e20 | 46 | }; |