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:
Wed Jan 20 17:54:16 2016 +0000
Revision:
12:4cb092df6958
Parent:
10:4200a8140b10
update library to forked project

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 10:4200a8140b10 22 VL6180xManager(I2C &i2c);
sillevl 0:9f02ae958e20 23 VL6180xManager(PinName sda, PinName scl);
sillevl 0:9f02ae958e20 24 void select(int index);
sillevl 4:b2fe3a2545bf 25 m3dpi::Distance getAllDistance();
sillevl 4:b2fe3a2545bf 26 int getDistance(int index);
sillevl 0:9f02ae958e20 27
sillevl 0:9f02ae958e20 28 protected:
sillevl 0:9f02ae958e20 29
sillevl 0:9f02ae958e20 30 /* enum DistanceSensor {
sillevl 0:9f02ae958e20 31 FRONT,
sillevl 0:9f02ae958e20 32 FRONT_RIGHT,
sillevl 0:9f02ae958e20 33 RIGHT,
sillevl 0:9f02ae958e20 34 BACK_RIGHT,
sillevl 0:9f02ae958e20 35 BACK,
sillevl 0:9f02ae958e20 36 BACK_LEFT,
sillevl 0:9f02ae958e20 37 LEFT,
sillevl 0:9f02ae958e20 38 FRONT_LEFT
sillevl 0:9f02ae958e20 39 };*/
sillevl 10:4200a8140b10 40
sillevl 10:4200a8140b10 41 void initialize();
sillevl 0:9f02ae958e20 42 PCA9547 mux;
sillevl 0:9f02ae958e20 43 I2C i2c;
sillevl 0:9f02ae958e20 44 int address;
sillevl 0:9f02ae958e20 45 VL6180x sensor;
sillevl 0:9f02ae958e20 46
sillevl 0:9f02ae958e20 47 static const int SENSOR_COUNT = 8;
sillevl 0:9f02ae958e20 48 static const int VL6180X_ADDRESS = 0x52;
sillevl 0:9f02ae958e20 49 };