Post #3923977
2026-07-13 04:58 UTC
CRSF is an amazing protocol: https://github.com/tbs-fpv/tbs-crsf-spec/blob/main/crsf.md
- this markdown doc in a github repo is the sole official spec of a protocol implemented by multiple manufacturers
- name apparently chosen specifically to troll people who work on web stuff (where "CSRF" is the name of an entirely unrelated thing)
- big endian. stop making big endian things. nobody has big endian hardware. you are just making everyone convert between the two on both ends
- defines a bunch of oddly specific device addresses, but also refers to the target address field as a "sync byte". afaict absolutely nothing ever sends or expects anything but 0xC8. this includes things sent *by* the flight controller, which is the thing with address 0xC8
- if you ctrl-F "voltage", the first thing you will find is frame type 0x0E, labeled "Voltages". this does not work, the one you want is 0x08, "Battery Sensor"
- the actual control inputs are sent as sixteen densely packed 11-bit integers, with 992 defined to be the center point, because fuck you that's why
Replies (1)
-
@pearl@fedi.rrr.sh 2026-07-13 06:58
@emily@fedi.uni.horse wait, is that the air protocol or the fc->rx protocol? also any reason you didn't pick ELRS? or did you just have crsf hw already lol