Terminal-based RF signal analysis for automotive keyfobs
Rust module: src/protocols/mitsubishi_v0.rs
Reference: REFERENCES/ProtoPirate/protocols/mitsubishi_v0.c
Mitsubishi V0 uses PWM encoding at 250/500 us. 96-bit frame (12 bytes). Level-aware: HIGH pulses are saved, LOW pulses complete the pair. After collection, data is unscrambled via bitwise NOT + counter-derived XOR mask.
| Parameter | Value | Notes |
|---|---|---|
| Short | 250 us | +/-100 us |
| Long | 500 us | +/-100 us |
| Min bits | 80 | |
| Frame | 96 bits | 12 bytes |
| Pair (HIGH, LOW) | Bit |
|---|---|
| Short HIGH + Long LOW | 1 |
| Long HIGH + Short LOW | 0 |
Bits collected MSB-first into a 12-byte buffer.
After unscrambling:
hi = (counter >> 8) & 0xFF, lo = counter & 0xFF.mask1 = (hi & 0xAA) | (lo & 0x55), mask2 = (lo & 0xAA) | (hi & 0x55), mask3 = mask1 ^ mask2.Not supported (decode-only).
868.35 MHz.