flexPTP 1.0
An IEEE 1588 PTP implementation designed for microcontrollers
Loading...
Searching...
No Matches
ptp_core.c File Reference
#include "ptp_core.h"
#include <math.h>
#include <stdint.h>
#include <string.h>
#include "FreeRTOS.h"
#include "common.h"
#include "event.h"
#include "logging.h"
#include "master.h"
#include "portmacro.h"
#include "slave.h"
#include "timers.h"
#include "bmca.h"
#include "cli_cmds.h"
#include "clock_utils.h"
#include "format_utils.h"
#include "msg_utils.h"
#include "network_stack_driver.h"
#include "ptp_defs.h"
#include "ptp_types.h"
#include "settings_interface.h"
#include "stats.h"
#include "task_ptp.h"
#include "timeutils.h"
#include <flexptp_options.h>

Go to the source code of this file.

Macros

#define MIN(a, b)   (((a) < (b)) ? (a) : (b))
 

Functions

static void ptp_heartbeat_tmr_cb (TimerHandle_t timer)
 
static void ptp_create_heartbeat_tmr ()
 
static void ptp_remove_heartbeat_tmr ()
 
static void ptp_start_heartbeat_tmr ()
 
static void ptp_stop_heartbeat_tmr ()
 
static void ptp_common_init (const uint8_t *hwa)
 
void ptp_init (const uint8_t *hwa)
 
void ptp_deinit ()
 
void ptp_reset ()
 
void ptp_process_packet (RawPtpMessage *pRawMsg)
 
void ptp_process_event (const PtpCoreEvent *event)
 
void ptp_set_sync_callback (PtpSyncCallback syncCb)
 
void ptp_set_user_event_callback (PtpUserEventCallback userEventCb)
 

Macro Definition Documentation

◆ MIN

#define MIN (   a,
 
)    (((a) < (b)) ? (a) : (b))

Definition at line 41 of file ptp_core.c.

Function Documentation

◆ ptp_common_init()

static void ptp_common_init ( const uint8_t *  hwa)
static

Definition at line 92 of file ptp_core.c.

◆ ptp_create_heartbeat_tmr()

static void ptp_create_heartbeat_tmr ( )
static

Construct the heartbeat timer.

Definition at line 66 of file ptp_core.c.

◆ ptp_deinit()

void ptp_deinit ( )

Deinitialize flexPTP module.

Definition at line 140 of file ptp_core.c.

◆ ptp_heartbeat_tmr_cb()

static void ptp_heartbeat_tmr_cb ( TimerHandle_t  timer)
static

Heartbeat callback.

Parameters
timertimer handle

Definition at line 58 of file ptp_core.c.

◆ ptp_init()

void ptp_init ( const uint8_t *  hwa)

Initialize flexPTP module.

Parameters
hwanetwork interface hardware address over which the flexPTP operates

Definition at line 113 of file ptp_core.c.

◆ ptp_process_event()

void ptp_process_event ( const PtpCoreEvent event)

Process a core event.

Parameters
eventpointer to an event object

Definition at line 250 of file ptp_core.c.

◆ ptp_process_packet()

void ptp_process_packet ( RawPtpMessage pRawMsg)

Process a PTP packet.

Parameters
pRawMsgpointer to raw PTP message

Definition at line 209 of file ptp_core.c.

◆ ptp_remove_heartbeat_tmr()

static void ptp_remove_heartbeat_tmr ( )
static

Remove the heartbeat timer.

Definition at line 77 of file ptp_core.c.

◆ ptp_reset()

void ptp_reset ( )

Reset PTP subsystem.

Definition at line 165 of file ptp_core.c.

◆ ptp_set_sync_callback()

void ptp_set_sync_callback ( PtpSyncCallback  syncCb)

Set callback invoked each synchronization cycle.

Parameters
syncCBcallback function pointer

Definition at line 278 of file ptp_core.c.

◆ ptp_set_user_event_callback()

void ptp_set_user_event_callback ( PtpUserEventCallback  userEventCb)

Set user event callback.

Parameters
userEventCbcallback function pointer

Definition at line 282 of file ptp_core.c.

◆ ptp_start_heartbeat_tmr()

static void ptp_start_heartbeat_tmr ( )
static

Definition at line 82 of file ptp_core.c.

◆ ptp_stop_heartbeat_tmr()

static void ptp_stop_heartbeat_tmr ( )
static

Definition at line 86 of file ptp_core.c.