Sends compass and accelerometer data, receives data and displays on LED matrix
main.cpp@0:25e1d324df77, 2017-02-15 (annotated)
- Committer:
- kinga
- Date:
- Wed Feb 15 14:09:30 2017 +0000
- Revision:
- 0:25e1d324df77
- Child:
- 1:17905d919813
work data sending and receiving
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kinga | 0:25e1d324df77 | 1 | #include "MicroBit.h" |
kinga | 0:25e1d324df77 | 2 | #include <vector> |
kinga | 0:25e1d324df77 | 3 | |
kinga | 0:25e1d324df77 | 4 | MicroBit uBit; |
kinga | 0:25e1d324df77 | 5 | MicroBitSerial serial(USBTX, USBRX); |
kinga | 0:25e1d324df77 | 6 | MicroBitI2C i2c(I2C_SDA0, I2C_SCL0); |
kinga | 0:25e1d324df77 | 7 | MicroBitAccelerometer accelerometer(i2c); |
kinga | 0:25e1d324df77 | 8 | MicroBitStorage storage; |
kinga | 0:25e1d324df77 | 9 | MicroBitCompass compass(i2c, accelerometer, storage); |
kinga | 0:25e1d324df77 | 10 | |
kinga | 0:25e1d324df77 | 11 | ManagedString getCompassHeading() |
kinga | 0:25e1d324df77 | 12 | { |
kinga | 0:25e1d324df77 | 13 | int heading = compass.heading(); |
kinga | 0:25e1d324df77 | 14 | return (ManagedString)heading + ','; |
kinga | 0:25e1d324df77 | 15 | } |
kinga | 0:25e1d324df77 | 16 | |
kinga | 0:25e1d324df77 | 17 | ManagedString getAccelerometerVectors() |
kinga | 0:25e1d324df77 | 18 | { |
kinga | 0:25e1d324df77 | 19 | ManagedString accelerometerVectorsString = ""; |
kinga | 0:25e1d324df77 | 20 | vector<int> accelerometerVectors; |
kinga | 0:25e1d324df77 | 21 | accelerometerVectors.push_back(uBit.accelerometer.getX()); |
kinga | 0:25e1d324df77 | 22 | accelerometerVectors.push_back(uBit.accelerometer.getY()); |
kinga | 0:25e1d324df77 | 23 | accelerometerVectors.push_back(uBit.accelerometer.getZ()); |
kinga | 0:25e1d324df77 | 24 | for (int i = 0; i < accelerometerVectors.size(); ++i) |
kinga | 0:25e1d324df77 | 25 | { |
kinga | 0:25e1d324df77 | 26 | accelerometerVectorsString = accelerometerVectorsString + (ManagedString)accelerometerVectors[i] + ','; |
kinga | 0:25e1d324df77 | 27 | } |
kinga | 0:25e1d324df77 | 28 | return accelerometerVectorsString; |
kinga | 0:25e1d324df77 | 29 | } |
kinga | 0:25e1d324df77 | 30 | |
kinga | 0:25e1d324df77 | 31 | ManagedString getMessage() |
kinga | 0:25e1d324df77 | 32 | { |
kinga | 0:25e1d324df77 | 33 | return getCompassHeading() + getAccelerometerVectors(); |
kinga | 0:25e1d324df77 | 34 | } |
kinga | 0:25e1d324df77 | 35 | |
kinga | 0:25e1d324df77 | 36 | void readData() |
kinga | 0:25e1d324df77 | 37 | { |
kinga | 0:25e1d324df77 | 38 | ManagedString s = serial.read(2, ASYNC); |
kinga | 0:25e1d324df77 | 39 | uBit.display.print(s); |
kinga | 0:25e1d324df77 | 40 | } |
kinga | 0:25e1d324df77 | 41 | |
kinga | 0:25e1d324df77 | 42 | void sendData() |
kinga | 0:25e1d324df77 | 43 | { |
kinga | 0:25e1d324df77 | 44 | serial.send(getMessage(), ASYNC); |
kinga | 0:25e1d324df77 | 45 | } |
kinga | 0:25e1d324df77 | 46 | |
kinga | 0:25e1d324df77 | 47 | |
kinga | 0:25e1d324df77 | 48 | int main() |
kinga | 0:25e1d324df77 | 49 | { |
kinga | 0:25e1d324df77 | 50 | uBit.init(); |
kinga | 0:25e1d324df77 | 51 | |
kinga | 0:25e1d324df77 | 52 | while(1) |
kinga | 0:25e1d324df77 | 53 | { |
kinga | 0:25e1d324df77 | 54 | readData(); |
kinga | 0:25e1d324df77 | 55 | sendData(); |
kinga | 0:25e1d324df77 | 56 | uBit.sleep(500); |
kinga | 0:25e1d324df77 | 57 | } |
kinga | 0:25e1d324df77 | 58 | |
kinga | 0:25e1d324df77 | 59 | release_fiber(); |
kinga | 0:25e1d324df77 | 60 | } |