respeaker 0.1.0

USB control library for Seeed ReSpeaker Mic Array v2.0 (LEDs + XVF-3000 DSP tuning)
Documentation
# respeaker

Rust USB control library for the [Seeed ReSpeaker Mic Array v2.0](https://wiki.seeedstudio.com/ReSpeaker_Mic_Array_v2.0/) (`2886:0018`).

Covers:

- **LED ring** — same vendor protocol as [`pixel_ring`]https://github.com/respeaker/pixel_ring (`usb_pixel_ring_v2.py`)
- **DSP tuning** — same vendor protocol as [`tuning.py`]https://github.com/respeaker/usb_4_mic_array (AEC/AGC/NS/DOA/VAD, …)

## Example

```rust
use respeaker::ReSpeaker;

fn main() -> respeaker::Result<()> {
    let dev = ReSpeaker::open()?;
    dev.led().off()?;
    println!("DOA: {}°", dev.tuning().doa_angle()?);
    Ok(())
}
```

### CLI example (clap)

Exercises every LED mode and DSP parameter:

```bash
cargo run --example cli -- --help
cargo run --example cli -- test-all
cargo run --example cli -- test-all --delay-ms 300
cargo run --example cli -- led mono --color ff0000
cargo run --example cli -- led customize
cargo run --example cli -- param read-all
cargo run --example cli -- doa
```

## Permissions (Linux)

```bash
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="2886", ATTR{idProduct}=="0018", MODE="0666"' \
  | sudo tee /etc/udev/rules.d/60-respeaker.rules
sudo udevadm control --reload-rules && sudo udevadm trigger
```