diff --git a/RotaxMonitor/lib/ADS1256/ADS1256.cpp b/RotaxMonitor/lib/ADS1256/ADS1256.cpp index 8580685..836fa2c 100644 --- a/RotaxMonitor/lib/ADS1256/ADS1256.cpp +++ b/RotaxMonitor/lib/ADS1256/ADS1256.cpp @@ -11,6 +11,8 @@ RadoMmm for suggesting an improvement on the ADC-to-Volts conversion */ +#define DEBUGLOG_DEFAULT_LOG_LEVEL_DEBUG + #include "Arduino.h" #include "ADS1256.h" #include "SPI.h" @@ -62,16 +64,16 @@ ADS1256::ADS1256(const int8_t DRDY_pin, const int8_t RESET_pin, const int8_t SYN updateConversionParameter(); - // m_drdyHigh = xSemaphoreCreateBinary(); - // m_drdyLow = xSemaphoreCreateBinary(); - // if (!m_drdyHigh || !m_drdyLow) { - // LOG_ERROR("ADC Unable to create interrupt semaphores"); - // return; - // } + m_drdyHigh = xSemaphoreCreateBinary(); + m_drdyLow = xSemaphoreCreateBinary(); + if (!m_drdyHigh || !m_drdyLow) { + LOG_ERROR("ADC Unable to create interrupt semaphores"); + return; + } - // xSemaphoreGive(m_drdyHigh); - // xSemaphoreGive(m_drdyLow); - //attachInterruptArg(DRDY_pin, drdyCallback, (void *)this, CHANGE); + xSemaphoreGive(m_drdyHigh); + xSemaphoreGive(m_drdyLow); + attachInterruptArg(DRDY_pin, drdyCallback, (void *)this, CHANGE); } // Initialization @@ -125,16 +127,16 @@ void ADS1256::InitializeADC() void ADS1256::waitForLowDRDY() { - while(digitalRead(m_DRDY_pin) == HIGH) {vTaskDelay(1);}; - // xSemaphoreTake(m_drdyLow, pdMS_TO_TICKS(10)); - // xSemaphoreGive(m_drdyLow); + // while(digitalRead(m_DRDY_pin) == HIGH) {vTaskDelay(1);}; + xSemaphoreTake(m_drdyLow, pdMS_TO_TICKS(10)); + xSemaphoreGive(m_drdyLow); } void ADS1256::waitForHighDRDY() { - while(digitalRead(m_DRDY_pin) == LOW) {vTaskDelay(1);}; - // xSemaphoreTake(m_drdyHigh, pdMS_TO_TICKS(10)); - // xSemaphoreGive(m_drdyHigh); + // while(digitalRead(m_DRDY_pin) == LOW) {vTaskDelay(1);}; + xSemaphoreTake(m_drdyHigh, pdMS_TO_TICKS(10)); + xSemaphoreGive(m_drdyHigh); } void ADS1256::stopConversion() // Sending SDATAC to stop the continuous conversion