Skip to content

sm_host: DTE DTR#9

Closed
MarkusLassila wants to merge 9 commits into
nrfconnect:mainfrom
MarkusLassila:sm-host-dtr
Closed

sm_host: DTE DTR#9
MarkusLassila wants to merge 9 commits into
nrfconnect:mainfrom
MarkusLassila:sm-host-dtr

Conversation

@MarkusLassila
Copy link
Copy Markdown
Contributor

sm_host: DTE implementation of DTR.

Implement PIPE interface to Serial Modem UART to be able to use
the same UART implementation for both pure AT-commands and for
CMUXed AT-commands and PPP.

Signed-off-by: Markus Lassila <markus.lassila@nordicsemi.no>
Work in progress: Not ready.

Terms:

Data Terminal Equipment (DTE), AKA. host.
Data Communication Equipment (DCE), AKA. SLM.
Data Terminal Ready (DTR)
Ring Indicate (RI)

DTR operation:

When DCE notices DTR asserted fom DTE, it resumes UART, enables
RX and sends any possibly pending TX data.

When DCE notices DTR deasserted from DTE, it aborts possible TX,
disables RX and suspends UART.

RI operation:

When DCE observes DTR deasserted and it needs to send data, it sets
RI up to notify DTE.

Application integration:

* uart_rx_enable is used as indicator that application is ready.

* UART_RX_BUF_REQUEST is sent by virtual UART to application to
request a buffer.

* Logic level 1 is asserted, use DT to change 0/1 level of that.

TODO:
* sw_dtr should not keep RX buffers. Instead when RX is enabled, feed
  buffer to UART from application call.
* When buffer is needed, make a callback to app to request a buffer.
* When UART is powered down because of DTR, block RX_STOP and RX_DISABLE
  events going to application, so app thinks the UART keeps on going.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
Signed-off-by: Markus Lassila <markus.lassila@nordicsemi.no>
Signed-off-by: Markus Lassila <markus.lassila@nordicsemi.no>
@MarkusLassila MarkusLassila deleted the sm-host-dtr branch November 18, 2025 09:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant