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.
sample_hardware.cpp
- Committer:
- noutram
- Date:
- 2017-11-23
- Revision:
- 5:58ba1a6dbf60
- Parent:
- 4:d884f14069c6
- Child:
- 6:d95616e645bb
- Child:
- 9:8a08e08e4d25
File content as of revision 5:58ba1a6dbf60:
#include "mbed.h"
#include "sample_hardware.hpp"
#define RED_DONE 1
#define YELLOW_DONE 2
//Digital outputs
DigitalOut onBoardLED(LED1);
DigitalOut redLED(PE_15);
DigitalOut yellowLED(PB_10);
DigitalOut greenLED(PB_11);
//Inputs
DigitalIn onBoardSwitch(USER_BUTTON);
DigitalIn SW1(PE_12);
DigitalIn SW2(PE_14);
//Serial pc(USBTX, USBRX);
AnalogIn adcIn(PA_0);
//Environmental Sensor driver
#ifdef BME
BME280 sensor(D14, D15);
#else
BMP280 sensor(D14, D15);
#endif
//POWER ON SELF TEST
void post()
{
//POWER ON TEST (POT)
puts("**********STARTING POWER ON SELF TEST (POST)**********");
//Test LEDs
puts("ALL LEDs should be blinking");
for (unsigned int n=0; n<10; n++) {
redLED = 1;
yellowLED = 1;
greenLED = 1;
wait(0.05);
redLED = 0;
yellowLED = 0;
greenLED = 0;
wait(0.05);
}
//Output the switch states (hold them down to test)
printf("SW1: %d\tSW2: %d\n\r", SW1.read(), SW2.read());
//Output the ADC
printf("ADC: %f\n\r", adcIn.read());
//Read Sensors (I2C)
float temp = sensor.getTemperature();
float pressure = sensor.getPressure();
#ifdef BME
float humidity = sensor.getHumidity();
#endif
//Display in PuTTY
printf("Temperature: %5.1f\n", temp);
printf("Pressure: %5.1f\n", pressure);
#ifdef BME
printf("Pressure: %5.1f\n", humidity);
#endif
puts("**********POST END**********");
}
void errorCode(ELEC350_ERROR_CODE err)
{
switch (err) {
case OK:
greenLED = 1;
wait(1.0);
greenLED = 0;
return;
case FATAL:
while(1) {
redLED = 1;
wait(0.1);
redLED = 0;
wait(0.1);
}
};
}