some fixes concerning comm with adc
This commit is contained in:
@ -43,6 +43,7 @@ struct {
|
|||||||
|
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
|
delay(100);
|
||||||
led.begin(LED_PIN);
|
led.begin(LED_PIN);
|
||||||
ads1210_1.begin(ADC_1_CS_PIN, ADC_1_RDY_PIN);
|
ads1210_1.begin(ADC_1_CS_PIN, ADC_1_RDY_PIN);
|
||||||
ads1210_2.begin(ADC_2_CS_PIN, ADC_2_RDY_PIN);
|
ads1210_2.begin(ADC_2_CS_PIN, ADC_2_RDY_PIN);
|
||||||
|
@ -34,7 +34,7 @@ void ADS1210::waitForDRdy() const {
|
|||||||
|
|
||||||
|
|
||||||
void ADS1210::writeRegister(const uint8_t regAddr, const uint8_t value) const {
|
void ADS1210::writeRegister(const uint8_t regAddr, const uint8_t value) const {
|
||||||
//waitForDRdy();
|
waitForDRdy();
|
||||||
enableCS();
|
enableCS();
|
||||||
SPI.transfer(regAddr);
|
SPI.transfer(regAddr);
|
||||||
SPI.transfer(value);
|
SPI.transfer(value);
|
||||||
@ -45,7 +45,7 @@ void ADS1210::writeRegister(const uint8_t regAddr, const uint8_t value) const {
|
|||||||
uint8_t ADS1210::readRegister(const uint8_t regAddr) const {
|
uint8_t ADS1210::readRegister(const uint8_t regAddr) const {
|
||||||
uint8_t res;
|
uint8_t res;
|
||||||
|
|
||||||
//waitForDRdy();
|
waitForDRdy();
|
||||||
enableCS();
|
enableCS();
|
||||||
SPI.transfer(regAddr | INSR_RW);
|
SPI.transfer(regAddr | INSR_RW);
|
||||||
res = SPI.transfer(0);
|
res = SPI.transfer(0);
|
||||||
@ -61,6 +61,8 @@ void ADS1210::exec() {
|
|||||||
uint32_t out;
|
uint32_t out;
|
||||||
} res;
|
} res;
|
||||||
|
|
||||||
|
writeRegister(ADDR_CMR3, CMR_SDL | CMR_UB | CMR_REFO);
|
||||||
|
|
||||||
enableCS();
|
enableCS();
|
||||||
SPI.transfer(ADDR_DOR2 | INSR_MB1 | INSR_RW);
|
SPI.transfer(ADDR_DOR2 | INSR_MB1 | INSR_RW);
|
||||||
res.in[2] = SPI.transfer(0);
|
res.in[2] = SPI.transfer(0);
|
||||||
@ -107,13 +109,14 @@ void ADS1210::begin(uint8_t csPin, uint8_t drdyPin) {
|
|||||||
digitalWrite(m_csPin, HIGH);
|
digitalWrite(m_csPin, HIGH);
|
||||||
SPI.begin();
|
SPI.begin();
|
||||||
SPI.setBitOrder(MSBFIRST);
|
SPI.setBitOrder(MSBFIRST);
|
||||||
SPI.setClockDivider(SPI_CLOCK_DIV8);
|
SPI.setClockDivider(SPI_CLOCK_DIV128);
|
||||||
SPI.setDataMode(SPI_MODE1);
|
SPI.setDataMode(SPI_MODE1);
|
||||||
// Serial << "done." << endl;
|
// Serial << "done." << endl;
|
||||||
|
|
||||||
// initialization of ADS1210
|
// initialization of ADS1210
|
||||||
// Serial << "Start ADS1210 initialization ... ";
|
// Serial << "Start ADS1210 initialization ... ";
|
||||||
pinMode(m_drdyPin, INPUT);
|
pinMode(m_drdyPin, INPUT);
|
||||||
|
delay(10);
|
||||||
writeRegister(ADDR_CMR3, CMR_SDL | CMR_UB | CMR_REFO);
|
writeRegister(ADDR_CMR3, CMR_SDL | CMR_UB | CMR_REFO);
|
||||||
writeRegister(ADDR_CMR1, 0x1b); // data rate
|
writeRegister(ADDR_CMR1, 0x1b); // data rate
|
||||||
writeRegister(ADDR_CMR0, 0x58);
|
writeRegister(ADDR_CMR0, 0x58);
|
||||||
|
Reference in New Issue
Block a user