9 bit Hardware Serial for SAMD21 available

Hi,

Hardware Serial 9 bit for SAMD, version 1.8.13

if anyone else interested to use/test/enhance:

Changed files:

C:\Users\XXXX\AppData\Local\Arduino15\packages\arduino\hardware\samd\1.8.13\cores\arduino\

Uart.h
Uart.cpp
SERCOM.h
SERCOM.cpp
SaveRingBuffer.h
RingBuffer.h
api/RingBuffer.h
api/HardwareSerial.h
USB/USBAPI.h
USB/CDC.cpp

Notes:

  • Use write9bit(uint8_t data) for 9th bit set (use write(uint8_t data) for 9th bit not set).
    This keeps exiting code with standard write(uint8_t data) compatible.
  • set_tx_mode() set_rx_mode() (half duplex)
  • yes, rx/tx buffers memory footprint are doubled

Example attached (for "Arduino M0 HWSERIAL9BIT" Arduino IDE board entry).

Hw9w.ino (1.66 KB)