Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: SCP1000Example 0sample_SCP1000_USB SCP1000_Fastsensing
main.cpp@1:0bc094c5d1b9, 2011-02-02 (annotated)
- Committer:
- yamaguch
- Date:
- Wed Feb 02 09:09:52 2011 +0000
- Revision:
- 1:0bc094c5d1b9
- Parent:
- 0:23fab9b42ad4
- Child:
- 2:4c2784b363ad
0.91
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| yamaguch | 0:23fab9b42ad4 | 1 | #include "mbed.h" |
| yamaguch | 0:23fab9b42ad4 | 2 | #include "SCP1000.h" |
| yamaguch | 0:23fab9b42ad4 | 3 | |
| yamaguch | 0:23fab9b42ad4 | 4 | DigitalIn sw(p9); |
| yamaguch | 0:23fab9b42ad4 | 5 | DigitalOut leds[4] = {LED1, LED2, LED3, LED4}; |
| yamaguch | 0:23fab9b42ad4 | 6 | SCP1000 scp1000(p11, p12, p13, p10); |
| yamaguch | 0:23fab9b42ad4 | 7 | LocalFileSystem local("local"); |
| yamaguch | 0:23fab9b42ad4 | 8 | |
| yamaguch | 0:23fab9b42ad4 | 9 | void printMeasurements(char *title, int n = 10) { |
| yamaguch | 0:23fab9b42ad4 | 10 | FILE *fp = fopen("/local/scp1000.txt", "a"); |
| yamaguch | 0:23fab9b42ad4 | 11 | fprintf(fp, "%s\n", title); |
| yamaguch | 1:0bc094c5d1b9 | 12 | |
| yamaguch | 0:23fab9b42ad4 | 13 | for (int i = 0; !sw && i < n; i++) { |
| yamaguch | 0:23fab9b42ad4 | 14 | while (!scp1000.isReady()) |
| yamaguch | 0:23fab9b42ad4 | 15 | ; |
| yamaguch | 0:23fab9b42ad4 | 16 | time_t seconds = time(NULL); |
| yamaguch | 0:23fab9b42ad4 | 17 | char buf[16]; |
| yamaguch | 0:23fab9b42ad4 | 18 | strftime(buf, sizeof(buf), "%X", localtime(&seconds)); |
| yamaguch | 0:23fab9b42ad4 | 19 | fprintf(fp, "%s %3.2f, %3.3f\n", buf, scp1000.readTemperature(), scp1000.readPressure()); |
| yamaguch | 0:23fab9b42ad4 | 20 | leds[i % 4] = (i % 8) < 4; |
| yamaguch | 1:0bc094c5d1b9 | 21 | if (i % 100 == 99) { |
| yamaguch | 1:0bc094c5d1b9 | 22 | fclose(fp); |
| yamaguch | 1:0bc094c5d1b9 | 23 | fp = fopen("/local/scp1000.txt", "a"); |
| yamaguch | 1:0bc094c5d1b9 | 24 | } |
| yamaguch | 0:23fab9b42ad4 | 25 | } |
| yamaguch | 1:0bc094c5d1b9 | 26 | |
| yamaguch | 0:23fab9b42ad4 | 27 | fclose(fp); |
| yamaguch | 0:23fab9b42ad4 | 28 | wait(1.0); |
| yamaguch | 0:23fab9b42ad4 | 29 | } |
| yamaguch | 0:23fab9b42ad4 | 30 | |
| yamaguch | 0:23fab9b42ad4 | 31 | int main() { |
| yamaguch | 0:23fab9b42ad4 | 32 | char buf[32]; |
| yamaguch | 1:0bc094c5d1b9 | 33 | |
| yamaguch | 1:0bc094c5d1b9 | 34 | if (sw) { |
| yamaguch | 1:0bc094c5d1b9 | 35 | for (int i = 0; i < 4; i++) { |
| yamaguch | 1:0bc094c5d1b9 | 36 | leds[i] = 1; |
| yamaguch | 1:0bc094c5d1b9 | 37 | } |
| yamaguch | 1:0bc094c5d1b9 | 38 | wait(3.0); |
| yamaguch | 1:0bc094c5d1b9 | 39 | for (int i = 0; i < 4; i++) { |
| yamaguch | 1:0bc094c5d1b9 | 40 | leds[i] = 0; |
| yamaguch | 1:0bc094c5d1b9 | 41 | } |
| yamaguch | 1:0bc094c5d1b9 | 42 | exit(0); |
| yamaguch | 1:0bc094c5d1b9 | 43 | } |
| yamaguch | 1:0bc094c5d1b9 | 44 | |
| yamaguch | 0:23fab9b42ad4 | 45 | FILE *fp = fopen("/local/scp1000.txt", "a"); |
| yamaguch | 0:23fab9b42ad4 | 46 | if (fp == NULL) exit(-1); |
| yamaguch | 1:0bc094c5d1b9 | 47 | |
| yamaguch | 0:23fab9b42ad4 | 48 | time_t seconds = time(NULL); |
| yamaguch | 0:23fab9b42ad4 | 49 | strftime(buf, sizeof(buf), "%x %X", localtime(&seconds)); |
| yamaguch | 0:23fab9b42ad4 | 50 | fprintf(fp, "Time: %s\n", buf); |
| yamaguch | 0:23fab9b42ad4 | 51 | fprintf(fp, "SCP1000 ASIC revision number = %d\n", scp1000.revision()); |
| yamaguch | 0:23fab9b42ad4 | 52 | bool result = scp1000.performSelfTest(); |
| yamaguch | 0:23fab9b42ad4 | 53 | fprintf(fp, "SCP1000 self test: %s\n", result ? "PASSED" : "FAILED"); |
| yamaguch | 0:23fab9b42ad4 | 54 | fprintf(fp, "SCP1000 reset\n"); |
| yamaguch | 0:23fab9b42ad4 | 55 | scp1000.reset(); |
| yamaguch | 0:23fab9b42ad4 | 56 | fclose(fp); |
| yamaguch | 1:0bc094c5d1b9 | 57 | |
| yamaguch | 0:23fab9b42ad4 | 58 | scp1000.setOperationMode(HIGH_SPEED_MODE); |
| yamaguch | 1:0bc094c5d1b9 | 59 | printMeasurements("SCP1000 High Speed Mode - 9Hz", 3600 * 9); |
| yamaguch | 1:0bc094c5d1b9 | 60 | |
| yamaguch | 0:23fab9b42ad4 | 61 | scp1000.setOperationMode(HIGH_RESOLUTION_MODE); |
| yamaguch | 1:0bc094c5d1b9 | 62 | printMeasurements("SCP1000 High Resolution Mode - 1.8Hz", 3600 * 9 / 5); |
| yamaguch | 1:0bc094c5d1b9 | 63 | |
| yamaguch | 0:23fab9b42ad4 | 64 | scp1000.setOperationMode(ULTRA_LOW_POWER_MODE); |
| yamaguch | 1:0bc094c5d1b9 | 65 | printMeasurements("SCP1000 Ultra Low Power Mode - 1Hz", 3600 * 10); |
| yamaguch | 0:23fab9b42ad4 | 66 | } |