mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-22 01:53:33 +08:00
limit vehicle_command subscription updates per cycle
- this is a precaution to eliminate the possibility of getting stuck in a loop trying to keep up with a high rate publication that could be coming from a higher priority task
This commit is contained in:
@@ -62,8 +62,12 @@ private:
|
||||
bool sent = false;
|
||||
|
||||
static constexpr size_t COMMAND_LONG_SIZE = MAVLINK_MSG_ID_COMMAND_LONG_LEN + MAVLINK_NUM_NON_PAYLOAD_BYTES;
|
||||
int vehicle_command_updates = 0;
|
||||
|
||||
while ((_mavlink->get_free_tx_buf() >= COMMAND_LONG_SIZE) && _vehicle_command_sub.updated()) {
|
||||
while ((_mavlink->get_free_tx_buf() >= COMMAND_LONG_SIZE)
|
||||
&& _vehicle_command_sub.updated() && (vehicle_command_updates < vehicle_command_s::ORB_QUEUE_LENGTH)) {
|
||||
|
||||
vehicle_command_updates++;
|
||||
|
||||
const unsigned last_generation = _vehicle_command_sub.get_last_generation();
|
||||
vehicle_command_s cmd;
|
||||
|
||||
Reference in New Issue
Block a user