65 lines
1.1 KiB
C
65 lines
1.1 KiB
C
#include "settings_interface.h"
|
|
|
|
#include "ptp_core.h"
|
|
|
|
extern PtpCoreState gPtpCoreState;
|
|
#define S (gPtpCoreState)
|
|
|
|
// set PPS offset
|
|
void ptp_set_clock_offset(int32_t offset)
|
|
{
|
|
nsToTsI(&S.hwoptions.offset, offset);
|
|
}
|
|
|
|
// get PPS offset
|
|
int32_t ptp_get_clock_offset()
|
|
{
|
|
return nsI(&S.hwoptions.offset);
|
|
}
|
|
|
|
void ptp_prefer_master_clock(uint64_t clockId)
|
|
{
|
|
S.sbmc.preventMasterSwitchOver = true;
|
|
S.sbmc.masterProps.grandmasterClockIdentity = clockId;
|
|
}
|
|
|
|
void ptp_unprefer_master_clock()
|
|
{
|
|
S.sbmc.preventMasterSwitchOver = false;
|
|
}
|
|
|
|
uint64_t ptp_get_current_master_clock_identity()
|
|
{
|
|
return S.sbmc.masterProps.grandmasterClockIdentity;
|
|
}
|
|
|
|
uint64_t ptp_get_own_clock_identity()
|
|
{
|
|
return S.hwoptions.clockIdentity;
|
|
}
|
|
|
|
void ptp_set_domain(uint8_t domain)
|
|
{
|
|
S.profile.domainNumber = domain;
|
|
}
|
|
|
|
uint8_t ptp_get_domain()
|
|
{
|
|
return S.profile.domainNumber;
|
|
}
|
|
|
|
void ptp_set_addend(uint32_t addend)
|
|
{
|
|
S.hwclock.addend = addend;
|
|
}
|
|
|
|
uint32_t ptp_get_addend()
|
|
{
|
|
return S.hwclock.addend;
|
|
}
|
|
|
|
void ptp_time(TimestampU * pT)
|
|
{
|
|
PTP_HW_GET_TIME(pT);
|
|
}
|