MSP Serial Throughput - stronnag/mwptools GitHub Wiki
MSP Serial Throughput
Overview
Depends on:
- FC type
- Physical interface
Typically one gets around 60 - 100 MSP message round-trips per second. F7 will be faster than F4 and UART is usually faster than VCP (e.g. on F4, VCP c. 60 msp/sec, F4, UART c. 100 msp/sec),
Transport dependency
The above assumes that the transport is capable of 115200 baud speeds and is reliable, even if the FC cannot provide anything like the theoretical speed for small "request / response" messages.
If one uses a slower, less reliable transport then speeds will drop, and some packets may even be lost.
Example
F4 processor, LoRa telemetry radios (Ebyte E220 in transparent mode with "ground" speed 115200 and "air" speed 62500)
mwp in polling / HID mode i.e. includingMSP_SET_RAW_RC
. poll-timeout
at the default (900
).
Note that the link is not 100% reliable, over the period of an hour, 7 messages (out of 61666) are lost (no reply received).
The table below shows the average, minimum and maximum round trip times. The trip time is from sending the message to having received the reply. The Drop
column indicates if one or more messages was lost and was retried.
Message | Average(s) | Minimum(s) | Maximum(s) | Count | Drop |
---|---|---|---|---|---|
MSP:IDENT | 0.049 | 0.049 | 0.049 | 1 | |
MSP:API_VERSION | 0.052 | 0.052 | 0.052 | 1 | |
MSP:NAME | 0.055 | 0.055 | 0.055 | 1 | |
MSP2:INAV_MIXER | 0.055 | 0.055 | 0.055 | 1 | |
MSP:SET_RAW_RC | 0.062 | 0.056 | 1.034 | 20571 | Y |
MSP:BOARD_INFO | 0.058 | 0.058 | 0.058 | 1 | |
MSP:FC_VARIANT | 0.054 | 0.054 | 0.054 | 1 | |
MSP:FEATURE | 0.053 | 0.053 | 0.053 | 1 | |
MSP:BLACKBOX_CONFIG | 0.055 | 0.055 | 0.055 | 1 | |
MSP:FC_VERSION | 0.051 | 0.051 | 0.051 | 1 | |
MSP2:COMMON_SET_TZ | 0.045 | 0.045 | 0.045 | 1 | |
MSP:BUILD_INFO | 0.061 | 0.061 | 0.061 | 1 | |
MSP2:COMMON_SERIAL_CONFIG | 0.080 | 0.080 | 0.080 | 1 | |
MSP:BOXIDS | 0.068 | 0.068 | 0.068 | 1 | |
MSP:WP_GETINFO | 0.053 | 0.053 | 0.053 | 1 | |
MSP:BOX | 0.056 | 0.056 | 0.056 | 1 | |
MSP2:COMMON_SETTING | 0.170 | 0.129 | 0.244 | 6 | |
MSP2:INAV_STATUS | 0.058 | 0.052 | 1.004 | 4973 | Y |
MSP2:SAFEHOME | 0.055 | 0.050 | 0.067 | 8 | |
MSP2:FW_APPROACH | 0.060 | 0.055 | 0.071 | 8 | |
MSP2:GEOZONE | 0.058 | 0.056 | 0.060 | 5 | |
MSP2:GEOZONE_VERTEX | 0.054 | 0.050 | 0.060 | 15 | |
MSP2:ANALOG2 | 0.061 | 0.055 | 0.099 | 1245 | |
MSP:NAV_STATUS | 0.054 | 0.046 | 0.090 | 4977 | |
MSP:RAW_GPS | 0.057 | 0.051 | 0.971 | 4976 | Y |
MSP:COMP_GPS | 0.054 | 0.045 | 1.009 | 4975 | Y |
MSP:GPSSTATISTICS | 0.058 | 0.052 | 0.092 | 4974 | |
MSP:WP | 0.060 | 0.052 | 1.065 | 4974 | Y |
MSP:ATTITUDE | 0.054 | 0.046 | 1.021 | 4972 | Y |
MSP:ALTITUDE | 0.053 | 0.048 | 0.087 | 4971 |
Notes:
- Message names are mwp's approximation to INAV's official nomenclature
MSP:WP
timed-out twice.- Generated with HID enabled mwp 25.04.27:
MWP_MSP_RC="-f boxer.txt" mwp --debug-flags 4
- Reducing
poil-timeout
(e.g. to100
) might be considered for this radio.
Final summary (note 17.1 msp/sec):
13:49:06.505215 3604.437s, rx 1127690b, tx 1218551b, (313b/s, 338b/s) to 7 wait 0, avg poll loop 87 ms messages 61666 msg/s 17.1