|
rcbench
Servo and ESC test bench: panel, IOmcu and shared C
|
The render loop, from app_main once the tasks are running. More...
#include <stdatomic.h>#include <string.h>#include "esp_timer.h"#include "freertos/FreeRTOS.h"#include "freertos/queue.h"#include "freertos/semphr.h"#include "busfault_screen.h"#include "display.h"#include "esc_stick_panel.h"#include "flash_gate.h"#include "knob.h"#include "motor_screen.h"#include "outputs_pages.h"#include "outputs_screen.h"#include "overview_screen.h"#include "panel.h"#include "panel_main.h"#include "panel_perf.h"#include "panel_trial.h"#include "pdmini.h"#include "picker_screen.h"#include "sensors_rows.h"#include "servo_link.h"#include "servo_screen.h"#include "settings.h"#include "settings_screen.h"#include "splash_screen.h"#include "supply_screen.h"#include "touch.h"#include "ui_band.h"#include "ui_screen.h"#include "ui_text.h"Macros | |
| #define | LINK_LOST_SCREEN_MS 4000u |
| A link that was up and stopped, said on the panel rather than on a console. | |
Functions | |
| gfx_canvas_t * | panel_canvas (void) |
| The canvas the next frame is drawn on (display_canvas()), after what Screen rotation asks of the UI: a whole repaint when the canvas changed between a logical buffer and a frame buffer, and the band's alert when 180° fell back to NORMAL. Every loop that renders takes its canvas here, on the task that flips (panel_frame.c). | |
| void | panel_frame_loop (void) |
| The render loop (panel_main.h). Does not return. | |
The render loop, from app_main once the tasks are running.
What the control task published goes into the screens; touch, into the router; the screens' commands, back to the control task; then one frame is drawn and flipped, and panel_perf.c accounts it for the console: every 300 frames the frame rate, the panel's own refresh and the touch losses, then the draw, wait and turn times on the screen shown, and every stack and the internal heap whose lowest figure fell. panel_frame_loop() does not return.
SPDX-License-Identifier: MIT
| #define LINK_LOST_SCREEN_MS 4000u |
A link that was up and stopped, said on the panel rather than on a console.
The panel has no console an operator can reach while the bench runs: the board sits beside the bench with no computer on its USB (Universal Serial Bus) sockets. A fault that only a console can explain is one nobody in the field can report.
Four seconds, not one: the link drops for a poll now and then, and a screen that took over on every blip would be a screen operators learn to dismiss.
| gfx_canvas_t * panel_canvas | ( | void | ) |
The canvas the next frame is drawn on (display_canvas()), after what Screen rotation asks of the UI: a whole repaint when the canvas changed between a logical buffer and a frame buffer, and the band's alert when 180° fell back to NORMAL. Every loop that renders takes its canvas here, on the task that flips (panel_frame.c).
| void panel_frame_loop | ( | void | ) |
The render loop (panel_main.h). Does not return.
The render loop. Does not return.
The render loop (panel_main.h). Does not return.