flexPTP 1.0
An IEEE 1588 PTP implementation designed for microcontrollers
Loading...
Searching...
No Matches
event.h File Reference

In this module are the core and user events defined. More...

#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  PtpCoreEvent
 

Macros

#define PTP_IUEV(uev)   ptp_invoke_user_event_cb(uev);
 

Enumerations

enum  PtpCoreEventCode { PTP_CEV_HEARTBEAT = 0x00 , PTP_CEV_BMCA_STATE_CHANGED }
 
enum  PtpUserEventCode {
  PTP_UEV_INIT_DONE = 0x01 , PTP_UEV_RESET_DONE , PTP_UEV_SYNC_RECVED , PTP_UEV_SYNC_SENT ,
  PTP_UEV_FOLLOW_UP_RECVED , PTP_UEV_DELAY_REQ_RECVED , PTP_UEV_DELAY_REQ_SENT , PTP_UEV_DELAY_RESP_RECVED ,
  PTP_UEV_DELAY_RESP_SENT , PTP_UEV_PDELAY_REQ_RECVED , PTP_UEV_PDELAY_REQ_SENT , PTP_UEV_PDELAY_RESP_RECVED ,
  PTP_UEV_PDELAY_RESP_SENT , PTP_UEV_PDELAY_RESP_FOLLOW_UP_RECVED , PTP_UEV_ANNOUNCE_SENT , PTP_UEV_ANNOUNCE_RECVED ,
  PTP_UEV_LOCKED , PTP_UEV_UNLOCKED , PTP_UEV_BMCA_STATE_CHANGED , PTP_UEV_NETWORK_ERROR ,
  PTP_UEV_QUEUE_ERROR
}
 

Functions

void ptp_invoke_user_event_cb (PtpUserEventCode uev)
 

Detailed Description

In this module are the core and user events defined.

Definition in file event.h.

Macro Definition Documentation

◆ PTP_IUEV

#define PTP_IUEV (   uev)    ptp_invoke_user_event_cb(uev);

Definition at line 77 of file event.h.

Enumeration Type Documentation

◆ PtpCoreEventCode

Enumerator
PTP_CEV_HEARTBEAT 
PTP_CEV_BMCA_STATE_CHANGED 

Definition at line 14 of file event.h.

◆ PtpUserEventCode

PTP user event codes.

Commented-out ones are not yet implemented.

Enumerator
PTP_UEV_INIT_DONE 

The flexPTP core has been initialized.

PTP_UEV_RESET_DONE 

The flexPTP module has been reset.

PTP_UEV_SYNC_RECVED 

A Sync message has been received (slave)

PTP_UEV_SYNC_SENT 

A Sync message has eebn sent (master)

PTP_UEV_FOLLOW_UP_RECVED 

A Follow_Up message has been received (slave)

PTP_UEV_DELAY_REQ_RECVED 

A Delay_Req had been received (master)

PTP_UEV_DELAY_REQ_SENT 

A Delay_Req had been sent (slave)

PTP_UEV_DELAY_RESP_RECVED 

A Delay_Resp had been received (slave)

PTP_UEV_DELAY_RESP_SENT 

A Delay_Resp had been sent (master)

PTP_UEV_PDELAY_REQ_RECVED 

A PDelay_Req had been received (master/slave)

PTP_UEV_PDELAY_REQ_SENT 

A PDelay_Req had been sent (master/slave)

PTP_UEV_PDELAY_RESP_RECVED 

A PDelay_Resp had been received (master/slave)

PTP_UEV_PDELAY_RESP_SENT 

A PDelay_Resp had been sent (master/slave)

PTP_UEV_PDELAY_RESP_FOLLOW_UP_RECVED 

A PDelay_Resp_Follow_Up had been received (master/slave)

PTP_UEV_ANNOUNCE_SENT 

An Announce message has been sent (master)

PTP_UEV_ANNOUNCE_RECVED 

An Announce message has been received (master/slave)

PTP_UEV_LOCKED 

The average clock accuracy is sufficient.

PTP_UEV_UNLOCKED 

Our clock has deviated from the master in average.

PTP_UEV_BMCA_STATE_CHANGED 

The BMCA state has changed.

PTP_UEV_NETWORK_ERROR 

Indication of lost messages or the absence of expected responses.

PTP_UEV_QUEUE_ERROR 

This event signals that the flexPTP's internal transmission output queue is full and blocked.

Definition at line 40 of file event.h.

Function Documentation

◆ ptp_invoke_user_event_cb()

void ptp_invoke_user_event_cb ( PtpUserEventCode  uev)

Invoke the user event callback.

Parameters
uevuser event code

Definition at line 9 of file event.c.