ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_display_pal_policy.h
Go to the documentation of this file.
1
31
32#pragma once
33
34#include <stdint.h>
35
36#include "ra8_display_pal.h"
37#include "ra8_err.h"
38
53
65
77
88typedef struct {
89 uint8_t kind;
90 uint16_t clean_every;
93
104
129[[nodiscard]] ra8_err_t
130display_policy_init(display_policy_t* p, display_policy_kind_t kind, uint16_t clean_every);
131
163
187[[nodiscard]] ra8_err_t display_policy_full_rect(uint16_t w, uint16_t h, display_rect_t* out);
Display Platform Abstraction Layer for the RA8D2.
display_refresh_hint_t
Intent passed into display_flush; backends map this onto whatever waveform/mode their controller offe...
ra8_err_t display_policy_init(display_policy_t *p, display_policy_kind_t kind, uint16_t clean_every)
Initialise a refresh-cadence policy.
display_policy_kind_t
Selectable refresh-cadence strategies (chosen at display_policy_init).
@ k_display_policy_quality
Always clean GC16 full – no ghosting, slow.
@ k_display_policy_fast_clean
A2 partial, periodic GC16 clean (default).
@ k_display_policy_fast_only
Always fast A2 partial – snappiest, ghosts.
display_turn_event_t
The page-transition event the policy reacts to.
@ k_display_event_chapter
Chapter-boundary turn – wants a clean refresh.
@ k_display_event_open
Book/first page opened – wants a clean INIT.
@ k_display_event_turn
Ordinary next/prev page turn.
ra8_err_t display_policy_full_rect(uint16_t w, uint16_t h, display_rect_t *out)
Build the full-page damage rectangle for a page turn.
display_policy_const_t
Bounds for the periodic-clean cadence (no magic numbers).
@ k_display_policy_clean_every_max
Clamp ceiling.
@ k_display_policy_clean_every_min
Clamp floor (every turn is clean).
@ k_display_policy_clean_every_default
Default GC16 every N fast turns.
ra8_err_t display_policy_decide(display_policy_t *p, display_turn_event_t event, display_policy_decision_t *out)
Decide the flush parameters for one page-transition event.
Error Code Definitions for ra8-firmware.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
Definition ra8_err.h:546
What the app should pass to display_flush for this event.
display_refresh_hint_t hint
Waveform intent (fast/quality/init).
bool full_update
true => flush the whole page rect.
Caller-owned policy state (zero heap; init once, decide per turn).
uint8_t kind
Active display_policy_kind_t.
uint16_t turns_since_clean
Fast turns since the last clean refresh.
uint16_t clean_every
Fast turns between GC16 cleans (fast_clean).
Rectangle in framebuffer coordinates passed into display_flush.