Synergy Software Package User's Manual

#include <r_ptp_api.h>

Data Fields

ssp_err_t(* open )(ptp_ctrl_t *const p_ctrl, ptp_cfg_t const *const p_cfg)
 
ssp_err_t(* close )(ptp_ctrl_t *const p_ctrl)
 
ssp_err_t(* configure )(ptp_ctrl_t *const p_ctrl, uint32_t *p_ip_address, uint32_t *p_physical_address_msw, uint32_t *p_physical_address_lsw)
 
ssp_err_t(* setExtPromiscuous )(ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel, bool is_set)
 
ssp_err_t(* setLocalClock )(ptp_ctrl_t *const p_ctrl, ptp_timestamp_t *p_clock)
 
ssp_err_t(* getLocalClock )(ptp_ctrl_t *const p_ctrl, ptp_timestamp_t *p_clock, uint32_t wait_option)
 
ssp_err_t(* getMasterPortID )(ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel, uint32_t *p_clock, uint16_t *p_port)
 
ssp_err_t(* setMasterPortID )(ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel, uint32_t *p_clock, uint16_t *p_port)
 
ssp_err_t(* getSyncInfo )(ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel, ptp_timeInterval_t *p_master_offset, ptp_timeInterval_t *p_path_delay)
 
ssp_err_t(* start )(ptp_ctrl_t *const p_ctrl, uint32_t wait_option)
 
ssp_err_t(* stop )(ptp_ctrl_t *const p_ctrl, uint32_t wait_option)
 
ssp_err_t(* setWorst10Values )(ptp_ctrl_t *const p_ctrl, uint8_t interval)
 
ssp_err_t(* checkWorst10Values )(ptp_ctrl_t *const p_ctrl, uint32_t wait_option)
 
ssp_err_t(* getWorst10Values )(ptp_ctrl_t *const p_ctrl, uint32_t *p_positive_worst10, uint32_t *p_negative_worst10, uint32_t wait_option)
 
ssp_err_t(* setGradientLimit )(ptp_ctrl_t *const p_ctrl, uint32_t *p_positive_limit, uint32_t *p_negative_limit)
 
ssp_err_t(* updateClockID )(ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel, int8_t *p_clock_id)
 
ssp_err_t(* updateDomainNumber )(ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel, uint8_t domain_num)
 
ssp_err_t(* updateAnnounceFlags )(ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel, ptp_announce_flag_t *p_flag)
 
ssp_err_t(* updateAnnounceMsgs )(ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel, ptp_announce_message_t *p_message)
 
ssp_err_t(* updateSyncAnnounceMsgInterval )(ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel, int8_t *p_sync_interval, int8_t *p_announce_interval)
 
ssp_err_t(* updateDelayMsgInterval )(ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel, int8_t *p_interval, uint32_t *p_timeout)
 
ssp_err_t(* getMessageReceptionConfig )(ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel, ptp_message_reception_t *p_ptp_message_reception)
 
ssp_err_t(* setMessageReceptionConfig )(ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel, ptp_message_reception_t *p_ptp_message_reception)
 
ssp_err_t(* disableTimer )(ptp_ctrl_t *const p_ctrl, ptp_stca_timer_channel_t timer_channel)
 
ssp_err_t(* indicateEvent )(ptp_ctrl_t *const p_ctrl, ptp_stca_timer_channel_t timer_channel, ptp_stca_timer_pulse_edge_t timer_pulse_edge, bool is_set)
 
ssp_err_t(* autoClearEvent )(ptp_ctrl_t *const p_ctrl, ptp_stca_timer_channel_t timer_channel, ptp_stca_timer_pulse_edge_t timer_pulse_edge, bool is_set)
 
ssp_err_t(* setTimer )(ptp_ctrl_t *const p_ctrl, uint8_t timer_channel, UInt64_t event, uint32_t cycle, uint32_t pulse_width)
 
ssp_err_t(* setMINTevent )(ptp_ctrl_t *const p_ctrl, ptp_event_t ptp_reg, uint32_t event, bool is_set)
 
ssp_err_t(* enableINFABTnotification )(ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel)
 
ssp_err_t(* disableINFABTnotification )(ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel)
 
ssp_err_t(* checkINFABTstatus )(ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel, uint8_t *p_status)
 
ssp_err_t(* clearINFABTstatus )(ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel)
 
ssp_err_t(* versionGet )(ssp_version_t *const p_version)
 

Detailed Description

PTP functions implemented at the HAL layer follow this API.

Field Documentation

◆ autoClearEvent

ssp_err_t(* ptp_api_t::autoClearEvent) (ptp_ctrl_t *const p_ctrl, ptp_stca_timer_channel_t timer_channel, ptp_stca_timer_pulse_edge_t timer_pulse_edge, bool is_set)

Set/clear auto clear mode for enabling one time output of ELC event.

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]timer_channelSTCA pulse output timer channel
[in]timer_pulse_edgeSTCA pulse output timer edge
[in]is_setEnable or disable automatic clearing of event

