Files
ModbusThermometer/ads1210.cpp
2014-11-02 21:37:29 +01:00

47 lines
898 B
C++

/*
* ads1210.cpp
*
* Created on: Nov 2, 2014
* Author: wn
*/
// #include <Arduino.h>
#include <SPI.h>
#include "ads1210.h"
ADS1210::ADS1210(uint8_t csPin) : m_csPin(csPin) {
}
void ADS1210::enableCS() const {
digitalWrite(m_csPin, LOW);
}
void ADS1210::disableCS() const {
digitalWrite(m_csPin, HIGH);
}
void ADS1210::writeCMR (const uint8_t cmr3, const uint8_t cmr2,
const uint8_t cmr1, const uint8_t cmr0) const {
uint8_t instr = INSR_MB1 | INSR_MB0 | ADDR_CMR3;
enableCS();
SPI.transfer(instr);
SPI.transfer(cmr3);
SPI.transfer(cmr2);
SPI.transfer(cmr1);
SPI.transfer(cmr0);
disableCS();
}
void ADS1210::begin() const {
// initialization of SPI
pinMode(m_csPin, OUTPUT);
digitalWrite(m_csPin, HIGH);
SPI.begin();
SPI.setBitOrder(MSBFIRST);
SPI.setClockDivider(SPI_CLOCK_DIV2);
SPI.setDataMode(SPI_MODE0);
// initialization of the ADS1210
}