2 Commits

Author SHA1 Message Date
Obbart 9bb66a9459 re enable interrupt logic for ADC drdy 2026-04-21 22:32:01 +02:00
Obbart aa9935ef22 reorder upload and monitor ports 2026-04-21 22:25:56 +02:00
2 changed files with 21 additions and 19 deletions
+17 -15
View File
@@ -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
+4 -4
View File
@@ -21,9 +21,9 @@ lib_deps =
me-no-dev/AsyncTCP@^3.3.2
me-no-dev/ESPAsyncWebServer@^3.6.0
upload_protocol = esptool
upload_port = /dev/ttyACM1
upload_port = /dev/ttyACM0
upload_speed = 921600
monitor_port = /dev/ttyACM0
monitor_port = /dev/ttyACM1
monitor_speed = 921600
build_type = release
build_flags =
@@ -45,9 +45,9 @@ framework = ${env:esp32-s3-devkitc1-n16r8.framework}
lib_deps =
${env:esp32-s3-devkitc1-n16r8.lib_deps}
upload_protocol = esptool
upload_port = /dev/ttyACM1
upload_port = /dev/ttyACM0
upload_speed = 921600
monitor_port = /dev/ttyACM0
monitor_port = /dev/ttyACM1
monitor_speed = 921600
debug_tool = esp-builtin
debug_speed = 15000