◆ checkINFABTstatus

ssp_err_t(* ptp_api_t::checkINFABTstatus) (ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel, uint8_t *p_status)

Checks the status of INFABT flag

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]ptp_channelEPTPC channel
[out]p_statusReturns status of INFABT flag

◆ checkWorst10Values

ssp_err_t(* ptp_api_t::checkWorst10Values) (ptp_ctrl_t *const p_ctrl, uint32_t wait_option)

Checks worst 10 values by hardware and set as gradient limits.

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]wait_optionTimeout interval

◆ clearINFABTstatus

ssp_err_t(* ptp_api_t::clearINFABTstatus) (ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel)

Clear INFABT interrupt occurrence flag.

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]ptp_channelEPTPC channel

◆ close

ssp_err_t(* ptp_api_t::close) (ptp_ctrl_t *const p_ctrl)

Close the PTP driver module.

Implemented as
Parameters
[in]p_ctrlPointer to the control structure

◆ configure

ssp_err_t(* ptp_api_t::configure) (ptp_ctrl_t *const p_ctrl, uint32_t *p_ip_address, uint32_t *p_physical_address_msw, uint32_t *p_physical_address_lsw)

Configures the PTP driver module.

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]p_ip_addressPointer to the IP address
[in]p_physical_address_mswPointer to the higher bits of physical address
[in]p_physical_address_lswPointer to the lower bits of physical address

◆ disableINFABTnotification

ssp_err_t(* ptp_api_t::disableINFABTnotification) (ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel)

Disable EPTPC INFABT notification

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]ptp_channelEPTPC channel

◆ disableTimer

ssp_err_t(* ptp_api_t::disableTimer) (ptp_ctrl_t *const p_ctrl, ptp_stca_timer_channel_t timer_channel)

Disable timer event interrupt.

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]timer_channelSTCA pulse output timer channel

◆ enableINFABTnotification

ssp_err_t(* ptp_api_t::enableINFABTnotification) (ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel)

Enable EPTPC INFABT notification

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]ptp_channelEPTPC channel

◆ getLocalClock

ssp_err_t(* ptp_api_t::getLocalClock) (ptp_ctrl_t *const p_ctrl, ptp_timestamp_t *p_clock, uint32_t wait_option)

Gets local clock counter

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]wait_optionTime out interval
[out]p_clockPointer to local clock counter

◆ getMasterPortID

ssp_err_t(* ptp_api_t::getMasterPortID) (ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel, uint32_t *p_clock, uint16_t *p_port)

Gets master port ID

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]ptp_channelEPTPC channel
[out]p_clockPointer to local clock counter
[out]p_portPointer to master port

◆ getMessageReceptionConfig

ssp_err_t(* ptp_api_t::getMessageReceptionConfig) (ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel, ptp_message_reception_t *p_ptp_message_reception)

Get message reception configuration

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]ptp_channelEPTPC channel
[out]p_ptp_message_receptionPointer to SYNFP message reception configuration structure

◆ getSyncInfo

ssp_err_t(* ptp_api_t::getSyncInfo) (ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel, ptp_timeInterval_t *p_master_offset, ptp_timeInterval_t *p_path_delay)

Get current offsetFromMaster and meanPathDelay.

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]ptp_channelEPTPC channel
[out]p_master_offsetReturns the offset from master
[out]p_path_delayReturns the mean path delay

◆ getWorst10Values

ssp_err_t(* ptp_api_t::getWorst10Values) (ptp_ctrl_t *const p_ctrl, uint32_t *p_positive_worst10, uint32_t *p_negative_worst10, uint32_t wait_option)

Get worst 10 values by software.

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]wait_optionTimeout interval
[out]p_positive_worst10Returns the positive worst 10 values
[out]p_negative_worst10Returns the negative worst 10 values

◆ indicateEvent

ssp_err_t(* ptp_api_t::indicateEvent) (ptp_ctrl_t *const p_ctrl, ptp_stca_timer_channel_t timer_channel, ptp_stca_timer_pulse_edge_t timer_pulse_edge, bool is_set)

Set/clear interrupt indication to ELC output on generation of pulse produced by pulse output timer.

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]timer_channelSTCA pulse output timer channel
[in]timer_pulse_edgeSTCA pulse output timer pulse edge
[in]is_setSet or clear indication of

◆ open

ssp_err_t(* ptp_api_t::open) (ptp_ctrl_t *const p_ctrl, ptp_cfg_t const *const p_cfg)

Open the PTP driver module.

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]p_cfgPointer to a configuration structure

◆ setExtPromiscuous

ssp_err_t(* ptp_api_t::setExtPromiscuous) (ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel, bool is_set)

Sets or clears the extended promiscuous mode

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]ptp_channelEPTPC channel
[in]is_setSet/clear extended promiscuous mode

◆ setGradientLimit

ssp_err_t(* ptp_api_t::setGradientLimit) (ptp_ctrl_t *const p_ctrl, uint32_t *p_positive_limit, uint32_t *p_negative_limit)

