# ARPIST   **ARPIST** is an acronym for **A**utonomous **R**ocket **P**ointer **I**nteractive **S**imulation of **T**elemetry (**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](https://www.rust-lang.org/tools/install). ### Installation If you want to install ARPIST on your machine, you can do it with the following command: ```bash cargo install --git ssh://git@git.skywarder.eu/federico.lolli/arpist.git ``` ### Developing If you want to develop ARPIST, you can clone the repository and build it with the following commands: ```bash git clone git@git.skywarder.eu:federico.lolli/arpist.git cd arpist cargo build --release ``` The executable will be located in the `target/release` folder. ## Usage ARPIST needs a board with a radio module connected to a serial port to work. The board must have a specific entrypoint flashed, which can be found on the [Boardcore repo](https://git.skywarder.eu/avn/swd/skyward-boardcore), [here](https://git.skywarder.eu/avn/swd/skyward-boardcore/-/blob/nokia-tm-dev/src/entrypoints/sx1278-mav-raw.cpp) precisely. Once the board has the correct entrypoint flashed, is connected to the serial port and the serial port, you can run ARPIST with the following command: ```bash 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. **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.