improved MAX31855 Library with errorchecking

Fork of MAX31855 by Eric Patterson

Committer:
nielsvanmegen
Date:
Thu Jan 07 09:47:13 2016 +0000
Revision:
4:064382cf8d8e
Parent:
3:e2731f1e595b
added functionality;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Stavlin 0:656c522152d4 1 #ifndef MAX31855_h
Stavlin 0:656c522152d4 2 #define MAX31855_h
Stavlin 0:656c522152d4 3
Stavlin 0:656c522152d4 4 #include "mbed.h"
Stavlin 0:656c522152d4 5
nielsvanmegen 2:2613cf295ccb 6 #define CHECK_BIT(variable ,position) ((variable) & (1<<(position)))
nielsvanmegen 2:2613cf295ccb 7
Stavlin 0:656c522152d4 8 class max31855
nielsvanmegen 2:2613cf295ccb 9 {
Stavlin 0:656c522152d4 10 public:
nielsvanmegen 2:2613cf295ccb 11 typedef enum {
nielsvanmegen 2:2613cf295ccb 12 THERMO_1,
nielsvanmegen 2:2613cf295ccb 13 THERMO_2
nielsvanmegen 2:2613cf295ccb 14 } THERMOCOUPLES;
nielsvanmegen 2:2613cf295ccb 15
nielsvanmegen 2:2613cf295ccb 16 max31855(SPI& _spi, PinName _ncs1, PinName _ncs2);
nielsvanmegen 4:064382cf8d8e 17 bool ready();
nielsvanmegen 2:2613cf295ccb 18 float read_temp(THERMOCOUPLES thermo);
nielsvanmegen 3:e2731f1e595b 19 void initialise(uint32_t interval);
Stavlin 0:656c522152d4 20
Stavlin 0:656c522152d4 21 private:
nielsvanmegen 2:2613cf295ccb 22 SPI& _spi;
nielsvanmegen 2:2613cf295ccb 23 DigitalOut _CS_1, _CS_2;
nielsvanmegen 2:2613cf295ccb 24 Timer _pollTimer;
nielsvanmegen 3:e2731f1e595b 25 uint32_t _readInterval;
nielsvanmegen 2:2613cf295ccb 26 int _units, _faultCode;
nielsvanmegen 2:2613cf295ccb 27 float _error, _chipTemp;
nielsvanmegen 3:e2731f1e595b 28
nielsvanmegen 3:e2731f1e595b 29 void select(THERMOCOUPLES thermo);
nielsvanmegen 3:e2731f1e595b 30 void deselect(THERMOCOUPLES thermo);
Stavlin 0:656c522152d4 31 };
Stavlin 0:656c522152d4 32
Stavlin 0:656c522152d4 33 #endif