![]() |
flexPTP 1.0
An IEEE 1588 PTP implementation designed for microcontrollers
|
#include "pid_controller.h"
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <flexptp_options.h>
Go to the source code of this file.
Functions | |
void | pid_ctrl_init () |
void | pid_ctrl_deinit () |
void | pid_ctrl_reset () |
float | pid_ctrl_run (int32_t dt, PtpServoAuxInput *pAux) |
Variables | |
static bool | logInternals = false |
Decides if servo's internal operation shoud be reported or not. | |
static bool | firstRun = true |
Indicates if first run did not occur yet. | |
static float | P_FACTOR = 0.5 * 0.476 |
Proportional factor. | |
static float | I_FACTOR = 0 |
Integrating factor. | |
static float | D_FACTOR = 3.0 |
Differentiating factor. | |
static double | rd_prev_ppb |
relative frequency error measured in previous iteration | |
static double | integrator_value |
value stored in the integrator | |
void pid_ctrl_deinit | ( | ) |
Deinitialize PD controller.
Definition at line 90 of file pid_controller.c.
void pid_ctrl_init | ( | ) |
Initalize PD controller.
Definition at line 82 of file pid_controller.c.
void pid_ctrl_reset | ( | ) |
Reset PD controller.
Definition at line 96 of file pid_controller.c.
float pid_ctrl_run | ( | int32_t | dt, |
PtpServoAuxInput * | pAux | ||
) |
Run the PD controller.
dt | time error in nanoseconds |
pAux | auxiliary synchronization cycle context data |
Definition at line 101 of file pid_controller.c.
|
static |
Differentiating factor.
Definition at line 24 of file pid_controller.c.
|
static |
Indicates if first run did not occur yet.
Definition at line 14 of file pid_controller.c.
|
static |
Integrating factor.
Definition at line 23 of file pid_controller.c.
|
static |
value stored in the integrator
Definition at line 29 of file pid_controller.c.
|
static |
Decides if servo's internal operation shoud be reported or not.
Definition at line 13 of file pid_controller.c.
|
static |
Proportional factor.
Definition at line 22 of file pid_controller.c.
|
static |
relative frequency error measured in previous iteration
Definition at line 28 of file pid_controller.c.