Skip to content
Snippets Groups Projects
Select Git revision
  • arpist-upd
  • flight-radar-api
  • replay-segs
  • v0.4
  • rovie-202410
  • main default protected
  • python-tools
  • rocket-mavlink
  • tdl-implementation
  • tgen-lang
  • mavlink
  • v0.3.0
  • v0.2.0
13 results

arpist

  • Clone with SSH
  • Clone with HTTPS
  • ARPIST

    Rust C++

    ARPIST is an acronym for Autonomous Rocket Pointer Interactive Simulation of Telemetry (ARPIST in short).

    In brief, ARPIST is a tool for simulating the transmission of telemetry data from a local device connected via serial port to a board with a radio module equipped, in order to test ARP response to data in a testing environment.

    Getting started

    Prerequisites

    • Rust: Rust need to be installed on the machine where you want to build and run ARPIST. You can find the installation instructions here.
    • C++: The boardcore library, which is used by ARPIST, is written in C++. Consult the Boardcore repo for the installation instructions.

    Installation

    Host-side

    If you want to install ARPIST (host tool) on your machine, you can do it with the following command:

    cargo install --git ssh://git@git.skywarder.eu/federico.lolli/arpist.git

    Board-side

    If you want to install ARPIST (board tool) on your board, you can do it with the following command:

    git clone --recurse-submodules ssh://git@git.skywarder.eu/federico.lolli/arpist.git
    cd arpist/on-device
    ./sbs -f arpist-device-sender

    The above procedure should flash an entrypoint capable of decoding any mavlink messages coming from serial and sending it to the radio.

    Developing

    Both the host-side and the board-side scripts can be found in the justfile file for the sake of simplicity and ease of development.

    First clone the repository:

    git clone --recurse-submodules git@git.skywarder.eu:federico.lolli/arpist.git
    cd arpist

    Host-side

    If you want to develop the host side of ARPIST, you can move to on-host directory and build it with the following command:

    cargo build --release

    The executable will be located in the target/release relative subfolder.

    Board-side

    If you want to develop the board side of ARPIST, you can move to on-device directory and build it with the following command:

    ./sbs -f arpist-device-sender

    To flash the sender, if you want to test on a receiver board, you can flash a dummy receiver with the following command:

    ./sbs -f arpist-device-receiver

    Usage

    ARPIST needs a board with a radio module connected to a serial port to work. The board must have a specific entrypoint flashed (please refer to the installation paragraph above for this).

    Once the board has the correct entrypoint flashed and is connected to the serial port, you can run ARPIST (host-side) with the following command (here we assume that the executable is in scope, if not, you can use the full path to the executable):

    arpist --port <serial_port> <telemetry_file>

    Where <serial_port> is the serial port where the board is connected and <telemetry_file> is the file containing the telemetry data to send to the board.

    To have a more detailed debug output, you can pass the environment variable RUST_LOG with the value debug:

    RUST_LOG=debug arpist --port <serial_port> <telemetry_file>

    NOTE: if a single STM32 compatible board is connected to the serial port, ARPIST will automatically detect it and use it, so you can omit the --port <serial_port> option.