mbed workshop intro + cansat examples
CanSat3.cpp@0:f309f06aeec7, 2012-05-10 (annotated)
- Committer:
- yamaguch
- Date:
- Thu May 10 21:14:34 2012 +0000
- Revision:
- 0:f309f06aeec7
1.0
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
yamaguch | 0:f309f06aeec7 | 1 | #include "mbed.h" |
yamaguch | 0:f309f06aeec7 | 2 | #include "MMA7361L.h" |
yamaguch | 0:f309f06aeec7 | 3 | |
yamaguch | 0:f309f06aeec7 | 4 | DigitalIn pressed(p20); |
yamaguch | 0:f309f06aeec7 | 5 | MMA7361L accel(p15, p16, p17, p25, p26, p24); |
yamaguch | 0:f309f06aeec7 | 6 | LocalFileSystem local("local"); |
yamaguch | 0:f309f06aeec7 | 7 | BusOut leds(LED1, LED2, LED3, LED4); |
yamaguch | 0:f309f06aeec7 | 8 | |
yamaguch | 0:f309f06aeec7 | 9 | void logAccel(FILE *fp, MMA7361L& accel) { |
yamaguch | 0:f309f06aeec7 | 10 | char timestamp[32]; |
yamaguch | 0:f309f06aeec7 | 11 | |
yamaguch | 0:f309f06aeec7 | 12 | time_t seconds = time(NULL); |
yamaguch | 0:f309f06aeec7 | 13 | strftime(timestamp, sizeof(timestamp), "%X", localtime(&seconds)); |
yamaguch | 0:f309f06aeec7 | 14 | |
yamaguch | 0:f309f06aeec7 | 15 | fprintf(fp, "%s %5.3f %5.3f %5.3f %5.3f\n", |
yamaguch | 0:f309f06aeec7 | 16 | timestamp, accel.getAccel(), |
yamaguch | 0:f309f06aeec7 | 17 | accel.getAccelX(), accel.getAccelY(), accel.getAccelZ()); |
yamaguch | 0:f309f06aeec7 | 18 | } |
yamaguch | 0:f309f06aeec7 | 19 | |
yamaguch | 0:f309f06aeec7 | 20 | int main() { |
yamaguch | 0:f309f06aeec7 | 21 | for (int i = 0; !pressed; i = (i + 1) % 2) { |
yamaguch | 0:f309f06aeec7 | 22 | leds = i; |
yamaguch | 0:f309f06aeec7 | 23 | wait(0.2); |
yamaguch | 0:f309f06aeec7 | 24 | } |
yamaguch | 0:f309f06aeec7 | 25 | leds = 15; |
yamaguch | 0:f309f06aeec7 | 26 | wait(1); |
yamaguch | 0:f309f06aeec7 | 27 | |
yamaguch | 0:f309f06aeec7 | 28 | accel.setScale(MMA7361L::SCALE_6G); |
yamaguch | 0:f309f06aeec7 | 29 | FILE *fp = fopen("/local/accel.txt", "w"); |
yamaguch | 0:f309f06aeec7 | 30 | |
yamaguch | 0:f309f06aeec7 | 31 | for (int i = 0; !pressed; i = (i + 1) % 4) { |
yamaguch | 0:f309f06aeec7 | 32 | logAccel(fp, accel); |
yamaguch | 0:f309f06aeec7 | 33 | |
yamaguch | 0:f309f06aeec7 | 34 | leds = 1 << i; |
yamaguch | 0:f309f06aeec7 | 35 | wait(0.5); |
yamaguch | 0:f309f06aeec7 | 36 | leds = 0; |
yamaguch | 0:f309f06aeec7 | 37 | wait(0.5); |
yamaguch | 0:f309f06aeec7 | 38 | } |
yamaguch | 0:f309f06aeec7 | 39 | |
yamaguch | 0:f309f06aeec7 | 40 | fclose(fp); |
yamaguch | 0:f309f06aeec7 | 41 | |
yamaguch | 0:f309f06aeec7 | 42 | leds = 15; |
yamaguch | 0:f309f06aeec7 | 43 | wait(1); |
yamaguch | 0:f309f06aeec7 | 44 | leds = 0; |
yamaguch | 0:f309f06aeec7 | 45 | } |