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@0:23fab9b42ad4, 2011-02-02 (annotated)
- Committer:
- yamaguch
- Date:
- Wed Feb 02 08:00:23 2011 +0000
- Revision:
- 0:23fab9b42ad4
- Child:
- 1:0bc094c5d1b9
0.9
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 | 0:23fab9b42ad4 | 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 | 0:23fab9b42ad4 | 21 | if (i % 100 == 99) |
| yamaguch | 0:23fab9b42ad4 | 22 | freopen(NULL, "a", fp); |
| yamaguch | 0:23fab9b42ad4 | 23 | } |
| yamaguch | 0:23fab9b42ad4 | 24 | |
| yamaguch | 0:23fab9b42ad4 | 25 | fclose(fp); |
| yamaguch | 0:23fab9b42ad4 | 26 | wait(1.0); |
| yamaguch | 0:23fab9b42ad4 | 27 | } |
| yamaguch | 0:23fab9b42ad4 | 28 | |
| yamaguch | 0:23fab9b42ad4 | 29 | int main() { |
| yamaguch | 0:23fab9b42ad4 | 30 | char buf[32]; |
| yamaguch | 0:23fab9b42ad4 | 31 | |
| yamaguch | 0:23fab9b42ad4 | 32 | FILE *fp = fopen("/local/scp1000.txt", "a"); |
| yamaguch | 0:23fab9b42ad4 | 33 | if (fp == NULL) exit(-1); |
| yamaguch | 0:23fab9b42ad4 | 34 | |
| yamaguch | 0:23fab9b42ad4 | 35 | time_t seconds = time(NULL); |
| yamaguch | 0:23fab9b42ad4 | 36 | strftime(buf, sizeof(buf), "%x %X", localtime(&seconds)); |
| yamaguch | 0:23fab9b42ad4 | 37 | fprintf(fp, "Time: %s\n", buf); |
| yamaguch | 0:23fab9b42ad4 | 38 | fprintf(fp, "SCP1000 ASIC revision number = %d\n", scp1000.revision()); |
| yamaguch | 0:23fab9b42ad4 | 39 | bool result = scp1000.performSelfTest(); |
| yamaguch | 0:23fab9b42ad4 | 40 | fprintf(fp, "SCP1000 self test: %s\n", result ? "PASSED" : "FAILED"); |
| yamaguch | 0:23fab9b42ad4 | 41 | fprintf(fp, "SCP1000 reset\n"); |
| yamaguch | 0:23fab9b42ad4 | 42 | scp1000.reset(); |
| yamaguch | 0:23fab9b42ad4 | 43 | fclose(fp); |
| yamaguch | 0:23fab9b42ad4 | 44 | |
| yamaguch | 0:23fab9b42ad4 | 45 | scp1000.setOperationMode(HIGH_SPEED_MODE); |
| yamaguch | 0:23fab9b42ad4 | 46 | printMeasurements("SCP1000 High Speed Mode - 9Hz", 1000); |
| yamaguch | 0:23fab9b42ad4 | 47 | |
| yamaguch | 0:23fab9b42ad4 | 48 | scp1000.setOperationMode(HIGH_RESOLUTION_MODE); |
| yamaguch | 0:23fab9b42ad4 | 49 | printMeasurements("SCP1000 High Resolution Mode - 1.8Hz", 1000); |
| yamaguch | 0:23fab9b42ad4 | 50 | |
| yamaguch | 0:23fab9b42ad4 | 51 | scp1000.setOperationMode(ULTRA_LOW_POWER_MODE); |
| yamaguch | 0:23fab9b42ad4 | 52 | printMeasurements("SCP1000 Ultra Low Power Mode - 1Hz", 1000); |
| yamaguch | 0:23fab9b42ad4 | 53 | } |