Skip to content

Commit

Permalink
chore: add startup workaround for SpeederPad (#203)
Browse files Browse the repository at this point in the history
  • Loading branch information
mryel00 authored Nov 13, 2023
1 parent 549f7d4 commit 2d53cc4
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 2 deletions.
11 changes: 10 additions & 1 deletion crowsnest
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ if [ "$#" -eq 0 ]; then
fi

## Parse Args
while getopts ":vhc:d" arg; do
while getopts ":vhc:s:d" arg; do
case "${arg}" in
v )
echo -e "\ncrowsnest Version: $(self_version)\n"
Expand All @@ -55,6 +55,15 @@ while getopts ":vhc:d" arg; do
check_cfg "${OPTARG}"
export CROWSNEST_CFG="${OPTARG}"
;;
s )
if [[ "$(awk '{print $1}' /proc/uptime | cut -d '.' -f 1)" -lt "120" ]]; then
if [[ "${OPTARG}" ]]; then
sleep "${OPTARG}"
else
sleep 5
fi
fi
;;
d )
set -x
;;
Expand Down
3 changes: 2 additions & 1 deletion libs/messages.sh
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@ function help_msg {
echo -e "\t crowsnest [Options]"
echo -e "\n\t\t-h Prints this help."
echo -e "\n\t\t-v Prints Version of crowsnest."
echo -e "\n\t\t-c </path/to/configfile>\n\t\t\tPath to your webcam.conf\n"
echo -e "\n\t\t-c </path/to/configfile>\n\t\t\tPath to your webcam.conf"
echo -e "\n\t\t-s <sleep_seconds>\n\t\t\tDelay start \(in seconds\) after boot\n"
}

function deprecated_msg_1 {
Expand Down
6 changes: 6 additions & 0 deletions tools/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,12 @@ main() {
status_msg "Install environment file ..." "1"
fi

if [[ "$(is_speederpad)" = "1" ]]; then
msg "\nSpeederpad detected!"
msg "Add startup delay to environment file ...\n"
add_sleep_to_crowsnest_env
fi

if install_logrotate_conf; then
status_msg "Install logrotate configuration ..." "0"
else
Expand Down
18 changes: 18 additions & 0 deletions tools/libs/core.sh
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,15 @@ is_ubuntu_arm() {
fi
}

is_speederpad() {
if grep -q "Ubuntu 20.04." /etc/os-release &&
[[ "$(uname -rm)" = "4.9.191 aarch64" ]]; then
echo "1"
else
echo "0"
fi
}

test_load_module() {
if modprobe -n "${1}" &> /dev/null; then
echo 1
Expand Down Expand Up @@ -189,6 +198,15 @@ install_service_file() {
grep -q "${BASE_USER}" "${target_dir}/crowsnest.service" || return 1
}

add_sleep_to_crowsnest_env() {
local service_file
env_file="${CROWSNEST_ENV_PATH}/crowsnest.env"

if [[ -f "${env_file}" ]]; then
sed -i 's/\(CROWSNEST_ARGS="[^"]*\)"/\1 -s"/' "${env_file}"
fi
}

install_env_file() {
local env_file env_target
env_file="${PWD}/resources/crowsnest.env"
Expand Down

0 comments on commit 2d53cc4

Please sign in to comment.