KIT Solar Car Project / Mbed 2 deprecated mbed_max6675_4_LM61_AEmicroSD

Dependencies:   mbed SDFileSystem

Committer:
BoostNori
Date:
Thu Mar 19 04:45:23 2020 +0000
Revision:
0:d68d5418c985
a

Who changed what in which revision?

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