LwPRINTF is a lightweight stdio manager optimized for embedded systems.
It includes implementation of standard output functions such as printf, vprintf, snprintf, sprintf and vsnprintf in an embedded-systems optimized way.
- Written in C (C11), compatible with
size_tanduintmax_ttypes for some specifiers - Implements output functions compatible with
printf,vprintf,snprintf,sprintfandvsnprintf - Low-memory footprint, suitable for embedded systems
- Reentrant access to all API functions
- Ships with CMSIS-OS, pthread, ThreadX and Win32 system ports
- Requires single output function to be implemented by user for
printf-like API calls - Optional functions for operating systems to protect multiple threads printing to the same output stream
- Allows multiple output stream functions (unlike standard
printfwhich supports only one) to separate parts of application - Added additional specifiers vs standard library, including
%kfor hex byte-array output and engineering notation for floats - Optional config to fully replace standard library
printf,sprintfand other functions with its own implementation - Release-stripped
lwprintf_debugandlwprintf_debug_condmacros for debug printouts - User friendly MIT license
Fresh contributions are always welcome. Simple instructions to proceed:
- Fork Github repository
- Follow C style & coding rules and use
clang-formatto format the code - Create a pull request to
developbranch with new features or bug fixes
Alternatively you may:
- Report a bug
- Ask for a feature request