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:   m3Dpi mbed-rtos mbed MbedJSONValue

Committer:
sillevl
Date:
Sat Dec 19 13:28:17 2015 +0000
Revision:
11:ccb8653e285f
Child:
13:d6374484b953
add reporter interface

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sillevl 11:ccb8653e285f 1 #pragma once
sillevl 11:ccb8653e285f 2
sillevl 11:ccb8653e285f 3 #include "mbed.h"
sillevl 11:ccb8653e285f 4 #include "M3Dpi.h"
sillevl 11:ccb8653e285f 5
sillevl 11:ccb8653e285f 6 // TODO: only report if value is different?
sillevl 11:ccb8653e285f 7 class Reporter
sillevl 11:ccb8653e285f 8 {
sillevl 11:ccb8653e285f 9 mbed::Stream* out;
sillevl 11:ccb8653e285f 10 const char* id;
sillevl 11:ccb8653e285f 11 public:
sillevl 11:ccb8653e285f 12 Reporter(mbed::Stream* _out, const char _id[]);
sillevl 11:ccb8653e285f 13 virtual void time(time_t seconds) = 0;
sillevl 11:ccb8653e285f 14 virtual void distance(m3dpi::Distance distance) = 0;
sillevl 11:ccb8653e285f 15 virtual void acceleration(m3dpi::Acceleration acc) = 0;
sillevl 11:ccb8653e285f 16 virtual void direction(m3dpi::Direction direction) = 0;
sillevl 11:ccb8653e285f 17 virtual void rotation(m3dpi::Rotation rotation) = 0;
sillevl 11:ccb8653e285f 18 };