VP-Digi jest funkcjonalnym, tanim, łatwym w budowie i konfiguracji kontrolerem digipeatera APRS opartym na procesorze STM32 z wbudowanym TNC KISS. VP-Digi może również działać na AIOC!
Najnowsze skompilowane oprogramowanie można znaleźć tutaj.
Pełną dokumentację można znaleźć tutaj.
W wersji 2.0.0 wartości komponentów zostały zmienione, aby umożliwić obsługę szybszych modulacji (9600 Bd). W przypadku potrzeby użycia tych modulacji niektóre komponenty muszą zostać wymienione. Więcej informacji dostępnych jest w instrukcji obsługi.
Instrukcja użytkownika i opis techniczny są dostępne tutaj.
Firmware został napisany w środowisku STM32CubeIDE, gdzie można bezpośrednio zaimportować projekt. Kod źródłowy można pobrać za pomocą:
git clone https://github.com/sq8vps/vp-digi.git
Począwszy od wersji 2.0.0 konieczne jest także pobranie odpowiedniego modułu (LwFEC dla obsługi kodowania Reeda-Solomona):
git submodule init
git submodule update
Począwszy od wersji 2.2.0, VP-Digi może także działać na AIOC AIOC. Kod źródłowy jest wspólny dla płytek "Blue Pill" i AIOC.
Do wyboru są dwa pliki konfiguracyjne do STM32CubeMX: vp-digi.ioc i vp-digi_aioc.ioc. W celu poprawnej kompilacji i uruchomienia projektu należy:
vp-digi.ioc albo vp-digi_aioc.ioc w STM32CubeMX, w zależności od docelowej platformy.lwfec do kompilacji. W STM32CubeIDE można to zrobić w zakładkach Project->Properties->C/C++ General->Paths and Symbols in Includes i Source Locations.Optimize For Size (-Os) dla kompilacji release lub Optimize for Debug (-Og) dla kompilacji debug.
W STM32CubeIDE można to zrobić w zakładce Project->Properties->C/C++ Build->Settings->MCU GCC Compiler->Optimization. W przeciwnym wypadku program nie zmieści się w pamięci.Począwszy od wersji 2.0.0 istnieje również możliwość kompilowania oprogramowania z obsługą lub bez obsługi protokołu FX.25.
Symbol ENABLE_FX25 musi zostać zdefiniowany, aby włączyć obsługę FX.25. W STM32CubeIDE można to zrobić w menu Project->Properties->C/C++ Build->Settings->MCU GCC Compiler->Preprocessor->Defined symbols.
W przypadku ponownego budowania projektu dla innej platformy, należy przejść przez kroki opisane powyżej. Niestety pewne pliki mogą pozostać lub nie być ponownie wygenerowane, co poskutkuje błędem kompilacji.
Należy usunąć katalogi Drivers, Middlewares, USB_DEVICE z wyłączeniem pliku USB_DEVICE/App/usbd_cdc_if.c,
Core/Startup, pliki stm32f*_hal_msp.c, syscalls.c, sysmem.c, gpio.c, system_stm32f*.c z katalogu Core/Src, stm32f*_it.h, stm32f*_hal_conf.h, gpio.h z katalogu Core/Inc oraz .project, .cproject i .mxproject z głównego katalogu.
Każdy wkład jest mile widziany.
Projekt jest objęty licencją GNU GPL v3 (zobacz LICENSE).