https://github.com/majerle/lwprintf
Lightweight printf library optimized for embedded systems
https://github.com/majerle/lwprintf
embedded embedded-systems hardware library microcontroller output printf snprintf sprintf stdio stdout systems uart
Last synced: about 1 month ago
JSON representation
Lightweight printf library optimized for embedded systems
- Host: GitHub
- URL: https://github.com/majerle/lwprintf
- Owner: MaJerle
- License: mit
- Created: 2020-03-15T08:57:22.000Z (over 5 years ago)
- Default Branch: develop
- Last Pushed: 2025-05-10T21:44:50.000Z (about 2 months ago)
- Last Synced: 2025-05-10T22:27:21.391Z (about 2 months ago)
- Topics: embedded, embedded-systems, hardware, library, microcontroller, output, printf, snprintf, sprintf, stdio, stdout, systems, uart
- Language: C
- Homepage: https://majerle.eu/projects/lwprintf-lightweight-stdio-manager-printf-snprintf-vprintf-vsnprintf-sprintf
- Size: 858 KB
- Stars: 257
- Watchers: 10
- Forks: 46
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Authors: AUTHORS
Awesome Lists containing this project
README
# Lightweight printf stdio manager
Read first: Documentation
## Features
* Written in C (C11), compatible with ``size_t`` and ``uintmax_t`` types for some specifiers
* Implements output functions compatible with ``printf``, ``vprintf``, ``snprintf``, ``sprintf`` and ``vsnprintf``
* Low-memory footprint, suitable for embedded systems
* Reentrant access to all API functions
* Operating-system ready
* Requires single output function to be implemented by user for ``printf``-like API calls
* With optional functions for operating systems to protect multiple threads printing to the same output stream
* Allows multiple output stream functions (unlike standard ``printf`` which supports only one) to separate parts of application
* Added additional specifiers vs original features
* User friendly MIT license## Contribute
Fresh contributions are always welcome. Simple instructions to proceed:
1. Fork Github repository
2. Follow [C style & coding rules](https://github.com/MaJerle/c-code-style) already used in the project
3. Create a pull request to develop branch with new features or bug fixesAlternatively you may:
1. Report a bug
2. Ask for a feature request