69 lines
2.2 KiB
C++
69 lines
2.2 KiB
C++
#include <ui.h>
|
|
|
|
void clearScreen()
|
|
{
|
|
Serial.print("\033[2J"); // clear screen
|
|
Serial.print("\033[H"); // cursor home
|
|
Serial.flush();
|
|
}
|
|
|
|
void setCursor(const uint8_t x, const uint8_t y)
|
|
{
|
|
Serial.printf("\033[%d;%d", y, x + 1);
|
|
Serial.flush();
|
|
}
|
|
|
|
void printField(const char name[], const uint32_t val)
|
|
{
|
|
Serial.printf("%15s: %06d\n", name, val);
|
|
}
|
|
|
|
void printField(const char name[], const int64_t val)
|
|
{
|
|
Serial.printf("%15s: %06u\n", name, (uint64_t)val);
|
|
}
|
|
|
|
void printField(const char name[], const float val)
|
|
{
|
|
Serial.printf("%15s: %4.2f\n", name, val);
|
|
}
|
|
|
|
void printField(const char name[], const char *val)
|
|
{
|
|
Serial.printf("%15s: %s\n", name, val);
|
|
}
|
|
|
|
void printInfo(const ignitionBoxStatus &info)
|
|
{
|
|
clearScreen();
|
|
setCursor(0, 0);
|
|
printField("++ Timestamp ++", (uint32_t)info.timestamp);
|
|
Serial.println("========== Coils 12 =============");
|
|
printField("Events", info.coils12.n_events);
|
|
printField("Events Missed", info.coils12.n_missed_firing);
|
|
printField("Spark Dly", (uint32_t)info.coils12.spark_delay);
|
|
printField("Spark Sts", sparkStatusNames.at(info.coils12.spark_status));
|
|
printField("Peak P_IN", info.coils12.peak_p_in);
|
|
printField("Peak N_IN", info.coils12.peak_n_in);
|
|
printField("Peak P_OUT", info.coils12.peak_p_out);
|
|
printField("Peak N_OUT", info.coils12.peak_n_out);
|
|
printField("Soft Start ", softStartStatusNames.at(info.coils12.sstart_status));
|
|
|
|
Serial.println("========== Coils 34 =============");
|
|
printField("Events", info.coils34.n_events);
|
|
printField("Events Missed", info.coils34.n_missed_firing);
|
|
printField("Spark Dly", (uint32_t)info.coils34.spark_delay);
|
|
printField("Spark Sts", sparkStatusNames.at(info.coils34.spark_status));
|
|
printField("Peak P_IN", info.coils34.peak_p_in);
|
|
printField("Peak N_IN", info.coils34.peak_n_in);
|
|
printField("Peak P_OUT", info.coils34.peak_p_out);
|
|
printField("Peak N_OUT", info.coils34.peak_n_out);
|
|
printField("Soft Start ", softStartStatusNames.at(info.coils34.sstart_status));
|
|
|
|
Serial.println("============ END ===============");
|
|
Serial.println();
|
|
printField("Engine RPM", info.eng_rpm);
|
|
printField("ADC Read Time", info.adc_read_time);
|
|
printField("Queue Errors", info.n_queue_errors);
|
|
}
|