summaryrefslogtreecommitdiff
path: root/daemons/gptp/doc/mainpage.dox
blob: 30243725a8d4e2de1b0f79635a617a10b3ebc205 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
/**
 * \mainpage gPTP Documentation
 *
 * Introduction
 * ------------
 * This is an example Intel provided gptp daemon which can be used on Linux
 * and Windows platforms. There are a number of other ptp daemons available
 * for Linux which can be used to establish clock synchronization, although
 * not all may export the required APIs needed for an AVB system.
 * 
 * The daemon communicates with other processes through a named pipe.
 * The pipe name and message format is defined in ipcdef.hpp.  The pipe name 
 * is "gptp-update". A Windows example is in the project named_pipe_test.
 * 
 * The message format is:
 * 
 * 	Integer64	<master-local phase offset>
 * 
 * 	Integer64	<local-system phase offset>
 * 
 * 	Float	<master-local frequency offset>
 * 
 * 	Float	<local-system frequency offset>
 * 
 * 	UInteger64	< local time of last update>
 * 
 * Meaning of IPC provided values
 * - master  ~= local  - <master-local phase offset>
 * - local   ~= system - <local-system phase offset>
 * - Dmaster ~= Dlocal * (1-<master-local phase offset>/1e12) (where D denotes a delta rather than a specific value)
 * - Dlocal ~= Dsystem * (1-<local-system freq offset>/1e12) (where D denotes a delta rather than a specific value)
 * 
 * Linux Specific
 * -------------
 * 
 * Requirements for documentation on a ubuntu based system:
 *     - cmake: sudo apt-get install cmake
 *     - doxygen: sudo apt-get install doxygen
 *     - graphviz: sudo apt-get install graphviz
 * 
 * To build, execute the linux/build makefile.
 * 
 * To build for I210:
 * 
 * ARCH=I210 make clean all
 * 
 * To build for 'generic' Linux:
 * 
 * make clean all
 * 
 * To build for Intel CE 5100 Platforms:
 * 
 * ARCH=IntelCE make clean all
 * 
 * To execute, run 
 * 	./daemon_cl <interface-name>
 * such as
 * 	./daemon_cl eth0
 * 
 * The daemon creates a shared memory segment with the 'ptp' group. Some distributions may not have this group installed.  The IPC interface will not available unless the 'ptp' group is available.
 * 
 * 
 * Windows Version
 * ---------------
 * 
 * Build Dependencies
 * 
 * * WinPCAP Developer's Pack (WpdPack) is required for linking - downloadable from http://www.winpcap.org/devel.htm.
 * 
 * Extract WpdPack so the Include folder is in one of the below locations
 * 
* 1- ProgramData
* 	\\WpdPack
* 		\\Include
* 		\\Lib
* 		\\Lib\\x64
* 
* 2- USERPROFILE
* 	\\src\\pcap
* 		\\Include
* 		\\Lib
* 		\\Lib\\x64
* 
* * WinPCAP must also be installed on any machine where the daemon runs.
* 
* To run from the command line:
* 
* 	daemon_cl.exe xx-xx-xx-xx-xx-xx
* 
* where xx-xx-xx-xx-xx-xx is the mac address of the local interface
* 
* Other Available PTP Daemons
* ---------------------------
* There are a number of existing ptp daemon projects. Some of the other known 
* ptp daemons are listed below. Intel has not tested Open AVB with the following 
* ptp daemons.
* 
* * Richard Cochran's ptp4l daemon - https://sourceforge.net/p/linuxptp/
* 
*   Note with this version to use gPTP specific settings, which differ 
*   slightly from IEEE 1588.
* 
* * http://ptpd.sourceforge.net/
* 
* * http://ptpd2.sourceforge.net/
* 
* * http://code.google.com/p/ptpv2d
* 
* * http://home.mit.bme.hu/~khazy/ptpd/
*/