Files
rockblock9704-zephyr/Kconfig
T
scottp 97affae86c Who made it, and why: author, credits, licence and support
The README says who wrote it and the two projects it was built for, WII6
and OGLAS, with their sites; credits Ground Control for the modem and
the library that does the protocol work; and gives the licence with
contact details, where to report issues and what helps in a report, and
that it is not a Ground Control product. The licence, every source file
and the Python package's metadata carry the copyright and email; the
package lists its homepage, repository, issues and changelog.
2026-10-09 13:16:30 +11:00

74 lines
2.1 KiB
Plaintext

# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Scott Penrose <scottp@dd.com.au>
menuconfig RB9704
bool "RockBLOCK 9704 Iridium modem"
default y
depends on DT_HAS_ROCK7_ROCKBLOCK_9704_ENABLED
depends on SERIAL
select RING_BUFFER
select UART_INTERRUPT_DRIVEN
help
Ground Control's RockBLOCK 9704 (Iridium Certus, IMT messages) on the
UART its devicetree node sits on. Builds Ground Control's library,
pinned pristine at modules/lib/rockblock9704, with a Zephyr serial
port and one worker thread that owns it. <rb9704/rb9704.h> is the API.
if RB9704
config RB9704_MESSAGE_MAX
int "Largest message in either direction (bytes)"
default 2048
range 16 100000
help
The modem takes up to 100 kB, and the library keeps one static buffer
of this size for messages out and one for messages in, plus one in
this module for the copy rb9704_send takes. 2 kB is three buffers of
2 kB; raise it as far as the RAM allows.
config RB9704_POWER
bool "Drive the power pins from devicetree"
default y if $(dt_compat_any_has_prop,$(DT_COMPAT_ROCK7_ROCKBLOCK_9704),power-gpios)
select GPIO
help
P_EN, I_EN and I_BTD as the devicetree node gives them. Without
them the modem is taken to be powered, as the board is with the pins
left open.
config RB9704_WORKER_STACK_SIZE
int "Worker thread stack size"
default 8192
help
Measured, not guessed: the library parks a 1.5 kB MT segment on the
stack in rbPoll(), with cJSON's recursion beneath it. A smaller stack
overflows only when a message arrives, which may be days after the
change.
config RB9704_WORKER_PRIORITY
int "Worker thread priority"
default 8
config RB9704_RX_RING_SIZE
int "Serial receive ring (bytes)"
default 8192
help
The library's longest JSPR line is 8 kB.
config RB9704_SHELL
bool "`rb9704` shell command"
default y
depends on SHELL
config RB9704_UPSTREAM_DIR
string "Where Ground Control's library is"
default ""
help
Empty: <west topdir>/modules/lib/rockblock9704, where this
repository's west.yml puts it.
module = RB9704
module-str = rb9704
source "subsys/logging/Kconfig.template.log_config"
endif # RB9704