<commit_before># Easy-AVR-USART-C-Library
An interrupt-driven USART (RS232) library for AVR microcontrollers, with support for multiple UARTs, using ring
buffers for receive/transmit. Designed to be easy to use, especially like arduino libraries (with less overload).

# Features
- easy to use
- support for up to 4 USART's
- allow for binary transmission
- optimized as much as possible to reduce code size
- printf()/scanf() streams compatibility
- and much more

simple "hello world" code gives

		   text	   data	    bss	    dec	    hex	filename
		    428	     14	     68	    510	    1fe	avrt.elf

Program Memory Usage 	:	442 bytes   1,3 % Full
Data Memory Usage 		:	82 bytes   4,0 % Full

defined  NO_USART_RX flag gives

		   text	   data	    bss	    dec	    hex	filename
		    350	     14	     34	    398	    18e	avrt.elf

Program Memory Usage 	:	364 bytes   1,1 % Full
Data Memory Usage 		:	48 bytes   2,3 % Full

For this result additional flag -mrelax is required in many IDE's (eg. Atmel studio 6.2)


# Notes
Lot of terminals sends only CR character as a newline terminator, instead of CRLF or even unix style LF
(BTW PuTTY doesn't allow to change this) but in return requires CRLF terminator to show not broken text.
This behaviour can be covered by RX_NEWLINE_MODE macro, by default set to CRLF.
0 - CR
1 - LF
2 - CRLF (default)
<commit_msg>rdmfix<commit_after># Easy-AVR-USART-C-Library
An interrupt-driven USART (RS232) library for AVR microcontrollers, with support for multiple UARTs, using ring
buffers for receive/transmit. Designed to be easy to use, especially like arduino libraries (with less overload).

# Features
- easy to use
- support for up to 4 USART's
- allow for binary transmission
- optimized as much as possible to reduce code size
- printf()/scanf() streams compatibility
- and much more

simple "hello world" code gives

		   text	   data	    bss	    dec	    hex	filename
		    428	     14	     68	    510	    1fe	avrt.elf

Program Memory Usage 	:	442 bytes   1,3 % Full
Data Memory Usage 		:	82 bytes   4,0 % Full

defined  NO_USART_RX flag gives

		   text	   data	    bss	    dec	    hex	filename
		    350	     14	     34	    398	    18e	avrt.elf

Program Memory Usage 	:	364 bytes   1,1 % Full
Data Memory Usage 		:	48 bytes   2,3 % Full

For this result additional flag -mrelax is required in many IDE's (eg. Atmel studio 6.2)


# Notes
Lot of terminals sends only CR character as a newline terminator, instead of CRLF or even unix style LF
(BTW PuTTY doesn't allow to change this) but in return requires CRLF terminator to show not broken text.
This behaviour can be covered by RX_NEWLINE_MODE macro, by default set to CRLF.

- 0 - CR
- 1 - LF
- 2 - CRLF (default)

{'fraction_non_alphanumeric': 0.05055350553505535, 'fraction_numerical': 0.03690036900369004, 'mean_word_length': 2.7969187675070026, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1805596', 'n_tokens_mistral': 952, 'n_tokens_neox': 836, 'n_words': 392}