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

lib/reporter.h

Committer:
sillevl
Date:
2015-12-19
Revision:
13:d6374484b953
Parent:
11:ccb8653e285f

File content as of revision 13:d6374484b953:

#pragma once

#include "mbed.h"
#include "M3Dpi.h"

// TODO: only report if value is different?
class Reporter
{
protected:
    mbed::Stream* out;
    const char* id;
public:
    Reporter(mbed::Stream* _out, const char _id[]);
    virtual void time(time_t seconds) = 0;
    virtual void distance(m3dpi::Distance distance) = 0;
    virtual void acceleration(m3dpi::Acceleration acc) = 0;
    virtual void direction(m3dpi::Direction direction) = 0;
    virtual void rotation(m3dpi::Rotation rotation) = 0;
};