Terminal-based RF signal analysis for automotive keyfobs
Rust module: src/protocols/subaru.rs
Reference: REFERENCES/ProtoPirate/protocols/subaru.c
Subaru uses PWM: 800 µs HIGH = 1, 1600 µs HIGH = 0; LOW is 800 µs after each bit. 64 bits total (8 bytes MSB first: button(4) + serial(24) + counter-related). Preamble: 79 full 1600 µs pairs + 80th HIGH only; then gap 2800 µs, sync 2800 µs HIGH + 1600 µs LOW. Complex counter decoding from bytes 4–7.
| Parameter | Value | Notes |
|---|---|---|
| Short (1) | 800 µs | ±200 µs |
| Long (0) | 1600 µs | ±200 µs |
| Gap | 2800 µs | |
| Sync | 2800 µs HIGH + 1600 µs LOW | |
| Min bits | 64 |
PWM: duration of HIGH = bit value (800 = 1, 1600 = 0); LOW 800 µs after each bit.
Supported; builds preamble, gap, sync, then 64 PWM bits.
433.92 MHz (and/or 315 MHz as in reference).