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-04-10 23:58:39 +08:00
|
|
|
# Copyright (c) 2023 Trackunit Corporation
|
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
|
|
|
if(CONFIG_MODEM_MODULES)
|
|
|
|
|
|
|
|
zephyr_library()
|
|
|
|
|
|
|
|
zephyr_library_sources_ifdef(CONFIG_MODEM_CHAT modem_chat.c)
|
|
|
|
zephyr_library_sources_ifdef(CONFIG_MODEM_CMUX modem_cmux.c)
|
|
|
|
zephyr_library_sources_ifdef(CONFIG_MODEM_PIPE modem_pipe.c)
|
2024-05-24 02:08:44 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_MODEM_PIPELINK modem_pipelink.c)
|
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-04-10 23:58:39 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_MODEM_PPP modem_ppp.c)
|
2024-05-10 20:16:31 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_MODEM_STATS modem_stats.c)
|
2024-01-24 19:22:22 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_MODEM_UBX modem_ubx.c)
|
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-04-10 23:58:39 +08:00
|
|
|
|
|
|
|
add_subdirectory(backends)
|
|
|
|
|
|
|
|
endif()
|