cel_crsf_channel_us_to_val() and cel_crsf_channel_val_to_us()
convert between microseconds (988-2012) and 11-bit values (172-1811)
with rounding. cel_crsf_channel_default() fills safe/disarmed values.
cel_crsf_frame_parse() parses ELRS USB format frames:
[addr][length][type][payload...][crc]
cel_crsf_stream_* provides incremental parsing from a byte
stream: skips invalid sync bytes, discards bad CRC frames,
buffers partial frames across feed calls.
The old [0xC8][dest][src][type][size][payload][crc] format was never
used with real hardware. Remove cel_crsf_frame_legacy, *_legacy()
functions, and update tests/tools accordingly.
Switch CRC from CCITT (0x07) to DVB-S2 (0xD5) to match ELRS.
Adopt ELRS USB frame format: [addr][length][type][payload][crc].
Update frame type constants to match current ELRS protocol values.
New skeleton modules (stub implementations with TODO comments):
- crsf_telemetry.h/.c: telemetry decoders (GPS, battery, link..)
- crsf_stream.h/.c: incremental streaming frame reader
- crsf_param.h/.c: parameter protocol (read/write/set_power)
Retained old frame format as *_legacy functions for backward
compatibility with existing telemetry tool and tests.
Add cel_serial_find_elrs_port() and cel_serial_open_probe()
stubs to serial module for port auto-detection and baud probing.