zephyr/drivers/modem
Jordan Yates 95d8deb572 modem: modem_iface_uart_async: added
Adds a communications backend based on the asynchronous UART API,
instead of the interrupt-driven UART API. The primary advantage of this
backend is an improved robustness to dropping bytes under high interrupt
or critical section loads.

Under all loads system efficiency is improved by:
 * Reducing the time spent writing out individual bytes.
 * Reducing the number of UART interrupts fired.
 * Waking up the RX thread much less often.

When utilising this backend over `nordic,nrf-uarte` on a nRF52840, the
baudrate of an esp-at modem could be pushed to at least 921600 without
dropping bytes, compared to a maximum of 230400 with the interrupt API.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2022-05-10 10:44:04 +02:00
..
CMakeLists.txt modem: modem_iface_uart_async: added 2022-05-10 10:44:04 +02:00
gsm_ppp.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
hl7800.c modem: hl7800: fix UART shutdown 2022-05-06 20:17:23 +02:00
Kconfig modem: modem_iface_uart_async: added 2022-05-10 10:44:04 +02:00
Kconfig.gsm drivers: modem: gsm: wait for cellular registration 2022-03-16 10:23:32 +01:00
Kconfig.hl7800 modem: hl7800: add API to set bands 2022-03-30 11:39:06 +02:00
Kconfig.quectel-bg9x kconfig: remove Enable from boolean prompts 2022-03-09 15:35:54 +01:00
Kconfig.simcom-sim7080 everywhere: fix typos 2022-03-14 20:22:24 -04:00
Kconfig.ublox-sara-r4 kconfig: remove Enable from boolean prompts 2022-03-09 15:35:54 +01:00
Kconfig.wncm14a2a kconfig: remove Enable from boolean prompts 2022-03-09 15:35:54 +01:00
modem_cmd_handler.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
modem_cmd_handler.h drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
modem_context.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
modem_context.h drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
modem_iface_uart.h modem: modem_iface_uart_async: added 2022-05-10 10:44:04 +02:00
modem_iface_uart_async.c modem: modem_iface_uart_async: added 2022-05-10 10:44:04 +02:00
modem_iface_uart_interrupt.c modem: choice symbol for UART backend 2022-05-10 10:44:04 +02:00
modem_pin.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
modem_receiver.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
modem_receiver.h drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
modem_shell.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
modem_socket.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
modem_socket.h drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
quectel-bg9x.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
quectel-bg9x.h drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
simcom-sim7080.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
simcom-sim7080.h drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
ublox-sara-r4.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
wncm14a2a.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00