<!DOCTYPE module SYSTEM "module.dtd">

<module name="wind_estimator" dir="meteo">
  <doc>
    <description>
      Wind Estimator.
      Using an UKF filter generated by MATLAB running in a ChibiOS thread
      Original Simulink files available at https://github.com/enacuavlab/UKF_Wind_Estimation
      Requires:
        - IMU for inertial data (rates and accel)
        - GPS for ground speed vector
        - magnetometer for true heading
        - pitot for airspeed norm
        - angle of attack probe (better and faster estimate of vertical component
    </description>
  </doc>
  <settings>
    <dl_settings>
      <dl_settings name="wind">
        <dl_setting MAX="1" MIN="1" STEP="1" values="RESET" module="modules/meteo/wind_estimator" VAR="wind_estimator.reset" shortname="reset"/>
        <dl_setting MAX="2." MIN="0." STEP="0.01" module="modules/meteo/wind_estimator" VAR="wind_estimator.r_gs" shortname="R_GS" handler="Set_R_GS"/>
        <dl_setting MAX="2." MIN="0." STEP="0.01" module="modules/meteo/wind_estimator" VAR="wind_estimator.r_va" shortname="R_VA" handler="Set_R_VA"/>
        <dl_setting MAX="0.1" MIN="0." STEP="0.0001" module="modules/meteo/wind_estimator" VAR="wind_estimator.r_aoa" shortname="R_AOA" handler="Set_R_AOA"/>
        <dl_setting MAX="0.1" MIN="0." STEP="0.0001" module="modules/meteo/wind_estimator" VAR="wind_estimator.r_ssa" shortname="R_SSA" handler="Set_R_SSA"/>
        <dl_setting MAX="1." MIN="0." STEP="0.01" module="modules/meteo/wind_estimator" VAR="wind_estimator.q_va" shortname="Q_VA" handler="Set_Q_VA"/>
        <dl_setting MAX="0.01" MIN="0." STEP="0.0001" module="modules/meteo/wind_estimator" VAR="wind_estimator.q_wind" shortname="Q_WIND" handler="Set_Q_WIND"/>
        <dl_setting MAX="0.001" MIN="0." STEP="0.0001" module="modules/meteo/wind_estimator" VAR="wind_estimator.q_va_scale" shortname="Q_VA_SCALE" handler="Set_Q_VA_SCALE"/>
      </dl_settings>
    </dl_settings>
  </settings>
  <header>
    <file name="wind_estimator.h"/>
  </header>
  <init fun="wind_estimator_init()"/>
  <periodic fun="wind_estimator_periodic()" freq="10."  autorun="TRUE"/>
  <event fun="wind_estimator_event()"/>
  <makefile target="ap|nps">
    <file name="wind_estimator.c"/>
    <file name="lib_ukf_wind_estimator/UKF_Wind_Estimator.c"/>
  </makefile>
</module>

