elec 350 courcework by oscar simons

Dependencies:   BMP280

Fork of Task617-mbedos by University of Plymouth - Stages 1, 2 and 3

Committer:
jkfadsjk
Date:
Tue Jan 09 19:38:56 2018 +0000
Revision:
8:eb72f789f912
Oscar Simons courcework;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jkfadsjk 8:eb72f789f912 1 #include "mbed.h"
jkfadsjk 8:eb72f789f912 2 #include "sample_hardware.hpp"
jkfadsjk 8:eb72f789f912 3
jkfadsjk 8:eb72f789f912 4 #define RED_DONE 1
jkfadsjk 8:eb72f789f912 5 #define YELLOW_DONE 2
jkfadsjk 8:eb72f789f912 6
jkfadsjk 8:eb72f789f912 7 //Digital outputs
jkfadsjk 8:eb72f789f912 8 DigitalOut onBoardLED(LED1);
jkfadsjk 8:eb72f789f912 9 DigitalOut redLED(D0);
jkfadsjk 8:eb72f789f912 10 DigitalOut yellowLED(D1);
jkfadsjk 8:eb72f789f912 11 DigitalOut greenLED(D2);
jkfadsjk 8:eb72f789f912 12
jkfadsjk 8:eb72f789f912 13 //Inputs
jkfadsjk 8:eb72f789f912 14 DigitalIn onBoardSwitch(USER_BUTTON);
jkfadsjk 8:eb72f789f912 15 DigitalIn SW1(PE_12);
jkfadsjk 8:eb72f789f912 16 DigitalIn SW2(PE_14);
jkfadsjk 8:eb72f789f912 17 //Serial pc(USBTX, USBRX);
jkfadsjk 8:eb72f789f912 18 AnalogIn adcIn(PA_0);
jkfadsjk 8:eb72f789f912 19
jkfadsjk 8:eb72f789f912 20 //Environmental Sensor driver
jkfadsjk 8:eb72f789f912 21 #ifdef BME
jkfadsjk 8:eb72f789f912 22 BME280 sensor(D14, D15);
jkfadsjk 8:eb72f789f912 23 #else
jkfadsjk 8:eb72f789f912 24 BMP280 sensor(D14, D15);
jkfadsjk 8:eb72f789f912 25 #endif
jkfadsjk 8:eb72f789f912 26
jkfadsjk 8:eb72f789f912 27 //POWER ON SELF TEST
jkfadsjk 8:eb72f789f912 28 void post()
jkfadsjk 8:eb72f789f912 29 {
jkfadsjk 8:eb72f789f912 30 //POWER ON TEST (POT)
jkfadsjk 8:eb72f789f912 31 puts("**********STARTING POWER ON SELF TEST (POST)**********");
jkfadsjk 8:eb72f789f912 32
jkfadsjk 8:eb72f789f912 33 //Test LEDs
jkfadsjk 8:eb72f789f912 34 puts("ALL LEDs should be blinking");
jkfadsjk 8:eb72f789f912 35 for (unsigned int n=0; n<10; n++) {
jkfadsjk 8:eb72f789f912 36 redLED = 1;
jkfadsjk 8:eb72f789f912 37 yellowLED = 1;
jkfadsjk 8:eb72f789f912 38 greenLED = 1;
jkfadsjk 8:eb72f789f912 39 wait(0.05);
jkfadsjk 8:eb72f789f912 40 redLED = 0;
jkfadsjk 8:eb72f789f912 41 yellowLED = 0;
jkfadsjk 8:eb72f789f912 42 greenLED = 0;
jkfadsjk 8:eb72f789f912 43 wait(0.05);
jkfadsjk 8:eb72f789f912 44 }
jkfadsjk 8:eb72f789f912 45
jkfadsjk 8:eb72f789f912 46 //Output the switch states (hold them down to test)
jkfadsjk 8:eb72f789f912 47 printf("SW1: %d\tSW2: %d\n\r", SW1.read(), SW2.read());
jkfadsjk 8:eb72f789f912 48
jkfadsjk 8:eb72f789f912 49 //Output the ADC
jkfadsjk 8:eb72f789f912 50 printf("ADC: %f\n\r", adcIn.read());
jkfadsjk 8:eb72f789f912 51
jkfadsjk 8:eb72f789f912 52 //Read Sensors (I2C)
jkfadsjk 8:eb72f789f912 53 float temp = sensor.getTemperature();
jkfadsjk 8:eb72f789f912 54 float pressure = sensor.getPressure();
jkfadsjk 8:eb72f789f912 55 #ifdef BME
jkfadsjk 8:eb72f789f912 56 float humidity = sensor.getHumidity();
jkfadsjk 8:eb72f789f912 57 #endif
jkfadsjk 8:eb72f789f912 58
jkfadsjk 8:eb72f789f912 59 //Display in PuTTY
jkfadsjk 8:eb72f789f912 60 printf("Temperature: %5.1f\n", temp);
jkfadsjk 8:eb72f789f912 61 printf("Pressure: %5.1f\n", pressure);
jkfadsjk 8:eb72f789f912 62 #ifdef BME
jkfadsjk 8:eb72f789f912 63 printf("Pressure: %5.1f\n", humidity);
jkfadsjk 8:eb72f789f912 64 #endif
jkfadsjk 8:eb72f789f912 65
jkfadsjk 8:eb72f789f912 66 puts("**********POST END**********");
jkfadsjk 8:eb72f789f912 67
jkfadsjk 8:eb72f789f912 68 }
jkfadsjk 8:eb72f789f912 69
jkfadsjk 8:eb72f789f912 70 void errorCode(ELEC350_ERROR_CODE err)
jkfadsjk 8:eb72f789f912 71 {
jkfadsjk 8:eb72f789f912 72 switch (err) {
jkfadsjk 8:eb72f789f912 73 case OK:
jkfadsjk 8:eb72f789f912 74 greenLED = 1;
jkfadsjk 8:eb72f789f912 75 wait(1.0);
jkfadsjk 8:eb72f789f912 76 greenLED = 0;
jkfadsjk 8:eb72f789f912 77 return;
jkfadsjk 8:eb72f789f912 78 case FATAL:
jkfadsjk 8:eb72f789f912 79 while(1) {
jkfadsjk 8:eb72f789f912 80 redLED = 1;
jkfadsjk 8:eb72f789f912 81 wait(0.1);
jkfadsjk 8:eb72f789f912 82 redLED = 0;
jkfadsjk 8:eb72f789f912 83 wait(0.1);
jkfadsjk 8:eb72f789f912 84 }
jkfadsjk 8:eb72f789f912 85 };
jkfadsjk 8:eb72f789f912 86 }
jkfadsjk 8:eb72f789f912 87