From b13406859fe89403277118ecdba47016fcc74ebc Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Thu, 2 May 2013 10:26:12 +1000 Subject: [PATCH] Rover: replaced constrain() with constrain_float() --- APMrover2/GCS_Mavlink.pde | 6 +++--- APMrover2/Steering.pde | 4 ++-- APMrover2/navigation.pde | 2 +- APMrover2/test.pde | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/APMrover2/GCS_Mavlink.pde b/APMrover2/GCS_Mavlink.pde index b8ec324508..0432bc6fa5 100644 --- a/APMrover2/GCS_Mavlink.pde +++ b/APMrover2/GCS_Mavlink.pde @@ -1595,17 +1595,17 @@ void GCS_MAVLINK::handleMessage(mavlink_message_t* msg) } else if (var_type == AP_PARAM_INT32) { if (packet.param_value < 0) rounding_addition = -rounding_addition; float v = packet.param_value+rounding_addition; - v = constrain(v, -2147483648.0f, 2147483647.0f); + v = constrain_float(v, -2147483648.0f, 2147483647.0f); ((AP_Int32 *)vp)->set_and_save(v); } else if (var_type == AP_PARAM_INT16) { if (packet.param_value < 0) rounding_addition = -rounding_addition; float v = packet.param_value+rounding_addition; - v = constrain(v, -32768, 32767); + v = constrain_float(v, -32768, 32767); ((AP_Int16 *)vp)->set_and_save(v); } else if (var_type == AP_PARAM_INT8) { if (packet.param_value < 0) rounding_addition = -rounding_addition; float v = packet.param_value+rounding_addition; - v = constrain(v, -128, 127); + v = constrain_float(v, -128, 127); ((AP_Int8 *)vp)->set_and_save(v); } else { // we don't support mavlink set on this parameter diff --git a/APMrover2/Steering.pde b/APMrover2/Steering.pde index ee92d76904..6e235868e9 100644 --- a/APMrover2/Steering.pde +++ b/APMrover2/Steering.pde @@ -92,7 +92,7 @@ static void calc_throttle(float target_speed) SPEED_TURN_GAIN percentage. */ float steer_rate = fabsf((nav_steer_cd/nav_gain_scaler) / (float)SERVO_MAX); - steer_rate = constrain(steer_rate, 0.0, 1.0); + steer_rate = constrain_float(steer_rate, 0.0, 1.0); float reduction = 1.0 - steer_rate*(100 - g.speed_turn_gain)*0.01; if (control_mode >= AUTO && wp_distance <= g.speed_turn_dist) { @@ -129,7 +129,7 @@ static void calc_nav_steer() } else { nav_gain_scaler = g.speed_cruise / ground_speed; } - nav_gain_scaler = constrain(nav_gain_scaler, 0.2f, 1.4f); + nav_gain_scaler = constrain_float(nav_gain_scaler, 0.2f, 1.4f); // Calculate the required turn of the wheels rover // ---------------------------------------- diff --git a/APMrover2/navigation.pde b/APMrover2/navigation.pde index b48c1e3ce9..bb28464d1d 100644 --- a/APMrover2/navigation.pde +++ b/APMrover2/navigation.pde @@ -52,7 +52,7 @@ static void update_crosstrack(void) // ---------------- if (abs(wrap_180_cd(target_bearing - crosstrack_bearing)) < 4500) { // If we are too far off or too close we don't do track following crosstrack_error = sinf(radians((target_bearing - crosstrack_bearing) / (float)100)) * wp_distance; // Meters we are off track line - nav_bearing += constrain(crosstrack_error * g.crosstrack_gain, -g.crosstrack_entry_angle.get(), g.crosstrack_entry_angle.get()); + nav_bearing += constrain_float(crosstrack_error * g.crosstrack_gain, -g.crosstrack_entry_angle.get(), g.crosstrack_entry_angle.get()); nav_bearing = wrap_360_cd(nav_bearing); } } diff --git a/APMrover2/test.pde b/APMrover2/test.pde index d5034ce86f..8782179228 100644 --- a/APMrover2/test.pde +++ b/APMrover2/test.pde @@ -154,7 +154,7 @@ test_radio(uint8_t argc, const Menu::arg *argv) // ------------------------------ set_servos(); - tuning_value = constrain(((float)(g.rc_7.radio_in - g.rc_7.radio_min) / (float)(g.rc_7.radio_max - g.rc_7.radio_min)),0,1); + tuning_value = constrain_float(((float)(g.rc_7.radio_in - g.rc_7.radio_min) / (float)(g.rc_7.radio_max - g.rc_7.radio_min)),0,1); cliSerial->printf_P(PSTR("IN 1: %d\t2: %d\t3: %d\t4: %d\t5: %d\t6: %d\t7: %d\t8: %d Tuning = %2.3f\n"), g.channel_steer.control_in,