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 07:58:50 2015 +0000
Revision:
0:9f02ae958e20
Child:
10:4200a8140b10
initial commit

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 "TLC59116.h"
sillevl 0:9f02ae958e20 5 #include "Color.h"
sillevl 0:9f02ae958e20 6
sillevl 0:9f02ae958e20 7 enum DistanceSensor{
sillevl 0:9f02ae958e20 8 FRONT_LEFT,
sillevl 0:9f02ae958e20 9 FRONT_MIDDLE_LEFT,
sillevl 0:9f02ae958e20 10 BACK_MIDDLE_LEFT,
sillevl 0:9f02ae958e20 11 BACK_LEFT,
sillevl 0:9f02ae958e20 12 BACK_RIGHT,
sillevl 0:9f02ae958e20 13 BACK_MIDDLE_RIGHT,
sillevl 0:9f02ae958e20 14 FRONT_MIDDLE_RIGHT,
sillevl 0:9f02ae958e20 15 FRONT_RIGHT
sillevl 0:9f02ae958e20 16 };
sillevl 0:9f02ae958e20 17
sillevl 0:9f02ae958e20 18 class LedRing{
sillevl 0:9f02ae958e20 19 public:
sillevl 0:9f02ae958e20 20 LedRing(PinName sda, PinName scl);
sillevl 0:9f02ae958e20 21
sillevl 0:9f02ae958e20 22 void setColor(int led, Color* Color);
sillevl 0:9f02ae958e20 23 void setColor(int led, int color);
sillevl 0:9f02ae958e20 24 void setAll(int color);
sillevl 0:9f02ae958e20 25 void setAll(Color* color);
sillevl 0:9f02ae958e20 26 void setAll(int* colors);
sillevl 0:9f02ae958e20 27 void setBrightness(float brightness);
sillevl 0:9f02ae958e20 28
sillevl 0:9f02ae958e20 29 void greenRedGradient(int led, int value);
sillevl 0:9f02ae958e20 30
sillevl 0:9f02ae958e20 31 protected:
sillevl 0:9f02ae958e20 32 void setLed(TLC59116* driver, int startChannel, Color* color);
sillevl 0:9f02ae958e20 33
sillevl 0:9f02ae958e20 34 private:
sillevl 0:9f02ae958e20 35 TLC59116 driver1;
sillevl 0:9f02ae958e20 36 TLC59116 driver2;
sillevl 0:9f02ae958e20 37
sillevl 0:9f02ae958e20 38 static const int DRIVER_1_ADDRESS = 0xC0;
sillevl 0:9f02ae958e20 39 static const int DRIVER_2_ADDRESS = 0xC2;
sillevl 0:9f02ae958e20 40
sillevl 0:9f02ae958e20 41 };