Fast ADC readings ok, to verify timing and settling time
This commit is contained in:
@@ -130,7 +130,7 @@ void loop()
|
||||
dev.adc_a = new ADS1256(ADC_A_DRDY, ADS1256::PIN_UNUSED, ADC_A_SYNC, ADC_A_CS, 2.5, &SPI_A);
|
||||
dev.adc_a->InitializeADC();
|
||||
dev.adc_a->setPGA(PGA_1);
|
||||
dev.adc_a->setDRATE(DRATE_30000SPS);
|
||||
dev.adc_a->setDRATE(DRATE_7500SPS);
|
||||
|
||||
#ifndef TEST
|
||||
// Init ADC_B
|
||||
@@ -189,42 +189,45 @@ void loop()
|
||||
{
|
||||
if (xQueueReceive(rt_taskA_queue, &ignA, pdMS_TO_TICKS(1000)) == pdTRUE)
|
||||
{
|
||||
if (ignA.coils12.spark_status == sparkStatus::SPARK_NEG_FAIL || ignA.coils12.spark_status == sparkStatus::SPARK_POS_FAIL)
|
||||
float freq = (esp_timer_get_time() - last) / 1000000.0f; // in seconds
|
||||
freq = freq > 0 ? 1.0f / freq : 0; // Calculate frequency (Hz)
|
||||
last = esp_timer_get_time();
|
||||
|
||||
if (ignA.coils12.spark_status == sparkStatus::SPARK_POS_FAIL || ignA.coils12.spark_status == sparkStatus::SPARK_NEG_FAIL)
|
||||
missed_firings12++;
|
||||
if (ignA.coils34.spark_status == sparkStatus::SPARK_POS_FAIL || ignA.coils34.spark_status == sparkStatus::SPARK_NEG_FAIL)
|
||||
missed_firings34++;
|
||||
|
||||
clearScreen();
|
||||
setCursor(0, 0);
|
||||
printField("++ Timestamp", (uint32_t)ignA.timestamp, 0, 0);
|
||||
printField("++ Timestamp", (uint32_t)ignA.timestamp);
|
||||
Serial.println("========== Coils 12 =============");
|
||||
printField("Events", (uint32_t)ignA.coils12.n_events, 0, 1);
|
||||
printField("Missed Firing", missed_firings12, 0, 2);
|
||||
printField("Spark Dly", (uint32_t)ignA.coils12.spark_delay, 0, 3);
|
||||
printField("Spark Sts", sparkStatusNames.at(ignA.coils12.spark_status), 0, 4);
|
||||
printField("Peak P_IN", ignA.coils12.peak_p_in, 0, 5);
|
||||
printField("Peak N_IN", ignA.coils12.peak_n_in, 0, 7);
|
||||
printField("Peak P_OUT", ignA.coils12.peak_p_out, 0, 6);
|
||||
printField("Peak N_OUT", ignA.coils12.peak_n_out, 0, 8);
|
||||
printField("Soft Start ", softStartStatusNames.at(ignA.coils12.sstart_status), 0, 9);
|
||||
printField("Events", (uint32_t)ignA.coils12.n_events);
|
||||
printField("Missed Firing", missed_firings12);
|
||||
printField("Spark Dly", (uint32_t)ignA.coils12.spark_delay);
|
||||
printField("Spark Sts", sparkStatusNames.at(ignA.coils12.spark_status));
|
||||
printField("Peak P_IN", ignA.coils12.peak_p_in);
|
||||
printField("Peak N_IN", ignA.coils12.peak_n_in);
|
||||
printField("Peak P_OUT", ignA.coils12.peak_p_out);
|
||||
printField("Peak N_OUT", ignA.coils12.peak_n_out);
|
||||
printField("Soft Start ", softStartStatusNames.at(ignA.coils12.sstart_status));
|
||||
|
||||
Serial.println("========== Coils 34 =============");
|
||||
printField("Events", (uint32_t)ignA.coils34.n_events, 0, 11);
|
||||
printField("Missed Firing", missed_firings34, 0, 12);
|
||||
printField("Spark Dly", (uint32_t)ignA.coils34.spark_delay, 0, 13);
|
||||
printField("Spark Sts", sparkStatusNames.at(ignA.coils34.spark_status), 0, 14);
|
||||
printField("Peak P_IN", ignA.coils34.peak_p_in, 0, 15);
|
||||
printField("Peak N_IN", ignA.coils34.peak_n_in, 0, 17);
|
||||
printField("Peak P_OUT", ignA.coils34.peak_p_out, 0, 16);
|
||||
printField("Peak N_OUT", ignA.coils34.peak_n_out, 0, 18);
|
||||
printField("Soft Start ", softStartStatusNames.at(ignA.coils34.sstart_status), 0, 19);
|
||||
printField("Events", (uint32_t)ignA.coils34.n_events);
|
||||
printField("Missed Firing", missed_firings34);
|
||||
printField("Spark Dly", (uint32_t)ignA.coils34.spark_delay);
|
||||
printField("Spark Sts", sparkStatusNames.at(ignA.coils34.spark_status));
|
||||
printField("Peak P_IN", ignA.coils34.peak_p_in);
|
||||
printField("Peak N_IN", ignA.coils34.peak_n_in);
|
||||
printField("Peak P_OUT", ignA.coils34.peak_p_out);
|
||||
printField("Peak N_OUT", ignA.coils34.peak_n_out);
|
||||
printField("Soft Start ", softStartStatusNames.at(ignA.coils34.sstart_status));
|
||||
|
||||
Serial.println("========== END =============");
|
||||
Serial.println();
|
||||
auto freq = (esp_timer_get_time() - last) / 1000000.0f; // in seconds
|
||||
freq = freq > 0 ? 1.0f / freq : 0; // Calculate frequency (Hz)
|
||||
printField("Engine RPM", freqToRPM(freq), 0, 21);
|
||||
printField("Queue Errors", (uint32_t)ignA.n_queue_errors, 0, 22);
|
||||
last = esp_timer_get_time();
|
||||
printField("Engine RPM", freqToRPM(freq));
|
||||
printField("ADC Read Time", (uint32_t)ignA.adc_read_time);
|
||||
printField("Queue Errors", (uint32_t)ignA.n_queue_errors);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user