23#define ENABLE_HEARTBEAT_VISUALIZATION 1
27#define ROW_SEPARATOR 9
28#if ENABLE_HEARTBEAT_VISUALIZATION
29#define ROW_HEARTBEAT 10
40#define BAR_COL_START 6
47#define HEARTBEAT_ON_TICKS 437
48#define HEARTBEAT_OFF_TICKS 479
49#define HEARTBEAT_PERIOD_TICKS (HEARTBEAT_ON_TICKS + HEARTBEAT_OFF_TICKS)
50#define TASK_A_PERIOD_TICKS 2000
51#define TASK_B_PERIOD_TICKS 4000
52#define TASK_C_PERIOD_TICKS 3000
55#define RENDER_INTERVAL_TICKS 20
56#define CYCLE_PAUSE_TICKS 100
71void display_render_bar(uint8_t row,
const char* task_name, uint32_t elapsed_ticks, uint32_t period_ticks);
88void display_render_vbar(uint8_t start_row, uint8_t col, uint32_t count, uint32_t max_count);
103 uint8_t count, uint8_t max_count,
104 uint8_t last_sent, uint8_t last_recv,
105 bool show_sent,
bool show_recv);
117 uint32_t elapsed_ticks, uint32_t period_ticks,
118 uint8_t msg_value,
bool show_msg);
130 uint32_t elapsed_ticks, uint32_t period_ticks,
131 uint8_t msg_value,
bool show_msg);
134#define MSG_HISTORY_LEN 8
135#define MSG_HISTORY_MAX_BYTES 4
171 uint8_t source_id,
bool is_send);
void display_render_pipe(uint8_t start_row, uint8_t col, const char *label, uint8_t count, uint8_t max_count, uint8_t last_sent, uint8_t last_recv, bool show_sent, bool show_recv)
Render a message queue visualization panel.
void display_render_msg_history(uint8_t row, uint8_t col, msg_history_t *hist, const char *label)
Render message history as a rolling window.
void msg_history_add(msg_history_t *hist, const uint8_t *data, uint8_t len, uint8_t source_id, bool is_send)
Add a message to history.
void display_render_banner(uint8_t row, const char *task_name, bool is_on)
Render a simple flashing banner (on/off indicator)
void display_init(void)
Initialize terminal display - clear screen and print header.
void msg_history_init(msg_history_t *hist)
Initialize a message history buffer.
void display_render_bar(uint8_t row, const char *task_name, uint32_t elapsed_ticks, uint32_t period_ticks)
Render a progress bar on a fixed row.
void display_render_vbar(uint8_t start_row, uint8_t col, uint32_t count, uint32_t max_count)
Render a vertical bar showing semaphore fill level.
#define MSG_HISTORY_MAX_BYTES
void display_render_producer(uint8_t row, const char *task_name, uint32_t elapsed_ticks, uint32_t period_ticks, uint8_t msg_value, bool show_msg)
Render a producer task bar with sent message indicator.
void display_render_consumer(uint8_t row, const char *task_name, uint32_t elapsed_ticks, uint32_t period_ticks, uint8_t msg_value, bool show_msg)
Render a consumer task bar with received message indicator.
Message history entry for rolling window display.
Message history buffer for a pipe.