Table of Contents > QUARC > User's Guide > Communications
Multiwii Communications
Multiwii is a flight controller communications protocol originally developed for a project using the Nintendo Wiimote. Information about Multiwii may be found at the Multiwii website.
The Multiwii communications blockset may be found under the QUARC Targets/Communications/Multiwii library in the Simulink Library Browser. This blockset includes a large set of blocks designed to interface with Multiwii-based auto-pilot systems. These blocks are designed to be used with non-blocking I/O and are typically used with a serial port connection to the auto-pilot.
Note that most auto-pilots only support a subset of the blocks below. For example, an auto-pilot may return zero values for features it does not support, such as GPS. |
Multiwii communications are established with a flight controller using the Multiwii Connect block. The underlying protocol to use for Multiwii is determined using the standard QUARC URI paradigm for communications. For Multiwii, communications with the flight controller is typically based on a serial connection to the QUARC target platform. Hence, a URI such as serial://localhost:1?baud=115200,word=8,parity=none,stop=1 might be used.
Multiwii is a command-request protocol, so blocks that receive data send a packet to the flight controller requesting the data. The Multiwii blocks use blocking I/O so that the data is available immediately. Be aware that if the baud rate is low then the response time may be slow. For example, at 115200 baud only 11 bytes may be sent or received each sample time when the sampling period is one millisecond and the serial link is 8N1.
The list of Multiwii blocks is enumerated below:
Connects to the auto-pilot. |
|
Reads the altitude of the aircraft. |
|
Reads the analog sensors, such as voltage and current measurements. |
|
Reads the attitude of the aircraft, including its heading. |
|
Binds to satellites. |
|
Gets the box identifiers used by the auto-pilot. |
|
Calibrates auto-pilot sensors. |
|
Gets the GPS coordinates relative to the home location. |
|
Writes the settings to the auto-pilot EEPROM. |
|
Sets a new heading lock reference. |
|
Gets information about the auto-pilot. |
|
Gets raw IMU sensor data from the auto-pilot. |
|
Gets the motor pin indications from the auto-pilot. |
|
Gets the names of the boxes or PID items from the auto-pilot. |
|
Reads the commands for the servos or motors from the auto-pilot. |
|
Reads the box items from the auto-pilot. Each word in the output array is a bitmask of activation switches. |
|
Reads the raw GPS data from the auto-pilot. |
|
Reads miscellaneous information from the auto-pilot, such as thresholds, triggers and counters. |
|
Reads PID gains from the auto-pilot. |
|
Reads RC values from the auto-pilot. |
|
Reads RC tuning parameters from the auto-pilot. |
|
Reads the servo configuration from the auto-pilot. |
|
Reads the current waypoint from the auto-pilot. |
|
Resets all parameters to defaults in the auto-pilot. |
|
Select the setting configuration for the auto-pilot. |
|
Gets the status of the auto-pilot. |
|
Writes the commands for the motors to the auto-pilot. |
|
Writes box items to the auto-pilot. Each word in the input array is a bitmask of activation switches. |
|
Writes raw GPS data to the auto-pilot. The data is injected into the GPS stream. |
|
Writes miscellaneous information from the auto-pilot, such as thresholds, triggers and counters. |
|
Writes PID gains to the auto-pilot. |
|
Writes raw RC values to the auto-pilot. |
|
Writes RC tuning parameters to the auto-pilot. |
|
Writes the servo configuration to the auto-pilot. |
|
Writes a new waypoint to the auto-pilot. |
|
Writes a new waypoint to the auto-pilot. |
|
Gets debug values from the auto-pilot. |
Copyright ©2024 Quanser Inc. This page was generated 2024-10-17. Submit feedback to Quanser about this page.
Link to this page.