send microbit compass and accelerometer data

Dependencies:   microbit

Fork of compass_data_sender by Kinga Magyar

Committer:
kinga
Date:
Tue Feb 14 15:43:51 2017 +0000
Revision:
6:77e0f7786398
Parent:
5:c443160b7715
Child:
7:73fbd714530a
refactor: working for loop

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 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 6:77e0f7786398 20 vector<ManagedString> accelerometerVectors;
kinga 6:77e0f7786398 21 accelerometerVectors.push_back((ManagedString)uBit.accelerometer.getX());
kinga 6:77e0f7786398 22 accelerometerVectors.push_back((ManagedString)uBit.accelerometer.getY());
kinga 6:77e0f7786398 23 accelerometerVectors.push_back((ManagedString)uBit.accelerometer.getZ());
kinga 5:c443160b7715 24 for (int i = 0; i < accelerometerVectors.size(); ++i)
kinga 5:c443160b7715 25 {
kinga 6:77e0f7786398 26 accelerometerVectorsString = accelerometerVectorsString + 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 0:839533b03cb9 36 int main()
kinga 0:839533b03cb9 37 {
kinga 0:839533b03cb9 38 uBit.init();
kinga 0:839533b03cb9 39
kinga 3:92910c8d63e4 40 while (1)
kinga 3:92910c8d63e4 41 {
kinga 3:92910c8d63e4 42 serial.send(getMessage());
kinga 0:839533b03cb9 43 uBit.sleep(500);
kinga 0:839533b03cb9 44 }
kinga 0:839533b03cb9 45
kinga 0:839533b03cb9 46 release_fiber();
kinga 0:839533b03cb9 47 }
kinga 0:839533b03cb9 48