Commit 6942c901 authored by Tomasz Wlostowski's avatar Tomasz Wlostowski

replaced slaveOnly flag with phyCalibrationRequired. Now individual ports of a…

replaced slaveOnly flag with phyCalibrationRequired. Now individual ports of a BC can be configured as only-master/only-slave
parent c744d04c
......@@ -45,21 +45,15 @@ void initDataPort(RunTimeOpts *rtOpts, PtpPortDS *ptpPortDS)
* White Rabbit - init static data fields
*/
ptpPortDS->wrConfig = rtOpts->wrConfig;
ptpPortDS->deltasKnown = rtOpts->deltasKnown;
ptpPortDS->phyCalibrationRequired= rtOpts->phyCalibrationRequired;
ptpPortDS->wrStateTimeout = rtOpts->wrStateTimeout;
ptpPortDS->wrStateRetry = rtOpts->wrStateRetry;
ptpPortDS->calPeriod = rtOpts->calPeriod;
ptpPortDS->calPeriod = rtOpts->calPeriod;
ptpPortDS->calRetry = ptpPortDS->ptpClockDS->numberPorts + 2;
ptpPortDS->knownDeltaTx.scaledPicoseconds.lsb = rtOpts->knownDeltaTx.scaledPicoseconds.lsb;
ptpPortDS->knownDeltaTx.scaledPicoseconds.msb = rtOpts->knownDeltaTx.scaledPicoseconds.msb;
ptpPortDS->knownDeltaRx.scaledPicoseconds.lsb = rtOpts->knownDeltaRx.scaledPicoseconds.lsb;
ptpPortDS->knownDeltaRx.scaledPicoseconds.msb = rtOpts->knownDeltaRx.scaledPicoseconds.msb;
/*
* White Rabbit - init dynamic data fields
/*
* White Rabbit - init dynamic data fields
*/
initWrData(ptpPortDS, INIT);
......@@ -87,9 +81,6 @@ void initDataPort(RunTimeOpts *rtOpts, PtpPortDS *ptpPortDS)
/*Init other stuff*/
ptpPortDS->number_foreign_records = 0;
ptpPortDS->max_foreign_records = rtOpts->max_foreign_records;
ptpPortDS->linkUP = FALSE;
}
/* initialize ptpClockDS*/
......@@ -111,13 +102,12 @@ void initDataClock(RunTimeOpts *rtOpts, PtpClockDS *ptpClockDS)
ptpClockDS->priority2 = rtOpts->priority2;
ptpClockDS->domainNumber = rtOpts->domainNumber;
ptpClockDS->slaveOnly = rtOpts->slaveOnly;
ptpClockDS->clockClassValidityTimeout = DEFAULT_CLOCKCLASS_VALIDATE_TIMEOUT;
if(rtOpts->slaveOnly)
rtOpts->clockQuality.clockClass = 255;
else if((rtOpts->masterOnly == TRUE || rtOpts->primarySource == TRUE || rtOpts->clockQuality.clockClass == 6) )
/*if(rtOpts->slaveOnly)
rtOpts->clockQuality.clockClass = 255;*/
if((rtOpts->masterOnly == TRUE || rtOpts->primarySource == TRUE || rtOpts->clockQuality.clockClass == 6) )
{
if(extsrcLocked()== TRUE)
{
......@@ -180,7 +170,7 @@ void m1(PtpPortDS *ptpPortDS)
ptpPortDS->wrSlaveRole = NON_SLAVE;
ptpPortDS->ptpClockDS->primarySlavePortNumber=0;
ptpPortDS->ptpClockDS->primarySlavePortNumber=0;
}
void m3(PtpPortDS *ptpPortDS)
{
......@@ -605,7 +595,7 @@ UInteger8 bmcStateDecision (MsgHeader *header,MsgAnnounce *announce, UInteger16
Integer8 comp;
PTPD_TRACE(TRACE_BMC, ptpPortDS,"SDA: State Decision Algorith,\n");
if (rtOpts->slaveOnly)
if (ptpPortDS->wrConfig == WR_S_ONLY)
{
PTPD_TRACE(TRACE_BMC, ptpPortDS,"SDA: .. Slave Only Mode: PTP_SLAVE\n");
s1(header,announce,ptpPortDS);
......
......@@ -283,7 +283,6 @@ typedef struct
UInteger8 priority1;
UInteger8 priority2;
UInteger8 domainNumber;
Boolean slaveOnly;
/******** Current data set *****/
......@@ -465,20 +464,11 @@ typedef struct {
Enumeration8 wrConfig;
/*
* If fixed delays are known (most probably a deterministric PHY is used),
* they are stored in this static fields, if they are not known,
* the filds shall be set to 0x0
*/
FixedDelta knownDeltaTx;
FixedDelta knownDeltaRx;
/*
* If fixed delays are known (most probably a deterministric PHY is used),
* a TRUE value of deltasKnown indicates it and validates the values of
* knownDeltaTx and knownDeltaRx
*/
Boolean deltasKnown;
* When true, the PHY must be calibrated using the WR calibration pattern. When false,
* the PHY is deterministic and its deltas are obtained by ptpd_netif_read_calibration_data() call.
*/
Boolean phyCalibrationRequired;
/*
* Determines the timeout (in microseconds) for
* an execution of a state of the WR State Machine
......@@ -690,7 +680,6 @@ typedef struct {
UInteger8 priority1;
UInteger8 priority2;
UInteger8 domainNumber;
Boolean slaveOnly;
Integer16 currentUtcOffset;
Octet ifaceName[MAX_PORT_NUMBER][IFACE_NAME_LENGTH];
Boolean noResetClock;
......@@ -712,10 +701,8 @@ typedef struct {
//tmp
UInteger8 overrideClockIdentity;
Enumeration8 wrConfig;
FixedDelta knownDeltaTx;
FixedDelta knownDeltaRx;
Boolean deltasKnown;
UInteger32 wrStateTimeout;
Boolean phyCalibrationRequired;
UInteger32 wrStateTimeout;
UInteger8 wrStateRetry;
Boolean autoPortDiscovery;
Boolean primarySource;
......
......@@ -216,7 +216,6 @@ clockQuality_display(&(rtOpts->clockQuality));
printf("priority1 : %d \n",rtOpts->priority1);
printf("priority2 : %d \n",rtOpts->priority2);
printf("domainNumber : %d \n",rtOpts->domainNumber);
printf("slaveOnly : %d \n",rtOpts->slaveOnly);
printf("currentUtcOffset : %d \n",rtOpts->currentUtcOffset);
unicast_display(rtOpts->unicastAddress);
printf("noResetClock : %d \n",rtOpts->noResetClock);
......@@ -249,7 +248,6 @@ clockQuality_display(&(ptpPortDS->ptpClockDS->clockQuality));
printf("priority1 : %d \n",ptpPortDS->ptpClockDS->priority1);
printf("priority2 : %d \n",ptpPortDS->ptpClockDS->priority2);
printf("domainNumber : %d \n",ptpPortDS->ptpClockDS->domainNumber);
printf("slaveOnly : %d \n",ptpPortDS->ptpClockDS->slaveOnly);
printf("\n");
}
......@@ -492,9 +490,9 @@ void displayConfigINFO(RunTimeOpts* rtOpts)
PTPD_TRACE(TRACE_PTPD_MAIN, NULL,"E2E_mode ........................ TRUE\n")
else
PTPD_TRACE(TRACE_PTPD_MAIN, NULL,"P2P_mode ........................ TRUE\n")
PTPD_TRACE(TRACE_PTPD_MAIN, NULL,"portNumber ..................... %d\n",rtOpts->portNumber);
if(rtOpts->portNumber == 1 && rtOpts->autoPortDiscovery == FALSE)
PTPD_TRACE(TRACE_PTPD_MAIN, NULL,"running as ...................... single port node (forced, no auto port number discovery)\n")
else if(rtOpts->portNumber == 1 && rtOpts->autoPortDiscovery == TRUE)
......@@ -510,7 +508,7 @@ void displayConfigINFO(RunTimeOpts* rtOpts)
{
if(rtOpts->autoPortDiscovery == FALSE) //so the interface is forced, thus in rtOpts
PTPD_TRACE(TRACE_PTPD_MAIN, NULL,"net ifaceName [port = %d] ........ %s\n",i+1,rtOpts->ifaceName[i]);
if(rtOpts->wrConfig == WR_MODE_AUTO)
PTPD_TRACE(TRACE_PTPD_MAIN, NULL,"wrConfig [port = %d] ............ Autodetection (ptpx-implementation-specific) \n",i+1)
else if(rtOpts->wrConfig == WR_M_AND_S)
......@@ -518,14 +516,14 @@ void displayConfigINFO(RunTimeOpts* rtOpts)
else if(rtOpts->wrConfig == WR_SLAVE)
PTPD_TRACE(TRACE_PTPD_MAIN, NULL,"wrConfig [port = %d] ............ Slave \n",i+1)
else if(rtOpts->wrConfig == WR_MASTER)
PTPD_TRACE(TRACE_PTPD_MAIN, NULL,"wrConfig [port = %d] ............ Master \n",i+1)
PTPD_TRACE(TRACE_PTPD_MAIN, NULL,"wrConfig [port = %d] ............ Master \n",i+1)
else if(rtOpts->wrConfig == NON_WR)
PTPD_TRACE(TRACE_PTPD_MAIN, NULL,"wrConfig [port = %d] ............ NON_WR\n",i+1)
else
PTPD_TRACE(TRACE_PTPD_MAIN, NULL,"wrConfig [port = %d] ............ ERROR\n",i+1)
}
PTPD_TRACE(TRACE_PTPD_MAIN, NULL,"----------- now the fun ------------\n\n")
}
PTPD_TRACE(TRACE_PTPD_MAIN, NULL,"----------- now the fun ------------\n\n")
PTPD_TRACE(TRACE_PTPD_MAIN, NULL,"clockClass ....................... %d\n",rtOpts->clockQuality.clockClass);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment