a

Dependencies:   LM75B mbed

main.cpp

Committer:
bulmenwt
Date:
2015-01-28
Revision:
0:311bb45bd2b4

File content as of revision 0:311bb45bd2b4:

/*M0-BOARD LPC11U24 VERSION 1.0 / HI/ENE/WF 09_2014
BULME Graz / Elektronik 29
Alternativ ohne Library für LM75B
*/
#include "mbed.h"
#include "LM75B.h"

DigitalOut  Led1(LED1);
DigitalOut  Led2(LED2);
DigitalOut  Led3(LED3);
DigitalOut  Led4(LED4);

typedef enum {led_on, temp, led_off} state_t;

state_t state=led_on;

/* function declaration */
void maxTemp();
void stateMachine();

//Create an LM75B object at the default address (ADDRESS_0)
LM75B sensor(p28, p27);
int main()
{
//Try to open the LM75B
    if (sensor.open()) {
        printf("Device detected!\n\r");
        while (1) {
            Led4=1;
            wait(0.2);
            Led4=0;
            wait(0.2);
            // Funktionsaufruf
            maxTemp();
            stateMachine();

            //Print the current temperature
           // printf("Temp = %.1f\n\r", (float)sensor);
            //Sleep for 0.5 seconds
            wait(0.5);
        }
    } else {
        error("Device not detected!\n");
    }
}


void maxTemp()
{
    /* local variable declaration */
    if (sensor > 29.0) {
        Led1=1;
    } else
        Led1=0;
    //return 0;
}

void stateMachine(){
    
   switch (state) {
        case led_on:
            printf("STATE: led_on!\n\r");
            led2=1;
            led3=1;
            wait(2);
            state=temp;
            break;
        
        case temp:
            printf("STATE: led_on!\n\r");
            printf("Temp = %.1f\n\r", (float)sensor);
            wait(2);
            state=led_off;
            break;   
            
        
     
    
    
 }