Sends compass and accelerometer data, receives data and displays on LED matrix
Revision 0:25e1d324df77, committed 2017-02-15
- Comitter:
- kinga
- Date:
- Wed Feb 15 14:09:30 2017 +0000
- Child:
- 1:17905d919813
- Commit message:
- work data sending and receiving
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
microbit.lib | Show annotated file Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Feb 15 14:09:30 2017 +0000 @@ -0,0 +1,60 @@ +#include "MicroBit.h" +#include <vector> + +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(); +} + +void readData() +{ + ManagedString s = serial.read(2, ASYNC); + uBit.display.print(s); +} + +void sendData() +{ + serial.send(getMessage(), ASYNC); +} + + +int main() +{ + uBit.init(); + + while(1) + { + readData(); + sendData(); + uBit.sleep(500); + } + + release_fiber(); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/microbit.lib Wed Feb 15 14:09:30 2017 +0000 @@ -0,0 +1,1 @@ +https://developer.mbed.org/teams/Lancaster-University/code/microbit/#4b89e7e3494f