sys_linux: don't require configurable pin for external PPS
Some PHCs that have a PPS input don't have configurable pins (their function is hardcoded). Accept a negative pin index to skip the pin configuration before requesting external timestamping.
This commit is contained in:
parent
663dde1ad7
commit
3196630fb9
2 changed files with 5 additions and 3 deletions
|
@ -511,8 +511,10 @@ Note that some PTP clocks cannot be configured to timestamp only assert or
|
||||||
clear events, and it is necessary to use the *width* option to filter wrong
|
clear events, and it is necessary to use the *width* option to filter wrong
|
||||||
PPS samples.
|
PPS samples.
|
||||||
*pin*=_index_::::
|
*pin*=_index_::::
|
||||||
This option specifies the index of the pin to which is connected the PPS
|
This option specifies the index of the pin which should be enabled for the
|
||||||
signal. The default value is 0.
|
PPS timestamping. If the PHC does not have configurable pins (i.e. the channel
|
||||||
|
function is fixed), the index needs to be set to -1 to disable the pin
|
||||||
|
configuration. The default value is 0.
|
||||||
*channel*=_index_::::
|
*channel*=_index_::::
|
||||||
This option specifies the index of the channel for the PPS mode. The default
|
This option specifies the index of the channel for the PPS mode. The default
|
||||||
value is 0.
|
value is 0.
|
||||||
|
|
|
@ -1008,7 +1008,7 @@ SYS_Linux_SetPHCExtTimestamping(int fd, int pin, int channel,
|
||||||
pin_desc.func = enable ? PTP_PF_EXTTS : PTP_PF_NONE;
|
pin_desc.func = enable ? PTP_PF_EXTTS : PTP_PF_NONE;
|
||||||
pin_desc.chan = channel;
|
pin_desc.chan = channel;
|
||||||
|
|
||||||
if (ioctl(fd, PTP_PIN_SETFUNC, &pin_desc)) {
|
if (pin >= 0 && ioctl(fd, PTP_PIN_SETFUNC, &pin_desc)) {
|
||||||
DEBUG_LOG("ioctl(%s) failed : %s", "PTP_PIN_SETFUNC", strerror(errno));
|
DEBUG_LOG("ioctl(%s) failed : %s", "PTP_PIN_SETFUNC", strerror(errno));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue