send microbit compass and accelerometer data
Fork of compass_data_sender by
main.cpp@7:73fbd714530a, 2017-02-15 (annotated)
- Committer:
- kinga
- Date:
- Wed Feb 15 11:03:41 2017 +0000
- Revision:
- 7:73fbd714530a
- Parent:
- 6:77e0f7786398
refactor: getAccelerometerVectors to fix
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 | 0:839533b03cb9 | 3 | |
kinga | 0:839533b03cb9 | 4 | MicroBit uBit; |
kinga | 0:839533b03cb9 | 5 | MicroBitSerial serial(USBTX, USBRX); |
kinga | 0:839533b03cb9 | 6 | MicroBitI2C i2c(I2C_SDA0, I2C_SCL0); |
kinga | 3:92910c8d63e4 | 7 | MicroBitAccelerometer accelerometer(i2c); |
kinga | 3:92910c8d63e4 | 8 | MicroBitStorage storage; |
kinga | 3:92910c8d63e4 | 9 | MicroBitCompass compass(i2c, accelerometer, storage); |
kinga | 0:839533b03cb9 | 10 | |
kinga | 3:92910c8d63e4 | 11 | ManagedString getCompassHeading() |
kinga | 3:92910c8d63e4 | 12 | { |
kinga | 3:92910c8d63e4 | 13 | int heading = compass.heading(); |
kinga | 4:b8aa76f28112 | 14 | return (ManagedString)heading + ','; |
kinga | 3:92910c8d63e4 | 15 | } |
kinga | 0:839533b03cb9 | 16 | |
kinga | 3:92910c8d63e4 | 17 | ManagedString getAccelerometerVectors() |
kinga | 3:92910c8d63e4 | 18 | { |
kinga | 6:77e0f7786398 | 19 | ManagedString accelerometerVectorsString = ""; |
kinga | 7:73fbd714530a | 20 | vector<int> accelerometerVectors; |
kinga | 7:73fbd714530a | 21 | accelerometerVectors.push_back(uBit.accelerometer.getX()); |
kinga | 7:73fbd714530a | 22 | accelerometerVectors.push_back(uBit.accelerometer.getY()); |
kinga | 7:73fbd714530a | 23 | accelerometerVectors.push_back(uBit.accelerometer.getZ()); |
kinga | 5:c443160b7715 | 24 | for (int i = 0; i < accelerometerVectors.size(); ++i) |
kinga | 5:c443160b7715 | 25 | { |
kinga | 7:73fbd714530a | 26 | accelerometerVectorsString = accelerometerVectorsString + (ManagedString)accelerometerVectors[i] + ','; |
kinga | 5:c443160b7715 | 27 | } |
kinga | 6:77e0f7786398 | 28 | return accelerometerVectorsString; |
kinga | 3:92910c8d63e4 | 29 | } |
kinga | 0:839533b03cb9 | 30 | |
kinga | 3:92910c8d63e4 | 31 | ManagedString getMessage() |
kinga | 3:92910c8d63e4 | 32 | { |
kinga | 4:b8aa76f28112 | 33 | return getCompassHeading() + getAccelerometerVectors(); |
kinga | 3:92910c8d63e4 | 34 | } |
kinga | 0:839533b03cb9 | 35 | |
kinga | 7:73fbd714530a | 36 | |
kinga | 7:73fbd714530a | 37 | void onData() |
kinga | 7:73fbd714530a | 38 | { |
kinga | 7:73fbd714530a | 39 | if (serial.read() == 'a') |
kinga | 7:73fbd714530a | 40 | { |
kinga | 7:73fbd714530a | 41 | uBit.display.print("A"); |
kinga | 7:73fbd714530a | 42 | } |
kinga | 7:73fbd714530a | 43 | |
kinga | 7:73fbd714530a | 44 | if (serial.read() == 'b') |
kinga | 7:73fbd714530a | 45 | { |
kinga | 7:73fbd714530a | 46 | uBit.display.print("B"); |
kinga | 7:73fbd714530a | 47 | } |
kinga | 7:73fbd714530a | 48 | } |
kinga | 7:73fbd714530a | 49 | |
kinga | 0:839533b03cb9 | 50 | int main() |
kinga | 0:839533b03cb9 | 51 | { |
kinga | 0:839533b03cb9 | 52 | uBit.init(); |
kinga | 7:73fbd714530a | 53 | |
kinga | 3:92910c8d63e4 | 54 | while (1) |
kinga | 3:92910c8d63e4 | 55 | { |
kinga | 3:92910c8d63e4 | 56 | serial.send(getMessage()); |
kinga | 0:839533b03cb9 | 57 | uBit.sleep(500); |
kinga | 7:73fbd714530a | 58 | //onData(); |
kinga | 0:839533b03cb9 | 59 | } |
kinga | 0:839533b03cb9 | 60 | |
kinga | 0:839533b03cb9 | 61 | release_fiber(); |
kinga | 0:839533b03cb9 | 62 | } |
kinga | 0:839533b03cb9 | 63 |