Bruno Cavalcanti / Mbed 2 deprecated brunoDrome

Dependencies:   DS1820 HighSpeedAnalogIn devices mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers DS18B20_SensorTemperatura.cpp Source File

DS18B20_SensorTemperatura.cpp

00001 #include "DS18B20_SensorTemperatura.h"
00002 
00003 DS1820* probe[MAX_PROBES];
00004 int num_temperatureSensors = 0;
00005 float temperaturas[MAX_PROBES];
00006 
00007 void inicializaSensoresTemperatura(){
00008     // Initialize the probe array to DS1820 objects    
00009     while(DS1820::unassignedProbe(DATA_PIN)) {
00010         probe[num_temperatureSensors] = new DS1820(DATA_PIN);
00011         num_temperatureSensors++;
00012         if (num_temperatureSensors == MAX_PROBES)
00013             break;
00014     }
00015     printf("Found %d device(s)\r\n\n", num_temperatureSensors);
00016     refreshSensoresTemperatura();   
00017 }
00018 
00019 void refreshSensoresTemperatura(){
00020     float aux;
00021     if(num_temperatureSensors){
00022         probe[0]->convertTemperature(true, DS1820::all_devices);         //Start temperature conversion, wait until ready
00023         for (int i = 0; i<num_temperatureSensors; i++){
00024             if((aux = probe[i]->temperature()) != -1000.0){
00025                 temperaturas[i] = aux;    
00026             }
00027             if(debug){printf("Device %d returns %3.1foC\r\n", i, temperaturas[i]);}
00028         }
00029     }
00030 }
00031