ptp4l: add support for using configured_pi_f_offset servo option
This patch adds support for using the configured_pi_f_offset servo option to ptp4l. If "pi_f_offset_const 0.0" is specified in the config file, stepping on the first update is prevented. If any other positive value is specified, stepping on the first update occurs when the offset is larger than the specified value. change since v1 - add the new option to default.cfg and gPTP.cfg Signed-off-by: Ken ICHIKAWA <ichikawa.ken@jp.fujitsu.com>master
parent
28b8dc9996
commit
fa41be7e6e
6
config.c
6
config.c
|
@ -313,6 +313,12 @@ static enum parser_result parse_global_setting(const char *option,
|
||||||
return r;
|
return r;
|
||||||
*cfg->pi_offset_const = df;
|
*cfg->pi_offset_const = df;
|
||||||
|
|
||||||
|
} else if (!strcmp(option, "pi_f_offset_const")) {
|
||||||
|
r = get_ranged_double(value, &df, 0.0, DBL_MAX);
|
||||||
|
if (r != PARSED_OK)
|
||||||
|
return r;
|
||||||
|
*cfg->pi_f_offset_const = df;
|
||||||
|
|
||||||
} else if (!strcmp(option, "pi_max_frequency")) {
|
} else if (!strcmp(option, "pi_max_frequency")) {
|
||||||
r = get_ranged_int(value, &val, 0, INT_MAX);
|
r = get_ranged_int(value, &val, 0, INT_MAX);
|
||||||
if (r != PARSED_OK)
|
if (r != PARSED_OK)
|
||||||
|
|
1
config.h
1
config.h
|
@ -76,6 +76,7 @@ struct config {
|
||||||
double *pi_proportional_const;
|
double *pi_proportional_const;
|
||||||
double *pi_integral_const;
|
double *pi_integral_const;
|
||||||
double *pi_offset_const;
|
double *pi_offset_const;
|
||||||
|
double *pi_f_offset_const;
|
||||||
int *pi_max_frequency;
|
int *pi_max_frequency;
|
||||||
|
|
||||||
unsigned char *ptp_dst_mac;
|
unsigned char *ptp_dst_mac;
|
||||||
|
|
|
@ -41,6 +41,7 @@ kernel_leap 1
|
||||||
pi_proportional_const 0.0
|
pi_proportional_const 0.0
|
||||||
pi_integral_const 0.0
|
pi_integral_const 0.0
|
||||||
pi_offset_const 0.0
|
pi_offset_const 0.0
|
||||||
|
pi_f_offset_const 0.0000001
|
||||||
pi_max_frequency 900000000
|
pi_max_frequency 900000000
|
||||||
clock_servo pi
|
clock_servo pi
|
||||||
#
|
#
|
||||||
|
|
1
gPTP.cfg
1
gPTP.cfg
|
@ -40,6 +40,7 @@ kernel_leap 1
|
||||||
pi_proportional_const 0.0
|
pi_proportional_const 0.0
|
||||||
pi_integral_const 0.0
|
pi_integral_const 0.0
|
||||||
pi_offset_const 0.0
|
pi_offset_const 0.0
|
||||||
|
pi_f_offset_const 0.0000001
|
||||||
pi_max_frequency 900000000
|
pi_max_frequency 900000000
|
||||||
clock_servo pi
|
clock_servo pi
|
||||||
#
|
#
|
||||||
|
|
8
ptp4l.8
8
ptp4l.8
|
@ -268,9 +268,15 @@ The default is 0.0.
|
||||||
.B pi_offset_const
|
.B pi_offset_const
|
||||||
The maximum offset the PI controller will correct by changing the clock
|
The maximum offset the PI controller will correct by changing the clock
|
||||||
frequency instead of stepping the clock. When set to 0.0, the controller will
|
frequency instead of stepping the clock. When set to 0.0, the controller will
|
||||||
never step the clock.
|
never step the clock except on start.
|
||||||
The default is 0.0.
|
The default is 0.0.
|
||||||
.TP
|
.TP
|
||||||
|
.B pi_f_offset_const
|
||||||
|
The maximum offset the PI controller will correct by changing the clock
|
||||||
|
frequency instead of stepping the clock. This is only applied on the first
|
||||||
|
update. When set to 0.0, the controller won't step the clock on start.
|
||||||
|
The default is 0.0000001 (100 nanoseconds).
|
||||||
|
.TP
|
||||||
.B pi_max_frequency
|
.B pi_max_frequency
|
||||||
The maximum allowed frequency adjustment of the clock in parts per billion
|
The maximum allowed frequency adjustment of the clock in parts per billion
|
||||||
(ppb). This is an additional limit to the maximum allowed by the hardware. When
|
(ppb). This is an additional limit to the maximum allowed by the hardware. When
|
||||||
|
|
1
ptp4l.c
1
ptp4l.c
|
@ -96,6 +96,7 @@ static struct config cfg_settings = {
|
||||||
.pi_proportional_const = &configured_pi_kp,
|
.pi_proportional_const = &configured_pi_kp,
|
||||||
.pi_integral_const = &configured_pi_ki,
|
.pi_integral_const = &configured_pi_ki,
|
||||||
.pi_offset_const = &configured_pi_offset,
|
.pi_offset_const = &configured_pi_offset,
|
||||||
|
.pi_f_offset_const = &configured_pi_f_offset,
|
||||||
.pi_max_frequency = &configured_pi_max_freq,
|
.pi_max_frequency = &configured_pi_max_freq,
|
||||||
|
|
||||||
.ptp_dst_mac = ptp_dst_mac,
|
.ptp_dst_mac = ptp_dst_mac,
|
||||||
|
|
Loading…
Reference in New Issue