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.
Dependencies: 4DGL-uLCD-SE ENS160_Library mbed PinDetect mbed-rtos
main.cpp@10:112572fbb168, 2022-12-06 (annotated)
- Committer:
- krishnamvs
- Date:
- Tue Dec 06 21:23:57 2022 +0000
- Revision:
- 10:112572fbb168
- Parent:
- 8:31e63caf37e2
- Child:
- 11:03f86b377280
V1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
4180_1 | 0:cfcf73272647 | 1 | #include "mbed.h" |
krishnamvs | 10:112572fbb168 | 2 | #include "ens160_i2c.h" |
4180_1 | 2:75727e89a717 | 3 | #include "uLCD_4DGL.h" |
4180_1 | 0:cfcf73272647 | 4 | |
krishnamvs | 10:112572fbb168 | 5 | ENS160 myENS(p9, p10, ENS160_ADDRESS_HIGH); |
krishnamvs | 10:112572fbb168 | 6 | DigitalOut myled(LED1); |
krishnamvs | 10:112572fbb168 | 7 | Serial pc(USBTX, USBRX); |
krishnamvs | 10:112572fbb168 | 8 | uLCD_4DGL uLCD(p28,p27,p30); // serial tx, serial rx, reset pin; |
krishnamvs | 10:112572fbb168 | 9 | |
krishnamvs | 10:112572fbb168 | 10 | bool printedCompensation = false; |
krishnamvs | 10:112572fbb168 | 11 | int ensStatus; |
krishnamvs | 10:112572fbb168 | 12 | |
krishnamvs | 10:112572fbb168 | 13 | float rh; |
krishnamvs | 10:112572fbb168 | 14 | float tempC; |
4180_1 | 0:cfcf73272647 | 15 | |
4180_1 | 2:75727e89a717 | 16 | int main() |
4180_1 | 2:75727e89a717 | 17 | { |
krishnamvs | 10:112572fbb168 | 18 | if (!myENS.init()) |
krishnamvs | 10:112572fbb168 | 19 | { |
krishnamvs | 10:112572fbb168 | 20 | pc.printf("Hello, ENS160! Reading raw data from registers...\n"); |
krishnamvs | 10:112572fbb168 | 21 | while(1); |
4180_1 | 7:7bd7397ab89f | 22 | } |
krishnamvs | 10:112572fbb168 | 23 | if( myENS.setOperatingMode(SFE_ENS160_RESET) ) |
krishnamvs | 10:112572fbb168 | 24 | pc.printf("Ready.\n"); |
krishnamvs | 10:112572fbb168 | 25 | wait(0.1); |
krishnamvs | 10:112572fbb168 | 26 | myENS.setOperatingMode(SFE_ENS160_IDLE); |
4180_1 | 7:7bd7397ab89f | 27 | wait(0.5); |
krishnamvs | 10:112572fbb168 | 28 | myENS.setOperatingMode(SFE_ENS160_STANDARD); |
krishnamvs | 10:112572fbb168 | 29 | ensStatus = myENS.getFlags(); |
krishnamvs | 10:112572fbb168 | 30 | pc.printf("Gas Sensor Status Flag: "); |
krishnamvs | 10:112572fbb168 | 31 | pc.printf("%d\n", ensStatus); |
krishnamvs | 10:112572fbb168 | 32 | while (1) |
krishnamvs | 10:112572fbb168 | 33 | { |
krishnamvs | 10:112572fbb168 | 34 | if( myENS.checkDataStatus() ) |
krishnamvs | 10:112572fbb168 | 35 | { |
krishnamvs | 10:112572fbb168 | 36 | if( printedCompensation == false) |
krishnamvs | 10:112572fbb168 | 37 | { |
krishnamvs | 10:112572fbb168 | 38 | pc.printf("---------------------------\n"); |
krishnamvs | 10:112572fbb168 | 39 | pc.printf("Compensation Temperature: "); |
krishnamvs | 10:112572fbb168 | 40 | pc.printf("%f\n", myENS.getTempCelsius()); |
krishnamvs | 10:112572fbb168 | 41 | pc.printf("---------------------------"); |
krishnamvs | 10:112572fbb168 | 42 | pc.printf("Compensation Relative Humidity: "); |
krishnamvs | 10:112572fbb168 | 43 | pc.printf("%f\n", myENS.getRH()); |
krishnamvs | 10:112572fbb168 | 44 | pc.printf("---------------------------\n"); |
krishnamvs | 10:112572fbb168 | 45 | printedCompensation = true; |
krishnamvs | 10:112572fbb168 | 46 | wait(0.5); |
4180_1 | 3:454d1f4c8fd7 | 47 | } |
krishnamvs | 10:112572fbb168 | 48 | |
krishnamvs | 10:112572fbb168 | 49 | pc.printf("Air Quality Index (1-5) : "); |
krishnamvs | 10:112572fbb168 | 50 | pc.printf("%d\n", myENS.getAQI()); |
krishnamvs | 10:112572fbb168 | 51 | |
krishnamvs | 10:112572fbb168 | 52 | pc.printf("Total Volatile Organic Compounds: "); |
krishnamvs | 10:112572fbb168 | 53 | pc.printf("%d", myENS.getTVOC()); |
krishnamvs | 10:112572fbb168 | 54 | pc.printf("ppb\n"); |
krishnamvs | 10:112572fbb168 | 55 | |
krishnamvs | 10:112572fbb168 | 56 | pc.printf("CO2 concentration: "); |
krishnamvs | 10:112572fbb168 | 57 | pc.printf("%d", myENS.getECO2()); |
krishnamvs | 10:112572fbb168 | 58 | pc.printf("ppm\n"); |
krishnamvs | 10:112572fbb168 | 59 | |
4180_1 | 3:454d1f4c8fd7 | 60 | } |
krishnamvs | 10:112572fbb168 | 61 | wait(0.1); |
4180_1 | 5:a1ef40ff0f78 | 62 | } |
krishnamvs | 10:112572fbb168 | 63 | } |