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.9 KiB
Gnuplot
64 lines
1.9 KiB
Gnuplot
# Due to bandwidth limitation, we need to keep the base image into our
|
|
# Artifactory Docker Registry. Because we have more than one registry,
|
|
# we need to set during build time which Artifactory Docker Registry to use.
|
|
ARG DOCKER_REGISTRY
|
|
FROM ${DOCKER_REGISTRY}/ubuntu:focal
|
|
|
|
# install packages from official Ubuntu repo
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
# hadolint ignore=DL3008
|
|
RUN apt-get update && \
|
|
apt-get install --no-install-recommends -y \
|
|
bc \
|
|
build-essential \
|
|
curl \
|
|
dos2unix \
|
|
git \
|
|
lib32stdc++6 \
|
|
mscgen \
|
|
p7zip-full \
|
|
python3 \
|
|
python3-pip \
|
|
tar \
|
|
unzip \
|
|
wget \
|
|
libxml2-utils \
|
|
zip && \
|
|
apt-get autoremove -y && \
|
|
apt-get autoclean -y && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# Create build ARGs for installer files & versions
|
|
ARG GCC=gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
|
|
|
|
# Including dependency folder
|
|
ARG DEPENDENCIESFOLDER=dependenciesFiles
|
|
ARG TOOLS_PATH=/opt
|
|
ARG INSTALLER_PATH=/tmp/dependenciesFiles
|
|
RUN mkdir -p ${INSTALLER_PATH}
|
|
COPY dependenciesFiles/${GCC} ${INSTALLER_PATH}/${GCC}
|
|
COPY dependenciesFiles/buildtools ${TOOLS_PATH}/buildtools
|
|
|
|
# install & setup gcc
|
|
RUN mkdir -p ${TOOLS_PATH}
|
|
WORKDIR ${TOOLS_PATH}
|
|
RUN tar -xvf ${INSTALLER_PATH}/${GCC}
|
|
ENV PATH=${PATH}:${TOOLS_PATH}/gcc-arm-none-eabi-10-2020-q4-major/bin
|
|
ENV CI_GCC_TOOLCHAIN_ROOT=${TOOLS_PATH}/gcc-arm-none-eabi-10-2020-q4-major/bin
|
|
WORKDIR /
|
|
|
|
# install Python requirements
|
|
COPY requirements.txt ${INSTALLER_PATH}/
|
|
# hadolint ignore=DL3013
|
|
RUN python3 -m pip install -U --no-cache-dir pip && \
|
|
python3 -m pip install -U --no-cache-dir -r ${INSTALLER_PATH}/requirements.txt
|
|
|
|
# install buildtools
|
|
RUN python3 -m pip install --no-cache-dir -r ${TOOLS_PATH}/buildtools/requirements.txt
|
|
COPY rtebuild /root/.rtebuild
|
|
ENV PATH=${PATH}:${TOOLS_PATH}/buildtools
|
|
|
|
# remove dependency folder
|
|
RUN rm -rf ${INSTALLER_PATH}
|
|
|
|
CMD ["bash"] |