GY-63_MS5611/libraries/PrintSize/readme.md

57 lines
2.1 KiB
Markdown
Raw Normal View History

2021-01-29 06:31:58 -05:00
[![Arduino CI](https://github.com/RobTillaart/PrintSize/workflows/Arduino%20CI/badge.svg)](https://github.com/marketplace/actions/arduino_ci)
2021-11-13 16:52:33 -05:00
[![Arduino-lint](https://github.com/RobTillaart/PrintSize/actions/workflows/arduino-lint.yml/badge.svg)](https://github.com/RobTillaart/PrintSize/actions/workflows/arduino-lint.yml)
[![JSON check](https://github.com/RobTillaart/PrintSize/actions/workflows/jsoncheck.yml/badge.svg)](https://github.com/RobTillaart/PrintSize/actions/workflows/jsoncheck.yml)
2021-01-29 06:31:58 -05:00
[![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/RobTillaart/PrintSize/blob/master/LICENSE)
[![GitHub release](https://img.shields.io/github/release/RobTillaart/PrintSize.svg?maxAge=3600)](https://github.com/RobTillaart/PrintSize/releases)
2020-02-19 04:38:09 -05:00
# PrintSize
2021-11-13 16:52:33 -05:00
Arduino library to determine the length of print statements.
2020-11-27 05:28:57 -05:00
2021-01-29 06:31:58 -05:00
## Description
2020-11-27 05:28:57 -05:00
2020-02-19 04:38:09 -05:00
PrintSize is a minimal library to determine the length of a variable when printed.
2020-11-27 05:28:57 -05:00
This includes printing of floats, integers in decimal or hex notation.
2021-11-13 16:52:33 -05:00
Works for **print()**, **println()** and if supported **printf()** e.g. ESP32.
2020-02-19 04:38:09 -05:00
2020-11-27 05:28:57 -05:00
Finally since **0.2.0** it has a total counter to add up the characters "printed" since
the last **reset()** call. (see example)
2020-02-19 04:38:09 -05:00
2022-11-22 11:00:39 -05:00
This library is related to
- https://github.com/RobTillaart/PrintCharArray (captures data in a buffer)
- https://github.com/RobTillaart/PrintSize. (captures data in a String)
2021-11-13 16:52:33 -05:00
2021-01-29 06:31:58 -05:00
## Operational
2020-11-27 05:28:57 -05:00
2021-11-13 16:52:33 -05:00
Example shows the right alignment of 10 random numbers.
Example shows (elementary) line fitting.
2020-11-27 05:28:57 -05:00
2021-11-13 16:52:33 -05:00
## Applications
2020-02-19 04:38:09 -05:00
Can be used to calculate the needed space.
2021-11-13 16:52:33 -05:00
- to properly do a right alignment e.g. for numbers or variable text.
- do left alignment and overwrite previous output with just enough spaces.
- centring of numbers.
2021-12-24 07:42:31 -05:00
- see if output will fit into a line / display.
2021-11-13 16:52:33 -05:00
- see if a string fits in EEPROM or any other storage medium.
- see if a string fits in a communication buffer.
## Future
- add examples
- add a function to handle **tab** char correctly e.g.
2021-12-24 07:42:31 -05:00
could add more than one char. Interferes with the **write(str, length)**.
2022-11-22 11:00:39 -05:00
- setTabSize(2,4,6, 8...);
- getTabSize();
- uint8_t \_tabSize = 4;
2021-11-13 16:52:33 -05:00
-