send microbit compass and accelerometer data

Dependencies:   microbit

Fork of compass_data_sender by Kinga Magyar

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?

UserRevisionLine numberNew 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