FreeRTOS Emulator with SDL2 Based Graphics and Input Library  1.0
A POSIX wrapper to run FreeRTOS on an x86 machine with some basic input and output libraries aimed at making teaching FreeRTOS simpler.
gfx_print.h File Reference

A couple of drop in replacements for printf and fprintf to be used for thread safe printing when using FreeRTOS. More...

#include <stdio.h>

Go to the source code of this file.

Macros

#define PRINT_ERROR(msg, ...)
 
#define PRINT_TASK_ERROR(task)   PRINT_ERROR("Failed to print task ##task");
 
Safe print configuration default values

Allows for the configuration of each print messages length and the number of print messages that FreeRTOS can buffer

#define SAFE_PRINT_QUEUE_LEN   20
 
#define SAFE_PRINT_MAX_MSG_LEN   256
 
#define SAFE_PRINT_STACK_SIZE   (SAFE_PRINT_MAX_MSG_LEN * 2)
 
#define SAFE_PRINT_PRIORITY   tskIDLE_PRIORITY
 
#define SAFE_PRINT_INPUT_BUFFER_COUNT   10
 

Functions

void fprints (FILE *__restrict __stream, const char *__format,...)
 Prints a formatted string to the specifed IO stream. More...
 
void prints (const char *__format,...)
 Prints a formatted string to stdout More...
 
int gfxSafePrintInit (void)
 Initializes the printing module. More...
 
void gfxSafePrintExit (void)
 Exits the printing module. More...
 

Detailed Description

A couple of drop in replacements for printf and fprintf to be used for thread safe printing when using FreeRTOS.

Author
Alex Hoffman
Date
18 April 2020
----------------------------------------------------------------------
Copyright (C) Alexander Hoffman, 2020
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
----------------------------------------------------------------------