From 3330b62d3c5c73eff69a334908c99ba379c5381c Mon Sep 17 00:00:00 2001 From: "U-REDMOND\\akolobov" Date: Sat, 22 Jun 2019 22:57:47 -0700 Subject: [PATCH] SITL: aded support for SilentWings simulator --- libraries/SITL/SIM_SilentWings.cpp | 318 ++++++ libraries/SITL/SIM_SilentWings.h | 112 +++ .../SilentWings/Missions/Plockton.waypoints | 13 + .../SilentWings/Missions/Starmoen.waypoints | 13 + .../Params/Rolladen-Schneider-LS8b.param | 921 ++++++++++++++++++ .../Params/Schleicher-ASW27B.param | 916 +++++++++++++++++ .../Situations/ASW27B_Plockton_1000.stn | 74 ++ .../Situations/LS-8b_Starmoen_800.stn | 116 +++ 8 files changed, 2483 insertions(+) create mode 100755 libraries/SITL/SIM_SilentWings.cpp create mode 100755 libraries/SITL/SIM_SilentWings.h create mode 100755 libraries/SITL/examples/SilentWings/Missions/Plockton.waypoints create mode 100755 libraries/SITL/examples/SilentWings/Missions/Starmoen.waypoints create mode 100755 libraries/SITL/examples/SilentWings/Params/Rolladen-Schneider-LS8b.param create mode 100755 libraries/SITL/examples/SilentWings/Params/Schleicher-ASW27B.param create mode 100755 libraries/SITL/examples/SilentWings/Situations/ASW27B_Plockton_1000.stn create mode 100755 libraries/SITL/examples/SilentWings/Situations/LS-8b_Starmoen_800.stn diff --git a/libraries/SITL/SIM_SilentWings.cpp b/libraries/SITL/SIM_SilentWings.cpp new file mode 100755 index 0000000000..7502a9bfc9 --- /dev/null +++ b/libraries/SITL/SIM_SilentWings.cpp @@ -0,0 +1,318 @@ +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ +/* + simulator connector for ardupilot version of SilentWings +*/ + +#include "SIM_SilentWings.h" + +#include +#include + +#include + +extern const AP_HAL::HAL& hal; + +using namespace SITL; + +static const struct { + const char *name; + float value; + bool save; +} sim_defaults[] = { + { "AHRS_EKF_TYPE", 10 }, + { "INS_GYR_CAL", 0 }, + { "EK2_ENABLE", 0 }, + { "ARSPD_ENABLE", 1 }, + { "ARSPD_USE", 1 }, + { "INS_ACC2OFFS_X", 0.001 }, + { "INS_ACC2OFFS_Y", 0.001 }, + { "INS_ACC2OFFS_Z", 0.001 }, + { "INS_ACC2SCAL_X", 1.001 }, + { "INS_ACC2SCAL_Y", 1.001 }, + { "INS_ACC2SCAL_Z", 1.001 }, + { "INS_ACCOFFS_X", 0.001 }, + { "INS_ACCOFFS_Y", 0.001 }, + { "INS_ACCOFFS_Z", 0.001 }, + { "INS_ACCSCAL_X", 1.001 }, + { "INS_ACCSCAL_Y", 1.001 }, + { "INS_ACCSCAL_Z", 1.001 }, +}; + +SilentWings::SilentWings(const char *home_str, const char *frame_str) : + Aircraft(home_str, frame_str), + last_data_time_ms(0), + first_pkt_timestamp_ms(0), + time_base_us(0), + sock(true), + home_initialized(false), + inited_first_pkt_timestamp(false) +{ + // Force ArduPlane to use sensor data from SilentWings as the actual state, + // without using EKF, i.e., using "fake EKF (type 10)". Disable gyro calibration. + // Set a few other parameters to specific values to keep the calibration checks happy. + // TO DO: fix this. Setting parameters in this way doesn't appear to have any effect. + for (uint8_t i = 0; i < ARRAY_SIZE(sim_defaults); i++) { + AP_Param::set_default_by_name(sim_defaults[i].name, sim_defaults[i].value); + if (sim_defaults[i].save) { + enum ap_var_type ptype; + AP_Param *p = AP_Param::find(sim_defaults[i].name, &ptype); + if (!p->configured()) { + p->save(); + } + } + } +} + + +/* + Create and set in/out socket +*/ +void SilentWings::set_interface_ports(const char* address, const int port_in, const int port_out) +{ + // Ignore the specified port_in. + // try to bind to a specific port so that if we restart ArduPilot + // Gazebo keeps sending us packets. Not strictly necessary but + // useful for debugging + if (!sock.bind("127.0.0.1", _port_in)) { + fprintf(stderr, "SITL: socket in bind failed on sim in : %d - %s\n", _port_in, strerror(errno)); + fprintf(stderr, "Aborting launch...\n"); + exit(1); + } + printf("Bind %s:%d for SITL in\n", "127.0.0.1", _port_in); + sock.reuseaddress(); + sock.set_blocking(false); + + _sw_address = address; + // Ignore the specified port_out. + printf("Setting Silent Wings interface to %s:%d \n", _sw_address, _sw_port); +} + + +/* + decode and send servos +*/ +void SilentWings::send_servos(const struct sitl_input &input) +{ + char *buf = nullptr; + // Turn off direct joystick input to the simulator. All joystick commands + // should go through Mission Planner and get properly fused with ArduPlane's + // control inputs when in automatic flight modes. + float joystick = 0.0f; + float aileron = filtered_servo_angle(input, 0); + float elevator = filtered_servo_angle(input, 1); + float throttle = filtered_servo_range(input, 2); + float rudder = filtered_servo_angle(input, 3); + + ssize_t buflen = asprintf(&buf, + "JOY %f\n" + "AIL %f\n" + "ELE %f\n" + "RUD %f\n" + "THR %f\n", + joystick, aileron, elevator, rudder, throttle) - 1; + + if (buflen < 0) { + fprintf(stderr, "Fatal: Failed to allocate enough space for data\n"), + exit(1); + } + + ssize_t sent = sock.sendto(buf, buflen, _sw_address, _sw_port); + free(buf); + + if (sent < 0) { + fprintf(stderr, "Fatal: Failed to send on control socket\n"), + exit(1); + } + + if (sent < buflen) { + fprintf(stderr, "Failed to send all bytes on control socket\n"); + } +} + + +/* + Receive an update from the FDM + This is a blocking function + */ +bool SilentWings::recv_fdm(void) +{ + fdm_packet tmp_pkt; + memset(&pkt, 0, sizeof(pkt)); + + ssize_t nread = sock.recv(&tmp_pkt, sizeof(pkt), 0); + + // nread == -1 (255) means no data has arrived + if (nread != sizeof(pkt)) { + return false; + } + + memcpy(&pkt, &tmp_pkt, sizeof(pkt)); + + // data received successfully + return true; +} + + +void SilentWings::process_packet() +{ + // pkt.timestamp is the time of day in SilentWings, measured in ms + // since midnight. + // TO DO: check what happens when a flight in SW crosses midnight + if (inited_first_pkt_timestamp) { + uint64_t tus = (pkt.timestamp - first_pkt_timestamp_ms) * 1.0e3f; + time_now_us = time_base_us + tus; + } + else { + first_pkt_timestamp_ms = pkt.timestamp; + time_base_us = time_now_us; + inited_first_pkt_timestamp = true; + } + + dcm.from_euler(radians(pkt.roll), radians(pkt.pitch), radians(pkt.yaw)); + accel_body = Vector3f(pkt.ax * GRAVITY_MSS, pkt.ay * GRAVITY_MSS, pkt.az * GRAVITY_MSS); // This is g-load. + gyro = Vector3f(radians(pkt.d_roll), radians(pkt.d_pitch), radians(pkt.d_yaw)); + // SilentWings provides velocity in body frame. + velocity_ef = dcm * Vector3f(pkt.vx, pkt.vy, pkt.vz); + // SilentWings also provides velocity in body frame w.r.t. the wind, from which we can infer the wind. + wind_ef = dcm * (Vector3f(pkt.vx, pkt.vy, pkt.vz) - Vector3f(pkt.vx_wind, pkt.vy_wind, pkt.vz_wind)); + airspeed = pkt.v_eas; + airspeed_pitot = pkt.v_eas; + Location curr_location; + curr_location.lat = pkt.position_latitude * 1.0e7; + curr_location.lng = pkt.position_longitude * 1.0e7; + curr_location.alt = pkt.altitude_msl * 100.0f; + ground_level = curr_location.alt * 0.01f - pkt.altitude_ground; + Vector3f posdelta = home.get_distance_NED(curr_location); + position.x = posdelta.x; + position.y = posdelta.y; + position.z = posdelta.z; + update_position(); + + // In case Silent Wings' reported location and our location calculated using an offset from the home location diverge, we need + // to reset the home location. + if (curr_location.get_distance(location) > 4 || abs(curr_location.alt - location.alt)*0.01f > 2.0f || !home_initialized) { + printf("SilentWings home reset dist=%f alt=%.1f/%.1f\n", + curr_location.get_distance(location), curr_location.alt*0.01f, location.alt*0.01f); + // reset home location + home.lat = curr_location.lat; + home.lng = curr_location.lng; + // Resetting altitude reference point in flight can throw off a bunch + // of important calculations, so let the home altitude always be 0m MSL + home.alt = 0; + position.x = 0; + position.y = 0; + position.z = -curr_location.alt; + home_initialized = true; + update_position(); + } + + // Auto-adjust to Silent Wings' frame rate + // This affects the data rate (without this adjustment, the data rate is + // low no matter what the output_udp_rate in SW's options.dat file is). + double deltat = (AP_HAL::millis() - last_data_time_ms) / 1000.0f; + + if (deltat < 0.01 && deltat > 0) { + adjust_frame_time(1.0/deltat); + } + + last_data_time_ms = AP_HAL::millis(); + + report.data_count++; + report.frame_count++; + + if (0) { + printf("Delta: %f Time: %" PRIu64 "\n", deltat, time_now_us); + printf("Accel.x %f\n", accel_body.x); + printf("Accel.y %f\n", accel_body.y); + printf("Accel.z %f\n", accel_body.z); + printf("Gyro.x %f\n", gyro.x); + printf("Gyro.y %f\n", gyro.y); + printf("Gyro.z %f\n", gyro.z); + printf("Pos.x %f\n", position.x); + printf("Pos.y %f\n", position.y); + printf("Pos.z %f\n", position.z); + printf("Roll %f\n", pkt.roll); + printf("Pitch %f\n", pkt.pitch); + printf("Yaw %f\n", pkt.yaw); + } +} + +/* + Extrapolates sensor data if Silent Wings hasn't sent us a data packet in a while. + */ +bool SilentWings::interim_update() +{ + if (AP_HAL::millis() - last_data_time_ms > 200) { + // don't extrapolate beyond 0.2s + return false; + } + + float delta_time = frame_time_us * 1e-6f; + time_now_us += frame_time_us; + extrapolate_sensors(delta_time); + update_position(); + report.frame_count++; + return true; +} + + +/* + Update the Silent Wings simulation by one time step. + */ +void SilentWings::update(const struct sitl_input &input) +{ + if (recv_fdm()) { + process_packet(); + // Time has been advanced by process_packet(.) + send_servos(input); + } + else if (interim_update()) { + // This clause is triggered only if we previously + // received at least one data packet. + // Time has been advanced by interim_update(.) + send_servos(input); + } + + // This clause is triggered if and only if we haven't received + // any data packets yet (and therefore didn't attempt + // extrapolating data via interim_update(.) either). + if (!inited_first_pkt_timestamp){ + time_advance(); + } + else { + if (use_time_sync) { + sync_frame_time(); + } + } + + update_mag_field_bf(); + + uint32_t now = AP_HAL::millis(); + + if (report.last_report_ms == 0) { + report.last_report_ms = now; + printf("Resetting last report time to now\n"); + } + + if (now - report.last_report_ms > 5000) { + float dt = (now - report.last_report_ms) * 1.0e-3f; + printf("Data rate: %.1f FPS Frame rate: %.1f FPS\n", + report.data_count/dt, report.frame_count/dt); + report.last_report_ms = now; + report.data_count = 0; + report.frame_count = 0; + } +} diff --git a/libraries/SITL/SIM_SilentWings.h b/libraries/SITL/SIM_SilentWings.h new file mode 100755 index 0000000000..9fb0253f81 --- /dev/null +++ b/libraries/SITL/SIM_SilentWings.h @@ -0,0 +1,112 @@ +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +#pragma once + +#include + +#include "SIM_Aircraft.h" + +namespace SITL { + +/* + A wrapper for a simulated Silent Wings aircraft. +*/ +class SilentWings : public Aircraft { +public: + SilentWings(const char *home_str, const char *frame_str); + + /* Updates the aircraft model by one time step */ + void update(const struct sitl_input &input) override; + + /* Static object creator */ + static Aircraft *create(const char *home_str, const char *frame_str) { + return new SilentWings(home_str, frame_str); + } + +private: + + /* Reply packet sent from SilentWings to ArduPlane */ + struct PACKED fdm_packet { + unsigned int timestamp; // Millisec Timestamp + double position_latitude; // Degrees Position latitude, + double position_longitude; // Degrees longitude, + float altitude_msl; // m Altitude w.r.t. the sea level + float altitude_ground; // m Altitude w.r.t. the ground level + float altitude_ground_45; // m Ground 45 degrees ahead (NOT IMPLEMENTED YET) + float altitude_ground_forward; // m Ground straight ahead (NOT IMPLEMENTED YET) + float roll; // Degrees + float pitch; // Degrees + float yaw; // Degrees + float d_roll; // Deg/sec Roll speed + float d_pitch; // Deg/sec Pitch speed + float d_yaw; // Deg/sec Yaw speed + float vx; // m/s Velocity vector in body-axis + float vy; + float vz; + float vx_wind; // m/s Velocity vector in body-axis, relative to the wind + float vy_wind; + float vz_wind; + float v_eas; // m/s Equivalent (indicated) air speed. + float ax; // m/s^2 Acceleration vector in body axis + float ay; + float az; + float angle_of_attack; // Degrees Angle of attack + float angle_sideslip; // Degrees Sideslip angle + float vario; // m/s Total energy-compensated variometer + float heading; // Degrees Compass heading + float rate_of_turn; // Deg/sec Rate of turn + float airpressure; // Pa Local air pressure at aircraft altitude) + float density; // Air density at aircraft altitude + float temperature; // Degrees Celcius Air temperature at aircraft altitude + } pkt; + + struct { + uint32_t last_report_ms; + uint32_t data_count; + uint32_t frame_count; + } report; + + bool recv_fdm(void); + void process_packet(); + bool interim_update(); + + /* Create and set in/out socket for Silent Wings simulator */ + void set_interface_ports(const char* address, const int port_in, const int port_out) override; + + /* Sends control inputs to the Silent Wings. */ + void send_servos(const struct sitl_input &input); + + /* Timestamp of the latest data packet received from Silent Wings. */ + uint32_t last_data_time_ms; + + /* Timestamp of the first data packet received from Silent Wings. */ + uint32_t first_pkt_timestamp_ms; + + /* Indicates whether first_pkt_timestamp_ms has been initialized (i.e., any packets have been received from Silent Wings. */ + bool inited_first_pkt_timestamp; + + /* ArduPlane's internal time when the first packet from Silent Wings is received. */ + uint64_t time_base_us; + + SocketAPM sock; + const char *_sw_address = "127.0.0.1"; + int _port_in = 6060; + int _sw_port = 6070; + + bool home_initialized; +}; + +} // namespace SITL diff --git a/libraries/SITL/examples/SilentWings/Missions/Plockton.waypoints b/libraries/SITL/examples/SilentWings/Missions/Plockton.waypoints new file mode 100755 index 0000000000..6201167949 --- /dev/null +++ b/libraries/SITL/examples/SilentWings/Missions/Plockton.waypoints @@ -0,0 +1,13 @@ +QGC WPL 110 +0 1 0 16 0 0 0 0 57.331965 -5.673923 20.115164 1 +1 0 3 16 0.000000 0.000000 0.000000 0.000000 57.405393 -5.583801 400.000000 1 +2 0 3 16 0.000000 0.000000 0.000000 0.000000 57.425731 -5.423813 400.000000 1 +3 0 3 16 0.000000 0.000000 0.000000 0.000000 57.369496 -5.469818 400.000000 1 +4 0 3 177 1.000000 -1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1 +5 0 3 16 0.000000 0.000000 0.000000 0.000000 57.319848 -5.715637 0.000000 1 +6 0 3 16 0.000000 0.000000 0.000000 0.000000 57.359498 -5.710831 100.000000 1 +7 0 3 16 0.000000 0.000000 0.000000 0.000000 57.392444 -5.684738 100.000000 1 +8 0 3 16 0.000000 0.000000 0.000000 0.000000 57.441624 -5.598221 100.000000 1 +9 0 3 16 0.000000 0.000000 0.000000 0.000000 57.458987 -5.359955 100.000000 1 +10 0 3 16 0.000000 0.000000 0.000000 0.000000 57.365052 -5.364075 100.000000 1 +11 0 3 16 0.000000 0.000000 0.000000 0.000000 57.298338 -5.642853 0.000000 1 diff --git a/libraries/SITL/examples/SilentWings/Missions/Starmoen.waypoints b/libraries/SITL/examples/SilentWings/Missions/Starmoen.waypoints new file mode 100755 index 0000000000..7c290eed98 --- /dev/null +++ b/libraries/SITL/examples/SilentWings/Missions/Starmoen.waypoints @@ -0,0 +1,13 @@ +QGC WPL 110 +0 1 0 16 0 0 0 0 60.8805696600 11.6695970300 216.55 1 +1 0 3 16 0.000000 0.000000 0.000000 0.000000 60.95399766 11.75971903 400.000000 1 +2 0 3 16 0.000000 0.000000 0.000000 0.000000 60.97433566 11.91970703 400.000000 1 +3 0 3 16 0.000000 0.000000 0.000000 0.000000 60.91810066 11.87370203 400.000000 1 +4 0 3 177 1.000000 -1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1 +5 0 3 16 0.000000 0.000000 0.000000 0.000000 60.86845266 11.62788303 0.000000 1 +6 0 3 16 0.000000 0.000000 0.000000 0.000000 60.90810266 11.63268903 100.000000 1 +7 0 3 16 0.000000 0.000000 0.000000 0.000000 60.94104866 11.65878203 100.000000 1 +8 0 3 16 0.000000 0.000000 0.000000 0.000000 60.99022866 11.74529903 100.000000 1 +9 0 3 16 0.000000 0.000000 0.000000 0.000000 61.00759166 11.98356503 100.000000 1 +10 0 3 16 0.000000 0.000000 0.000000 0.000000 60.91365666 11.97944503 100.000000 1 +11 0 3 16 0.000000 0.000000 0.000000 0.000000 60.84694266 11.70066703 0.000000 1 diff --git a/libraries/SITL/examples/SilentWings/Params/Rolladen-Schneider-LS8b.param b/libraries/SITL/examples/SilentWings/Params/Rolladen-Schneider-LS8b.param new file mode 100755 index 0000000000..ca265a69cd --- /dev/null +++ b/libraries/SITL/examples/SilentWings/Params/Rolladen-Schneider-LS8b.param @@ -0,0 +1,921 @@ +#NOTE: 5/5/2019 2:01:38 AM Plane: LS-8b +ACRO_LOCKING,0 +ACRO_PITCH_RATE,180 +ACRO_ROLL_RATE,180 +ADSB_ENABLE,0 +AFS_ENABLE,0 +AHRS_COMP_BETA,0.1 +AHRS_CUSTOM_PIT,0 +AHRS_CUSTOM_ROLL,0 +AHRS_CUSTOM_YAW,0 +AHRS_EKF_TYPE,10 +AHRS_GPS_GAIN,1 +AHRS_GPS_MINSATS,6 +AHRS_GPS_USE,1 +AHRS_ORIENTATION,0 +AHRS_RP_P,0.2 +AHRS_TRIM_X,0 +AHRS_TRIM_Y,0 +AHRS_TRIM_Z,0 +AHRS_WIND_MAX,0 +AHRS_YAW_P,0.2 +ALT_CTRL_ALG,0 +ALT_HOLD_FBWCM,0 +ALT_HOLD_RTL,10000 +ALT_OFFSET,0 +ARMING_ACCTHRESH,0.75 +ARMING_CHECK,0 +ARMING_REQUIRE,0 +ARMING_RUDDER,1 +ARMING_VOLT_MIN,0 +ARMING_VOLT2_MIN,0 +ARSPD_AUTOCAL,0 +ARSPD_BUS,1 +ARSPD_FBW_MAX,40 +ARSPD_FBW_MIN,23 +ARSPD_OFFSET,2013.475 +ARSPD_PIN,1 +ARSPD_PRIMARY,0 +ARSPD_PSI_RANGE,1 +ARSPD_RATIO,1.9936 +ARSPD_SKIP_CAL,0 +ARSPD_TUBE_ORDER,2 +ARSPD_TYPE,2 +ARSPD_USE,1 +ARSPD2_TYPE,0 +AUTO_FBW_STEER,0 +AUTOTUNE_LEVEL,6 +AVD_ENABLE,0 +BATT_MONITOR,0 +BATT2_MONITOR,0 +BRD_PWM_COUNT,8 +BRD_RTC_TYPES,1 +BRD_SERIAL_NUM,0 +BTN_ENABLE,0 +CAM_AUTO_ONLY,0 +CAM_DURATION,10 +CAM_FEEDBACK_PIN,-1 +CAM_FEEDBACK_POL,1 +CAM_MAX_ROLL,0 +CAM_MIN_INTERVAL,0 +CAM_RELAY_ON,1 +CAM_SERVO_OFF,1100 +CAM_SERVO_ON,1300 +CAM_TRIGG_DIST,0 +CAM_TRIGG_TYPE,0 +CHUTE_CHAN,0 +CHUTE_ENABLED,0 +COMPASS_AUTO_ROT,2 +COMPASS_AUTODEC,1 +COMPASS_CAL_FIT,16 +COMPASS_DEC,0.06623807 +COMPASS_DEV_ID,983044 +COMPASS_DEV_ID2,983052 +COMPASS_DEV_ID3,0 +COMPASS_DIA_X,1 +COMPASS_DIA_Y,1 +COMPASS_DIA_Z,1 +COMPASS_DIA2_X,1 +COMPASS_DIA2_Y,1 +COMPASS_DIA2_Z,1 +COMPASS_DIA3_X,0 +COMPASS_DIA3_Y,0 +COMPASS_DIA3_Z,0 +COMPASS_EXTERN2,0 +COMPASS_EXTERN3,0 +COMPASS_EXTERNAL,1 +COMPASS_FLTR_RNG,0 +COMPASS_LEARN,1 +COMPASS_MOT_X,0 +COMPASS_MOT_Y,0 +COMPASS_MOT_Z,0 +COMPASS_MOT2_X,0 +COMPASS_MOT2_Y,0 +COMPASS_MOT2_Z,0 +COMPASS_MOT3_X,0 +COMPASS_MOT3_Y,0 +COMPASS_MOT3_Z,0 +COMPASS_MOTCT,0 +COMPASS_ODI_X,0 +COMPASS_ODI_Y,0 +COMPASS_ODI_Z,0 +COMPASS_ODI2_X,0 +COMPASS_ODI2_Y,0 +COMPASS_ODI2_Z,0 +COMPASS_ODI3_X,0 +COMPASS_ODI3_Y,0 +COMPASS_ODI3_Z,0 +COMPASS_OFFS_MAX,850 +COMPASS_OFS_X,5 +COMPASS_OFS_Y,13 +COMPASS_OFS_Z,-18 +COMPASS_OFS2_X,5 +COMPASS_OFS2_Y,13 +COMPASS_OFS2_Z,-18 +COMPASS_OFS3_X,0 +COMPASS_OFS3_Y,0 +COMPASS_OFS3_Z,0 +COMPASS_ORIENT,0 +COMPASS_ORIENT2,0 +COMPASS_ORIENT3,0 +COMPASS_PMOT_EN,0 +COMPASS_PRIMARY,0 +COMPASS_TYPEMASK,0 +COMPASS_USE,0 +COMPASS_USE2,0 +COMPASS_USE3,0 +CRASH_ACC_THRESH,0 +CRASH_DETECT,0 +DSPOILR_RUD_RATE,100 +EK2_ENABLE,0 +EK3_ENABLE,0 +FBWA_TDRAG_CHAN,0 +FBWB_CLIMB_RATE,2 +FBWB_ELEV_REV,0 +FENCE_ACTION,0 +FENCE_AUTOENABLE,0 +FENCE_CHANNEL,0 +FENCE_MAXALT,0 +FENCE_MINALT,0 +FENCE_RET_RALLY,0 +FENCE_RETALT,0 +FENCE_TOTAL,0 +FLAP_1_PERCNT,0 +FLAP_1_SPEED,0 +FLAP_2_PERCNT,0 +FLAP_2_SPEED,0 +FLAP_IN_CHANNEL,0 +FLAP_SLEWRATE,75 +FLOW_ADDR,0 +FLOW_ENABLE,0 +FLOW_FXSCALER,0 +FLOW_FYSCALER,0 +FLOW_ORIENT_YAW,0 +FLOW_POS_X,0 +FLOW_POS_Y,0 +FLOW_POS_Z,0 +FLTMODE_CH,8 +FLTMODE1,11 +FLTMODE2,11 +FLTMODE3,5 +FLTMODE4,5 +FLTMODE5,0 +FLTMODE6,0 +FORMAT_VERSION,13 +FS_GCS_ENABL,0 +FS_LONG_ACTN,0 +FS_LONG_TIMEOUT,5 +FS_SHORT_ACTN,0 +FS_SHORT_TIMEOUT,1.5 +GCS_PID_MASK,0 +GLIDE_SLOPE_MIN,15 +GLIDE_SLOPE_THR,5 +GND_ABS_PRESS,98757.3 +GND_ABS_PRESS2,0 +GND_ABS_PRESS3,0 +GND_ALT_OFFSET,0 +GND_EXT_BUS,-1 +GND_FLTR_RNG,0 +GND_PRIMARY,0 +GND_TEMP,0 +GPS_AUTO_CONFIG,1 +GPS_AUTO_SWITCH,1 +GPS_BLEND_MASK,5 +GPS_BLEND_TC,10 +GPS_DELAY_MS,0 +GPS_DELAY_MS2,0 +GPS_GNSS_MODE,0 +GPS_GNSS_MODE2,0 +GPS_INJECT_TO,127 +GPS_MIN_DGPS,100 +GPS_MIN_ELEV,-100 +GPS_NAVFILTER,8 +GPS_POS1_X,0 +GPS_POS1_Y,0 +GPS_POS1_Z,0 +GPS_POS2_X,0 +GPS_POS2_Y,0 +GPS_POS2_Z,0 +GPS_RATE_MS,200 +GPS_RATE_MS2,200 +GPS_RAW_DATA,0 +GPS_SAVE_CFG,0 +GPS_SBAS_MODE,2 +GPS_SBP_LOGMASK,-32768 +GPS_TYPE,1 +GPS_TYPE2,0 +GRIP_ENABLE,0 +GROUND_STEER_ALT,0 +GROUND_STEER_DPS,90 +HIL_ERR_LIMIT,5 +HIL_MODE,0 +HIL_SERVOS,0 +HOME_RESET_ALT,0 +ICE_ENABLE,0 +INITIAL_MODE,0 +INS_ACC_BODYFIX,2 +INS_ACC_ID,2753028 +INS_ACC2_ID,2753036 +INS_ACC2OFFS_X,0 +INS_ACC2OFFS_Y,0 +INS_ACC2OFFS_Z,0 +INS_ACC2SCAL_X,1 +INS_ACC2SCAL_Y,1 +INS_ACC2SCAL_Z,1 +INS_ACC3_ID,0 +INS_ACC3OFFS_X,0 +INS_ACC3OFFS_Y,0 +INS_ACC3OFFS_Z,0 +INS_ACC3SCAL_X,0 +INS_ACC3SCAL_Y,0 +INS_ACC3SCAL_Z,0 +INS_ACCEL_FILTER,20 +INS_ACCOFFS_X,0 +INS_ACCOFFS_Y,0 +INS_ACCOFFS_Z,0 +INS_ACCSCAL_X,1 +INS_ACCSCAL_Y,1 +INS_ACCSCAL_Z,1 +INS_ENABLE_MASK,1 +INS_FAST_SAMPLE,0 +INS_GYR_CAL,0 +INS_GYR_ID,2752772 +INS_GYR2_ID,2752780 +INS_GYR2OFFS_X,0.00406 +INS_GYR2OFFS_Y,0.013341 +INS_GYR2OFFS_Z,-0.071742 +INS_GYR3_ID,0 +INS_GYR3OFFS_X,0 +INS_GYR3OFFS_Y,0 +INS_GYR3OFFS_Z,0 +INS_GYRO_FILTER,20 +INS_GYROFFS_X,0.004127 +INS_GYROFFS_Y,0.013363 +INS_GYROFFS_Z,-0.071777 +INS_LOG_BAT_CNT,1024 +INS_LOG_BAT_LGCT,32 +INS_LOG_BAT_LGIN,20 +INS_LOG_BAT_MASK,0 +INS_LOG_BAT_OPT,0 +INS_NOTCH_ENABLE,0 +INS_POS1_X,0 +INS_POS1_Y,0 +INS_POS1_Z,0 +INS_POS2_X,0 +INS_POS2_Y,0 +INS_POS2_Z,0 +INS_POS3_X,0 +INS_POS3_Y,0 +INS_POS3_Z,0 +INS_PRODUCT_ID,0 +INS_STILL_THRESH,0.1 +INS_TRIM_OPTION,1 +INS_USE,1 +INS_USE2,1 +INS_USE3,0 +INVERTEDFLT_CH,0 +KFF_RDDRMIX,0.7 +KFF_THR2PTCH,0 +LAND_ABORT_DEG,0 +LAND_ABORT_THR,0 +LAND_DISARMDELAY,20 +LAND_DS_ABORTALT,0 +LAND_DS_AIL_SCL,1 +LAND_DS_APP_EXT,50 +LAND_DS_ARSP_MAX,15 +LAND_DS_ARSP_MIN,10 +LAND_DS_D,0 +LAND_DS_ELEV_PWM,1500 +LAND_DS_I,0 +LAND_DS_IMAX,0 +LAND_DS_L1,30 +LAND_DS_L1_I,0 +LAND_DS_L1_TCON,0.4 +LAND_DS_P,0 +LAND_DS_SLEW_SPD,0.5 +LAND_DS_SLOPE_A,1 +LAND_DS_SLOPE_B,1 +LAND_DS_V_DWN,2 +LAND_DS_V_FWD,1 +LAND_DS_YAW_LIM,10 +LAND_FLAP_PERCNT,0 +LAND_FLARE_ALT,12 +LAND_FLARE_SEC,2 +LAND_PF_ALT,10 +LAND_PF_ARSPD,0 +LAND_PF_SEC,6 +LAND_PITCH_CD,0 +LAND_SLOPE_RCALC,2 +LAND_THEN_NEUTRL,0 +LAND_THR_SLEW,0 +LAND_TYPE,0 +LEVEL_ROLL_LIMIT,5 +LIM_PITCH_MAX,2000 +LIM_PITCH_MIN,-2500 +LIM_ROLL_CD,5000 +LOG_BACKEND_TYPE,1 +LOG_BITMASK,65535 +LOG_DISARMED,0 +LOG_FILE_BUFSIZE,16 +LOG_FILE_DSRMROT,0 +LOG_MAV_BUFSIZE,8 +LOG_REPLAY,0 +MAG_ENABLE,1 +MANUAL_RCMASK,0 +MIN_GNDSPD_CM,0 +MIS_OPTIONS,0 +MIS_RESTART,0 +MIS_TOTAL,12 +MIXING_GAIN,0.5 +MIXING_OFFSET,0 +MNT_ANGMAX_PAN,4500 +MNT_ANGMAX_ROL,4500 +MNT_ANGMAX_TIL,4500 +MNT_ANGMIN_PAN,-4500 +MNT_ANGMIN_ROL,-4500 +MNT_ANGMIN_TIL,-4500 +MNT_DEFLT_MODE,3 +MNT_JSTICK_SPD,0 +MNT_LEAD_PTCH,0 +MNT_LEAD_RLL,0 +MNT_NEUTRAL_X,0 +MNT_NEUTRAL_Y,0 +MNT_NEUTRAL_Z,0 +MNT_RC_IN_PAN,0 +MNT_RC_IN_ROLL,0 +MNT_RC_IN_TILT,0 +MNT_RETRACT_X,0 +MNT_RETRACT_Y,0 +MNT_RETRACT_Z,0 +MNT_STAB_PAN,0 +MNT_STAB_ROLL,0 +MNT_STAB_TILT,0 +MNT_TYPE,0 +NAV_CONTROLLER,1 +NAVL1_DAMPING,1 +NAVL1_LIM_BANK,60 +NAVL1_PERIOD,20 +NAVL1_XTRACK_I,0.02 +NTF_BUZZ_ENABLE,1 +NTF_BUZZ_PIN,0 +NTF_DISPLAY_TYPE,0 +NTF_LED_BRIGHT,3 +NTF_LED_OVERRIDE,0 +NTF_LED_TYPES,199 +PTCH2SRV_D,0.3 +PTCH2SRV_FF,0 +PTCH2SRV_I,0.333333 +PTCH2SRV_IMAX,4000 +PTCH2SRV_P,4 +PTCH2SRV_RLL,1 +PTCH2SRV_RMAX_DN,75 +PTCH2SRV_RMAX_UP,75 +PTCH2SRV_TCONST,0.45 +Q_ENABLE,0 +RALLY_INCL_HOME,0 +RALLY_LIMIT_KM,5 +RALLY_TOTAL,0 +RC_OVERRIDE_TIME,3 +RC1_DZ,30 +RC1_MAX,1900 +RC1_MIN,1100 +RC1_REVERSED,0 +RC1_TRIM,1500 +RC10_DZ,0 +RC10_MAX,1900 +RC10_MIN,1100 +RC10_REVERSED,0 +RC10_TRIM,1500 +RC11_DZ,0 +RC11_MAX,1900 +RC11_MIN,1100 +RC11_REVERSED,0 +RC11_TRIM,1500 +RC12_DZ,0 +RC12_MAX,1900 +RC12_MIN,1100 +RC12_REVERSED,0 +RC12_TRIM,1500 +RC13_DZ,0 +RC13_MAX,1900 +RC13_MIN,1100 +RC13_REVERSED,0 +RC13_TRIM,1500 +RC14_DZ,0 +RC14_MAX,1900 +RC14_MIN,1100 +RC14_REVERSED,0 +RC14_TRIM,1500 +RC15_DZ,0 +RC15_MAX,1900 +RC15_MIN,1100 +RC15_REVERSED,0 +RC15_TRIM,1500 +RC16_DZ,0 +RC16_MAX,1900 +RC16_MIN,1100 +RC16_REVERSED,0 +RC16_TRIM,1500 +RC2_DZ,30 +RC2_MAX,1900 +RC2_MIN,1100 +RC2_REVERSED,0 +RC2_TRIM,1500 +RC3_DZ,30 +RC3_MAX,1900 +RC3_MIN,1100 +RC3_REVERSED,0 +RC3_TRIM,1500 +RC4_DZ,30 +RC4_MAX,1900 +RC4_MIN,1100 +RC4_REVERSED,0 +RC4_TRIM,1500 +RC5_DZ,0 +RC5_MAX,1900 +RC5_MIN,1100 +RC5_REVERSED,0 +RC5_TRIM,1500 +RC6_DZ,0 +RC6_MAX,1900 +RC6_MIN,1100 +RC6_REVERSED,0 +RC6_TRIM,1500 +RC7_DZ,0 +RC7_MAX,1900 +RC7_MIN,1100 +RC7_REVERSED,0 +RC7_TRIM,1500 +RC8_DZ,0 +RC8_MAX,1900 +RC8_MIN,1100 +RC8_REVERSED,0 +RC8_TRIM,1500 +RC9_DZ,0 +RC9_MAX,1900 +RC9_MIN,1100 +RC9_REVERSED,0 +RC9_TRIM,1500 +RCMAP_PITCH,2 +RCMAP_ROLL,1 +RCMAP_THROTTLE,3 +RCMAP_YAW,4 +RELAY_DEFAULT,0 +RELAY_PIN,13 +RELAY_PIN2,-1 +RELAY_PIN3,-1 +RELAY_PIN4,-1 +RLL2SRV_D,0.21 +RLL2SRV_FF,0 +RLL2SRV_I,0.233333 +RLL2SRV_IMAX,3000 +RLL2SRV_P,2.8 +RLL2SRV_RMAX,75 +RLL2SRV_TCONST,0.45 +RNGFND_ADDR,0 +RNGFND_FUNCTION,0 +RNGFND_GNDCLEAR,10 +RNGFND_LANDING,0 +RNGFND_MAX_CM,700 +RNGFND_MIN_CM,20 +RNGFND_OFFSET,0 +RNGFND_ORIENT,25 +RNGFND_PIN,-1 +RNGFND_POS_X,0 +RNGFND_POS_Y,0 +RNGFND_POS_Z,0 +RNGFND_PWRRNG,0 +RNGFND_RMETRIC,1 +RNGFND_SCALING,3 +RNGFND_SETTLE,0 +RNGFND_STOP_PIN,-1 +RNGFND_TYPE,0 +RNGFND2_ADDR,0 +RNGFND2_FUNCTION,0 +RNGFND2_GNDCLEAR,10 +RNGFND2_MAX_CM,700 +RNGFND2_MIN_CM,20 +RNGFND2_OFFSET,0 +RNGFND2_ORIENT,25 +RNGFND2_PIN,-1 +RNGFND2_POS_X,0 +RNGFND2_POS_Y,0 +RNGFND2_POS_Z,0 +RNGFND2_RMETRIC,1 +RNGFND2_SCALING,3 +RNGFND2_SETTLE,0 +RNGFND2_STOP_PIN,-1 +RNGFND2_TYPE,0 +RPM_MAX,100000 +RPM_MIN,10 +RPM_MIN_QUAL,0.5 +RPM_PIN,54 +RPM_SCALING,1 +RPM_TYPE,0 +RPM2_PIN,-1 +RPM2_SCALING,1 +RPM2_TYPE,0 +RSSI_TYPE,0 +RST_MISSION_CH,0 +RST_SWITCH_CH,0 +RTL_AUTOLAND,0 +RTL_RADIUS,0 +RUDD_DT_GAIN,10 +RUDDER_ONLY,0 +SCALING_SPEED,15 +SCHED_DEBUG,0 +SCHED_LOOP_RATE,50 +SERIAL0_BAUD,115 +SERIAL0_PROTOCOL,1 +SERIAL1_BAUD,57 +SERIAL1_PROTOCOL,1 +SERIAL2_BAUD,57 +SERIAL2_PROTOCOL,1 +SERIAL3_BAUD,38 +SERIAL3_PROTOCOL,5 +SERIAL4_BAUD,38 +SERIAL4_PROTOCOL,5 +SERIAL5_BAUD,57 +SERIAL5_PROTOCOL,-1 +SERIAL6_BAUD,57 +SERIAL6_PROTOCOL,-1 +SERVO_AUTO_TRIM,0 +SERVO_RATE,50 +SERVO_SBUS_RATE,50 +SERVO_VOLZ_MASK,0 +SERVO1_FUNCTION,4 +SERVO1_MAX,1900 +SERVO1_MIN,1100 +SERVO1_REVERSED,0 +SERVO1_TRIM,1500 +SERVO10_FUNCTION,0 +SERVO10_MAX,1900 +SERVO10_MIN,1100 +SERVO10_REVERSED,0 +SERVO10_TRIM,1500 +SERVO11_FUNCTION,0 +SERVO11_MAX,1900 +SERVO11_MIN,1100 +SERVO11_REVERSED,0 +SERVO11_TRIM,1500 +SERVO12_FUNCTION,0 +SERVO12_MAX,1900 +SERVO12_MIN,1100 +SERVO12_REVERSED,0 +SERVO12_TRIM,1500 +SERVO13_FUNCTION,0 +SERVO13_MAX,1900 +SERVO13_MIN,1100 +SERVO13_REVERSED,0 +SERVO13_TRIM,1500 +SERVO14_FUNCTION,0 +SERVO14_MAX,1900 +SERVO14_MIN,1100 +SERVO14_REVERSED,0 +SERVO14_TRIM,1500 +SERVO15_FUNCTION,0 +SERVO15_MAX,1900 +SERVO15_MIN,1100 +SERVO15_REVERSED,0 +SERVO15_TRIM,1500 +SERVO16_FUNCTION,0 +SERVO16_MAX,1900 +SERVO16_MIN,1100 +SERVO16_REVERSED,0 +SERVO16_TRIM,1500 +SERVO2_FUNCTION,19 +SERVO2_MAX,1900 +SERVO2_MIN,1100 +SERVO2_REVERSED,0 +SERVO2_TRIM,1500 +SERVO3_FUNCTION,70 +SERVO3_MAX,1900 +SERVO3_MIN,1100 +SERVO3_REVERSED,0 +SERVO3_TRIM,1500 +SERVO4_FUNCTION,21 +SERVO4_MAX,1900 +SERVO4_MIN,1100 +SERVO4_REVERSED,0 +SERVO4_TRIM,1500 +SERVO5_FUNCTION,1 +SERVO5_MAX,1900 +SERVO5_MIN,1100 +SERVO5_REVERSED,0 +SERVO5_TRIM,1500 +SERVO6_FUNCTION,110 +SERVO6_MAX,2000 +SERVO6_MIN,1000 +SERVO6_REVERSED,0 +SERVO6_TRIM,1500 +SERVO7_FUNCTION,0 +SERVO7_MAX,1900 +SERVO7_MIN,1100 +SERVO7_REVERSED,0 +SERVO7_TRIM,1500 +SERVO8_FUNCTION,0 +SERVO8_MAX,1900 +SERVO8_MIN,1100 +SERVO8_REVERSED,0 +SERVO8_TRIM,1500 +SERVO9_FUNCTION,0 +SERVO9_MAX,1900 +SERVO9_MIN,1100 +SERVO9_REVERSED,0 +SERVO9_TRIM,1500 +SIM_ACC_BIAS_X,0 +SIM_ACC_BIAS_Y,0 +SIM_ACC_BIAS_Z,0 +SIM_ACC_RND,0 +SIM_ACC2_BIAS_X,0 +SIM_ACC2_BIAS_Y,0 +SIM_ACC2_BIAS_Z,0 +SIM_ACC2_RND,0 +SIM_ACCEL_FAIL,0 +SIM_ADSB_ALT,1000 +SIM_ADSB_COUNT,-1 +SIM_ADSB_RADIUS,10000 +SIM_ADSB_TX,0 +SIM_ARSPD_FAIL,0 +SIM_ARSPD_FAIL_P,0 +SIM_ARSPD_PITOT,0 +SIM_ARSPD_RND,0.5 +SIM_ARSPD_SIGN,0 +SIM_ARSPD2_FAIL,0 +SIM_ARSPD2_FAILP,0 +SIM_ARSPD2_PITOT,0 +SIM_BARO_DELAY,0 +SIM_BARO_DISABLE,0 +SIM_BARO_DRIFT,0 +SIM_BARO_GLITCH,0 +SIM_BARO_RND,0.2 +SIM_BATT_VOLTAGE,12.6 +SIM_DRIFT_SPEED,0.05 +SIM_DRIFT_TIME,5 +SIM_ENGINE_FAIL,0 +SIM_ENGINE_MUL,1 +SIM_FLOAT_EXCEPT,1 +SIM_FLOW_DELAY,0 +SIM_FLOW_ENABLE,0 +SIM_FLOW_POS_X,0 +SIM_FLOW_POS_Y,0 +SIM_FLOW_POS_Z,0 +SIM_FLOW_RATE,10 +SIM_GP2_GLITCH_X,0 +SIM_GP2_GLITCH_Y,0 +SIM_GP2_GLITCH_Z,0 +SIM_GPS_ALT_OFS,0 +SIM_GPS_BYTELOSS,0 +SIM_GPS_DELAY,1 +SIM_GPS_DISABLE,0 +SIM_GPS_DRIFTALT,0 +SIM_GPS_GLITCH_X,0 +SIM_GPS_GLITCH_Y,0 +SIM_GPS_GLITCH_Z,0 +SIM_GPS_HZ,20 +SIM_GPS_LOCKTIME,0 +SIM_GPS_NOISE,0 +SIM_GPS_NUMSATS,10 +SIM_GPS_POS_X,0 +SIM_GPS_POS_Y,0 +SIM_GPS_POS_Z,0 +SIM_GPS_TYPE,1 +SIM_GPS2_ENABLE,0 +SIM_GPS2_TYPE,1 +SIM_GYR_RND,0 +SIM_GYR_SCALE_X,0 +SIM_GYR_SCALE_Y,0 +SIM_GYR_SCALE_Z,0 +SIM_IMU_POS_X,0 +SIM_IMU_POS_Y,0 +SIM_IMU_POS_Z,0 +SIM_MAG_ALY_HGT,1 +SIM_MAG_ALY_X,0 +SIM_MAG_ALY_Y,0 +SIM_MAG_ALY_Z,0 +SIM_MAG_DELAY,0 +SIM_MAG_DIA_X,0 +SIM_MAG_DIA_Y,0 +SIM_MAG_DIA_Z,0 +SIM_MAG_ERROR,0 +SIM_MAG_MOT_X,0 +SIM_MAG_MOT_Y,0 +SIM_MAG_MOT_Z,0 +SIM_MAG_ODI_X,0 +SIM_MAG_ODI_Y,0 +SIM_MAG_ODI_Z,0 +SIM_MAG_OFS_X,5 +SIM_MAG_OFS_Y,13 +SIM_MAG_OFS_Z,-18 +SIM_MAG_ORIENT,0 +SIM_MAG_RND,0 +SIM_ODOM_ENABLE,0 +SIM_PIN_MASK,0 +SIM_RC_FAIL,0 +SIM_SERVO_SPEED,0.14 +SIM_SONAR_GLITCH,0 +SIM_SONAR_POS_X,0 +SIM_SONAR_POS_Y,0 +SIM_SONAR_POS_Z,0 +SIM_SONAR_RND,0 +SIM_SONAR_SCALE,12.1212 +SIM_SPEEDUP,-1 +SIM_TEMP_BFACTOR,0 +SIM_TEMP_FLIGHT,35 +SIM_TEMP_START,25 +SIM_TEMP_TCONST,30 +SIM_TERRAIN,1 +SIM_VICON_HSTLEN,0 +SIM_WIND_DELAY,0 +SIM_WIND_DIR,180 +SIM_WIND_DIR_Z,0 +SIM_WIND_SPD,0 +SIM_WIND_T,0 +SIM_WIND_T_ALT,60 +SIM_WIND_T_COEF,0.01 +SIM_WIND_TURB,0 +SOAR_ALT_CUTOFF,2000 +SOAR_ALT_MAX,5000 +SOAR_ALT_MIN,0 +SOAR_ARSP_CMD,9 +SOAR_ASPD_SRC,1 +SOAR_DEBUG,0 +SOAR_DELTA_MODE,0 +SOAR_DIST_AHEAD,5 +SOAR_ENABLE,1 +SOAR_ENABLE_CH,0 +SOAR_EXIT_MODE,0 +SOAR_GEOFENCE,0 +SOAR_GPS_SYNC,1 +SOAR_I_MOMENT,0.00257482 +SOAR_K_AILERON,1.448331 +SOAR_K_ROLLDAMP,0.4107359 +SOAR_MCCREADY,0.7 +SOAR_MIN_CRSE_S,20 +SOAR_MIN_THML_S,20 +SOAR_NO_STALLPRV,1 +SOAR_POLAR_B,0.0156 +SOAR_POLAR_CD0,0.00859 +SOAR_POLAR_K,489 +SOAR_POLY_A,-0.03099261 +SOAR_POLY_B,0.4473186 +SOAR_POLY_C,-2.30293 +SOAR_POMDP_EXT,0 +SOAR_POMDP_HORI,4 +SOAR_POMDP_K,5 +SOAR_POMDP_LOOP,1 +SOAR_POMDP_N,10 +SOAR_POMDP_N_ACT,2 +SOAR_POMDP_NORM,0 +SOAR_POMDP_ON,0 +SOAR_POMDP_PLN,0 +SOAR_POMDP_PTH,50 +SOAR_POMDP_ROLL1,15 +SOAR_POMDP_ROLL2,45 +SOAR_POMDP_RRATE,75 +SOAR_POMDP_STEP,1 +SOAR_Q1,0.001 +SOAR_Q2,0.03 +SOAR_R,0.45 +SOAR_ROLL_CLP,-1.128087 +SOAR_RUN_TEST,0 +SOAR_SG_FILTER,1 +SOAR_TEST_DIST,20 +SOAR_TEST_OFFSET,10 +SOAR_TEST_RADIUS,20 +SOAR_TEST_W,2.5 +SOAR_VARIO_TYPE,1 +SOAR_VSPEED,1000 +SR0_ADSB,5 +SR0_EXT_STAT,2 +SR0_EXTRA1,10 +SR0_EXTRA2,10 +SR0_EXTRA3,2 +SR0_PARAMS,10 +SR0_POSITION,2 +SR0_RAW_CTRL,4 +SR0_RAW_SENS,2 +SR0_RC_CHAN,2 +SR1_ADSB,5 +SR1_EXT_STAT,1 +SR1_EXTRA1,1 +SR1_EXTRA2,1 +SR1_EXTRA3,1 +SR1_PARAMS,10 +SR1_POSITION,1 +SR1_RAW_CTRL,1 +SR1_RAW_SENS,1 +SR1_RC_CHAN,1 +SR2_ADSB,5 +SR2_EXT_STAT,1 +SR2_EXTRA1,1 +SR2_EXTRA2,1 +SR2_EXTRA3,1 +SR2_PARAMS,10 +SR2_POSITION,1 +SR2_RAW_CTRL,1 +SR2_RAW_SENS,1 +SR2_RC_CHAN,1 +SR3_ADSB,5 +SR3_EXT_STAT,1 +SR3_EXTRA1,1 +SR3_EXTRA2,1 +SR3_EXTRA3,1 +SR3_PARAMS,10 +SR3_POSITION,1 +SR3_RAW_CTRL,1 +SR3_RAW_SENS,1 +SR3_RC_CHAN,1 +STAB_PITCH_DOWN,2 +STALL_PREVENTION,1 +STAT_BOOTCNT,36 +STAT_FLTTIME,13767 +STAT_RESET,100133200 +STAT_RUNTIME,26146 +STEER2SRV_D,0.005 +STEER2SRV_DRTFCT,10 +STEER2SRV_DRTMIN,4500 +STEER2SRV_DRTSPD,0 +STEER2SRV_FF,0 +STEER2SRV_I,0.2 +STEER2SRV_IMAX,1500 +STEER2SRV_MINSPD,1 +STEER2SRV_P,1.8 +STEER2SRV_TCONST,0.75 +STICK_MIXING,1 +SYS_NUM_RESETS,37 +SYSID_ENFORCE,0 +SYSID_MYGCS,255 +SYSID_THISMAV,1 +TECS_APPR_SMAX,0 +TECS_CLMB_MAX,5 +TECS_HGT_OMEGA,3 +TECS_INTEG_GAIN,0.5 +TECS_LAND_ARSPD,-1 +TECS_LAND_DAMP,0.5 +TECS_LAND_IGAIN,0 +TECS_LAND_PDAMP,0 +TECS_LAND_PMAX,10 +TECS_LAND_SINK,0.25 +TECS_LAND_SPDWGT,-1 +TECS_LAND_SRC,0 +TECS_LAND_TCONST,12 +TECS_LAND_TDAMP,0 +TECS_LAND_THR,-1 +TECS_PITCH_MAX,0 +TECS_PITCH_MIN,0 +TECS_PTCH_DAMP,0.2 +TECS_RLL2THR,10 +TECS_SINK_MAX,5.5 +TECS_SINK_MIN,2 +TECS_SPD_OMEGA,2 +TECS_SPDWEIGHT,2 +TECS_SYNAIRSPEED,0 +TECS_THR_DAMP,0.5 +TECS_TIME_CONST,12 +TECS_TKOFF_IGAIN,0 +TECS_VERT_ACC,7 +TELEM_DELAY,0 +TERRAIN_ENABLE,0 +TERRAIN_FOLLOW,0 +TERRAIN_LOOKAHD,2000 +TERRAIN_SPACING,100 +THR_FAILSAFE,1 +THR_FS_VALUE,950 +THR_MAX,100 +THR_MIN,-100 +THR_PASS_STAB,0 +THR_SLEWRATE,100 +THR_SUPP_MAN,0 +THROTTLE_NUDGE,1 +TKOFF_FLAP_PCNT,0 +TKOFF_PLIM_SEC,2 +TKOFF_ROTATE_SPD,0 +TKOFF_TDRAG_ELEV,0 +TKOFF_TDRAG_SPD1,0 +TKOFF_THR_DELAY,2 +TKOFF_THR_MAX,0 +TKOFF_THR_MINACC,0 +TKOFF_THR_MINSPD,0 +TKOFF_THR_SLEW,0 +TRIM_ARSPD_CM,3000 +TRIM_AUTO,0 +TRIM_PITCH_CD,0 +TRIM_THROTTLE,45 +TUNE_CHAN,0 +TUNE_CHAN_MAX,2000 +TUNE_CHAN_MIN,1000 +TUNE_ERR_THRESH,0.15 +TUNE_MODE_REVERT,1 +TUNE_PARAM,0 +TUNE_RANGE,2 +TUNE_SELECTOR,0 +USE_REV_THRUST,2 +WP_LOITER_RAD,90 +WP_MAX_RADIUS,0 +WP_RADIUS,130 +YAW2SRV_DAMP,1.7 +YAW2SRV_IMAX,1500 +YAW2SRV_INT,0 +YAW2SRV_RLL,1.1 +YAW2SRV_SLIP,0 diff --git a/libraries/SITL/examples/SilentWings/Params/Schleicher-ASW27B.param b/libraries/SITL/examples/SilentWings/Params/Schleicher-ASW27B.param new file mode 100755 index 0000000000..1147241bf9 --- /dev/null +++ b/libraries/SITL/examples/SilentWings/Params/Schleicher-ASW27B.param @@ -0,0 +1,916 @@ +#NOTE: 11/18/2018 2:50:09 AM Plane: Skywalker +ACRO_LOCKING,0 +ACRO_PITCH_RATE,180 +ACRO_ROLL_RATE,180 +ADSB_ENABLE,0 +AFS_ENABLE,0 +AHRS_COMP_BETA,0.1 +AHRS_CUSTOM_PIT,0 +AHRS_CUSTOM_ROLL,0 +AHRS_CUSTOM_YAW,0 +AHRS_EKF_TYPE,10 +AHRS_GPS_GAIN,1 +AHRS_GPS_MINSATS,6 +AHRS_GPS_USE,1 +AHRS_ORIENTATION,0 +AHRS_RP_P,0.2 +AHRS_TRIM_X,0 +AHRS_TRIM_Y,0 +AHRS_TRIM_Z,0 +AHRS_WIND_MAX,0 +AHRS_YAW_P,0.2 +ALT_CTRL_ALG,0 +ALT_HOLD_FBWCM,0 +ALT_HOLD_RTL,10000 +ALT_OFFSET,0 +ARMING_ACCTHRESH,0.75 +ARMING_CHECK,0 +ARMING_REQUIRE,0 +ARMING_RUDDER,1 +ARMING_VOLT_MIN,0 +ARMING_VOLT2_MIN,0 +ARSPD_AUTOCAL,0 +ARSPD_BUS,1 +ARSPD_FBW_MAX,40 +ARSPD_FBW_MIN,23 +ARSPD_OFFSET,2013.475 +ARSPD_PIN,1 +ARSPD_PRIMARY,0 +ARSPD_PSI_RANGE,1 +ARSPD_RATIO,1.9936 +ARSPD_SKIP_CAL,0 +ARSPD_TUBE_ORDER,2 +ARSPD_TYPE,2 +ARSPD_USE,1 +ARSPD2_TYPE,0 +AUTO_FBW_STEER,0 +AUTOTUNE_LEVEL,6 +AVD_ENABLE,0 +BATT_MONITOR,0 +BATT2_MONITOR,0 +BRD_PWM_COUNT,8 +BRD_RTC_TYPES,1 +BRD_SERIAL_NUM,0 +BTN_ENABLE,0 +CAM_AUTO_ONLY,0 +CAM_DURATION,10 +CAM_FEEDBACK_PIN,-1 +CAM_FEEDBACK_POL,1 +CAM_MAX_ROLL,0 +CAM_MIN_INTERVAL,0 +CAM_RELAY_ON,1 +CAM_SERVO_OFF,1100 +CAM_SERVO_ON,1300 +CAM_TRIGG_DIST,0 +CAM_TRIGG_TYPE,0 +CHUTE_CHAN,0 +CHUTE_ENABLED,0 +COMPASS_AUTO_ROT,2 +COMPASS_AUTODEC,1 +COMPASS_CAL_FIT,16 +COMPASS_DEC,0.2073689 +COMPASS_DEV_ID,983044 +COMPASS_DEV_ID2,983052 +COMPASS_DEV_ID3,0 +COMPASS_DIA_X,1 +COMPASS_DIA_Y,1 +COMPASS_DIA_Z,1 +COMPASS_DIA2_X,1 +COMPASS_DIA2_Y,1 +COMPASS_DIA2_Z,1 +COMPASS_DIA3_X,0 +COMPASS_DIA3_Y,0 +COMPASS_DIA3_Z,0 +COMPASS_EXP_DID,-1 +COMPASS_EXP_DID2,-1 +COMPASS_EXP_DID3,-1 +COMPASS_EXTERN2,0 +COMPASS_EXTERN3,0 +COMPASS_EXTERNAL,1 +COMPASS_FLTR_RNG,0 +COMPASS_LEARN,1 +COMPASS_MOT_X,0 +COMPASS_MOT_Y,0 +COMPASS_MOT_Z,0 +COMPASS_MOT2_X,0 +COMPASS_MOT2_Y,0 +COMPASS_MOT2_Z,0 +COMPASS_MOT3_X,0 +COMPASS_MOT3_Y,0 +COMPASS_MOT3_Z,0 +COMPASS_MOTCT,0 +COMPASS_ODI_X,0 +COMPASS_ODI_Y,0 +COMPASS_ODI_Z,0 +COMPASS_ODI2_X,0 +COMPASS_ODI2_Y,0 +COMPASS_ODI2_Z,0 +COMPASS_ODI3_X,0 +COMPASS_ODI3_Y,0 +COMPASS_ODI3_Z,0 +COMPASS_OFFS_MAX,850 +COMPASS_OFS_X,5 +COMPASS_OFS_Y,13 +COMPASS_OFS_Z,-18 +COMPASS_OFS2_X,5 +COMPASS_OFS2_Y,13 +COMPASS_OFS2_Z,-18 +COMPASS_OFS3_X,0 +COMPASS_OFS3_Y,0 +COMPASS_OFS3_Z,0 +COMPASS_ORIENT,0 +COMPASS_ORIENT2,0 +COMPASS_ORIENT3,0 +COMPASS_PMOT_EN,0 +COMPASS_PRIMARY,0 +COMPASS_TYPEMASK,0 +COMPASS_USE,0 +COMPASS_USE2,0 +COMPASS_USE3,0 +CRASH_ACC_THRESH,0 +CRASH_DETECT,0 +DSPOILR_RUD_RATE,100 +EK2_ENABLE,0 +EK3_ENABLE,0 +FBWA_TDRAG_CHAN,0 +FBWB_CLIMB_RATE,2 +FBWB_ELEV_REV,0 +FENCE_ACTION,0 +FENCE_AUTOENABLE,0 +FENCE_CHANNEL,0 +FENCE_MAXALT,0 +FENCE_MINALT,0 +FENCE_RET_RALLY,0 +FENCE_RETALT,0 +FENCE_TOTAL,0 +FLAP_1_PERCNT,0 +FLAP_1_SPEED,0 +FLAP_2_PERCNT,0 +FLAP_2_SPEED,0 +FLAP_IN_CHANNEL,0 +FLAP_SLEWRATE,75 +FLIGHT_OPTIONS,0 +FLOW_ADDR,0 +FLOW_ENABLE,0 +FLOW_FXSCALER,0 +FLOW_FYSCALER,0 +FLOW_ORIENT_YAW,0 +FLOW_POS_X,0 +FLOW_POS_Y,0 +FLOW_POS_Z,0 +FLTMODE_CH,8 +FLTMODE1,11 +FLTMODE2,11 +FLTMODE3,5 +FLTMODE4,5 +FLTMODE5,0 +FLTMODE6,0 +FORMAT_VERSION,13 +FS_GCS_ENABL,0 +FS_LONG_ACTN,0 +FS_LONG_TIMEOUT,5 +FS_SHORT_ACTN,0 +FS_SHORT_TIMEOUT,1.5 +GCS_PID_MASK,0 +GLIDE_SLOPE_MIN,15 +GLIDE_SLOPE_THR,5 +GND_ABS_PRESS,94503.64 +GND_ABS_PRESS2,0 +GND_ABS_PRESS3,0 +GND_ALT_OFFSET,0 +GND_EXT_BUS,-1 +GND_FLTR_RNG,0 +GND_PRIMARY,0 +GND_PROBE_EXT,0 +GND_TEMP,0 +GPS_AUTO_CONFIG,1 +GPS_AUTO_SWITCH,1 +GPS_BLEND_MASK,5 +GPS_BLEND_TC,10 +GPS_DELAY_MS,0 +GPS_DELAY_MS2,0 +GPS_GNSS_MODE,0 +GPS_GNSS_MODE2,0 +GPS_INJECT_TO,127 +GPS_MIN_DGPS,100 +GPS_MIN_ELEV,-100 +GPS_NAVFILTER,8 +GPS_POS1_X,0 +GPS_POS1_Y,0 +GPS_POS1_Z,0 +GPS_POS2_X,0 +GPS_POS2_Y,0 +GPS_POS2_Z,0 +GPS_RATE_MS,200 +GPS_RATE_MS2,200 +GPS_RAW_DATA,0 +GPS_SAVE_CFG,0 +GPS_SBAS_MODE,2 +GPS_SBP_LOGMASK,-32768 +GPS_TYPE,1 +GPS_TYPE2,0 +GRIP_ENABLE,0 +GROUND_STEER_ALT,0 +GROUND_STEER_DPS,90 +HIL_ERR_LIMIT,5 +HIL_MODE,0 +HIL_SERVOS,0 +HOME_RESET_ALT,0 +ICE_ENABLE,0 +INITIAL_MODE,0 +INS_ACC_BODYFIX,2 +INS_ACC_ID,2753028 +INS_ACC2_ID,2753036 +INS_ACC2OFFS_X,0 +INS_ACC2OFFS_Y,0 +INS_ACC2OFFS_Z,0 +INS_ACC2SCAL_X,1 +INS_ACC2SCAL_Y,1 +INS_ACC2SCAL_Z,1 +INS_ACC3_ID,0 +INS_ACC3OFFS_X,0 +INS_ACC3OFFS_Y,0 +INS_ACC3OFFS_Z,0 +INS_ACC3SCAL_X,0 +INS_ACC3SCAL_Y,0 +INS_ACC3SCAL_Z,0 +INS_ACCEL_FILTER,20 +INS_ACCOFFS_X,0 +INS_ACCOFFS_Y,0 +INS_ACCOFFS_Z,0 +INS_ACCSCAL_X,1 +INS_ACCSCAL_Y,1 +INS_ACCSCAL_Z,1 +INS_ENABLE_MASK,1 +INS_FAST_SAMPLE,0 +INS_GYR_CAL,0 +INS_GYR_ID,2752772 +INS_GYR2_ID,2752780 +INS_GYR2OFFS_X,0.00406022 +INS_GYR2OFFS_Y,0.01334124 +INS_GYR2OFFS_Z,-0.07174193 +INS_GYR3_ID,0 +INS_GYR3OFFS_X,0 +INS_GYR3OFFS_Y,0 +INS_GYR3OFFS_Z,0 +INS_GYRO_FILTER,20 +INS_GYROFFS_X,0.004127062 +INS_GYROFFS_Y,0.01336281 +INS_GYROFFS_Z,-0.07177746 +INS_LOG_BAT_CNT,1024 +INS_LOG_BAT_LGCT,32 +INS_LOG_BAT_LGIN,20 +INS_LOG_BAT_MASK,0 +INS_LOG_BAT_OPT,0 +INS_NOTCH_ENABLE,0 +INS_POS1_X,0 +INS_POS1_Y,0 +INS_POS1_Z,0 +INS_POS2_X,0 +INS_POS2_Y,0 +INS_POS2_Z,0 +INS_POS3_X,0 +INS_POS3_Y,0 +INS_POS3_Z,0 +INS_PRODUCT_ID,0 +INS_STILL_THRESH,0.1 +INS_TRIM_OPTION,1 +INS_USE,1 +INS_USE2,1 +INS_USE3,0 +KFF_RDDRMIX,0.7 +KFF_THR2PTCH,0 +LAND_ABORT_DEG,0 +LAND_ABORT_THR,0 +LAND_DISARMDELAY,20 +LAND_DS_ABORTALT,0 +LAND_DS_AIL_SCL,1 +LAND_DS_APP_EXT,50 +LAND_DS_ARSP_MAX,15 +LAND_DS_ARSP_MIN,10 +LAND_DS_D,0 +LAND_DS_ELEV_PWM,1500 +LAND_DS_I,0 +LAND_DS_IMAX,0 +LAND_DS_L1,30 +LAND_DS_L1_I,0 +LAND_DS_L1_TCON,0.4 +LAND_DS_P,0 +LAND_DS_SLEW_SPD,0.5 +LAND_DS_SLOPE_A,1 +LAND_DS_SLOPE_B,1 +LAND_DS_V_DWN,2 +LAND_DS_V_FWD,1 +LAND_DS_YAW_LIM,10 +LAND_FLAP_PERCNT,0 +LAND_FLARE_ALT,3 +LAND_FLARE_SEC,2 +LAND_PF_ALT,10 +LAND_PF_ARSPD,0 +LAND_PF_SEC,6 +LAND_PITCH_CD,0 +LAND_SLOPE_RCALC,2 +LAND_THEN_NEUTRL,0 +LAND_THR_SLEW,0 +LAND_TYPE,0 +LEVEL_ROLL_LIMIT,5 +LIM_PITCH_MAX,2000 +LIM_PITCH_MIN,-2500 +LIM_ROLL_CD,5000 +LOG_BACKEND_TYPE,1 +LOG_BITMASK,65535 +LOG_DISARMED,0 +LOG_FILE_BUFSIZE,16 +LOG_FILE_DSRMROT,0 +LOG_MAV_BUFSIZE,8 +LOG_REPLAY,0 +MAG_ENABLE,1 +MANUAL_RCMASK,0 +MIN_GNDSPD_CM,0 +MIS_OPTIONS,0 +MIS_RESTART,0 +MIS_TOTAL,11 +MIXING_GAIN,0.5 +MIXING_OFFSET,0 +MNT_ANGMAX_PAN,4500 +MNT_ANGMAX_ROL,4500 +MNT_ANGMAX_TIL,4500 +MNT_ANGMIN_PAN,-4500 +MNT_ANGMIN_ROL,-4500 +MNT_ANGMIN_TIL,-4500 +MNT_DEFLT_MODE,3 +MNT_JSTICK_SPD,0 +MNT_LEAD_PTCH,0 +MNT_LEAD_RLL,0 +MNT_NEUTRAL_X,0 +MNT_NEUTRAL_Y,0 +MNT_NEUTRAL_Z,0 +MNT_RC_IN_PAN,0 +MNT_RC_IN_ROLL,0 +MNT_RC_IN_TILT,0 +MNT_RETRACT_X,0 +MNT_RETRACT_Y,0 +MNT_RETRACT_Z,0 +MNT_STAB_PAN,0 +MNT_STAB_ROLL,0 +MNT_STAB_TILT,0 +MNT_TYPE,0 +NAV_CONTROLLER,1 +NAVL1_DAMPING,1 +NAVL1_LIM_BANK,60 +NAVL1_PERIOD,20 +NAVL1_XTRACK_I,0.02 +NTF_BUZZ_ENABLE,1 +NTF_BUZZ_PIN,0 +NTF_DISPLAY_TYPE,0 +NTF_LED_BRIGHT,3 +NTF_LED_OVERRIDE,0 +NTF_LED_TYPES,199 +PTCH2SRV_D,0.6 +PTCH2SRV_FF,0 +PTCH2SRV_I,1 +PTCH2SRV_IMAX,4500 +PTCH2SRV_P,4 +PTCH2SRV_RLL,1 +PTCH2SRV_RMAX_DN,75 +PTCH2SRV_RMAX_UP,75 +PTCH2SRV_TCONST,0.45 +Q_ENABLE,0 +RALLY_INCL_HOME,0 +RALLY_LIMIT_KM,5 +RALLY_TOTAL,0 +RC_OPTIONS,0 +RC_OVERRIDE_TIME,3 +RC1_DZ,30 +RC1_MAX,1900 +RC1_MIN,1100 +RC1_OPTION,0 +RC1_REVERSED,0 +RC1_TRIM,1500 +RC10_DZ,0 +RC10_MAX,1900 +RC10_MIN,1100 +RC10_OPTION,0 +RC10_REVERSED,0 +RC10_TRIM,1500 +RC11_DZ,0 +RC11_MAX,1900 +RC11_MIN,1100 +RC11_OPTION,0 +RC11_REVERSED,0 +RC11_TRIM,1500 +RC12_DZ,0 +RC12_MAX,1900 +RC12_MIN,1100 +RC12_OPTION,0 +RC12_REVERSED,0 +RC12_TRIM,1500 +RC13_DZ,0 +RC13_MAX,1900 +RC13_MIN,1100 +RC13_OPTION,0 +RC13_REVERSED,0 +RC13_TRIM,1500 +RC14_DZ,0 +RC14_MAX,1900 +RC14_MIN,1100 +RC14_OPTION,0 +RC14_REVERSED,0 +RC14_TRIM,1500 +RC15_DZ,0 +RC15_MAX,1900 +RC15_MIN,1100 +RC15_OPTION,0 +RC15_REVERSED,0 +RC15_TRIM,1500 +RC16_DZ,0 +RC16_MAX,1900 +RC16_MIN,1100 +RC16_OPTION,0 +RC16_REVERSED,0 +RC16_TRIM,1500 +RC2_DZ,30 +RC2_MAX,1900 +RC2_MIN,1100 +RC2_OPTION,0 +RC2_REVERSED,0 +RC2_TRIM,1500 +RC3_DZ,30 +RC3_MAX,1900 +RC3_MIN,1100 +RC3_OPTION,0 +RC3_REVERSED,0 +RC3_TRIM,1500 +RC4_DZ,30 +RC4_MAX,1900 +RC4_MIN,1100 +RC4_OPTION,0 +RC4_REVERSED,0 +RC4_TRIM,1500 +RC5_DZ,0 +RC5_MAX,1900 +RC5_MIN,1100 +RC5_OPTION,0 +RC5_REVERSED,0 +RC5_TRIM,1500 +RC6_DZ,0 +RC6_MAX,1900 +RC6_MIN,1100 +RC6_OPTION,0 +RC6_REVERSED,0 +RC6_TRIM,1500 +RC7_DZ,0 +RC7_MAX,1900 +RC7_MIN,1100 +RC7_OPTION,0 +RC7_REVERSED,0 +RC7_TRIM,1500 +RC8_DZ,0 +RC8_MAX,1900 +RC8_MIN,1100 +RC8_OPTION,0 +RC8_REVERSED,0 +RC8_TRIM,1500 +RC9_DZ,0 +RC9_MAX,1900 +RC9_MIN,1100 +RC9_OPTION,0 +RC9_REVERSED,0 +RC9_TRIM,1500 +RCMAP_PITCH,2 +RCMAP_ROLL,1 +RCMAP_THROTTLE,3 +RCMAP_YAW,4 +RELAY_DEFAULT,0 +RELAY_PIN,13 +RELAY_PIN2,-1 +RELAY_PIN3,-1 +RELAY_PIN4,-1 +RLL2SRV_D,0.2 +RLL2SRV_FF,0 +RLL2SRV_I,0.05 +RLL2SRV_IMAX,3000 +RLL2SRV_P,2.8 +RLL2SRV_RMAX,50 +RLL2SRV_TCONST,0.45 +RNGFND_ADDR,0 +RNGFND_FUNCTION,0 +RNGFND_GNDCLEAR,10 +RNGFND_LANDING,0 +RNGFND_MAX_CM,700 +RNGFND_MIN_CM,20 +RNGFND_OFFSET,0 +RNGFND_ORIENT,25 +RNGFND_PIN,-1 +RNGFND_POS_X,0 +RNGFND_POS_Y,0 +RNGFND_POS_Z,0 +RNGFND_PWRRNG,0 +RNGFND_RMETRIC,1 +RNGFND_SCALING,3 +RNGFND_SETTLE,0 +RNGFND_STOP_PIN,-1 +RNGFND_TYPE,0 +RNGFND2_ADDR,0 +RNGFND2_FUNCTION,0 +RNGFND2_GNDCLEAR,10 +RNGFND2_MAX_CM,700 +RNGFND2_MIN_CM,20 +RNGFND2_OFFSET,0 +RNGFND2_ORIENT,25 +RNGFND2_PIN,-1 +RNGFND2_POS_X,0 +RNGFND2_POS_Y,0 +RNGFND2_POS_Z,0 +RNGFND2_RMETRIC,1 +RNGFND2_SCALING,3 +RNGFND2_SETTLE,0 +RNGFND2_STOP_PIN,-1 +RNGFND2_TYPE,0 +RPM_MAX,100000 +RPM_MIN,10 +RPM_MIN_QUAL,0.5 +RPM_PIN,54 +RPM_SCALING,1 +RPM_TYPE,0 +RPM2_PIN,-1 +RPM2_SCALING,1 +RPM2_TYPE,0 +RSSI_TYPE,0 +RST_MISSION_CH,0 +RST_SWITCH_CH,0 +RTL_AUTOLAND,0 +RTL_RADIUS,0 +RUDD_DT_GAIN,10 +RUDDER_ONLY,0 +SCALING_SPEED,15 +SCHED_DEBUG,0 +SCHED_LOOP_RATE,50 +SERIAL0_BAUD,115 +SERIAL0_PROTOCOL,1 +SERIAL1_BAUD,57 +SERIAL1_PROTOCOL,1 +SERIAL2_BAUD,57 +SERIAL2_PROTOCOL,1 +SERIAL3_BAUD,38 +SERIAL3_PROTOCOL,5 +SERIAL4_BAUD,38 +SERIAL4_PROTOCOL,5 +SERIAL5_BAUD,57 +SERIAL5_PROTOCOL,-1 +SERIAL6_BAUD,57 +SERIAL6_PROTOCOL,-1 +SERVO_AUTO_TRIM,0 +SERVO_RATE,50 +SERVO_SBUS_RATE,50 +SERVO_VOLZ_MASK,0 +SERVO1_FUNCTION,4 +SERVO1_MAX,1900 +SERVO1_MIN,1100 +SERVO1_REVERSED,0 +SERVO1_TRIM,1500 +SERVO10_FUNCTION,0 +SERVO10_MAX,1900 +SERVO10_MIN,1100 +SERVO10_REVERSED,0 +SERVO10_TRIM,1500 +SERVO11_FUNCTION,0 +SERVO11_MAX,1900 +SERVO11_MIN,1100 +SERVO11_REVERSED,0 +SERVO11_TRIM,1500 +SERVO12_FUNCTION,0 +SERVO12_MAX,1900 +SERVO12_MIN,1100 +SERVO12_REVERSED,0 +SERVO12_TRIM,1500 +SERVO13_FUNCTION,0 +SERVO13_MAX,1900 +SERVO13_MIN,1100 +SERVO13_REVERSED,0 +SERVO13_TRIM,1500 +SERVO14_FUNCTION,0 +SERVO14_MAX,1900 +SERVO14_MIN,1100 +SERVO14_REVERSED,0 +SERVO14_TRIM,1500 +SERVO15_FUNCTION,0 +SERVO15_MAX,1900 +SERVO15_MIN,1100 +SERVO15_REVERSED,0 +SERVO15_TRIM,1500 +SERVO16_FUNCTION,0 +SERVO16_MAX,1900 +SERVO16_MIN,1100 +SERVO16_REVERSED,0 +SERVO16_TRIM,1500 +SERVO2_FUNCTION,19 +SERVO2_MAX,1900 +SERVO2_MIN,1100 +SERVO2_REVERSED,0 +SERVO2_TRIM,1500 +SERVO3_FUNCTION,70 +SERVO3_MAX,1900 +SERVO3_MIN,1100 +SERVO3_REVERSED,0 +SERVO3_TRIM,1100 +SERVO4_FUNCTION,21 +SERVO4_MAX,1900 +SERVO4_MIN,1100 +SERVO4_REVERSED,0 +SERVO4_TRIM,1500 +SERVO5_FUNCTION,0 +SERVO5_MAX,1900 +SERVO5_MIN,1100 +SERVO5_REVERSED,0 +SERVO5_TRIM,1500 +SERVO6_FUNCTION,0 +SERVO6_MAX,1900 +SERVO6_MIN,1100 +SERVO6_REVERSED,0 +SERVO6_TRIM,1500 +SERVO7_FUNCTION,0 +SERVO7_MAX,1900 +SERVO7_MIN,1100 +SERVO7_REVERSED,0 +SERVO7_TRIM,1500 +SERVO8_FUNCTION,0 +SERVO8_MAX,1900 +SERVO8_MIN,1100 +SERVO8_REVERSED,0 +SERVO8_TRIM,1500 +SERVO9_FUNCTION,0 +SERVO9_MAX,1900 +SERVO9_MIN,1100 +SERVO9_REVERSED,0 +SERVO9_TRIM,1500 +SIM_ACC_BIAS_X,0 +SIM_ACC_BIAS_Y,0 +SIM_ACC_BIAS_Z,0 +SIM_ACC_RND,0 +SIM_ACC2_BIAS_X,0 +SIM_ACC2_BIAS_Y,0 +SIM_ACC2_BIAS_Z,0 +SIM_ACC2_RND,0 +SIM_ACCEL_FAIL,0 +SIM_ADSB_ALT,1000 +SIM_ADSB_COUNT,-1 +SIM_ADSB_RADIUS,10000 +SIM_ADSB_TX,0 +SIM_ARSPD_FAIL,0 +SIM_ARSPD_FAIL_P,0 +SIM_ARSPD_PITOT,0 +SIM_ARSPD_RND,0.5 +SIM_ARSPD_SIGN,0 +SIM_ARSPD2_FAIL,0 +SIM_ARSPD2_FAILP,0 +SIM_ARSPD2_PITOT,0 +SIM_BARO_DELAY,0 +SIM_BARO_DISABLE,0 +SIM_BARO_DRIFT,0 +SIM_BARO_GLITCH,0 +SIM_BARO_RND,0.2 +SIM_BATT_VOLTAGE,12.6 +SIM_DRIFT_SPEED,0.05 +SIM_DRIFT_TIME,5 +SIM_ENGINE_FAIL,0 +SIM_ENGINE_MUL,1 +SIM_FLOAT_EXCEPT,1 +SIM_FLOW_DELAY,0 +SIM_FLOW_ENABLE,0 +SIM_FLOW_POS_X,0 +SIM_FLOW_POS_Y,0 +SIM_FLOW_POS_Z,0 +SIM_FLOW_RATE,10 +SIM_GP2_GLITCH_X,0 +SIM_GP2_GLITCH_Y,0 +SIM_GP2_GLITCH_Z,0 +SIM_GPS_ALT_OFS,0 +SIM_GPS_BYTELOSS,0 +SIM_GPS_DELAY,1 +SIM_GPS_DISABLE,0 +SIM_GPS_DRIFTALT,0 +SIM_GPS_GLITCH_X,0 +SIM_GPS_GLITCH_Y,0 +SIM_GPS_GLITCH_Z,0 +SIM_GPS_HZ,20 +SIM_GPS_LOCKTIME,0 +SIM_GPS_NOISE,0 +SIM_GPS_NUMSATS,10 +SIM_GPS_POS_X,0 +SIM_GPS_POS_Y,0 +SIM_GPS_POS_Z,0 +SIM_GPS_TYPE,1 +SIM_GPS2_ENABLE,0 +SIM_GPS2_TYPE,1 +SIM_GRPE_ENABLE,0 +SIM_GRPE_PIN,-1 +SIM_GRPS_ENABLE,0 +SIM_GRPS_GRAB,2000 +SIM_GRPS_PIN,-1 +SIM_GRPS_RELEASE,1000 +SIM_GRPS_REVERSE,0 +SIM_GYR_RND,0 +SIM_GYR_SCALE_X,0 +SIM_GYR_SCALE_Y,0 +SIM_GYR_SCALE_Z,0 +SIM_IMU_POS_X,0 +SIM_IMU_POS_Y,0 +SIM_IMU_POS_Z,0 +SIM_MAG_ALY_HGT,1 +SIM_MAG_ALY_X,0 +SIM_MAG_ALY_Y,0 +SIM_MAG_ALY_Z,0 +SIM_MAG_DELAY,0 +SIM_MAG_DIA_X,0 +SIM_MAG_DIA_Y,0 +SIM_MAG_DIA_Z,0 +SIM_MAG_ERROR,0 +SIM_MAG_MOT_X,0 +SIM_MAG_MOT_Y,0 +SIM_MAG_MOT_Z,0 +SIM_MAG_ODI_X,0 +SIM_MAG_ODI_Y,0 +SIM_MAG_ODI_Z,0 +SIM_MAG_OFS_X,5 +SIM_MAG_OFS_Y,13 +SIM_MAG_OFS_Z,-18 +SIM_MAG_ORIENT,0 +SIM_MAG_RND,0 +SIM_ODOM_ENABLE,0 +SIM_PIN_MASK,0 +SIM_RC_CHANCOUNT,16 +SIM_RC_FAIL,0 +SIM_SERVO_SPEED,0.14 +SIM_SONAR_GLITCH,0 +SIM_SONAR_POS_X,0 +SIM_SONAR_POS_Y,0 +SIM_SONAR_POS_Z,0 +SIM_SONAR_RND,0 +SIM_SONAR_SCALE,12.1212 +SIM_SPEEDUP,-1 +SIM_SPR_ENABLE,0 +SIM_SPR_PUMP,-1 +SIM_SPR_SPIN,-1 +SIM_TEMP_BFACTOR,0 +SIM_TEMP_FLIGHT,35 +SIM_TEMP_START,25 +SIM_TEMP_TCONST,30 +SIM_TERRAIN,1 +SIM_VICON_HSTLEN,0 +SIM_WIND_DELAY,0 +SIM_WIND_DIR,180 +SIM_WIND_DIR_Z,0 +SIM_WIND_SPD,0 +SIM_WIND_T,0 +SIM_WIND_T_ALT,60 +SIM_WIND_T_COEF,0.01 +SIM_WIND_TURB,0 +SOAR_ALT_CUTOFF,200 +SOAR_ALT_MAX,2000 +SOAR_ALT_MIN,50 +SOAR_DIST_AHEAD,5 +SOAR_ENABLE,1 +SOAR_ENABLE_CH,0 +SOAR_MIN_CRSE_S,30 +SOAR_MIN_THML_S,20 +SOAR_POLAR_B,0.0156 +SOAR_POLAR_CD0,0.00859 +SOAR_POLAR_K,489 +SOAR_Q1,0.001 +SOAR_Q2,0.03 +SOAR_R,0.45 +SOAR_VSPEED,0.7 +SR0_ADSB,5 +SR0_EXT_STAT,2 +SR0_EXTRA1,10 +SR0_EXTRA2,10 +SR0_EXTRA3,2 +SR0_PARAMS,10 +SR0_POSITION,2 +SR0_RAW_CTRL,1 +SR0_RAW_SENS,2 +SR0_RC_CHAN,2 +SR1_ADSB,5 +SR1_EXT_STAT,1 +SR1_EXTRA1,1 +SR1_EXTRA2,1 +SR1_EXTRA3,1 +SR1_PARAMS,10 +SR1_POSITION,1 +SR1_RAW_CTRL,1 +SR1_RAW_SENS,1 +SR1_RC_CHAN,1 +SR2_ADSB,5 +SR2_EXT_STAT,1 +SR2_EXTRA1,1 +SR2_EXTRA2,1 +SR2_EXTRA3,1 +SR2_PARAMS,10 +SR2_POSITION,1 +SR2_RAW_CTRL,1 +SR2_RAW_SENS,1 +SR2_RC_CHAN,1 +SR3_ADSB,5 +SR3_EXT_STAT,1 +SR3_EXTRA1,1 +SR3_EXTRA2,1 +SR3_EXTRA3,1 +SR3_PARAMS,10 +SR3_POSITION,1 +SR3_RAW_CTRL,1 +SR3_RAW_SENS,1 +SR3_RC_CHAN,1 +STAB_PITCH_DOWN,2 +STALL_PREVENTION,1 +STAT_BOOTCNT,190 +STAT_FLTTIME,2701350 +STAT_RESET,89185800 +STAT_RUNTIME,3214486 +STEER2SRV_D,0.005 +STEER2SRV_DRTFCT,10 +STEER2SRV_DRTMIN,4500 +STEER2SRV_DRTSPD,0 +STEER2SRV_FF,0 +STEER2SRV_I,0.2 +STEER2SRV_IMAX,1500 +STEER2SRV_MINSPD,1 +STEER2SRV_P,1.8 +STEER2SRV_TCONST,0.75 +STICK_MIXING,1 +SYS_NUM_RESETS,274 +SYSID_ENFORCE,0 +SYSID_MYGCS,255 +SYSID_THISMAV,1 +TECS_APPR_SMAX,0 +TECS_CLMB_MAX,5 +TECS_HGT_OMEGA,3 +TECS_INTEG_GAIN,0.5 +TECS_LAND_ARSPD,-1 +TECS_LAND_DAMP,0.5 +TECS_LAND_IGAIN,0 +TECS_LAND_PDAMP,0 +TECS_LAND_PMAX,10 +TECS_LAND_SINK,0.25 +TECS_LAND_SPDWGT,-1 +TECS_LAND_SRC,0 +TECS_LAND_TCONST,2 +TECS_LAND_TDAMP,0 +TECS_LAND_THR,-1 +TECS_PITCH_MAX,0 +TECS_PITCH_MIN,0 +TECS_PTCH_DAMP,0.2 +TECS_RLL2THR,10 +TECS_SINK_MAX,5 +TECS_SINK_MIN,2 +TECS_SPD_OMEGA,2 +TECS_SPDWEIGHT,2 +TECS_SYNAIRSPEED,0 +TECS_THR_DAMP,0.5 +TECS_TIME_CONST,12 +TECS_TKOFF_IGAIN,0 +TECS_VERT_ACC,7 +TELEM_DELAY,0 +TERRAIN_ENABLE,0 +TERRAIN_FOLLOW,0 +TERRAIN_LOOKAHD,2000 +TERRAIN_SPACING,100 +THR_FAILSAFE,1 +THR_FS_VALUE,950 +THR_MAX,100 +THR_MIN,0 +THR_PASS_STAB,0 +THR_SLEWRATE,100 +THR_SUPP_MAN,0 +THROTTLE_NUDGE,1 +TKOFF_FLAP_PCNT,0 +TKOFF_PLIM_SEC,2 +TKOFF_ROTATE_SPD,0 +TKOFF_TDRAG_ELEV,0 +TKOFF_TDRAG_SPD1,0 +TKOFF_THR_DELAY,2 +TKOFF_THR_MAX,0 +TKOFF_THR_MINACC,0 +TKOFF_THR_MINSPD,0 +TKOFF_THR_SLEW,0 +TRIM_ARSPD_CM,2700 +TRIM_AUTO,0 +TRIM_PITCH_CD,0 +TRIM_THROTTLE,45 +TUNE_CHAN,0 +TUNE_CHAN_MAX,2000 +TUNE_CHAN_MIN,1000 +TUNE_ERR_THRESH,0.15 +TUNE_MODE_REVERT,1 +TUNE_PARAM,0 +TUNE_RANGE,2 +TUNE_SELECTOR,0 +USE_REV_THRUST,2 +WP_LOITER_RAD,90 +WP_MAX_RADIUS,0 +WP_RADIUS,130 +YAW2SRV_DAMP,1.7 +YAW2SRV_IMAX,1500 +YAW2SRV_INT,0 +YAW2SRV_RLL,1.1 +YAW2SRV_SLIP,0 diff --git a/libraries/SITL/examples/SilentWings/Situations/ASW27B_Plockton_1000.stn b/libraries/SITL/examples/SilentWings/Situations/ASW27B_Plockton_1000.stn new file mode 100755 index 0000000000..873331aad9 --- /dev/null +++ b/libraries/SITL/examples/SilentWings/Situations/ASW27B_Plockton_1000.stn @@ -0,0 +1,74 @@ +# Program generated flight. + +aircraftId = asw27 +terrainId = D:/Silent Wings/data/Scenery/UK + +pilot_name = Unknown Pilot + +speed = 27.77777778 +altitude = 1000 +altitudeRef = QFE +yaw = 20 +latitude = 57.33317424 +longitude = -5.674033603 + +date = 01072005 +time = 120000 + +competition_mode = true +regatta_start = false +start_gate_altitude = 1000 +start_gate_altitude_ref = AGL +start_gate_open_time = -1 + +airport { + name = Plockton + lat = 57.335609 + lon = -5.672395 + elev = 0 + runway = 02 +} + +multiplayer = false +mp_port = 1209 + +weather { + simple { + wind_str = 38 + wind_dir = 334 + } + max_num_thermals = 5927 + max_num_sink = 1481 + thermal_strength = 6.3 + thermal_radius = 385 + thermal_ceiling = 2500 + cumulus_prob = 0.5 + cumulus_base = 2000 + visibility = 50000 + turbulence_strength = 1 + wind_layer { + altitude = 0 + direction = 334 + strength = 1.9 + } + + wind_layer { + altitude = 150 + direction = 334 + strength = 3.8 + } + + wind_layer { + altitude = 300 + direction = 334 + strength = 4.94 + } + + wind_layer { + altitude = 1500 + direction = 19 + strength = 5.7 + } + +} + diff --git a/libraries/SITL/examples/SilentWings/Situations/LS-8b_Starmoen_800.stn b/libraries/SITL/examples/SilentWings/Situations/LS-8b_Starmoen_800.stn new file mode 100755 index 0000000000..e9369faaeb --- /dev/null +++ b/libraries/SITL/examples/SilentWings/Situations/LS-8b_Starmoen_800.stn @@ -0,0 +1,116 @@ +# Program generated flight. + +aircraftId = ls8 +terrainId = D:/Silent Wings/data/Scenery/Norway + +pilot_name = Unknown Pilot + +speed = 27.77777778 +altitude = 800 +altitudeRef = QFE +yaw = 145 +latitude = 60.88056966 +longitude = 11.66959703 + +date = 01072005 +time = 140000 + +competition_mode = true +regatta_start = false +start_gate_altitude = 1000 +start_gate_altitude_ref = AGL +start_gate_open_time = -1 + +airport { + name = Starmoen + lat = 60.8791 + lon = 11.6737 + elev = 0 + runway = 15 +} + +multiplayer = false +mp_port = 1209 + +flight { + aircraft_id = ls8 + type = AI + mode = FOLLOW + pilot_name = AI Pilot 1 + glider_type = LS-8 + comp_id = AA + registration = LN-GAA + start_time = 0 + utc_offset = -1742410382 + reg_color = [ 0 0 0 ] + comp_color = [ 0 0 0 ] +} + +flight { + aircraft_id = ls8 + type = AI + mode = FOLLOW + pilot_name = AI Pilot 2 + glider_type = LS-8 + comp_id = AB + registration = LN-GAB + start_time = 0 + utc_offset = -1519176082 + reg_color = [ 0 0 0 ] + comp_color = [ 0 0 0 ] +} + +flight { + aircraft_id = ls8 + type = AI + mode = FOLLOW + pilot_name = AI Pilot 3 + glider_type = LS-8 + comp_id = AC + registration = LN-GAC + start_time = 0 + utc_offset = 972621140 + reg_color = [ 0 0 0 ] + comp_color = [ 0 0 0 ] +} + +weather { + simple { + wind_str = 60 + wind_dir = 360 + } + max_num_thermals = 2012 + max_num_sink = 503 + thermal_strength = 4 + thermal_radius = 227 + thermal_ceiling = 2500 + cumulus_prob = 0.4 + cumulus_base = 2000 + visibility = 50000 + turbulence_strength = 0.85 + wind_layer { + altitude = 0 + direction = 360 + strength = 3 + } + + wind_layer { + altitude = 150 + direction = 360 + strength = 6 + } + + wind_layer { + altitude = 300 + direction = 360 + strength = 7.8 + } + + wind_layer { + altitude = 1500 + direction = 45 + strength = 9 + } + +} +