Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qgroundcontrol
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
f5e60b5e
Commit
f5e60b5e
authored
Apr 12, 2017
by
Don Gagne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix encode_chan usage
Must memset structures before use.
parent
173f35ac
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
31 additions
and
12 deletions
+31
-12
APMSensorsComponentController.cc
src/AutoPilotPlugins/APM/APMSensorsComponentController.cc
+6
-9
ParameterManager.cc
src/FactSystem/ParameterManager.cc
+3
-0
APMFirmwarePlugin.cc
src/FirmwarePlugin/APM/APMFirmwarePlugin.cc
+4
-0
ArduCopterFirmwarePlugin.cc
src/FirmwarePlugin/APM/ArduCopterFirmwarePlugin.cc
+1
-1
FollowMe.cc
src/FollowMe/FollowMe.cc
+1
-1
MissionManager.cc
src/MissionManager/MissionManager.cc
+10
-1
Vehicle.cc
src/Vehicle/Vehicle.cc
+4
-0
MockLinkMissionItemHandler.cc
src/comm/MockLinkMissionItemHandler.cc
+2
-0
No files found.
src/AutoPilotPlugins/APM/APMSensorsComponentController.cc
View file @
f5e60b5e
...
...
@@ -602,15 +602,12 @@ void APMSensorsComponentController::cancelCalibration(void)
void
APMSensorsComponentController
::
nextClicked
(
void
)
{
mavlink_message_t
msg
;
mavlink_command_ack_t
ack
;
ack
.
command
=
0
;
ack
.
result
=
1
;
mavlink_msg_command_ack_encode_chan
(
qgcApp
()
->
toolbox
()
->
mavlinkProtocol
()
->
getSystemId
(),
mavlink_msg_command_ack_pack_chan
(
qgcApp
()
->
toolbox
()
->
mavlinkProtocol
()
->
getSystemId
(),
qgcApp
()
->
toolbox
()
->
mavlinkProtocol
()
->
getComponentId
(),
_vehicle
->
priorityLink
()
->
mavlinkChannel
(),
&
msg
,
&
ack
);
0
,
// command
1
);
// result
_vehicle
->
sendMessageOnLink
(
_vehicle
->
priorityLink
(),
msg
);
...
...
src/FactSystem/ParameterManager.cc
View file @
f5e60b5e
...
...
@@ -666,6 +666,8 @@ void ParameterManager::_writeParameterRaw(int componentId, const QString& paramN
mavlink_param_set_t
p
;
mavlink_param_union_t
union_value
;
memset
(
&
p
,
0
,
sizeof
(
p
));
FactMetaData
::
ValueType_t
factType
=
getParameter
(
componentId
,
paramName
)
->
type
();
p
.
param_type
=
_factTypeToMavType
(
factType
);
...
...
@@ -786,6 +788,7 @@ void ParameterManager::_tryCacheHashLoad(int vehicleId, int componentId, QVarian
// Return the hash value to notify we don't want any more updates
mavlink_param_set_t
p
;
mavlink_param_union_t
union_value
;
memset
(
&
p
,
0
,
sizeof
(
p
));
p
.
param_type
=
MAV_PARAM_TYPE_UINT32
;
strncpy
(
p
.
param_id
,
"_HASH_CHECK"
,
sizeof
(
p
.
param_id
));
union_value
.
param_uint32
=
crc32_value
;
...
...
src/FirmwarePlugin/APM/APMFirmwarePlugin.cc
View file @
f5e60b5e
...
...
@@ -228,6 +228,8 @@ void APMFirmwarePlugin::_handleIncomingParamValue(Vehicle* vehicle, mavlink_mess
mavlink_param_value_t
paramValue
;
mavlink_param_union_t
paramUnion
;
memset
(
&
paramValue
,
0
,
sizeof
(
paramValue
));
// APM stack passes all parameter values in mavlink_param_union_t.param_float no matter what
// type they are. Fix that up to correct usage.
...
...
@@ -278,6 +280,8 @@ void APMFirmwarePlugin::_handleOutgoingParamSet(Vehicle* vehicle, LinkInterface*
mavlink_param_set_t
paramSet
;
mavlink_param_union_t
paramUnion
;
memset
(
&
paramSet
,
0
,
sizeof
(
paramSet
));
// APM stack passes all parameter values in mavlink_param_union_t.param_float no matter what
// type they are. Fix it back to the wrong way on the way out.
...
...
src/FirmwarePlugin/APM/ArduCopterFirmwarePlugin.cc
View file @
f5e60b5e
...
...
@@ -184,7 +184,7 @@ void ArduCopterFirmwarePlugin::guidedModeChangeAltitude(Vehicle* vehicle, double
mavlink_message_t
msg
;
mavlink_set_position_target_local_ned_t
cmd
;
memset
(
&
cmd
,
0
,
sizeof
(
mavlink_set_position_target_local_ned_t
));
memset
(
&
cmd
,
0
,
sizeof
(
cmd
));
cmd
.
target_system
=
vehicle
->
id
();
cmd
.
target_component
=
vehicle
->
defaultComponentId
();
...
...
src/FollowMe/FollowMe.cc
View file @
f5e60b5e
...
...
@@ -119,7 +119,7 @@ void FollowMe::_sendGCSMotionReport(void)
MAVLinkProtocol
*
mavlinkProtocol
=
_toolbox
->
mavlinkProtocol
();
mavlink_follow_target_t
follow_target
;
memset
(
&
follow_target
,
0
,
sizeof
(
mavlink_follow_target_
t
));
memset
(
&
follow_target
,
0
,
sizeof
(
follow_targe
t
));
follow_target
.
timestamp
=
runTime
.
nsecsElapsed
()
*
1e-6
;
follow_target
.
est_capabilities
=
estimatation_capabilities
;
...
...
src/MissionManager/MissionManager.cc
View file @
f5e60b5e
...
...
@@ -110,6 +110,7 @@ void MissionManager::_writeMissionCount(void)
mavlink_message_t
message
;
mavlink_mission_count_t
missionCount
;
memset
(
&
missionCount
,
0
,
sizeof
(
missionCount
));
missionCount
.
target_system
=
_vehicle
->
id
();
missionCount
.
target_component
=
MAV_COMP_ID_MISSIONPLANNER
;
missionCount
.
count
=
_missionItems
.
count
();
...
...
@@ -137,6 +138,7 @@ void MissionManager::writeArduPilotGuidedMissionItem(const QGeoCoordinate& gotoC
mavlink_message_t
messageOut
;
mavlink_mission_item_t
missionItem
;
memset
(
&
missionItem
,
8
,
sizeof
(
missionItem
));
missionItem
.
target_system
=
_vehicle
->
id
();
missionItem
.
target_component
=
_vehicle
->
defaultComponentId
();
missionItem
.
seq
=
0
;
...
...
@@ -191,6 +193,8 @@ void MissionManager::_requestList(void)
mavlink_message_t
message
;
mavlink_mission_request_list_t
request
;
memset
(
&
request
,
0
,
sizeof
(
request
));
_itemIndicesToRead
.
clear
();
_clearMissionItems
();
...
...
@@ -307,6 +311,8 @@ void MissionManager::_readTransactionComplete(void)
mavlink_message_t
message
;
mavlink_mission_ack_t
missionAck
;
memset
(
&
missionAck
,
0
,
sizeof
(
missionAck
));
missionAck
.
target_system
=
_vehicle
->
id
();
missionAck
.
target_component
=
MAV_COMP_ID_MISSIONPLANNER
;
missionAck
.
type
=
MAV_MISSION_ACCEPTED
;
...
...
@@ -360,6 +366,7 @@ void MissionManager::_requestNextMissionItem(void)
if
(
_vehicle
->
supportsMissionItemInt
())
{
mavlink_mission_request_int_t
missionRequest
;
memset
(
&
missionRequest
,
0
,
sizeof
(
missionRequest
));
missionRequest
.
target_system
=
_vehicle
->
id
();
missionRequest
.
target_component
=
MAV_COMP_ID_MISSIONPLANNER
;
missionRequest
.
seq
=
_itemIndicesToRead
[
0
];
...
...
@@ -372,6 +379,7 @@ void MissionManager::_requestNextMissionItem(void)
}
else
{
mavlink_mission_request_t
missionRequest
;
memset
(
&
missionRequest
,
0
,
sizeof
(
missionRequest
));
missionRequest
.
target_system
=
_vehicle
->
id
();
missionRequest
.
target_component
=
MAV_COMP_ID_MISSIONPLANNER
;
missionRequest
.
seq
=
_itemIndicesToRead
[
0
];
...
...
@@ -523,7 +531,7 @@ void MissionManager::_handleMissionRequest(const mavlink_message_t& message, boo
if
(
missionItemInt
)
{
mavlink_mission_item_int_t
missionItem
;
memset
(
&
missionItem
,
0
,
sizeof
(
missionItem
));
missionItem
.
target_system
=
_vehicle
->
id
();
missionItem
.
target_component
=
MAV_COMP_ID_MISSIONPLANNER
;
missionItem
.
seq
=
missionRequest
.
seq
;
...
...
@@ -547,6 +555,7 @@ void MissionManager::_handleMissionRequest(const mavlink_message_t& message, boo
}
else
{
mavlink_mission_item_t
missionItem
;
memset
(
&
missionItem
,
0
,
sizeof
(
missionItem
));
missionItem
.
target_system
=
_vehicle
->
id
();
missionItem
.
target_component
=
MAV_COMP_ID_MISSIONPLANNER
;
missionItem
.
seq
=
missionRequest
.
seq
;
...
...
src/Vehicle/Vehicle.cc
View file @
f5e60b5e
...
...
@@ -1523,6 +1523,8 @@ void Vehicle::requestDataStream(MAV_DATA_STREAM stream, uint16_t rate, bool send
mavlink_message_t
msg
;
mavlink_request_data_stream_t
dataStream
;
memset
(
&
dataStream
,
0
,
sizeof
(
dataStream
));
dataStream
.
req_stream_id
=
stream
;
dataStream
.
req_message_rate
=
rate
;
dataStream
.
start_stop
=
1
;
// start
...
...
@@ -2079,6 +2081,7 @@ void Vehicle::_sendMavCommandAgain(void)
mavlink_message_t
msg
;
mavlink_command_long_t
cmd
;
memset
(
&
cmd
,
0
,
sizeof
(
cmd
));
cmd
.
command
=
queuedCommand
.
command
;
cmd
.
confirmation
=
0
;
cmd
.
param1
=
queuedCommand
.
rgParam
[
0
];
...
...
@@ -2304,6 +2307,7 @@ void Vehicle::_ackMavlinkLogData(uint16_t sequence)
{
mavlink_message_t
msg
;
mavlink_logging_ack_t
ack
;
memset
(
&
ack
,
0
,
sizeof
(
ack
));
ack
.
sequence
=
sequence
;
ack
.
target_component
=
_defaultComponentId
;
ack
.
target_system
=
id
();
...
...
src/comm/MockLinkMissionItemHandler.cc
View file @
f5e60b5e
...
...
@@ -240,6 +240,7 @@ void MockLinkMissionItemHandler::_requestNextMissionItem(int sequenceNumber)
mavlink_message_t
message
;
mavlink_mission_request_t
missionRequest
;
memset
(
&
missionRequest
,
0
,
sizeof
(
missionRequest
));
missionRequest
.
target_system
=
_mavlinkProtocol
->
getSystemId
();
missionRequest
.
target_component
=
_mavlinkProtocol
->
getComponentId
();
missionRequest
.
seq
=
sequenceNumber
;
...
...
@@ -264,6 +265,7 @@ void MockLinkMissionItemHandler::_sendAck(MAV_MISSION_RESULT ackType)
mavlink_message_t
message
;
mavlink_mission_ack_t
missionAck
;
memset
(
&
missionAck
,
0
,
sizeof
(
missionAck
));
missionAck
.
target_system
=
_mavlinkProtocol
->
getSystemId
();
missionAck
.
target_component
=
_mavlinkProtocol
->
getComponentId
();
missionAck
.
type
=
ackType
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment