not yet working
This commit is contained in:
58
ads1210.cpp
58
ads1210.cpp
@ -7,7 +7,7 @@
|
||||
|
||||
// #include <Arduino.h>
|
||||
#include <SPI.h>
|
||||
#include <Streaming.h>
|
||||
#include "Streaming.h"
|
||||
#include "ads1210.h"
|
||||
|
||||
ADS1210::ADS1210() {
|
||||
@ -24,10 +24,10 @@ 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]);
|
||||
SPI.transfer(m_cmrWriteShadow[3]);
|
||||
SPI.transfer(m_cmrWriteShadow[2]);
|
||||
SPI.transfer(m_cmrWriteShadow[1]);
|
||||
SPI.transfer(m_cmrWriteShadow[0]);
|
||||
disableCS();
|
||||
}
|
||||
|
||||
@ -35,29 +35,53 @@ 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);
|
||||
m_cmrReadShadow[3] = SPI.transfer(0);
|
||||
m_cmrReadShadow[2] = SPI.transfer(0);
|
||||
m_cmrReadShadow[1] = SPI.transfer(0);
|
||||
m_cmrReadShadow[0] = SPI.transfer(0);
|
||||
disableCS();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void ADS1210::begin(uint8_t csPin) {
|
||||
m_csPin = csPin;
|
||||
|
||||
static bool onlyOnce = false;
|
||||
|
||||
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);
|
||||
SPI.setClockDivider(SPI_CLOCK_DIV16);
|
||||
SPI.setDataMode(SPI_MODE1);
|
||||
|
||||
// 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;
|
||||
if (! onlyOnce) {
|
||||
// initialization of the ADS1210
|
||||
m_cmrWriteShadow[3] |= CMR_SDL;
|
||||
m_cmrWriteShadow[2] = 0;
|
||||
m_cmrWriteShadow[1] = 0;
|
||||
m_cmrWriteShadow[0] = 0;
|
||||
writeCMR();
|
||||
// onlyOnce = true;
|
||||
}
|
||||
|
||||
// static bool toggleRefO = false;
|
||||
// if (toggleRefO) {
|
||||
// toggleRefO = false;
|
||||
// m_cmrWriteShadow[3] |= CMR_REFO;
|
||||
// } else {
|
||||
// toggleRefO = true;
|
||||
// m_cmrWriteShadow[3] &= ~CMR_REFO;
|
||||
// }
|
||||
// writeCMR();
|
||||
|
||||
readCMR();
|
||||
|
||||
Serial << "CMR3: " << _HEX(m_cmrReadShadow[3]) <<
|
||||
", CMR2: " << _HEX(m_cmrReadShadow[2]) <<
|
||||
", CMR1: " << _HEX(m_cmrReadShadow[1]) <<
|
||||
", CMR0: " << _HEX(m_cmrReadShadow[0]) << endl;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user