mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-06-02 11:59:17 +08:00
mavlink add minimal mode (#8947)
This commit is contained in:
@@ -651,9 +651,25 @@ then
|
|||||||
fi
|
fi
|
||||||
if param compare SYS_COMPANION 419200
|
if param compare SYS_COMPANION 419200
|
||||||
then
|
then
|
||||||
iridiumsbd start -d /dev/ttyS2
|
iridiumsbd start -d ${MAVLINK_COMPANION_DEVICE}
|
||||||
mavlink start -d /dev/iridium -b 19200 -m iridium -r 10
|
mavlink start -d /dev/iridium -b 19200 -m iridium -r 10
|
||||||
fi
|
fi
|
||||||
|
if param compare SYS_COMPANION 519200
|
||||||
|
then
|
||||||
|
mavlink start -d ${MAVLINK_COMPANION_DEVICE} -b 19200 -m minimal -r 1000
|
||||||
|
fi
|
||||||
|
if param compare SYS_COMPANION 538400
|
||||||
|
then
|
||||||
|
mavlink start -d ${MAVLINK_COMPANION_DEVICE} -b 38400 -m minimal -r 1000
|
||||||
|
fi
|
||||||
|
if param compare SYS_COMPANION 557600
|
||||||
|
then
|
||||||
|
mavlink start -d ${MAVLINK_COMPANION_DEVICE} -b 57600 -m minimal -r 1000
|
||||||
|
fi
|
||||||
|
if param compare SYS_COMPANION 5115200
|
||||||
|
then
|
||||||
|
mavlink start -d ${MAVLINK_COMPANION_DEVICE} -b 115200 -m minimal -r 1000
|
||||||
|
fi
|
||||||
if param compare SYS_COMPANION 1921600
|
if param compare SYS_COMPANION 1921600
|
||||||
then
|
then
|
||||||
mavlink start -d ${MAVLINK_COMPANION_DEVICE} -b 921600 -r 20000
|
mavlink start -d ${MAVLINK_COMPANION_DEVICE} -b 921600 -r 20000
|
||||||
|
|||||||
@@ -369,12 +369,6 @@ Mavlink::count_txerr()
|
|||||||
perf_count(_txerr_perf);
|
perf_count(_txerr_perf);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
Mavlink::set_mode(enum MAVLINK_MODE mode)
|
|
||||||
{
|
|
||||||
_mode = mode;
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
int
|
||||||
Mavlink::instance_count()
|
Mavlink::instance_count()
|
||||||
{
|
{
|
||||||
@@ -1871,6 +1865,9 @@ Mavlink::task_main(int argc, char *argv[])
|
|||||||
} else if (strcmp(myoptarg, "iridium") == 0) {
|
} else if (strcmp(myoptarg, "iridium") == 0) {
|
||||||
_mode = MAVLINK_MODE_IRIDIUM;
|
_mode = MAVLINK_MODE_IRIDIUM;
|
||||||
_rstatus.type = telemetry_status_s::TELEMETRY_STATUS_RADIO_TYPE_IRIDIUM;
|
_rstatus.type = telemetry_status_s::TELEMETRY_STATUS_RADIO_TYPE_IRIDIUM;
|
||||||
|
|
||||||
|
} else if (strcmp(myoptarg, "minimal") == 0) {
|
||||||
|
_mode = MAVLINK_MODE_MINIMAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@@ -2121,6 +2118,19 @@ Mavlink::task_main(int argc, char *argv[])
|
|||||||
configure_stream("HIGH_LATENCY", 0.1f);
|
configure_stream("HIGH_LATENCY", 0.1f);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case MAVLINK_MODE_MINIMAL:
|
||||||
|
configure_stream("SYS_STATUS", 0.1f);
|
||||||
|
configure_stream("EXTENDED_SYS_STATE", 0.1f);
|
||||||
|
configure_stream("ATTITUDE", 10.0f);
|
||||||
|
configure_stream("RC_CHANNELS", 0.5f);
|
||||||
|
configure_stream("ALTITUDE", 0.5f);
|
||||||
|
configure_stream("GPS_RAW_INT", 0.5f);
|
||||||
|
configure_stream("GLOBAL_POSITION_INT", 5.0f);
|
||||||
|
configure_stream("HOME_POSITION", 0.1f);
|
||||||
|
configure_stream("NAMED_VALUE_FLOAT", 1.0f);
|
||||||
|
configure_stream("VFR_HUD", 1.0f);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -2773,7 +2783,7 @@ $ mavlink stream -u 14556 -s HIGHRES_IMU -r 50
|
|||||||
PRINT_MODULE_USAGE_PARAM_STRING('t', "127.0.0.1", nullptr,
|
PRINT_MODULE_USAGE_PARAM_STRING('t', "127.0.0.1", nullptr,
|
||||||
"Partner IP (broadcasting can be enabled via MAV_BROADCAST param)", true);
|
"Partner IP (broadcasting can be enabled via MAV_BROADCAST param)", true);
|
||||||
#endif
|
#endif
|
||||||
PRINT_MODULE_USAGE_PARAM_STRING('m', "normal", "custom|camera|onboard|osd|magic|config|iridium",
|
PRINT_MODULE_USAGE_PARAM_STRING('m', "normal", "custom|camera|onboard|osd|magic|config|iridium|minimal",
|
||||||
"Mode: sets default streams and rates", true);
|
"Mode: sets default streams and rates", true);
|
||||||
PRINT_MODULE_USAGE_PARAM_FLAG('f', "Enable message forwarding to other Mavlink instances", true);
|
PRINT_MODULE_USAGE_PARAM_FLAG('f', "Enable message forwarding to other Mavlink instances", true);
|
||||||
PRINT_MODULE_USAGE_PARAM_FLAG('w', "Wait to send, until first message received", true);
|
PRINT_MODULE_USAGE_PARAM_FLAG('w', "Wait to send, until first message received", true);
|
||||||
|
|||||||
@@ -169,7 +169,8 @@ public:
|
|||||||
MAVLINK_MODE_OSD,
|
MAVLINK_MODE_OSD,
|
||||||
MAVLINK_MODE_MAGIC,
|
MAVLINK_MODE_MAGIC,
|
||||||
MAVLINK_MODE_CONFIG,
|
MAVLINK_MODE_CONFIG,
|
||||||
MAVLINK_MODE_IRIDIUM
|
MAVLINK_MODE_IRIDIUM,
|
||||||
|
MAVLINK_MODE_MINIMAL
|
||||||
};
|
};
|
||||||
|
|
||||||
enum BROADCAST_MODE {
|
enum BROADCAST_MODE {
|
||||||
@@ -201,12 +202,14 @@ public:
|
|||||||
case MAVLINK_MODE_IRIDIUM:
|
case MAVLINK_MODE_IRIDIUM:
|
||||||
return "Iridium";
|
return "Iridium";
|
||||||
|
|
||||||
|
case MAVLINK_MODE_MINIMAL:
|
||||||
|
return "Minimal";
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return "Unknown";
|
return "Unknown";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void set_mode(enum MAVLINK_MODE);
|
|
||||||
enum MAVLINK_MODE get_mode() { return _mode; }
|
enum MAVLINK_MODE get_mode() { return _mode; }
|
||||||
|
|
||||||
bool get_hil_enabled() { return _hil_enabled; }
|
bool get_hil_enabled() { return _hil_enabled; }
|
||||||
|
|||||||
@@ -126,6 +126,10 @@ PARAM_DEFINE_INT32(SYS_MC_EST_GROUP, 2);
|
|||||||
* @value 357600 Normal Telemetry (57600 baud, 8N1)
|
* @value 357600 Normal Telemetry (57600 baud, 8N1)
|
||||||
* @value 3115200 Normal Telemetry (115200 baud, 8N1)
|
* @value 3115200 Normal Telemetry (115200 baud, 8N1)
|
||||||
* @value 419200 Iridium Telemetry (19200 baud, 8N1)
|
* @value 419200 Iridium Telemetry (19200 baud, 8N1)
|
||||||
|
* @value 519200 Minimal Telemetry (19200 baud, 8N1)
|
||||||
|
* @value 538400 Minimal Telemetry (38400 baud, 8N1)
|
||||||
|
* @value 557600 Minimal Telemetry (57600 baud, 8N1)
|
||||||
|
* @value 5115200 Minimal Telemetry (115200 baud, 8N1)
|
||||||
* @value 1921600 ESP8266 (921600 baud, 8N1)
|
* @value 1921600 ESP8266 (921600 baud, 8N1)
|
||||||
*
|
*
|
||||||
* @min 0
|
* @min 0
|
||||||
|
|||||||
Reference in New Issue
Block a user