uf-crsf 0.5.0

A `no_std` Rust library for parsing the TBS Crossfire protocol, designed for embedded environments
Documentation
# Contributing

First off, thank you for considering contributing to `uf-crsf`!

## Development Environment Setup

1. **Install Rust:** If you don't have Rust installed, you can install it via [rustup]https://rustup.rs/.

2. **Install Development Tools:** Some additional tools are used for development and maintenance.

    ```bash
    cargo install cargo-audit
    ```

    Optionally install `just` by using your favorite [package manager.]https://just.systems/man/en/packages.html#packages

3. **Dependencies for Examples:** To run or compile examples that use a serial port, you may need to install `libudev`. On **Debian-based** systems:

    ```bash
    sudo apt install -y libudev-dev
    ```

    On **Fedora**:

    ```bash
    sudo dnf install systemd-devel
    ```

## Building the Project

To build the project, run the following command:

```bash
cargo build
```

Using `just`:

```bash
just build
```

## Running Tests

### Run all tests

To run all the tests with all features enabled:

```bash
cargo test --all-features -- --show-output
```

Using `just`:

```bash
just test
```

### Run a single test

To run a specific test, you can use the test name as a filter:

```bash
cargo test --all-features <TEST_PATTERN> -- --show-output
```

Replace `<TEST_NAME>` with the name of the test you want to run.

Using `just`:

```bash
just test <TEST_PATTERN>
```

## Running Examples

There are several examples available in the `examples` directory.

### Simple Example

This example parses a hard coded buffer.

```bash
cargo run --example simple
```

Using `just`:

```bash
just example_simple
```

### Raw Packet Example

This example parses raw packets incoming via a USB serial port.

```bash
cargo run --example raw
```

Using `just`:

```bash
just example_raw
```

### Packet Example

This example parses packets incoming via a USB serial port.

```bash
cargo run --example std
```

Using `just`:

```bash
just example_std
```