From a27a6acb54756600b0504f25efdadc521b12101d Mon Sep 17 00:00:00 2001 From: Ben Dyer Date: Fri, 20 Nov 2015 22:29:40 +1100 Subject: [PATCH] Don't call param_opcode unless there are dirty nodes [resolves PX4/Firmware#3160] --- src/modules/uavcan/uavcan_servers.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/modules/uavcan/uavcan_servers.cpp b/src/modules/uavcan/uavcan_servers.cpp index ca5bcede66..961002c2e2 100644 --- a/src/modules/uavcan/uavcan_servers.cpp +++ b/src/modules/uavcan/uavcan_servers.cpp @@ -523,8 +523,12 @@ pthread_addr_t UavcanServers::run(pthread_addr_t) switch (command_id) { case 1: { // Param save request - _param_save_opcode = uavcan::protocol::param::ExecuteOpcode::Request::OPCODE_SAVE; - param_opcode(get_next_dirty_node_id(1)); + int node_id; + node_id = get_next_dirty_node_id(1); + if (node_id < 128) { + _param_save_opcode = uavcan::protocol::param::ExecuteOpcode::Request::OPCODE_SAVE; + param_opcode(node_id); + } break; } case 2: {