example code using statis library for temperature measurement with LM35 and LM335

Dependencies:   mbed statis

main.cpp

Committer:
greletj
Date:
2012-11-28
Revision:
6:95195b0995dd
Parent:
5:0b3569945178
Child:
7:596c792ff02d

File content as of revision 6:95195b0995dd:

#include "mbed.h"
#include "include/util.h"
#include "include/bitmsk.h"
#include "include/ring.h"
#include "tickerEvent.h"
#include "temperatureSensor.h"

Serial pc(USBTX, USBRX);

// tickerEvent initialisation
tickerEvent led1(LED1, 1);
//tickerEvent led2(LED2, 0.9);
//tickerEvent led3(LED3, 0.7);
//tickerEvent led4(LED4, 0.1);

// temperature sensor intialisation
/* Statistical declaration is a bitmsk of type:
 STAT_MED_NORM   -> mediane
 STAT_MED_CIRC   -> circular mediane
 STAT_MED        -> mediane
 STAT_MOYENNE    -> average
 STAT_ECART_TYPE -> standard deviation
 */
// LM35 temperature sensor out is connected to Mbed pin : p19
temperatureSensor LM35(p19, 0.05, 0, STAT_MED_NORM|STAT_MED | STAT_MOYENNE | STAT_ECART_TYPE, 19);

// LM335 temperature sensor out is connected to Mbed pin : p20
temperatureSensor LM335(p20, 0.05, 273.15, STAT_MED_NORM|STAT_MED | STAT_MOYENNE | STAT_ECART_TYPE , 19);

// main program
int main()
{
    pc.printf("\r\nStarting ...\r\n");
    pc.printf("Sensor: mediane, average, std-dev, indice\r\n");
    while (1) {
        //for ( int i = 0; i < 5; i++ ) {
        //pc.printf("Status LED1: %d\r\n", led1.read());
        wait(2);
        LM35.calcule();
        LM335.calcule();
        pc.printf("LM35:  %4.3g C, %4.3g C, std: %3.1g ind: %2d (%3u)\t\t", LM35.mediane(), LM35.moyenne(), LM35.ecart_type(), LM35.indice()), LM35.n_element();
        pc.printf("LM335: %4.3g C, %4.3g C, std: %3.0g ind: %2d\r", LM335.mediane(), LM335.moyenne(), LM335.ecart_type(), LM335.indice());
    }
    //pc.printf("End ...\r\n");
}