U.B.O.R
The [U]seless [B]ox [O]rganizing [R]obot. A FreeRTOS study project written in C which implements a multitasked control unit for a belt conveyor system with robotic sorting arms.
Data Structures | Macros | Functions | Variables
display.c File Reference
#include "display.h"
#include <FreeRTOS.h>
#include <stdio.h>
#include <task.h>
#include <queue.h>
#include <lcd.h>
#include <stdbool.h>
#include <string.h>
#include <semphr.h>
Include dependency graph for display.c:

Go to the source code of this file.

Data Structures

struct  log_message_t
 Structure to describe a log message. More...
 

Macros

#define STACKSIZE_TASK   ( 256 )
 Stack size of the display task. More...
 
#define PRIORITY_TASK   ( 3 )
 Priority of the Display task (low priority number denotes low priority task) More...
 
#define QUEUE_SIZE   10
 Size of the message queue. More...
 
#define DISPLAY_LINES   30
 Number of lines that fit on the display (vertically) More...
 
#define DISPLAY_CHARS   64
 Number of horizontal characters that can be displayed. More...
 

Functions

uint8_t display_log (uint8_t id, const char *fmtstr,...)
 Logs a message to the display global. More...
 
void display_init ()
 Initializes the display and starts the display task global. More...
 

Variables

uint8_t visible_messages =0
 Number of currently visible messages. More...
 
uint8_t buffer_offset = 0
 Offset in the message_buffer to get to the top message. More...
 
log_message_t message_buffer [DISPLAY_LINES]
 buffer of all visible messages (ring buffer!) More...