some more initialization code

This commit is contained in:
2014-11-03 17:18:30 +01:00
parent f506f9a2c2
commit 473eb035b1
3 changed files with 63 additions and 12 deletions

View File

@ -7,9 +7,10 @@
// #include <Arduino.h>
#include <SPI.h>
#include <Streaming.h>
#include "ads1210.h"
ADS1210::ADS1210(uint8_t csPin) : m_csPin(csPin) {
ADS1210::ADS1210() {
}
void ADS1210::enableCS() const {
@ -19,21 +20,33 @@ 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 {
void ADS1210::writeCMR () 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);
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() const {
void ADS1210::begin(uint8_t csPin) {
m_csPin = csPin;
// initialization of SPI
pinMode(m_csPin, OUTPUT);
digitalWrite(m_csPin, HIGH);
@ -43,5 +56,8 @@ void ADS1210::begin() const {
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;
}