APM:Libraries
Macros | Functions | Variables
matrix_alg.cpp File Reference
#include <AP_HAL/AP_HAL.h>
#include <AP_Math/AP_Math.h>
#include <stdio.h>
Include dependency graph for matrix_alg.cpp:

Go to the source code of this file.

Macros

#define MAT_ALG_ACCURACY   1e-4f
 

Functions

static uint16_t get_random (void)
 
static void show_matrix (float *A, int n)
 
static bool compare_mat (const float *A, const float *B, const uint8_t n)
 
static void test_matrix_inverse (void)
 
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...
 

Macro Definition Documentation

◆ MAT_ALG_ACCURACY

#define MAT_ALG_ACCURACY   1e-4f

Definition at line 10 of file matrix_alg.cpp.

Referenced by compare_mat().

Function Documentation

◆ AP_HAL_MAIN()

AP_HAL_MAIN ( )

Referenced by loop().

Here is the caller graph for this function:

◆ compare_mat()

static bool compare_mat ( const float *  A,
const float *  B,
const uint8_t  n 
)
static

Definition at line 30 of file matrix_alg.cpp.

Referenced by test_matrix_inverse().

Here is the caller graph for this function:

◆ get_random()

static uint16_t get_random ( void  )
static

Definition at line 12 of file matrix_alg.cpp.

Referenced by test_matrix_inverse().

Here is the caller graph for this function:

◆ loop()

void loop ( void  )

Definition at line 155 of file matrix_alg.cpp.

Here is the call graph for this function:

◆ setup()

void setup ( void  )

Definition at line 148 of file matrix_alg.cpp.

Here is the call graph for this function:

◆ show_matrix()

static void show_matrix ( float *  A,
int  n 
)
static

Definition at line 22 of file matrix_alg.cpp.

Referenced by test_matrix_inverse().

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

◆ test_matrix_inverse()

static void test_matrix_inverse ( void  )
static

Definition at line 42 of file matrix_alg.cpp.

Referenced by setup().

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

Variable Documentation

◆ 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 8 of file matrix_alg.cpp.