124#define OUTPUTS_NO_PIN 0xFFu
137#define OUTPUTS_PORTS_UNKNOWN 0xFFu
178void outputs_screen_open_on_port(uint8_t port);
235 const uint8_t *ports, uint8_t count,
char *buf,
257 const uint8_t *ports, uint8_t count,
char *buf,
285 OUTPUTS_IFACE_NONE = 0,
302 int pin_a,
int pin_b);
337 int max_lines,
const gfx_font_t *font, gfx_color_t ink,
The panel's half of a binding on the link: writing the two output pages and reading them back.
bind_read_t
What a read of the two pages gave.
Definition bind_link.h:85
Binding a protocol to pins: what the operator chooses, and the OUTPUTS page that comes out of it.
outputs_cell_t
Definition outputs_screen.h:107
@ OUTPUTS_CELL_HELD
Definition outputs_screen.h:111
@ OUTPUTS_CELL_RESERVED
Definition outputs_screen.h:114
@ OUTPUTS_CELL_FREE
Definition outputs_screen.h:109
@ OUTPUTS_CELL_TICKED
Definition outputs_screen.h:110
@ OUTPUTS_CELL_NONE
Definition outputs_screen.h:108
void outputs_screen_set_reading(const bind_reading_t *r)
Definition outputs_screen.c:272
bool outputs_clash_reason(const outbind_t *b, int index, const uint8_t *ports, uint8_t count, char *buf, size_t cap)
The line under the protocol for such a pin, catalogue entry index: "GPIO 28: SHARES PWM SLICE WITH PR...
Definition outputs_port.c:338
void outputs_screen_set_iface_held(outputs_iface_t which, bool known, int pin_a, int pin_b)
Definition outputs_port.c:117
bind_read_t outputs_screen_read_state(void)
Definition outputs_screen.c:313
outputs_result_t
Definition outputs_screen.h:97
@ OUTPUTS_OK
Definition outputs_screen.h:99
@ OUTPUTS_IDLE
Definition outputs_screen.h:98
@ OUTPUTS_REFUSED
Definition outputs_screen.h:101
@ OUTPUTS_NO_LINK
Definition outputs_screen.h:100
bool outputs_screen_editable(void)
Definition outputs_screen.c:315
outputs_iface_t
Definition outputs_screen.h:284
@ OUTPUTS_IFACE_PDMINI
Definition outputs_screen.h:287
@ OUTPUTS_IFACE_TAP
Definition outputs_screen.h:288
@ OUTPUTS_IFACE_SENSE
Definition outputs_screen.h:286
uint8_t outputs_screen_port_pin(uint8_t port)
Definition outputs_port.c:67
bool outputs_screen_port_reason(char *buf, size_t cap)
Definition outputs_port_entry.c:270
void outputs_screen_invalidate(void)
Definition outputs_screen.c:197
outputs_iface_t outputs_iface_at(uint8_t gpio)
Definition outputs_port.c:211
void outputs_screen_set_prog_pin(uint8_t gpio)
Definition outputs_port.c:50
void outputs_screen_open_on(uint8_t proto)
Definition outputs_port.c:263
uint64_t outputs_iface_pins(outputs_iface_t which)
Definition outputs_port.c:157
const char * outputs_iface_name(outputs_iface_t which)
Definition outputs_port.c:225
outputs_cell_t outputs_screen_cell(uint8_t index, char *label, size_t cap)
Definition outputs_screen.c:780
bool outputs_screen_reason(char *buf, size_t cap)
Definition outputs_screen.c:717
const outbind_t * outputs_screen_binding(void)
Definition outputs_screen.c:202
uint8_t outputs_screen_port_entries(void)
Definition outputs_port.c:58
void outputs_screen_set_binding(const outbind_t *b)
Definition outputs_screen.c:213
void outputs_screen_set_prog_ports(uint8_t count, const uint8_t *pins)
Definition outputs_port.c:75
void(*) outputs_apply_fn(const outbind_t *b)
Called with the binding to write after a pin is ticked or unticked, and with a binding that holds no ...
Definition outputs_screen.h:93
void outputs_screen_select(uint8_t proto)
Definition outputs_screen.c:329
int outputs_screen_port_shown(void)
Definition outputs_port_entry.c:201
int outputs_wrap(gfx_canvas_t *c, gfx_rect_t box, int pitch, const char *text, int max_lines, const gfx_font_t *font, gfx_color_t ink, bool centre)
Draw text in lines of font no wider than box.
Definition outputs_screen.c:622
bool outputs_reason_of(const outbind_t *b, char *buf, size_t cap)
Definition outputs_screen.c:739
void outputs_screen_set_port_watch(uint8_t port, const char *label)
Definition outputs_port_entry.c:102
bool outputs_clash_label(const outbind_t *b, uint8_t index, const uint8_t *ports, uint8_t count, char *buf, size_t cap)
The line under a pin's name for a pin the IOmcu refuses the PWM generator (outbind_pwm_clash_ports() ...
Definition outputs_port.c:316
void outputs_screen_select_port(uint8_t port)
Definition outputs_port_entry.c:192
One reading of the two output pages, and the binding it gives.
Definition bind_link.h:105
The selection: which board, the protocol being edited, and each protocol's pins.
Definition out_bind.h:423
Definition ui_screen.h:68