/* * ads1210.cpp * * Created on: Nov 2, 2014 * Author: wn */ // #include #include #include #include "ads1210.h" ADS1210::ADS1210() { } void ADS1210::enableCS() const { digitalWrite(m_csPin, LOW); } void ADS1210::disableCS() const { digitalWrite(m_csPin, HIGH); } void ADS1210::writeCMR () const { uint8_t instr = INSR_MB1 | INSR_MB0 | ADDR_CMR3; enableCS(); SPI.transfer(instr); SPI.transfer(m_cmrShadow[3]); SPI.transfer(m_cmrShadow[2]); SPI.transfer(m_cmrShadow[1]); SPI.transfer(m_cmrShadow[0]); disableCS(); } void ADS1210::readCMR () { uint8_t instr = INSR_MB1 | INSR_MB0 | ADDR_CMR3 | INSR_RW; enableCS(); SPI.transfer(instr); m_cmrShadow[3] = SPI.transfer(0); m_cmrShadow[2] = SPI.transfer(0); m_cmrShadow[1] = SPI.transfer(0); m_cmrShadow[0] = SPI.transfer(0); disableCS(); } void ADS1210::begin(uint8_t csPin) { m_csPin = csPin; // 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 readCMR(); Serial << "CMR3: " << _HEX(m_cmrShadow[3]) << ", CMR2: " << _HEX(m_cmrShadow[2]) << ", CMR1: " << _HEX(m_cmrShadow[1]) << ", CMR0: " << _HEX(m_cmrShadow[0]) << endl; }