APM:Libraries
Functions | Variables
VibTest.cpp File Reference
#include <stdarg.h>
#include <AP_Common/AP_Common.h>
#include <AP_HAL/AP_HAL.h>
#include <AP_Math/AP_Math.h>
#include <AP_Param/AP_Param.h>
#include <AP_ADC/AP_ADC.h>
#include <AP_InertialSensor/AP_InertialSensor.h>
#include <AP_Notify/AP_Notify.h>
#include <AP_GPS/AP_GPS.h>
#include <AP_Baro/AP_Baro.h>
#include <Filter/Filter.h>
#include <DataFlash/DataFlash.h>
#include <GCS_MAVLink/GCS_MAVLink.h>
#include <AP_Mission/AP_Mission.h>
#include <StorageManager/StorageManager.h>
#include <AP_Terrain/AP_Terrain.h>
#include <AP_AHRS/AP_AHRS.h>
#include <AP_Airspeed/AP_Airspeed.h>
#include <AP_Vehicle/AP_Vehicle.h>
#include <AP_Compass/AP_Compass.h>
#include <AP_Scheduler/AP_Scheduler.h>
#include <AP_Declination/AP_Declination.h>
#include <AP_BattMonitor/AP_BattMonitor.h>
#include <AP_RangeFinder/AP_RangeFinder.h>
#include <drivers/drv_accel.h>
#include <drivers/drv_hrt.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>
Include dependency graph for VibTest.cpp:

Go to the source code of this file.

Functions

static DataFlash_File DataFlash ("/fs/microsd/VIBTEST")
 
void setup (void)
 
void loop (void)
 
 AP_HAL_MAIN ()
 

Variables

const AP_HAL::HALhal = AP_HAL::get_HAL()
 -*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil -*- More...
 
static int accel_fd [INS_MAX_INSTANCES]
 
static int gyro_fd [INS_MAX_INSTANCES]
 
static uint32_t total_samples [INS_MAX_INSTANCES]
 
static uint64_t last_accel_timestamp [INS_MAX_INSTANCES]
 
static uint64_t last_gyro_timestamp [INS_MAX_INSTANCES]
 
static uint32_t accel_deltat_min [INS_MAX_INSTANCES]
 
static uint32_t accel_deltat_max [INS_MAX_INSTANCES]
 
static uint32_t gyro_deltat_min [INS_MAX_INSTANCES]
 
static uint32_t gyro_deltat_max [INS_MAX_INSTANCES]
 
static const struct LogStructure log_structure []
 

Function Documentation

◆ AP_HAL_MAIN()

AP_HAL_MAIN ( )

Referenced by loop().

Here is the caller graph for this function:

◆ DataFlash()

static DataFlash_File DataFlash ( "/fs/microsd/VIBTEST"  )
static

Referenced by loop(), and setup().

Here is the caller graph for this function:

◆ loop()

void loop ( void  )

Definition at line 104 of file VibTest.cpp.

Here is the call graph for this function:

◆ setup()

void setup ( void  )

Definition at line 60 of file VibTest.cpp.

Referenced by loop().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ accel_deltat_max

uint32_t accel_deltat_max[INS_MAX_INSTANCES]
static

Definition at line 50 of file VibTest.cpp.

Referenced by loop().

◆ accel_deltat_min

uint32_t accel_deltat_min[INS_MAX_INSTANCES]
static

Definition at line 49 of file VibTest.cpp.

Referenced by loop().

◆ accel_fd

int accel_fd[INS_MAX_INSTANCES]
static

Definition at line 44 of file VibTest.cpp.

Referenced by loop(), and setup().

◆ gyro_deltat_max

uint32_t gyro_deltat_max[INS_MAX_INSTANCES]
static

Definition at line 52 of file VibTest.cpp.

Referenced by loop().

◆ gyro_deltat_min

uint32_t gyro_deltat_min[INS_MAX_INSTANCES]
static

Definition at line 51 of file VibTest.cpp.

Referenced by loop().

◆ gyro_fd

int gyro_fd[INS_MAX_INSTANCES]
static

Definition at line 45 of file VibTest.cpp.

Referenced by loop(), and setup().

◆ hal

const AP_HAL::HAL& hal = AP_HAL::get_HAL()

-*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil -*-

The strategy for roll/pitch autotune is to give the user a AUTOTUNE flight mode which behaves just like FBWA, but does automatic tuning.

While the user is flying in AUTOTUNE the gains are saved every 10 seconds, but the saved gains are not the current gains, instead it saves the gains from 10s ago. When the user exits AUTOTUNE the gains are restored from 10s ago.

This allows the user to fly as much as they want in AUTOTUNE mode, and if they are ever unhappy they just exit the mode. If they stay in AUTOTUNE for more than 10s then their gains will have changed.

Using this approach users don't need any special switches, they just need to be able to enter and exit AUTOTUNE mode

Definition at line 42 of file VibTest.cpp.

◆ last_accel_timestamp

uint64_t last_accel_timestamp[INS_MAX_INSTANCES]
static

Definition at line 47 of file VibTest.cpp.

Referenced by loop().

◆ last_gyro_timestamp

uint64_t last_gyro_timestamp[INS_MAX_INSTANCES]
static

Definition at line 48 of file VibTest.cpp.

Referenced by loop().

◆ log_structure

const struct LogStructure log_structure[]
static
Initial value:
= {
}
#define LOG_COMMON_STRUCTURES
#define LOG_EXTRA_STRUCTURES

Definition at line 55 of file VibTest.cpp.

◆ total_samples

uint32_t total_samples[INS_MAX_INSTANCES]
static

Definition at line 46 of file VibTest.cpp.

Referenced by loop().