Features: - VFO mode with direct frequency input - POCSAG decoder (512/1200 baud) with BCH(31,21) correction - Full-screen Spectrum analyzer - FM Radio receiver - RSSI signal indicator overlay - Custom boot splash (UA1ZBE / POCSAG pager / build date) Architecture: - app/mode.c — mode dispatcher (VFO/POCSAG/Spectrum/FM) - app/boot_splash.c — 2-second boot splash - app/pocsag/ — POCSAG decoder + BCH correction - app/display_rssi.c — RSSI indicator - main.c — entry point with custom init - syscalls.c — bare-metal _sbrk stub Build: arm-none-eabi-gcc -Os -flto -Wall -Werror -Wextra Size: 57.9KB Flash / 3.6KB RAM Controls: - 0-9: Direct frequency input (VFO) - SK2: POCSAG mode - SK1: Spectrum analyzer - 0: FM Radio - EXIT: Return to VFO - F/*: Toggle 512/1200 baud (in POCSAG)
64 lines
1.6 KiB
Bash
64 lines
1.6 KiB
Bash
#!/bin/bash
|
|
|
|
PACKCHK_VERSION=1.3.95
|
|
SVDCONV_VERSION=3.3.42
|
|
|
|
REPO_URL=https://github.com/Open-CMSIS-Pack/devtools
|
|
DOWNLOAD_URL=${REPO_URL}/releases/download/
|
|
DIRNAME=$(dirname $0)
|
|
|
|
set -o pipefail
|
|
|
|
function usage {
|
|
echo "$(basename $0) [-h|--help] [-f|--force]"
|
|
echo ""
|
|
echo "Arguments:"
|
|
echo " -h|--help Print this usage message and exit."
|
|
echo " -f|--force Force (re)download."
|
|
echo ""
|
|
echo "Environment:"
|
|
echo " curl"
|
|
echo " sha256sum"
|
|
echo ""
|
|
}
|
|
|
|
function fetch {
|
|
mkdir -p ${DIRNAME}/$2
|
|
pushd ${DIRNAME}/$2 >/dev/null
|
|
curl -O -L $1
|
|
unzip -o $(basename $1)
|
|
rm $(basename $1)
|
|
popd >/dev/null
|
|
}
|
|
|
|
POSITIONAL=()
|
|
while [[ $# -gt 0 ]]
|
|
do
|
|
key="$1"
|
|
|
|
case $key in
|
|
'-h'|'--help')
|
|
usage
|
|
exit 1
|
|
;;
|
|
'-f'|'--force')
|
|
FORCE=1
|
|
;;
|
|
*) # unknown option
|
|
POSITIONAL+=("$1") # save it in an array for later
|
|
;;
|
|
esac
|
|
shift # past argument
|
|
done
|
|
set -- "${POSITIONAL[@]}" # restore positional parameters
|
|
|
|
fetch "${DOWNLOAD_URL}/tools%2Fpackchk%2F${PACKCHK_VERSION}/packchk-${PACKCHK_VERSION}-darwin64.zip" Darwin64
|
|
fetch "${DOWNLOAD_URL}/tools%2Fpackchk%2F${PACKCHK_VERSION}/packchk-${PACKCHK_VERSION}-linux64.zip" Linux64
|
|
fetch "${DOWNLOAD_URL}/tools%2Fpackchk%2F${PACKCHK_VERSION}/packchk-${PACKCHK_VERSION}-windows64.zip" Win32
|
|
|
|
fetch "${DOWNLOAD_URL}/tools%2Fsvdconv%2F${SVDCONV_VERSION}/svdconv-${SVDCONV_VERSION}-darwin64.zip" Darwin64
|
|
fetch "${DOWNLOAD_URL}/tools%2Fsvdconv%2F${SVDCONV_VERSION}/svdconv-${SVDCONV_VERSION}-linux64.zip" Linux64
|
|
fetch "${DOWNLOAD_URL}/tools%2Fsvdconv%2F${SVDCONV_VERSION}/svdconv-${SVDCONV_VERSION}-windows64.zip" Win32
|
|
|
|
exit 0
|