Skip to content

[FR] USB-UART: Support configurable framing and inversion#546

Description

@aaronjamt

Description of the feature you're suggesting.

I've noticed a few major features missing in the USB-UART app:

  1. While the firmware supports configuring the serial port's framing (data bits, parity, and stop bits), there is no way to set any mode other than the default (8N1). This should be, at minimum, configurable at runtime by the host, and possibly also from the UI.
  2. The flow control GPIO lines (RTS and DTR) are always inverted (i.e. setting RTS=false from the host results in the configured RTS line being driven HIGH, and vice versa). There should be an option to configure whether these pins are inverted or not. At minimum, there should be a global inversion option, or ideally a way to configure inversion per-pin.
  3. Currently only RTS and DTR are available for flow control. There are plenty of pins on the Flipper, so there's no reason we shouldn't support all 6 control lines (RTS, CTS, DTS, DTR, RI, DCD).

Tracking:

  • Framing
    • Host-controlled
    • Device-controlled
  • Flow-control inversion
    • Global
    • Per-pin
  • Additional flow-control lines
    • CTS
    • DTS
    • RI
    • DCD

Anything else?

No response

Metadata

Metadata

Assignees

Labels

featureNew feature or requestgpio

Projects

Status
Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions