|
rcbench
Servo and ESC test bench: panel, IOmcu and shared C
|
Data Fields | |
| ui_plot_series_t | series [UI_PLOT_MAX_SERIES] |
| int | count |
| float | ring [UI_PLOT_MAX_SERIES][UI_PLOT_HISTORY] |
| int | head |
| int | filled |
| float | scale [UI_PLOT_MAX_SERIES] |
| int | shrink_hold [UI_PLOT_MAX_SERIES] |
| bool | hidden [UI_PLOT_MAX_SERIES] |
| int | focus |
| float | span_s |
| bool | running |
| uint32_t | pushes |
| uint32_t | revision |
| Bumped when what ui_plot_render() would draw changes: an accepted push, a clear, or a change of running state. | |
| int ui_plot_t::filled |
how many are valid, capped at UI_PLOT_HISTORY
| int ui_plot_t::focus |
index, or -1
| int ui_plot_t::head |
where the next sample goes
| uint32_t ui_plot_t::pushes |
Calls to ui_plot_push(), whether or not the plot took the sample.
A screen keeps the count it last drew into each framebuffer and skips the readouts beside the plot when it has not moved. The samples a stopped plot declines are still new numbers for those, so this counts the call: what the plot would draw is revision.
| uint32_t ui_plot_t::revision |
Bumped when what ui_plot_render() would draw changes: an accepted push, a clear, or a change of running state.
A screen keys the plot on this and the readouts on pushes. The panel refreshes at 60Hz and samples arrive at 20Hz, so about two frames in three would otherwise repaint an identical plot region into the PSRAM (pseudo-static random-access memory) the LCD (liquid-crystal display) scans out of – and a stopped plot would repaint every one of them.
| bool ui_plot_t::running |
Whether the trace advances.
A stopped plot holds what it has: ui_plot_push() counts the call and drops the sample, and ui_plot_update_scales() leaves the scales where they are. Stopping is what makes the plot a record of something that has ended rather than a window that slides over it.
| float ui_plot_t::span_s |
the width of the time base, for the axis label