You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The MultiWii Serial Protocol is the main communication protocol used by all Betaflight derived flight stacks. It’s a binary message based protocol used for control, telemetry and sensors. It normally communicates over a serial port. An example open source C++ implementation can be found here: https://github.com/christianrauch/msp.
For the purpose of SITL simulations, it would be nice to use MSP over TCP (instead of a serial port). This is also the default setting when building the Betaflight SITL target, in which case communication is over TCP port tcp://127.0.0.1:576x.
As a workaround, one can use socat to connect a TCP port with a pseudo serial port (e.g. in combination with https://github.com/christianrauch/msp). Ideally though, we would have a clean C++ implementation to achieve this.
Since Betaflight implemented this solution for their SITL target, we can take a look at their code for inspiration: e.g. tcp_serial.c and the msp folder.
Ultimately, we would like to have a ROS2 node publishing and subscribing to MSP messages, with the option to transfer over either TCP (for SITL) or a serial port (for HITL). An example of this for the serial port version can be found here: https://github.com/christianrauch/multiwii_ros2.
The text was updated successfully, but these errors were encountered:
The MultiWii Serial Protocol is the main communication protocol used by all Betaflight derived flight stacks. It’s a binary message based protocol used for control, telemetry and sensors. It normally communicates over a serial port. An example open source C++ implementation can be found here: https://github.com/christianrauch/msp.
For the purpose of SITL simulations, it would be nice to use MSP over TCP (instead of a serial port). This is also the default setting when building the Betaflight SITL target, in which case communication is over TCP port
tcp://127.0.0.1:576x
.As a workaround, one can use
socat
to connect a TCP port with a pseudo serial port (e.g. in combination with https://github.com/christianrauch/msp). Ideally though, we would have a clean C++ implementation to achieve this.Since Betaflight implemented this solution for their SITL target, we can take a look at their code for inspiration: e.g. tcp_serial.c and the msp folder.
Ultimately, we would like to have a ROS2 node publishing and subscribing to MSP messages, with the option to transfer over either TCP (for SITL) or a serial port (for HITL). An example of this for the serial port version can be found here: https://github.com/christianrauch/multiwii_ros2.
The text was updated successfully, but these errors were encountered: