send microbit compass and accelerometer data
Fork of compass_data_sender by
main.cpp@5:c443160b7715, 2017-02-14 (annotated)
- Committer:
- kinga
- Date:
- Tue Feb 14 14:39:39 2017 +0000
- Revision:
- 5:c443160b7715
- Parent:
- 4:b8aa76f28112
- Child:
- 6:77e0f7786398
refactor: added for loop and vector in getAccelerometerVectors function
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kinga | 0:839533b03cb9 | 1 | #include "MicroBit.h" |
kinga | 5:c443160b7715 | 2 | #include <vector> |
kinga | 5:c443160b7715 | 3 | #include <iostream> |
kinga | 0:839533b03cb9 | 4 | |
kinga | 0:839533b03cb9 | 5 | MicroBit uBit; |
kinga | 0:839533b03cb9 | 6 | MicroBitSerial serial(USBTX, USBRX); |
kinga | 0:839533b03cb9 | 7 | MicroBitI2C i2c(I2C_SDA0, I2C_SCL0); |
kinga | 3:92910c8d63e4 | 8 | MicroBitAccelerometer accelerometer(i2c); |
kinga | 3:92910c8d63e4 | 9 | MicroBitStorage storage; |
kinga | 3:92910c8d63e4 | 10 | MicroBitCompass compass(i2c, accelerometer, storage); |
kinga | 0:839533b03cb9 | 11 | |
kinga | 3:92910c8d63e4 | 12 | ManagedString getCompassHeading() |
kinga | 3:92910c8d63e4 | 13 | { |
kinga | 3:92910c8d63e4 | 14 | int heading = compass.heading(); |
kinga | 4:b8aa76f28112 | 15 | return (ManagedString)heading + ','; |
kinga | 3:92910c8d63e4 | 16 | } |
kinga | 0:839533b03cb9 | 17 | |
kinga | 3:92910c8d63e4 | 18 | ManagedString getAccelerometerVectors() |
kinga | 3:92910c8d63e4 | 19 | { |
kinga | 5:c443160b7715 | 20 | std::vector<int> accelerometerVectors; |
kinga | 5:c443160b7715 | 21 | accelerometerVectors.push_back(uBit.accelerometer.getX()); |
kinga | 5:c443160b7715 | 22 | accelerometerVectors.push_back(uBit.accelerometer.getY()); |
kinga | 5:c443160b7715 | 23 | accelerometerVectors.push_back(uBit.accelerometer.getZ()); |
kinga | 5:c443160b7715 | 24 | for (int i = 0; i < accelerometerVectors.size(); ++i) |
kinga | 5:c443160b7715 | 25 | { |
kinga | 5:c443160b7715 | 26 | return (ManagedString)accelerometerVectors[i] + ','; |
kinga | 5:c443160b7715 | 27 | } |
kinga | 3:92910c8d63e4 | 28 | } |
kinga | 0:839533b03cb9 | 29 | |
kinga | 3:92910c8d63e4 | 30 | ManagedString getMessage() |
kinga | 3:92910c8d63e4 | 31 | { |
kinga | 4:b8aa76f28112 | 32 | return getCompassHeading() + getAccelerometerVectors(); |
kinga | 3:92910c8d63e4 | 33 | } |
kinga | 0:839533b03cb9 | 34 | |
kinga | 0:839533b03cb9 | 35 | int main() |
kinga | 0:839533b03cb9 | 36 | { |
kinga | 0:839533b03cb9 | 37 | uBit.init(); |
kinga | 0:839533b03cb9 | 38 | |
kinga | 3:92910c8d63e4 | 39 | while (1) |
kinga | 3:92910c8d63e4 | 40 | { |
kinga | 3:92910c8d63e4 | 41 | serial.send(getMessage()); |
kinga | 0:839533b03cb9 | 42 | uBit.sleep(500); |
kinga | 0:839533b03cb9 | 43 | } |
kinga | 0:839533b03cb9 | 44 | |
kinga | 0:839533b03cb9 | 45 | release_fiber(); |
kinga | 0:839533b03cb9 | 46 | } |
kinga | 0:839533b03cb9 | 47 |