GY-63_MS5611/libraries/ANSI/README.md

71 lines
2.4 KiB
Markdown
Raw Normal View History

2021-01-29 06:31:58 -05:00
[![Arduino CI](https://github.com/RobTillaart/ANSI/workflows/Arduino%20CI/badge.svg)](https://github.com/marketplace/actions/arduino_ci)
2021-10-18 10:35:48 -04:00
[![Arduino-lint](https://github.com/RobTillaart/ANSI/actions/workflows/arduino-lint.yml/badge.svg)](https://github.com/RobTillaart/ANSI/actions/workflows/arduino-lint.yml)
[![JSON check](https://github.com/RobTillaart/ANSI/actions/workflows/jsoncheck.yml/badge.svg)](https://github.com/RobTillaart/ANSI/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/ANSI/blob/master/LICENSE)
[![GitHub release](https://img.shields.io/github/release/RobTillaart/ANSI.svg?maxAge=3600)](https://github.com/RobTillaart/ANSI/releases)
# ANSI
Arduino library with basic ANSI display codes for terminal applications.
# Description
2021-10-18 10:35:48 -04:00
ANSI codes are special codes that are send to a terminal e.g. VT100 to add
2021-01-29 06:31:58 -05:00
attributes to displayed characters.
2021-10-18 10:35:48 -04:00
Typical examples are bold, blink or colour.
2021-01-29 06:31:58 -05:00
Also known as escape codes the set of codes is large, however not
all terminal types do support all codes.
2021-10-18 10:35:48 -04:00
Sending these ANSI codes to a simple ASCII only terminal like the one in the Arduino
IDE might result in garbage. So use with care.
2021-01-29 06:31:58 -05:00
## Terminals tested
Tests are done with
2021-10-18 10:35:48 -04:00
- TeraTerm 4.102 + 4.106 (VT100, VT202, VT525 mode)
2021-01-29 06:31:58 -05:00
- Putty 0.71
2021-10-18 10:35:48 -04:00
Other terminal program's exist so please let me know if yours is working too.
2021-01-29 06:31:58 -05:00
If not, please open an issue.
2021-12-13 10:45:59 -05:00
## Operation
2021-01-29 06:31:58 -05:00
See examples
2021-12-13 10:45:59 -05:00
## Performance
Since 0.1.5 there is some focus on performance.
Using **ansi.print()** and **ansi.println()** for printing text and numbers is
improved a bit since 0.1.4 by adding the private **write(array, length)**.
2022-08-24 05:00:54 -04:00
## Experimental 0.1.6
Version 0.1.6 added a number of experimental function that need more testing.
Some are working, others are unclear, but the user can uncomment these and
experiment with them if needed.
Also added is the **int deviceType()** function which also need more testing
As always, constructive feedback is welcome.
2021-12-13 10:45:59 -05:00
## Future
- test more terminal programs (Linux mac)
- write more examples
- DOS emulator?
- increase functionality
- which codes are useful ?
- investigate performance. (first step made in 0.1.5 but more possible)
- add line buffer in write(c) to improve throughput?
- need for flush() with line buffer?
- rewrite functions, replace print() by **\_stream->write()** calls? (effect on size?)