dRonin  adbada4
dRonin firmware
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
autotune.c File Reference

State machine to run autotuning. Low level work done by Stabilization Module. More...

#include "openpilot.h"
#include "pios.h"
#include "physical_constants.h"
#include "flightstatus.h"
#include "modulesettings.h"
#include "manualcontrolcommand.h"
#include "manualcontrolsettings.h"
#include "gyros.h"
#include "actuatordesired.h"
#include "stabilizationdesired.h"
#include "stabilizationsettings.h"
#include "systemident.h"
#include <pios_board_info.h>
#include <eventdispatcher.h>
#include "systemsettings.h"
#include "misc_math.h"

Go to the source code of this file.

Data Structures

struct  at_flash_header
 
struct  at_measurement
 

Macros

#define AUTOTUNE_STATE_PERIOD_MS   100
 
#define AUTOTUNE_AVERAGING_DECIMATION   1
 
#define ATFLASH_MAGIC   0x656e755480008041 /* A...Tune */
 

Enumerations

enum  autotune_state { AT_INIT, AT_RUN }
 

Functions

static void autotune_step (const UAVObjEvent *ev, void *ctx, void *obj, int len)
 
int32_t AutotuneInitialize (void)
 
int32_t AutotuneStart (void)
 
static void at_new_actuators (const UAVObjEvent *ev, void *ctx, void *obj, int len)
 
static void UpdateSystemIdent (uint32_t predicts, float hover_throttle, bool new_tune)
 
static int autotune_save_averaging ()
 

Variables

static struct at_measurementat_averages
 
static bool module_enabled
 
static volatile uint32_t throttle_accumulator
 
static volatile uint32_t update_counter = 0
 
static volatile bool tune_running = false
 
uint16_t ident_wiggle_points
 
static enum autotune_state state = AT_INIT
 
static bool save_needed = false
 
static uint16_t decim_wiggle_points
 

Detailed Description

State machine to run autotuning. Low level work done by Stabilization Module.

Author
dRonin, http://dRonin.org/, Copyright (C) 2015-2016
Tau Labs, http://taulabs.org, Copyright (C) 2013-2016
The OpenPilot Team, http://www.openpilot.org Copyright (C) 2012.
See Also
The GNU Public License (GPL) Version 3

Definition in file autotune.c.