Kaleidoscope/docs/plugins/CycleTimeReport.md

1.4 KiB

CycleTimeReport

A development and debugging aid, this plugin will measure average mainloop times (in microseconds) and print it to Serial periodically. While not the most reliable way to measure the speed of processing, it gives a reasonable indication nevertheless.

Using the plugin

The plugin comes with reasonable defaults (see below), and can be used out of the box, without any further configuration:

#include <Kaleidoscope.h>
#include <Kaleidoscope-CycleTimeReport.h>

KALEIDOSCOPE_INIT_PLUGINS(CycleTimeReport);

void setup (void) {
  Kaleidoscope.serialPort().begin(9600);
  Kaleidoscope.setup ();
}

Plugin methods

The plugin provides a single object, CycleTimeReport, with the following property. All times are in milliseconds.

.average_loop_time

A read-only by contract value, the average time of main loop lengths between two reports.

Overrideable methods

cycleTimeReport()

Reports the average loop time. By default, it does so over Serial, every time when the report period is up.

It can be overridden, to change how the report looks, or to make the report toggleable, among other things.

It takes no arguments, and returns nothing, but has access to CycleTimeReport.average_loop_time above.

Further reading

Starting from the example is the recommended way of getting started with the plugin.