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

The presses on the programmer's overlay. More...

#include "kst_panel.h"
#include "kst_port.h"
#include "link_pages.h"
#include "supply_screen.h"
#include "ui_tabs.h"
#include "ui_textkey.h"
#include "ui_widgets.h"
#include "kst_panel_int.h"

Functions

static void take (const touch_event_t *evt, int what, int row)
 Takes a press: remembers its contact, what it is on and its row, and starts counting its hold.
static void let_go (void)
 Ends the press.
static void down (const touch_event_t *evt)
 Takes a DOWN event: finds the control under it and takes the press.
void kst_panel_close (void)
void kst_panel_back (void)
bool kst_panel_safe_at (int x, int y)
uint8_t kst_panel_pin (void)
static void rest (const touch_event_t *evt)
 Takes a MOVE or UP event of the press held.
bool kst_panel_has_press (uint8_t id)
void kpn_supply_sync (void)
 The supply's own controls follow the port: while one is out of PWM they offer an OFF and nothing else.
void kst_panel_event (const touch_event_t *evt)
void kst_panel_cancel (void)
void kst_panel_leave (void)
void kst_panel_tick (float dt_s)
 Advances the overlay by one frame: the warning's hold and the key repeats.

Detailed Description

The presses on the programmer's overlay.

The presses on the programmer's overlay for KST and Chaservo servos: a DOWN, its moves and its release, the repeat of a held stepper, CLOSE and the home tag, and each frame's hold and repeat. The state and the seam are kst_panel_int.h.

SPDX-License-Identifier: MIT

Function Documentation

◆ kst_panel_back()

void kst_panel_back ( void )

The home tag or BACK in the session: an editor open in it (keypad, list, warning, keyboard) closes as its CANCEL does; otherwise as kst_panel_close(), so a port in programming asks for LEAVE first.

◆ kst_panel_cancel()

void kst_panel_cancel ( void )

Touch events were lost: the press and its hold are dropped.

◆ kst_panel_close()

void kst_panel_close ( void )

CLOSE: closes while the tester has the port, asks for the way back to PWM while it is in programming mode, and does nothing while it moves.

◆ kst_panel_event()

void kst_panel_event ( const touch_event_t * evt)

A press in the overlay's area, or the rest of one it owns.

◆ kst_panel_has_press()

bool kst_panel_has_press ( uint8_t id)

True while a press that began in the overlay is on the glass.

◆ kst_panel_leave()

void kst_panel_leave ( void )

The screen is left: presses, holds and editors go; the port stays.

◆ kst_panel_pin()

uint8_t kst_panel_pin ( void )

The GPIO the port the overlay works on drives, as the feed says, or PROG_REG_NO_PIN.

◆ kst_panel_safe_at()

bool kst_panel_safe_at ( int x,
int y )

None of the session's controls stops what the bench drives: it works on a SAFE bench only (prog_page_set_t's safe_at). Always false.

◆ kst_panel_tick()

void kst_panel_tick ( float dt_s)

Advances the overlay by one frame: the warning's hold and the key repeats.

Parameters
dt_sthe time since the last frame, s