Sends compass and accelerometer data, receives data and displays on LED matrix
main.cpp@1:17905d919813, 2017-02-20 (annotated)
- Committer:
- kinga
- Date:
- Mon Feb 20 09:12:41 2017 +0000
- Revision:
- 1:17905d919813
- Parent:
- 0:25e1d324df77
- Child:
- 2:541a2fae2429
giving function as parameter in while loop to myLedMatrix
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kinga | 1:17905d919813 | 1 | #include "LedMatrix.h" |
kinga | 0:25e1d324df77 | 2 | |
kinga | 0:25e1d324df77 | 3 | MicroBit uBit; |
kinga | 0:25e1d324df77 | 4 | MicroBitSerial serial(USBTX, USBRX); |
kinga | 0:25e1d324df77 | 5 | MicroBitI2C i2c(I2C_SDA0, I2C_SCL0); |
kinga | 0:25e1d324df77 | 6 | MicroBitAccelerometer accelerometer(i2c); |
kinga | 0:25e1d324df77 | 7 | MicroBitStorage storage; |
kinga | 0:25e1d324df77 | 8 | MicroBitCompass compass(i2c, accelerometer, storage); |
kinga | 0:25e1d324df77 | 9 | |
kinga | 0:25e1d324df77 | 10 | ManagedString getCompassHeading() |
kinga | 0:25e1d324df77 | 11 | { |
kinga | 0:25e1d324df77 | 12 | int heading = compass.heading(); |
kinga | 0:25e1d324df77 | 13 | return (ManagedString)heading + ','; |
kinga | 0:25e1d324df77 | 14 | } |
kinga | 0:25e1d324df77 | 15 | |
kinga | 0:25e1d324df77 | 16 | ManagedString getAccelerometerVectors() |
kinga | 0:25e1d324df77 | 17 | { |
kinga | 0:25e1d324df77 | 18 | ManagedString accelerometerVectorsString = ""; |
kinga | 0:25e1d324df77 | 19 | vector<int> accelerometerVectors; |
kinga | 0:25e1d324df77 | 20 | accelerometerVectors.push_back(uBit.accelerometer.getX()); |
kinga | 0:25e1d324df77 | 21 | accelerometerVectors.push_back(uBit.accelerometer.getY()); |
kinga | 0:25e1d324df77 | 22 | accelerometerVectors.push_back(uBit.accelerometer.getZ()); |
kinga | 0:25e1d324df77 | 23 | for (int i = 0; i < accelerometerVectors.size(); ++i) |
kinga | 0:25e1d324df77 | 24 | { |
kinga | 0:25e1d324df77 | 25 | accelerometerVectorsString = accelerometerVectorsString + (ManagedString)accelerometerVectors[i] + ','; |
kinga | 0:25e1d324df77 | 26 | } |
kinga | 0:25e1d324df77 | 27 | return accelerometerVectorsString; |
kinga | 0:25e1d324df77 | 28 | } |
kinga | 0:25e1d324df77 | 29 | |
kinga | 0:25e1d324df77 | 30 | ManagedString getMessage() |
kinga | 0:25e1d324df77 | 31 | { |
kinga | 0:25e1d324df77 | 32 | return getCompassHeading() + getAccelerometerVectors(); |
kinga | 0:25e1d324df77 | 33 | } |
kinga | 0:25e1d324df77 | 34 | |
kinga | 1:17905d919813 | 35 | ManagedString readData() |
kinga | 1:17905d919813 | 36 | { |
kinga | 1:17905d919813 | 37 | return serial.read(2, ASYNC); |
kinga | 1:17905d919813 | 38 | } |
kinga | 1:17905d919813 | 39 | |
kinga | 1:17905d919813 | 40 | /*int convertData(int num); |
kinga | 0:25e1d324df77 | 41 | { |
kinga | 1:17905d919813 | 42 | return atoi(readData()[num]); |
kinga | 1:17905d919813 | 43 | }*/ |
kinga | 1:17905d919813 | 44 | |
kinga | 1:17905d919813 | 45 | /*void readData() |
kinga | 1:17905d919813 | 46 | { |
kinga | 1:17905d919813 | 47 | uBit.display.print(serial.read(ASYNC)); |
kinga | 1:17905d919813 | 48 | }*/ |
kinga | 0:25e1d324df77 | 49 | |
kinga | 0:25e1d324df77 | 50 | void sendData() |
kinga | 0:25e1d324df77 | 51 | { |
kinga | 0:25e1d324df77 | 52 | serial.send(getMessage(), ASYNC); |
kinga | 0:25e1d324df77 | 53 | } |
kinga | 0:25e1d324df77 | 54 | |
kinga | 0:25e1d324df77 | 55 | |
kinga | 0:25e1d324df77 | 56 | int main() |
kinga | 0:25e1d324df77 | 57 | { |
kinga | 0:25e1d324df77 | 58 | uBit.init(); |
kinga | 1:17905d919813 | 59 | LedMatrix myLedMatrix; |
kinga | 1:17905d919813 | 60 | //ManagedString buffer = ""; |
kinga | 0:25e1d324df77 | 61 | while(1) |
kinga | 1:17905d919813 | 62 | { |
kinga | 1:17905d919813 | 63 | const char* temp = readData(); |
kinga | 1:17905d919813 | 64 | //temp = readData(); |
kinga | 1:17905d919813 | 65 | //buffer = readData(); |
kinga | 1:17905d919813 | 66 | //myLedMatrix.setLedMatrix(temp / 10, temp % 10); |
kinga | 1:17905d919813 | 67 | //int buffer = readData(); |
kinga | 1:17905d919813 | 68 | myLedMatrix.setLedMatrix((readData() /10), (readData() % 10)); |
kinga | 1:17905d919813 | 69 | uBit.display.print(myLedMatrix.getMatrixImage()); |
kinga | 1:17905d919813 | 70 | //readData(); |
kinga | 0:25e1d324df77 | 71 | sendData(); |
kinga | 0:25e1d324df77 | 72 | uBit.sleep(500); |
kinga | 0:25e1d324df77 | 73 | } |
kinga | 0:25e1d324df77 | 74 | |
kinga | 0:25e1d324df77 | 75 | release_fiber(); |
kinga | 0:25e1d324df77 | 76 | } |