From 90513e719ecaec1cad8a26302f7b214fb0b23755 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beat=20K=C3=BCng?= <beat-kueng@gmx.net> Date: Tue, 10 Apr 2018 11:46:56 +0200 Subject: [PATCH] ASSERT: remove some inappropriate asserts Since assertions lead to crashes, we need better failure handling. In all the cases in this patch, the assert is not required. All the ones with the task id should be replaced with the module base class. Ah yes, and this reduces flash space, since the ASSERT macro will expand to a printf that contains the source file name. --- src/drivers/px4io/px4io.cpp | 2 -- src/modules/camera_feedback/camera_feedback.cpp | 2 -- src/modules/events/temperature_calibration/task.cpp | 1 - src/modules/mc_pos_control/mc_pos_control_main.cpp | 2 -- src/modules/uORB/uORBManager.cpp | 1 - src/modules/vtol_att_control/vtol_att_control_main.cpp | 2 -- 6 files changed, 10 deletions(-) diff --git a/src/drivers/px4io/px4io.cpp b/src/drivers/px4io/px4io.cpp index 164d798c2d..30308dd8b6 100644 --- a/src/drivers/px4io/px4io.cpp +++ b/src/drivers/px4io/px4io.cpp @@ -590,8 +590,6 @@ PX4IO::init() param_t sys_restart_param; int32_t sys_restart_val = DM_INIT_REASON_VOLATILE; - ASSERT(_task == -1); - sys_restart_param = param_find("SYS_RESTART_TYPE"); if (sys_restart_param != PARAM_INVALID) { diff --git a/src/modules/camera_feedback/camera_feedback.cpp b/src/modules/camera_feedback/camera_feedback.cpp index f41f68472c..c7384b6ad0 100644 --- a/src/modules/camera_feedback/camera_feedback.cpp +++ b/src/modules/camera_feedback/camera_feedback.cpp @@ -93,8 +93,6 @@ int CameraFeedback::start() { - ASSERT(_main_task == -1); - /* start the task */ _main_task = px4_task_spawn_cmd("camera_feedback", SCHED_DEFAULT, diff --git a/src/modules/events/temperature_calibration/task.cpp b/src/modules/events/temperature_calibration/task.cpp index 5f91afd320..ddec37f7bd 100644 --- a/src/modules/events/temperature_calibration/task.cpp +++ b/src/modules/events/temperature_calibration/task.cpp @@ -328,7 +328,6 @@ void TemperatureCalibration::do_temperature_calibration(int argc, char *argv[]) int TemperatureCalibration::start() { - ASSERT(_control_task == -1); _control_task = px4_task_spawn_cmd("temperature_calib", SCHED_DEFAULT, SCHED_PRIORITY_MAX - 5, diff --git a/src/modules/mc_pos_control/mc_pos_control_main.cpp b/src/modules/mc_pos_control/mc_pos_control_main.cpp index 9af098375f..c03c6507cd 100644 --- a/src/modules/mc_pos_control/mc_pos_control_main.cpp +++ b/src/modules/mc_pos_control/mc_pos_control_main.cpp @@ -3368,8 +3368,6 @@ MulticopterPositionControl::landdetection_thrust_limit(matrix::Vector3f &thrust_ int MulticopterPositionControl::start() { - ASSERT(_control_task == -1); - /* start the task */ _control_task = px4_task_spawn_cmd("mc_pos_control", SCHED_DEFAULT, diff --git a/src/modules/uORB/uORBManager.cpp b/src/modules/uORB/uORBManager.cpp index 36c26ff6dc..7f6082e8b7 100644 --- a/src/modules/uORB/uORBManager.cpp +++ b/src/modules/uORB/uORBManager.cpp @@ -319,7 +319,6 @@ int uORB::Manager::orb_set_interval(int handle, unsigned interval) int uORB::Manager::orb_get_interval(int handle, unsigned *interval) { - ASSERT(interval); int ret = px4_ioctl(handle, ORBIOCGETINTERVAL, (unsigned long)interval); *interval /= 1000; return ret; diff --git a/src/modules/vtol_att_control/vtol_att_control_main.cpp b/src/modules/vtol_att_control/vtol_att_control_main.cpp index aa730cb5f8..9161025cf3 100644 --- a/src/modules/vtol_att_control/vtol_att_control_main.cpp +++ b/src/modules/vtol_att_control/vtol_att_control_main.cpp @@ -767,8 +767,6 @@ void VtolAttitudeControl::task_main() int VtolAttitudeControl::start() { - ASSERT(_control_task == -1); - /* start the task */ _control_task = px4_task_spawn_cmd("vtol_att_control", SCHED_DEFAULT, -- GitLab