2021-03-02 21:27:52 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
struct PidControllerInput
|
|
|
|
{
|
|
|
|
double vspeed_fps;
|
|
|
|
double reference;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct PidControllerOutput
|
|
|
|
{
|
|
|
|
double output;
|
|
|
|
};
|
|
|
|
|
|
|
|
// Define sequence of input values. These are the values actually used with
|
2021-03-02 21:31:19 +00:00
|
|
|
// Harrier-GR3 when startup_current=true, but we use the same inputs for
|
|
|
|
// startup_current=false also.
|
2021-03-02 21:27:52 +00:00
|
|
|
//
|
|
|
|
extern std::vector<PidControllerInput> pidControllerInputs;
|
|
|
|
|
2021-03-02 21:31:19 +00:00
|
|
|
// Expected output when startup_current is false (the default old behaviour).
|
2021-03-02 21:27:52 +00:00
|
|
|
//
|
2021-03-02 21:31:19 +00:00
|
|
|
// Note the large transient at the start which messes up the initial behaviour.
|
|
|
|
//
|
|
|
|
extern std::vector<PidControllerOutput> pidControllerOutputs0;
|
|
|
|
|
|
|
|
// Expected output when startup_current is true (the new improved behaviour).
|
|
|
|
//
|
|
|
|
extern std::vector<PidControllerOutput> pidControllerOutputs1;
|