![](/media/cache/profiles/28e53af64ac756be64ef67d3287313de.jpg.50x50_q85.jpg)
uuu
Dependencies: mbed HMC5883L GPS
main.cpp@0:d3f572b3aa25, 2019-03-20 (annotated)
- Committer:
- sliackystefan
- Date:
- Wed Mar 20 11:18:33 2019 +0000
- Revision:
- 0:d3f572b3aa25
uuu
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sliackystefan | 0:d3f572b3aa25 | 1 | #include "mbed.h" |
sliackystefan | 0:d3f572b3aa25 | 2 | #include "GPS.h" |
sliackystefan | 0:d3f572b3aa25 | 3 | #include "HMC5883L.h" |
sliackystefan | 0:d3f572b3aa25 | 4 | |
sliackystefan | 0:d3f572b3aa25 | 5 | Serial pc(SERIAL_TX, SERIAL_RX); |
sliackystefan | 0:d3f572b3aa25 | 6 | GPS ark(PA_9, PA_10); |
sliackystefan | 0:d3f572b3aa25 | 7 | DigitalOut myled(LED1); |
sliackystefan | 0:d3f572b3aa25 | 8 | HMC5883L compass(D14, D15); |
sliackystefan | 0:d3f572b3aa25 | 9 | |
sliackystefan | 0:d3f572b3aa25 | 10 | int main() |
sliackystefan | 0:d3f572b3aa25 | 11 | { |
sliackystefan | 0:d3f572b3aa25 | 12 | pc.baud(9600); |
sliackystefan | 0:d3f572b3aa25 | 13 | pc.printf("l"); |
sliackystefan | 0:d3f572b3aa25 | 14 | int16_t data[3] = {0}; |
sliackystefan | 0:d3f572b3aa25 | 15 | double heading = 0.0f; |
sliackystefan | 0:d3f572b3aa25 | 16 | |
sliackystefan | 0:d3f572b3aa25 | 17 | compass.init(); |
sliackystefan | 0:d3f572b3aa25 | 18 | while(1) |
sliackystefan | 0:d3f572b3aa25 | 19 | { |
sliackystefan | 0:d3f572b3aa25 | 20 | compass.getXYZ(data); |
sliackystefan | 0:d3f572b3aa25 | 21 | wait(0.1f); |
sliackystefan | 0:d3f572b3aa25 | 22 | heading = compass.getHeadingXYDeg(); |
sliackystefan | 0:d3f572b3aa25 | 23 | pc.printf("x: %4d, y: %4d, z: %4d\r\n", data[0], data[1], data[2]); |
sliackystefan | 0:d3f572b3aa25 | 24 | pc.printf("heading: %0.2f\r\n", heading); |
sliackystefan | 0:d3f572b3aa25 | 25 | wait(1.0f); |
sliackystefan | 0:d3f572b3aa25 | 26 | |
sliackystefan | 0:d3f572b3aa25 | 27 | if( ark.sample() == 1) |
sliackystefan | 0:d3f572b3aa25 | 28 | { |
sliackystefan | 0:d3f572b3aa25 | 29 | myled=0; |
sliackystefan | 0:d3f572b3aa25 | 30 | float latitude = ark.latitude; |
sliackystefan | 0:d3f572b3aa25 | 31 | float longitude = ark.longitude; |
sliackystefan | 0:d3f572b3aa25 | 32 | float latitudeB = ark.latitudeB; |
sliackystefan | 0:d3f572b3aa25 | 33 | float longitudeA = ark.longitudeA; |
sliackystefan | 0:d3f572b3aa25 | 34 | float utc = ark.utc + 50000; |
sliackystefan | 0:d3f572b3aa25 | 35 | pc.printf("latitude: %0.6f, longitude: %0.6f, latitudeRAW: %0.6f, longitudeRAW: %0.6f, utc: %f\r\n",latitude,longitude,latitudeB,longitudeA,utc); |
sliackystefan | 0:d3f572b3aa25 | 36 | wait(1); |
sliackystefan | 0:d3f572b3aa25 | 37 | } |
sliackystefan | 0:d3f572b3aa25 | 38 | else |
sliackystefan | 0:d3f572b3aa25 | 39 | { |
sliackystefan | 0:d3f572b3aa25 | 40 | myled=1; |
sliackystefan | 0:d3f572b3aa25 | 41 | } |
sliackystefan | 0:d3f572b3aa25 | 42 | } |
sliackystefan | 0:d3f572b3aa25 | 43 | } |
sliackystefan | 0:d3f572b3aa25 | 44 | |
sliackystefan | 0:d3f572b3aa25 | 45 | |
sliackystefan | 0:d3f572b3aa25 | 46 |