From f26d4f2b6ba887881e80b4701142a62fd6a87c3b Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Wed, 7 Oct 2020 16:42:30 -0400 Subject: [PATCH] mavlink: stop unnecessarily passing around time --- src/modules/mavlink/mavlink_ftp.cpp | 2 +- src/modules/mavlink/mavlink_ftp.h | 2 +- src/modules/mavlink/mavlink_log_handler.cpp | 2 +- src/modules/mavlink/mavlink_log_handler.h | 2 +- src/modules/mavlink/mavlink_messages.cpp | 108 +++++++++--------- src/modules/mavlink/mavlink_mission.cpp | 4 +- src/modules/mavlink/mavlink_mission.h | 2 +- src/modules/mavlink/mavlink_parameters.cpp | 2 +- src/modules/mavlink/mavlink_parameters.h | 2 +- src/modules/mavlink/mavlink_receiver.cpp | 8 +- src/modules/mavlink/mavlink_stream.cpp | 4 +- src/modules/mavlink/mavlink_stream.h | 4 +- .../mavlink_tests/mavlink_ftp_test.cpp | 8 +- .../mavlink/streams/AUTOPILOT_VERSION.hpp | 2 +- src/modules/mavlink/streams/ESC_INFO.hpp | 2 +- src/modules/mavlink/streams/ESC_STATUS.hpp | 2 +- .../mavlink/streams/EXTENDED_SYS_STATE.hpp | 2 +- .../mavlink/streams/FLIGHT_INFORMATION.hpp | 2 +- src/modules/mavlink/streams/HIGH_LATENCY2.hpp | 4 +- .../mavlink/streams/PROTOCOL_VERSION.hpp | 2 +- src/modules/mavlink/streams/RAW_RPM.hpp | 2 +- .../mavlink/streams/STORAGE_INFORMATION.hpp | 6 +- 22 files changed, 87 insertions(+), 87 deletions(-) diff --git a/src/modules/mavlink/mavlink_ftp.cpp b/src/modules/mavlink/mavlink_ftp.cpp index 81c4f2e0fb..f556cff911 100644 --- a/src/modules/mavlink/mavlink_ftp.cpp +++ b/src/modules/mavlink/mavlink_ftp.cpp @@ -956,7 +956,7 @@ MavlinkFTP::_copy_file(const char *src_path, const char *dst_path, size_t length return (length > 0) ? -1 : 0; } -void MavlinkFTP::send(const hrt_abstime t) +void MavlinkFTP::send() { if (_work_buffer1 || _work_buffer2) { diff --git a/src/modules/mavlink/mavlink_ftp.h b/src/modules/mavlink/mavlink_ftp.h index f2d4b38c9c..a796ce45fb 100644 --- a/src/modules/mavlink/mavlink_ftp.h +++ b/src/modules/mavlink/mavlink_ftp.h @@ -63,7 +63,7 @@ public: * Handle sending of messages. Call this regularly at a fixed frequency. * @param t current time */ - void send(const hrt_abstime t); + void send(); /// Handle possible FTP message void handle_message(const mavlink_message_t *msg); diff --git a/src/modules/mavlink/mavlink_log_handler.cpp b/src/modules/mavlink/mavlink_log_handler.cpp index c81cd23d68..077cf072fc 100644 --- a/src/modules/mavlink/mavlink_log_handler.cpp +++ b/src/modules/mavlink/mavlink_log_handler.cpp @@ -115,7 +115,7 @@ MavlinkLogHandler::handle_message(const mavlink_message_t *msg) //------------------------------------------------------------------- void -MavlinkLogHandler::send(const hrt_abstime /*t*/) +MavlinkLogHandler::send() { //-- An arbitrary count of max bytes in one go (one of the two below but never both) #define MAX_BYTES_SEND 256 * 1024 diff --git a/src/modules/mavlink/mavlink_log_handler.h b/src/modules/mavlink/mavlink_log_handler.h index 62add1b809..dc4843eee4 100644 --- a/src/modules/mavlink/mavlink_log_handler.h +++ b/src/modules/mavlink/mavlink_log_handler.h @@ -60,7 +60,7 @@ public: * Handle sending of messages. Call this regularly at a fixed frequency. * @param t current time */ - void send(const hrt_abstime t); + void send(); unsigned get_size(); diff --git a/src/modules/mavlink/mavlink_messages.cpp b/src/modules/mavlink/mavlink_messages.cpp index db421e0f78..7cec0158ed 100644 --- a/src/modules/mavlink/mavlink_messages.cpp +++ b/src/modules/mavlink/mavlink_messages.cpp @@ -437,7 +437,7 @@ protected: explicit MavlinkStreamHeartbeat(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { // always send the heartbeat, independent of the update status of the topics vehicle_status_s status{}; @@ -499,7 +499,7 @@ protected: explicit MavlinkStreamStatustext(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { if (!_mavlink->get_logbuffer()->empty() && _mavlink->is_connected()) { @@ -591,7 +591,7 @@ protected: explicit MavlinkStreamCommandLong(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { struct vehicle_command_s cmd; bool sent = false; @@ -662,7 +662,7 @@ protected: { } - bool send(const hrt_abstime t) override + bool send() override { if (_status_sub.updated() || _cpuload_sub.updated() || _battery_status_subs.updated()) { vehicle_status_s status{}; @@ -766,7 +766,7 @@ protected: { } - bool send(const hrt_abstime t) override + bool send() override { bool updated = false; @@ -890,7 +890,7 @@ protected: { } - bool send(const hrt_abstime t) override + bool send() override { bool updated = false; @@ -977,7 +977,7 @@ protected: explicit MavlinkStreamHighresIMU(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { bool updated = false; @@ -1098,7 +1098,7 @@ protected: explicit MavlinkStreamScaledPressureBase(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { if (_sensor_baro_sub.updated() || _differential_pressure_sub.updated()) { sensor_baro_s sensor_baro{}; @@ -1258,7 +1258,7 @@ protected: explicit MavlinkStreamScaledIMU(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { if (_raw_imu_sub.updated() || _raw_mag_sub.updated()) { @@ -1344,7 +1344,7 @@ protected: explicit MavlinkStreamScaledIMU2(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { if (_raw_imu_sub.updated() || _raw_mag_sub.updated()) { @@ -1429,7 +1429,7 @@ protected: explicit MavlinkStreamScaledIMU3(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { if (_raw_imu_sub.updated() || _raw_mag_sub.updated()) { @@ -1517,7 +1517,7 @@ protected: explicit MavlinkStreamAttitude(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { vehicle_attitude_s att; @@ -1593,7 +1593,7 @@ protected: explicit MavlinkStreamAttitudeQuaternion(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { vehicle_attitude_s att; @@ -1695,7 +1695,7 @@ protected: explicit MavlinkStreamVFRHUD(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { if (_lpos_sub.updated() || _airspeed_validated_sub.updated()) { @@ -1804,7 +1804,7 @@ protected: explicit MavlinkStreamGPSRawInt(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { sensor_gps_s gps; @@ -1880,7 +1880,7 @@ protected: explicit MavlinkStreamGPS2Raw(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { sensor_gps_s gps; @@ -1951,7 +1951,7 @@ protected: explicit MavlinkStreamSystemTime(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { timespec tv; px4_clock_gettime(CLOCK_REALTIME, &tv); @@ -2013,7 +2013,7 @@ protected: explicit MavlinkStreamTimesync(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { mavlink_timesync_t msg{}; @@ -2075,7 +2075,7 @@ protected: explicit MavlinkStreamADSBVehicle(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { transponder_report_s pos; bool sent = false; @@ -2175,7 +2175,7 @@ protected: explicit MavlinkStreamUTMGlobalPosition(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { vehicle_global_position_s global_pos; @@ -2342,7 +2342,7 @@ protected: explicit MavlinkStreamCollision(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { collision_report_s report; bool sent = false; @@ -2415,7 +2415,7 @@ protected: explicit MavlinkStreamCameraTrigger(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { camera_trigger_s trigger; @@ -2520,7 +2520,7 @@ protected: explicit MavlinkStreamCameraImageCaptured(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { camera_capture_s capture; @@ -2599,7 +2599,7 @@ protected: explicit MavlinkStreamGlobalPositionInt(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { vehicle_global_position_s gpos; vehicle_local_position_s lpos; @@ -2707,7 +2707,7 @@ protected: explicit MavlinkStreamOdometry(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { vehicle_odometry_s odom; // check if it is to send visual odometry loopback or not @@ -2857,7 +2857,7 @@ protected: explicit MavlinkStreamLocalPositionNED(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { vehicle_local_position_s lpos; @@ -2925,7 +2925,7 @@ protected: explicit MavlinkStreamEstimatorStatus(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { estimator_status_s est; @@ -3005,7 +3005,7 @@ protected: explicit MavlinkStreamVibration(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { if (_sensor_selection_sub.updated() || _vehicle_imu_status_subs.updated()) { @@ -3113,7 +3113,7 @@ protected: explicit MavlinkStreamAttPosMocap(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { vehicle_odometry_s mocap; @@ -3183,7 +3183,7 @@ protected: explicit MavlinkStreamHomePosition(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { /* we're sending the GPS home periodically to ensure the * the GCS does pick it up at one point */ @@ -3275,7 +3275,7 @@ protected: explicit MavlinkStreamServoOutputRaw(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { actuator_outputs_s act; @@ -3394,7 +3394,7 @@ protected: delete _act_ctrl_sub; } - bool send(const hrt_abstime t) override + bool send() override { actuator_controls_s act_ctrl; @@ -3462,7 +3462,7 @@ protected: explicit MavlinkStreamHILActuatorControls(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { actuator_outputs_s act; @@ -3620,7 +3620,7 @@ protected: explicit MavlinkStreamPositionTargetGlobalInt(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { vehicle_control_mode_s control_mode{}; _control_mode_sub.copy(&control_mode); @@ -3714,7 +3714,7 @@ protected: explicit MavlinkStreamLocalPositionSetpoint(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { vehicle_local_position_setpoint_s pos_sp; @@ -3790,7 +3790,7 @@ protected: explicit MavlinkStreamAttitudeTarget(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { vehicle_attitude_setpoint_s att_sp; @@ -3864,7 +3864,7 @@ protected: explicit MavlinkStreamRCChannels(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { input_rc_s rc; @@ -3950,7 +3950,7 @@ protected: explicit MavlinkStreamManualControl(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { manual_control_setpoint_s manual_control_setpoint; @@ -4028,7 +4028,7 @@ protected: explicit MavlinkStreamTrajectoryRepresentationWaypoints(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { vehicle_trajectory_waypoint_s traj_wp_avoidance_desired; @@ -4132,7 +4132,7 @@ protected: explicit MavlinkStreamOpticalFlowRad(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { optical_flow_s flow; @@ -4206,7 +4206,7 @@ protected: explicit MavlinkStreamNamedValueFloat(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { debug_key_value_s debug; @@ -4272,7 +4272,7 @@ protected: explicit MavlinkStreamDebug(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { debug_value_s debug; @@ -4335,7 +4335,7 @@ protected: explicit MavlinkStreamDebugVect(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { debug_vect_s debug; @@ -4403,7 +4403,7 @@ protected: explicit MavlinkStreamDebugFloatArray(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { debug_array_s debug; @@ -4475,7 +4475,7 @@ protected: explicit MavlinkStreamNavControllerOutput(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { if (_pos_ctrl_status_sub.updated()) { @@ -4549,7 +4549,7 @@ protected: explicit MavlinkStreamCameraCapture(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { vehicle_status_s status; @@ -4620,7 +4620,7 @@ protected: explicit MavlinkStreamDistanceSensor(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { bool updated = false; @@ -4713,7 +4713,7 @@ protected: explicit MavlinkStreamAltitude(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { mavlink_altitude_t msg{}; @@ -4830,7 +4830,7 @@ protected: explicit MavlinkStreamWind(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { wind_estimate_s wind_estimate; @@ -4907,7 +4907,7 @@ protected: explicit MavlinkStreamMountOrientation(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { mount_orientation_s mount_orientation; @@ -4979,7 +4979,7 @@ protected: explicit MavlinkStreamGroundTruth(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { if (_angular_velocity_sub.updated() || _att_sub.updated() || _gpos_sub.updated() || _lpos_sub.updated()) { vehicle_attitude_s att{}; @@ -5078,7 +5078,7 @@ protected: _sequence(0) {} - bool send(const hrt_abstime t) override + bool send() override { mavlink_ping_t msg = {}; @@ -5137,7 +5137,7 @@ protected: explicit MavlinkStreamOrbitStatus(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { orbit_status_s _orbit_status; @@ -5203,7 +5203,7 @@ protected: explicit MavlinkStreamObstacleDistance(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { obstacle_distance_s obstacle_distance; diff --git a/src/modules/mavlink/mavlink_mission.cpp b/src/modules/mavlink/mavlink_mission.cpp index d8a95d9397..4f5d503ed9 100644 --- a/src/modules/mavlink/mavlink_mission.cpp +++ b/src/modules/mavlink/mavlink_mission.cpp @@ -460,7 +460,7 @@ MavlinkMissionManager::send_mission_item_reached(uint16_t seq) } void -MavlinkMissionManager::send(const hrt_abstime now) +MavlinkMissionManager::send() { // do not send anything over high latency communication if (_mavlink->get_mode() == Mavlink::MAVLINK_MODE_IRIDIUM) { @@ -501,7 +501,7 @@ MavlinkMissionManager::send(const hrt_abstime now) } } else { - if (_slow_rate_limiter.check(now)) { + if (_slow_rate_limiter.check(hrt_absolute_time())) { send_mission_current(_current_seq); // send the reached message another 10 times diff --git a/src/modules/mavlink/mavlink_mission.h b/src/modules/mavlink/mavlink_mission.h index 4a44c97b56..6740f0c697 100644 --- a/src/modules/mavlink/mavlink_mission.h +++ b/src/modules/mavlink/mavlink_mission.h @@ -85,7 +85,7 @@ public: * Handle sending of messages. Call this regularly at a fixed frequency. * @param t current time */ - void send(const hrt_abstime t); + void send(); void handle_message(const mavlink_message_t *msg); diff --git a/src/modules/mavlink/mavlink_parameters.cpp b/src/modules/mavlink/mavlink_parameters.cpp index 9a27740b71..635e0a9a87 100644 --- a/src/modules/mavlink/mavlink_parameters.cpp +++ b/src/modules/mavlink/mavlink_parameters.cpp @@ -275,7 +275,7 @@ MavlinkParametersManager::handle_message(const mavlink_message_t *msg) } void -MavlinkParametersManager::send(const hrt_abstime t) +MavlinkParametersManager::send() { int max_num_to_send; diff --git a/src/modules/mavlink/mavlink_parameters.h b/src/modules/mavlink/mavlink_parameters.h index 148154ee11..04dec46b2a 100644 --- a/src/modules/mavlink/mavlink_parameters.h +++ b/src/modules/mavlink/mavlink_parameters.h @@ -65,7 +65,7 @@ public: * Handle sending of messages. Call this regularly at a fixed frequency. * @param t current time */ - void send(const hrt_abstime t); + void send(); unsigned get_size(); diff --git a/src/modules/mavlink/mavlink_receiver.cpp b/src/modules/mavlink/mavlink_receiver.cpp index 455816959a..774dde8e33 100644 --- a/src/modules/mavlink/mavlink_receiver.cpp +++ b/src/modules/mavlink/mavlink_receiver.cpp @@ -2997,15 +2997,15 @@ MavlinkReceiver::Run() if (t - last_send_update > timeout * 1000) { _mission_manager.check_active_mission(); - _mission_manager.send(t); + _mission_manager.send(); - _parameters_manager.send(t); + _parameters_manager.send(); if (_mavlink->ftp_enabled()) { - _mavlink_ftp.send(t); + _mavlink_ftp.send(); } - _mavlink_log_handler.send(t); + _mavlink_log_handler.send(); last_send_update = t; } diff --git a/src/modules/mavlink/mavlink_stream.cpp b/src/modules/mavlink/mavlink_stream.cpp index ac1b5a822a..6b00fd4e49 100644 --- a/src/modules/mavlink/mavlink_stream.cpp +++ b/src/modules/mavlink/mavlink_stream.cpp @@ -64,7 +64,7 @@ MavlinkStream::update(const hrt_abstime &t) // this will give different messages on the same run a different // initial timestamp which will help spacing them out // on the link scheduling - if (send(t)) { + if (send()) { _last_sent = hrt_absolute_time(); if (!_first_message_sent) { @@ -112,7 +112,7 @@ MavlinkStream::update(const hrt_abstime &t) // do not use the actual time but increment at a fixed rate, so that processing delays do not // distort the average rate. The check of the maximum interval is done to ensure that after a // long time not sending anything, sending multiple messages in a short time is avoided. - if (send(t)) { + if (send()) { _last_sent = ((interval > 0) && ((int64_t)(1.5f * interval) > dt)) ? _last_sent + interval : t; if (!_first_message_sent) { diff --git a/src/modules/mavlink/mavlink_stream.h b/src/modules/mavlink/mavlink_stream.h index 35ea6c3c67..4bb4c111c3 100644 --- a/src/modules/mavlink/mavlink_stream.h +++ b/src/modules/mavlink/mavlink_stream.h @@ -98,7 +98,7 @@ public: virtual bool request_message(float param2 = 0.0, float param3 = 0.0, float param4 = 0.0, float param5 = 0.0, float param6 = 0.0, float param7 = 0.0) { - return send(hrt_absolute_time()); + return send(); } /** @@ -126,7 +126,7 @@ protected: Mavlink *const _mavlink; int _interval{1000000}; ///< if set to negative value = unlimited rate - virtual bool send(const hrt_abstime t) = 0; + virtual bool send() = 0; /** * Function to collect/update data for the streams at a high rate independant of diff --git a/src/modules/mavlink/mavlink_tests/mavlink_ftp_test.cpp b/src/modules/mavlink/mavlink_tests/mavlink_ftp_test.cpp index 5300af6495..77c17e1366 100644 --- a/src/modules/mavlink/mavlink_tests/mavlink_ftp_test.cpp +++ b/src/modules/mavlink/mavlink_tests/mavlink_ftp_test.cpp @@ -619,8 +619,7 @@ bool MavlinkFtpTest::_burst_test() _ftp_server->handle_message(&msg); // First packet is sent using stream mechanism, so we need to force it out ourselves - hrt_abstime t = 0; - _ftp_server->send(t); + _ftp_server->send(); ut_compare("Incorrect sequence of messages", burst_info.burst_state, burst_state_complete); @@ -876,7 +875,6 @@ void MavlinkFtpTest::receive_message_handler_burst(const mavlink_file_transfer_p bool MavlinkFtpTest::_receive_message_handler_burst(const mavlink_file_transfer_protocol_t *ftp_msg, BurstInfo *burst_info) { - hrt_abstime t = 0; const MavlinkFTP::PayloadHeader *reply{nullptr}; uint32_t full_packet_bytes = MAVLINK_MSG_FILE_TRANSFER_PROTOCOL_FIELD_PAYLOAD_LEN - sizeof(MavlinkFTP::PayloadHeader); uint32_t expected_bytes; @@ -897,7 +895,7 @@ bool MavlinkFtpTest::_receive_message_handler_burst(const mavlink_file_transfer_ burst_info->burst_state = burst_info->single_packet_file ? burst_state_nak_eof : burst_state_last_ack; ut_assert("Remaining stream packets missing", _ftp_server->get_size()); - _ftp_server->send(t); + _ftp_server->send(); break; case burst_state_last_ack: @@ -913,7 +911,7 @@ bool MavlinkFtpTest::_receive_message_handler_burst(const mavlink_file_transfer_ burst_info->burst_state = burst_state_nak_eof; ut_assert("Remaining stream packets missing", _ftp_server->get_size()); - _ftp_server->send(t); + _ftp_server->send(); break; case burst_state_nak_eof: diff --git a/src/modules/mavlink/streams/AUTOPILOT_VERSION.hpp b/src/modules/mavlink/streams/AUTOPILOT_VERSION.hpp index c532008130..efcc730aa4 100644 --- a/src/modules/mavlink/streams/AUTOPILOT_VERSION.hpp +++ b/src/modules/mavlink/streams/AUTOPILOT_VERSION.hpp @@ -53,7 +53,7 @@ public: private: explicit MavlinkStreamAutopilotVersion(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { return _mavlink->send_autopilot_capabilities(); } diff --git a/src/modules/mavlink/streams/ESC_INFO.hpp b/src/modules/mavlink/streams/ESC_INFO.hpp index 4cb524755b..fc57f290df 100644 --- a/src/modules/mavlink/streams/ESC_INFO.hpp +++ b/src/modules/mavlink/streams/ESC_INFO.hpp @@ -59,7 +59,7 @@ private: uORB::Subscription _esc_status_sub{ORB_ID(esc_status)}; uint8_t _number_of_batches{0}; - bool send(const hrt_abstime t) override + bool send() override { static constexpr uint8_t batch_size = MAVLINK_MSG_ESC_INFO_FIELD_TEMPERATURE_LEN; esc_status_s esc_status; diff --git a/src/modules/mavlink/streams/ESC_STATUS.hpp b/src/modules/mavlink/streams/ESC_STATUS.hpp index 94016f375f..1e89115778 100644 --- a/src/modules/mavlink/streams/ESC_STATUS.hpp +++ b/src/modules/mavlink/streams/ESC_STATUS.hpp @@ -59,7 +59,7 @@ private: uORB::Subscription _esc_status_sub{ORB_ID(esc_status)}; uint8_t _number_of_batches{0}; - bool send(const hrt_abstime t) override + bool send() override { static constexpr uint8_t batch_size = MAVLINK_MSG_ESC_STATUS_FIELD_RPM_LEN; esc_status_s esc_status; diff --git a/src/modules/mavlink/streams/EXTENDED_SYS_STATE.hpp b/src/modules/mavlink/streams/EXTENDED_SYS_STATE.hpp index 105d2815cd..511059b717 100644 --- a/src/modules/mavlink/streams/EXTENDED_SYS_STATE.hpp +++ b/src/modules/mavlink/streams/EXTENDED_SYS_STATE.hpp @@ -63,7 +63,7 @@ private: uORB::Subscription _control_mode_sub{ORB_ID(vehicle_control_mode)}; mavlink_extended_sys_state_t _msg{}; - bool send(const hrt_abstime t) override + bool send() override { bool updated = false; diff --git a/src/modules/mavlink/streams/FLIGHT_INFORMATION.hpp b/src/modules/mavlink/streams/FLIGHT_INFORMATION.hpp index 48fc35786c..ca5a00cc78 100644 --- a/src/modules/mavlink/streams/FLIGHT_INFORMATION.hpp +++ b/src/modules/mavlink/streams/FLIGHT_INFORMATION.hpp @@ -61,7 +61,7 @@ private: uORB::Subscription _armed_sub{ORB_ID(actuator_armed)}; param_t _param_com_flight_uuid; - bool send(const hrt_abstime t) override + bool send() override { actuator_armed_s actuator_armed{}; bool ret = _armed_sub.copy(&actuator_armed); diff --git a/src/modules/mavlink/streams/HIGH_LATENCY2.hpp b/src/modules/mavlink/streams/HIGH_LATENCY2.hpp index 07c1e222b0..626fa2c9be 100644 --- a/src/modules/mavlink/streams/HIGH_LATENCY2.hpp +++ b/src/modules/mavlink/streams/HIGH_LATENCY2.hpp @@ -97,8 +97,10 @@ private: bool connected{false}; }; - bool send(const hrt_abstime t) override + bool send() override { + const hrt_abstime t = hrt_absolute_time(); + // only send the struct if transmitting is allowed // this assures that the stream timer is only reset when actually a message is transmitted if (_mavlink->should_transmit()) { diff --git a/src/modules/mavlink/streams/PROTOCOL_VERSION.hpp b/src/modules/mavlink/streams/PROTOCOL_VERSION.hpp index 35d4757b52..a7ee8a0fb3 100644 --- a/src/modules/mavlink/streams/PROTOCOL_VERSION.hpp +++ b/src/modules/mavlink/streams/PROTOCOL_VERSION.hpp @@ -53,7 +53,7 @@ public: private: explicit MavlinkStreamProtocolVersion(Mavlink *mavlink) : MavlinkStream(mavlink) {} - bool send(const hrt_abstime t) override + bool send() override { _mavlink->send_protocol_version(); return true; diff --git a/src/modules/mavlink/streams/RAW_RPM.hpp b/src/modules/mavlink/streams/RAW_RPM.hpp index eb3802c383..d0a09c9495 100644 --- a/src/modules/mavlink/streams/RAW_RPM.hpp +++ b/src/modules/mavlink/streams/RAW_RPM.hpp @@ -57,7 +57,7 @@ private: uORB::Subscription _rpm_sub{ORB_ID(rpm)}; - bool send(const hrt_abstime t) override + bool send() override { rpm_s rpm; diff --git a/src/modules/mavlink/streams/STORAGE_INFORMATION.hpp b/src/modules/mavlink/streams/STORAGE_INFORMATION.hpp index e7a23ab9f9..2670c2ae15 100644 --- a/src/modules/mavlink/streams/STORAGE_INFORMATION.hpp +++ b/src/modules/mavlink/streams/STORAGE_INFORMATION.hpp @@ -63,14 +63,14 @@ public: float param5, float param6, float param7) override { _storage_id = (int)roundf(param2); - return send(hrt_absolute_time()); + return send(); } private: explicit MavlinkStreamStorageInformation(Mavlink *mavlink) : MavlinkStream(mavlink) {} int _storage_id{0}; - bool send(const hrt_abstime t) override + bool send() override { mavlink_storage_information_t storage_info{}; const char *microsd_dir = PX4_STORAGEDIR; @@ -103,7 +103,7 @@ private: return false; // results in MAV_RESULT_DENIED } - storage_info.time_boot_ms = t / 1000; + storage_info.time_boot_ms = hrt_absolute_time() / 1000; mavlink_msg_storage_information_send_struct(_mavlink->get_channel(), &storage_info); return true; }