Skip to content

undergnd/radio-link-tester

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Radio Link Tester

Projekt embedded do testowania linku radiowego, bazowany na:

CMake jako system builda

czysta architektura (core / app / platform)

testy hostowe (PC)

brak zależności od vendor IDE

Struktura projektu .

├── core/ # logika niezależna od sprzętu (C)

├── app/ # warstwa orchestration (C)

├── platform/ # implementacje dla MCU (BlueNRG-LP)

├── tests/ # testy hostowe (C++)

├── cmake/ # toolchainy i konfiguracja

└── CMakeLists.txt

Architektura

Pipeline przetwarzania:

bytes → radio_frame → tester_protocol → tester_sm → state radio_frame – parsowanie i walidacja ramki tester_protocol – mapowanie ramki na event tester_sm – state machine testera app_controller – spina całość

Wymagania Linux

Zainstaluj:

sudo apt install cmake ninja-build gcc g++ git ARM toolchain sudo apt install gcc-arm-none-eabi

Build i testy (host) cmake -S . -B build -G Ninja -DBUILD_TESTS=ON -DBUILD_FIRMWARE=OFF cmake --build build ctest --test-dir build --output-on-failure

Build firmware (BlueNRG-LP) cmake -S . -B build-fw -G Ninja
-DCMAKE_TOOLCHAIN_FILE=cmake/toolchains/arm-gcc.cmake
-DBUILD_TESTS=OFF
-DBUILD_FIRMWARE=ON

cmake --build build-fw

Wyniki builda firmware

Po buildzie:

build-fw/platform/bluenrg_lp/

├── bluenrg_lp_firmware # ELF

├── bluenrg_lp_firmware.bin

├── bluenrg_lp_firmware.hex

├── bluenrg_lp_firmware.map

Przydatne komendy Rozmiar firmware arm-none-eabi-size build-fw/platform/bluenrg_lp/bluenrg_lp_firmware Sekcje arm-none-eabi-objdump -h build-fw/platform/bluenrg_lp/bluenrg_lp_firmware

Testowanie

Testy działają na PC i obejmują:

parser ramek state machine protokół pełny flow (app_controller)

Status

Aktualnie:

✔ działający build hostowy

✔ testy jednostkowe

✔ firmware target dla BlueNRG-LP

✔ generowanie ELF / BIN / HEX

✔ podstawowa architektura

TODO platform layer (UART / radio input) integracja BLE stack CI (GitHub Actions) kolejne platformy (STM32WB)

Założenia projektowe brak overengineeringu testowalność od początku separacja logiki od hardware CMake jako jedyny system builda

Licencja

TBD

About

Tool for distance and RSSI estimation for various of BLE radio settings.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors