Sends compass and accelerometer data, receives data and displays on LED matrix
main.cpp
- Committer:
- kinga
- Date:
- 2017-02-20
- Revision:
- 1:17905d919813
- Parent:
- 0:25e1d324df77
- Child:
- 2:541a2fae2429
File content as of revision 1:17905d919813:
#include "LedMatrix.h" MicroBit uBit; MicroBitSerial serial(USBTX, USBRX); MicroBitI2C i2c(I2C_SDA0, I2C_SCL0); MicroBitAccelerometer accelerometer(i2c); MicroBitStorage storage; MicroBitCompass compass(i2c, accelerometer, storage); ManagedString getCompassHeading() { int heading = compass.heading(); return (ManagedString)heading + ','; } ManagedString getAccelerometerVectors() { ManagedString accelerometerVectorsString = ""; vector<int> accelerometerVectors; accelerometerVectors.push_back(uBit.accelerometer.getX()); accelerometerVectors.push_back(uBit.accelerometer.getY()); accelerometerVectors.push_back(uBit.accelerometer.getZ()); for (int i = 0; i < accelerometerVectors.size(); ++i) { accelerometerVectorsString = accelerometerVectorsString + (ManagedString)accelerometerVectors[i] + ','; } return accelerometerVectorsString; } ManagedString getMessage() { return getCompassHeading() + getAccelerometerVectors(); } ManagedString readData() { return serial.read(2, ASYNC); } /*int convertData(int num); { return atoi(readData()[num]); }*/ /*void readData() { uBit.display.print(serial.read(ASYNC)); }*/ void sendData() { serial.send(getMessage(), ASYNC); } int main() { uBit.init(); LedMatrix myLedMatrix; //ManagedString buffer = ""; while(1) { const char* temp = readData(); //temp = readData(); //buffer = readData(); //myLedMatrix.setLedMatrix(temp / 10, temp % 10); //int buffer = readData(); myLedMatrix.setLedMatrix((readData() /10), (readData() % 10)); uBit.display.print(myLedMatrix.getMatrixImage()); //readData(); sendData(); uBit.sleep(500); } release_fiber(); }