This repository has been archived by the owner on Dec 14, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 21
/
protocols.txt
79 lines (63 loc) · 2.36 KB
/
protocols.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
General format of packet
*********************************************************************
------------------------------------------------------------------
SrcID DestID PacketIdentifier PayloadLen Payload PacketCRC8
1 byte 1 byte 4 bits 4 bits 0 to 15 bytes 1byte
------------------------------------------------------------------
SrcID and DestID
*********************************************************************
If packet is originating from transmitter, then SrcID is the TxID
Similary if packet is originating from receiver, then SrcID is the RcvrID
Allowed transmitter IDs range from 0x01 to 0xFF. TxID 0x00 reserved
Allowed receiver IDs range from 0x01 to 0xFF, RxID 0X00 used when binding
Packet Identifier types
*********************************************************************
Type: Priority
Bind 1
AckBind 1
ReadRxConfig 2
SetRxConfig 2
AckRxConfig 2
RcData 3
Telemetry 3
Servo data
*********************************************************************
Servo data encoded with 10 bits. Some flags are also transmitted.
Byte0 11111111
Byte1 11222222
Byte2 22223333
Byte3 33333344
Byte4 44444444
Byte5 55555555
Byte6 55666666
Byte7 66667777
Byte8 77777788
Byte9 88888888
Byte10 99999999
Byte11 990ftddd
Flags:
f - Is failsafe data
t - return telemetry
ddd - The current tx rf power level
Bind data
*********************************************************************
Transmitter to receiver:
Payload bytes0-n hop channels, each channel 1 byte.
To acknowledge bind, the receiver simply returns its ID as payload with
packet Identifier as BindAck and srcID as 0x80
Output Channel configuration settings
*********************************************************************
9 payload bytes are sent to receiver, 1 byte for each output channel.
Values:
0 Set output as Digital
1 Set output as ServoPWM
2 Set analog PWM
To acknowledge the settings, the receiver simply returns
an empty payload but with packet identifier as AckRxConfig
Telemetry data from receiver
*********************************************************************
Payload
Byte0 Average packet rate seen by receiver
Byte1 vvvvvvvv
Byte2 vvvv0000
v - voltage telemetry