trait = "uses-serial"
doc = "Daemons with this trait use some kind of serial communication."
requires = []

[messages.direct_serial_write]
doc = """
Expose direct access to the serial port to clients.

This should not be encouraged for normal use, but may be very important for debugging.
If a device is expected to return data, it should be logged at the INFO level, not returned to the client.
This is done to allow long tasks to be run asynchronously, and to explicitly discourage use of this method except when debugging.
Setting `busy` to true is encouraged, but individual daemon writers should consider their own use case.
"""
request = [
  {"name"="message", "type"="bytes"}
]