56 lines
1.6 KiB
Bash
Executable File
56 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
# shellcheck disable=SC1091
|
|
source "${SCRIPT_DIR}/load-env.sh"
|
|
blitz_dev_prepare_bside_logging_env
|
|
|
|
cd "${OMNISOCKETGO_ROOT}"
|
|
|
|
export OMNISOCKET_SERVER_ADDR="${ROBOT_SIDE_OMNISOCKET_SERVER_ADDR}"
|
|
export OMNISOCKET_RELAY_VIA="${ROBOT_SIDE_OMNISOCKET_RELAY_VIA}"
|
|
export OMNI_VIDEO_SERVER_ADDR="${OMNI_VIDEO_SERVER_ADDR}"
|
|
export OMNI_VIDEO_RELAY_VIA="${OMNI_VIDEO_RELAY_VIA}"
|
|
export OMNI_CONTROL_SERVER_ADDR="${OMNI_CONTROL_SERVER_ADDR}"
|
|
export OMNI_CONTROL_RELAY_VIA="${OMNI_CONTROL_RELAY_VIA}"
|
|
|
|
logger_pid=""
|
|
|
|
cleanup() {
|
|
if [[ -n "${logger_pid}" ]]; then
|
|
kill "${logger_pid}" 2>/dev/null || true
|
|
wait "${logger_pid}" 2>/dev/null || true
|
|
fi
|
|
}
|
|
|
|
start_5g_link_logger_if_needed() {
|
|
if [[ "${OMNI_BOOT_MODE:-0}" == "1" ]]; then
|
|
return 0
|
|
fi
|
|
bash "${SCRIPT_DIR}/start-5g-link-logger.sh" &
|
|
logger_pid=$!
|
|
echo "[start-b-side-omnid] 5G link logger -> ${BLITZ_5G_LINK_LOG_PATH:-unset}" >&2
|
|
}
|
|
|
|
if [[ ! -x "./bin/b_side_omnid" ]]; then
|
|
if [[ "${OMNI_BOOT_MODE:-0}" == "1" ]]; then
|
|
echo "Missing ./bin/b_side_omnid in boot mode; build it before enabling the autostart service." >&2
|
|
exit 1
|
|
fi
|
|
make b_side_omnid
|
|
fi
|
|
|
|
launch_b_side_omnid() {
|
|
trap cleanup EXIT INT TERM
|
|
start_5g_link_logger_if_needed
|
|
bash "${SCRIPT_DIR}/apply-camera-controls.sh"
|
|
./bin/b_side_omnid
|
|
}
|
|
|
|
if [[ "${B_SIDE_OMNID_USE_SUDO}" == "1" && "${EUID}" -ne 0 ]]; then
|
|
exec sudo -E bash -lc 'cd "$1" && export B_SIDE_OMNID_USE_SUDO=0 && exec bash "$2"' _ "${OMNISOCKETGO_ROOT}" "${SCRIPT_DIR}/start-b-side-omnid.sh"
|
|
fi
|
|
|
|
launch_b_side_omnid
|