Commit Graph

6 Commits

Author SHA1 Message Date
Tomi Fontanilles
419a398c01 modem: backends: uart_isr: improve the reception of bytes
Add a configurable delay between when a byte is received and
MODEM_PIPE_EVENT_RECEIVE_READY is sent.

This fixes data reception at baud rates above 460800, and
most likely also reduces the workload at any baud rate
when receiving bytes by not going through the work item
and callbacks for every single byte.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2024-03-26 09:29:55 +00:00
Tomi Fontanilles
15cc3ff0d6 modem: backends: uart: register their own log modules
Instead of both using the same modem_backend_uart, for better visibility.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2024-03-26 09:29:55 +00:00
Tomi Fontanilles
5fc02e3501 modem: backends: use CONFIG_MODEM_MODULES_LOG_LEVEL
This makes the modem backends use the log level
set for the modem modules instead of the default one.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2024-02-28 18:02:17 +00:00
Bjarki Arge Andreasen
8c6a9ee594 modem: backend: uart: Implement transmit idle event
Make async and interrupt driven UART backends notify transmit
idle when transmit is idle.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-11 16:09:44 +00:00
Wojciech Slenska
012457580b modem: backends: uart: fix backend selection
Modem backed configs should be used instead of uart.

Signed-off-by: Wojciech Slenska <wsl@trackunit.com>
2023-09-11 16:56:39 -04:00
Bjarki Arge Andreasen
b4cf54b8c3 subsys/modem: Add modem modules
This PR adds the following modem modules to the subsys/modem
folder:

- chat: Light implementation of the Linux chat program, used to
        send and receive text based commands statically created
        scripts.

- cmux: Implementation of the CMUX protocol
- pipe: Thread-safe async data-in/data-out binding layer between
        modem  modules.

- ppp: Implementation of the PPP protocol, binding the Zephyr PPP
       L2 stack with the data-in/data-out pipe.

These modules use the abstract pipes to communicate between each
other. To bind them with the hardware, the following backends
are provided:

- TTY: modem pipe <-> POSIX TTY file
- UART: modem pipe <-> UART, async and ISR APIs supported

The backends are used to abstract away the physical layer, UART,
TTY, IPC, I2C, SPI etc, to a modem modules friendly pipe.

Signed-off-by: Bjarki Arge Andreasen <baa@trackunit.com>
2023-08-30 13:48:51 +02:00