rcbench
Servo and ESC test bench: panel, IOmcu and shared C
Loading...
Searching...
No Matches
analyser_screen.h File Reference

The RECEIVER screen: what a receiver is actually sending. The code keeps the name analyser; the screen's title and tile are RECEIVER. More...

#include "sbus.h"
#include "ui_screen.h"

Go to the source code of this file.

Enumerations

enum  analyser_pane_t { ANALYSER_PANE_CHANNELS = 0 , ANALYSER_PANE_RAW , ANALYSER_PANE_COUNT }
 The left card's panes, in the tabs' order. More...

Functions

void analyser_invalidate (void)
const ui_screen_t * analyser_screen (void)
 The RECEIVER screen.
void analyser_screen_push (const sbus_frame_t *frame, const sbus_decoder_t *dec, const uint8_t *raw, unsigned raw_len, uint32_t now_ms)
 A decoded frame, with the decoder's own counters and the bytes it came from – the raw view is not a separate capture, it is this same frame.
void analyser_screen_silent (uint32_t now_ms)
 No frame has arrived for long enough that the link is presumed dead.
int analyser_screen_why_lines (const char *why)
 The lines a state's line takes on the state card, in the 12 x 24 face broken after a space; the card shows three.

Detailed Description

The RECEIVER screen: what a receiver is actually sending. The code keeps the name analyser; the screen's title and tile are RECEIVER.

SPDX-License-Identifier: MIT

Enumeration Type Documentation

◆ analyser_pane_t

The left card's panes, in the tabs' order.

Enumerator
ANALYSER_PANE_CHANNELS 

the sixteen lanes

ANALYSER_PANE_RAW 

the last frame's bytes

ANALYSER_PANE_COUNT 

how many

Function Documentation

◆ analyser_invalidate()

void analyser_invalidate ( void )

Drop the cached chrome, so the next frame repaints it.

◆ analyser_screen()

const ui_screen_t * analyser_screen ( void )

The RECEIVER screen.

Returns
The screen.

◆ analyser_screen_push()

void analyser_screen_push ( const sbus_frame_t * frame,
const sbus_decoder_t * dec,
const uint8_t * raw,
unsigned raw_len,
uint32_t now_ms )

A decoded frame, with the decoder's own counters and the bytes it came from – the raw view is not a separate capture, it is this same frame.

Parameters
frameThe frame; NULL does nothing.
decThe decoder after it; NULL does nothing.
rawIts bytes, or NULL to keep the last.
raw_lenTheir count; at most SBUS_FRAME_BYTES are kept.
now_msIts arrival, ms.

◆ analyser_screen_silent()

void analyser_screen_silent ( uint32_t now_ms)

No frame has arrived for long enough that the link is presumed dead.

Parameters
now_msThe time, ms.

◆ analyser_screen_why_lines()

int analyser_screen_why_lines ( const char * why)

The lines a state's line takes on the state card, in the 12 x 24 face broken after a space; the card shows three.

Parameters
whyThe line, as the screen shows it.
Returns
The lines, 0 for NULL or an empty line.