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

Dependents:   m3Dpi-helloworld

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?

UserRevisionLine numberNew 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 };