diff options
-rw-r--r-- | sw/ltc2400.cpp | 4 | ||||
-rw-r--r-- | sw/ltc2400.h | 2 | ||||
-rw-r--r-- | sw/main.cpp | 10 |
3 files changed, 8 insertions, 8 deletions
diff --git a/sw/ltc2400.cpp b/sw/ltc2400.cpp index 169b7bd..23287bc 100644 --- a/sw/ltc2400.cpp +++ b/sw/ltc2400.cpp @@ -120,7 +120,7 @@ int ltc2400_conversion_ready() return eoc; } -float ltc2400_get_conversion_result(bool& dmy_fault, bool& exr_fault) +float ltc2400_get_conversion_result(bool& dmy_fault, bool& exr_fault, uint32_t& adc_value) { cs_low(); @@ -145,7 +145,7 @@ float ltc2400_get_conversion_result(bool& dmy_fault, bool& exr_fault) exr_fault = not (result & _BV(28)); // Mask 4 MSB status bits, and shift out 4 sub-LSB bits - const uint32_t adc_value = (result >> 4) & 0x00FFFFFF; + adc_value = (result >> 4) & 0x00FFFFFF; // Convert ADC value to voltage return ((float)adc_value) / ((float)0x00FFFFFF) / 5.0f; diff --git a/sw/ltc2400.h b/sw/ltc2400.h index ac99521..720b64c 100644 --- a/sw/ltc2400.h +++ b/sw/ltc2400.h @@ -33,4 +33,4 @@ void ltc2400_init(); int ltc2400_conversion_ready(); -float ltc2400_get_conversion_result(bool& dmy_fault, bool& exr_fault); +float ltc2400_get_conversion_result(bool& dmy_fault, bool& exr_fault, uint32_t& adc_value); diff --git a/sw/main.cpp b/sw/main.cpp index 3c502cc..1c2e402 100644 --- a/sw/main.cpp +++ b/sw/main.cpp @@ -413,7 +413,8 @@ int main() if (ltc2400_conversion_ready()) { bool dmy_fault = false; bool exr_fault = false; - const float adc_voltage = ltc2400_get_conversion_result(dmy_fault, exr_fault); + uint32_t adc_value = 0; + const float adc_voltage = ltc2400_get_conversion_result(dmy_fault, exr_fault, adc_value); if (dmy_fault) { flag_error(error_type_t::LTC2400_DMY_BIT_FAULT); @@ -421,6 +422,9 @@ int main() if (exr_fault) { flag_error(error_type_t::LTC2400_EXTENDED_RANGE_ERROR); + + snprintf(timestamp_buf, sizeof(timestamp_buf), "DBG,%ld" ENDL, adc_value); + uart_puts(timestamp_buf); } /* Vout - 2.5V = Ishunt * Rshunt * 20 */ @@ -437,12 +441,9 @@ int main() constexpr auto threshold_calculation_interval_s = 4; if (last_threshold_calculation_seconds + threshold_calculation_interval_s < time_now.seconds_) { last_threshold_calculation_seconds += threshold_calculation_interval_s; - - send_debug("Calc thresh"); handle_thresholds(time_now); } - constexpr auto ltc2400_print_interval_s = 10; if (last_ltc2400_print_time_seconds + ltc2400_print_interval_s < time_now.seconds_) { last_ltc2400_print_time_seconds += ltc2400_print_interval_s; @@ -455,7 +456,6 @@ int main() switch (adc_state) { case adc_state_t::IDLE: if (last_adc_measure_time_seconds + adc_interval_s < time_now.seconds_) { - send_debug("ADC meas"); last_adc_measure_time_seconds += adc_interval_s; SET_ADMUX(0); // Start ADC conversion |