Dependencies:   mbed

Fork of DS1820_HelloWorld by jack zen

Committer:
jack__zen
Date:
Wed Sep 06 07:38:39 2017 +0000
Revision:
6:7ef001211531

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jack__zen 6:7ef001211531 1
jack__zen 6:7ef001211531 2 #include <mbed.h>
jack__zen 6:7ef001211531 3 #include "max6675.h"
jack__zen 6:7ef001211531 4
jack__zen 6:7ef001211531 5 max6675::max6675(SPI& _spi, PinName _ncs) : spi(_spi), ncs(_ncs) {
jack__zen 6:7ef001211531 6
jack__zen 6:7ef001211531 7 }
jack__zen 6:7ef001211531 8
jack__zen 6:7ef001211531 9 float max6675::read_temp() {
jack__zen 6:7ef001211531 10 short value = 0;
jack__zen 6:7ef001211531 11 float temp = 0;
jack__zen 6:7ef001211531 12
jack__zen 6:7ef001211531 13 uint8_t highByte=0;
jack__zen 6:7ef001211531 14 uint8_t lowByte=0;
jack__zen 6:7ef001211531 15
jack__zen 6:7ef001211531 16 select();
jack__zen 6:7ef001211531 17 wait(.25); //This delay is needed else it does'nt seem to update the temp
jack__zen 6:7ef001211531 18
jack__zen 6:7ef001211531 19 highByte = spi.write(0);
jack__zen 6:7ef001211531 20 lowByte = spi.write(0);
jack__zen 6:7ef001211531 21 deselect();
jack__zen 6:7ef001211531 22
jack__zen 6:7ef001211531 23
jack__zen 6:7ef001211531 24 if (lowByte & (1<<2)) {
jack__zen 6:7ef001211531 25 error("No Probe");
jack__zen 6:7ef001211531 26 } else {
jack__zen 6:7ef001211531 27 value = (highByte << 5 | lowByte>>3);
jack__zen 6:7ef001211531 28 }
jack__zen 6:7ef001211531 29
jack__zen 6:7ef001211531 30 temp = (value*0.25); // Multiply the value by 0.25 to get temp in ˚C or
jack__zen 6:7ef001211531 31 // * (9.0/5.0)) + 32.0; // Convert value to ˚F (ensure proper floats!)
jack__zen 6:7ef001211531 32
jack__zen 6:7ef001211531 33 return temp;
jack__zen 6:7ef001211531 34 }
jack__zen 6:7ef001211531 35
jack__zen 6:7ef001211531 36 void max6675::select() {
jack__zen 6:7ef001211531 37 ncs = 0;
jack__zen 6:7ef001211531 38 }
jack__zen 6:7ef001211531 39
jack__zen 6:7ef001211531 40 void max6675::deselect() {
jack__zen 6:7ef001211531 41 ncs = 1;
jack__zen 6:7ef001211531 42 }