Set the gradient limits for positive and negative worst 10 values.

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]p_positive_limitPositive limit of worst 10 values
[in]p_negative_limitNegative limit of worst 10 values

◆ setLocalClock

ssp_err_t(* ptp_api_t::setLocalClock) (ptp_ctrl_t *const p_ctrl, ptp_timestamp_t *p_clock)

Sets local clock counter

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]p_clockPointer to local clock counter

◆ setMasterPortID

ssp_err_t(* ptp_api_t::setMasterPortID) (ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel, uint32_t *p_clock, uint16_t *p_port)

Sets master port ID

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]ptp_channelEPTPC channel
[in]p_clockPointer to local clock counter
[in]p_portPointer to master port

◆ setMessageReceptionConfig

ssp_err_t(* ptp_api_t::setMessageReceptionConfig) (ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel, ptp_message_reception_t *p_ptp_message_reception)

Set message reception configuration.

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]ptp_channelEPTPC channel
[in]p_ptp_message_receptionPointer to SYNFP message reception config structure

◆ setMINTevent

ssp_err_t(* ptp_api_t::setMINTevent) (ptp_ctrl_t *const p_ctrl, ptp_event_t ptp_reg, uint32_t event, bool is_set)

Set MINT interrupt event to enable notification for change in state of modules.

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]ptp_regMINT interrupt register
[in]eventInterrupt element
[in]is_setSet or clear MINT event

◆ setTimer

ssp_err_t(* ptp_api_t::setTimer) (ptp_ctrl_t *const p_ctrl, uint8_t timer_channel, UInt64_t event, uint32_t cycle, uint32_t pulse_width)

Sets start time, pulse period and pulse width for the pulse output timer.

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]timer_channelSTCA pulse output timer channel
[in]eventTimer event start time
[in]cyclePulse output cycle interval
[in]pulse_widthWidth of the high level of the pulse signal

◆ setWorst10Values

ssp_err_t(* ptp_api_t::setWorst10Values) (ptp_ctrl_t *const p_ctrl, uint8_t interval)

Sets the time interval for collecting worst 10 values

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]intervalTime interval to collect worst 10 values

◆ start

ssp_err_t(* ptp_api_t::start) (ptp_ctrl_t *const p_ctrl, uint32_t wait_option)

Starts the time synchronization.

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]wait_optionTimeout interval

◆ stop

ssp_err_t(* ptp_api_t::stop) (ptp_ctrl_t *const p_ctrl, uint32_t wait_option)

Stops the time synchronization.

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]wait_optionTimeout interval

◆ updateAnnounceFlags

ssp_err_t(* ptp_api_t::updateAnnounceFlags) (ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel, ptp_announce_flag_t *p_flag)

Update the announce message's flag field.

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]ptp_channelEPTPC channel
[in]p_flagPointer to announce message flag field

◆ updateAnnounceMsgs

ssp_err_t(* ptp_api_t::updateAnnounceMsgs) (ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel, ptp_announce_message_t *p_message)

Update the announce message's message field.

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]ptp_channelEPTPC channel
[in]p_messagePointer to announce message field

◆ updateClockID

ssp_err_t(* ptp_api_t::updateClockID) (ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel, int8_t *p_clock_id)

Update the clock identity field.

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]ptp_channelEPTPC channel
[in]p_clock_idPointer to clock ID

◆ updateDelayMsgInterval

ssp_err_t(* ptp_api_t::updateDelayMsgInterval) (ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel, int8_t *p_interval, uint32_t *p_timeout)

Update transmission interval, logMessageInterval and timeout values of Delay messages.

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]ptp_channelEPTPC channel
[in]p_intervalCase of master: Delay_Resp logMessageInterval Case of slave: Delay_Req/Pdelay_Req transmission interval
[in]p_timeoutDelay_Resp/Pdelay_Resp receiving timeout

◆ updateDomainNumber

ssp_err_t(* ptp_api_t::updateDomainNumber) (ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel, uint8_t domain_num)

Update the domain number field in the message header.

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]ptp_channelEPTPC channel
[in]domain_numDomain number

◆ updateSyncAnnounceMsgInterval

ssp_err_t(* ptp_api_t::updateSyncAnnounceMsgInterval) (ptp_ctrl_t *const p_ctrl, uint8_t ptp_channel, int8_t *p_sync_interval, int8_t *p_announce_interval)

Update transmission interval and logMessageInterval of Sync and Announce messages.

Implemented as
Parameters
[in]p_ctrlPointer to the control structure
[in]ptp_channelEPTPC channel
[in]p_sync_intervalPointer to sync message interval
[in]p_announce_intervalPointer to announce message interval

◆ versionGet

ssp_err_t(* ptp_api_t::versionGet) (ssp_version_t *const p_version)

Get the driver version based on compile time macros.

Implemented as
Parameters
[out]p_versionCode and API version used.

The documentation for this struct was generated from the following file: