Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: m3Dpi mbed-rtos mbed MbedJSONValue
main.cpp
- Committer:
- sillevl
- Date:
- 2015-12-19
- Revision:
- 13:d6374484b953
- Parent:
- 11:ccb8653e285f
- Child:
- 14:06576ab99415
File content as of revision 13:d6374484b953:
#include "mbed.h" #include "M3Dpi.h" #include "jsonReporter.h" #include "binaryReporter.h" const char M3DPI_ID = "1234567890"; M3Dpi robot; Serial pc(USBTX,USBRX); Reporter* report = new BinaryReporter(&pc, M3DPI_ID); m3dpi::Distance distance; m3dpi::Direction direction; m3dpi::Rotation rotation; m3dpi::Acceleration acceleration; void setLeds(m3dpi::Distance distance) { int colors[8] = {distance.front, distance.front_right, distance.right, distance.back_right, distance.back, distance.back_left, distance.left, distance.front_left}; // shift distance value to get red colors for(int i = 0; i < 8; i++){ colors[i] = colors[i] << 16; } robot.setLeds(colors); } void read_sensors_thread() { robot.setStatus(Color::GREEN); ::distance = robot.getDistance(); direction = robot.getDirection(); rotation = robot.getRotation(); acceleration = robot.getAcceleration(); setLeds(::distance); robot.setStatus(Color::BLACK); } int main() { pc.baud(115200); while(true){ Timer t; t.start(); read_sensors_thread(); report->distance(::distance); report->direction(direction); report->rotation(rotation); report->acceleration(acceleration); t.stop();pc.printf("Read and report time: %d us\r\n", t.read_us()); //pc.printf("report send time: %d us\n", t.read_us()); //report.time(robot.getTime()); wait_ms(500); } }