Commit b7ab94bc authored by Omar Gabella's avatar Omar Gabella

Full WRPC for Bases to test with Full-WRS

parent bb9aecbb
...@@ -33,9 +33,9 @@ static struct wr_operations wrpc_wr_operations = { ...@@ -33,9 +33,9 @@ static struct wr_operations wrpc_wr_operations = {
.locking_poll = wrpc_spll_locking_poll, .locking_poll = wrpc_spll_locking_poll,
.locking_disable = wrpc_spll_locking_disable, .locking_disable = wrpc_spll_locking_disable,
.enable_ptracker = wrpc_spll_enable_ptracker, .enable_ptracker = wrpc_spll_enable_ptracker,
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
.adjust_in_progress_bc = wrpc_adjust_in_progress_bc, // .adjust_in_progress_bc = wrpc_adjust_in_progress_bc,
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
.adjust_in_progress = wrpc_adjust_in_progress, .adjust_in_progress = wrpc_adjust_in_progress,
.adjust_counters = wrpc_adjust_counters, .adjust_counters = wrpc_adjust_counters,
.adjust_phase = wrpc_adjust_phase, .adjust_phase = wrpc_adjust_phase,
......
...@@ -76,15 +76,15 @@ int wrpc_adjust_in_progress(void) ...@@ -76,15 +76,15 @@ int wrpc_adjust_in_progress(void)
int wrpc_adjust_in_progress_bc(struct pp_instance *ppi) int wrpc_adjust_in_progress_bc(struct pp_instance *ppi)
{ {
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
if (shw_pps_gen_busy()) // if (shw_pps_gen_busy())
WR_DSPOR(ppi)->ctr_pps_gen_busy++; // WR_DSPOR(ppi)->ctr_pps_gen_busy++;
else if (spll_shifter_busy(0)) // else if (spll_shifter_busy(0))
WR_DSPOR(ppi)->ctr_spll_shifter_busy++; // WR_DSPOR(ppi)->ctr_spll_shifter_busy++;
else // else
WR_DSPOR(ppi)->ctr_not_busy++; // WR_DSPOR(ppi)->ctr_not_busy++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
return shw_pps_gen_busy() || spll_shifter_busy(0); return shw_pps_gen_busy() || spll_shifter_busy(0);
} }
......
...@@ -9,10 +9,10 @@ ...@@ -9,10 +9,10 @@
#ifndef __PPSI_CONSTANTS_H__ #ifndef __PPSI_CONSTANTS_H__
#define __PPSI_CONSTANTS_H__ #define __PPSI_CONSTANTS_H__
#ifdef BROADCAST //#ifdef BROADCAST
/* Counter to reboot the wr_servo if the TRACK_PHASE is not reached */ /* Counter to reboot the wr_servo if the TRACK_PHASE is not reached */
#define WR_SERVO_MAX_NO_CONVERGE_COUNT 100 //#define WR_SERVO_MAX_NO_CONVERGE_COUNT 100
#endif // BROADCAST //#endif // BROADCAST
/* general purpose constants */ /* general purpose constants */
#define PP_NSEC_PER_SEC (1000*1000*1000) #define PP_NSEC_PER_SEC (1000*1000*1000)
...@@ -32,11 +32,11 @@ ...@@ -32,11 +32,11 @@
#define PP_DEFAULT_DELAYREQ_INTERVAL 0 #define PP_DEFAULT_DELAYREQ_INTERVAL 0
#define PP_DEFAULT_SYNC_INTERVAL 0 /* -7 in 802.1AS */ #define PP_DEFAULT_SYNC_INTERVAL 0 /* -7 in 802.1AS */
#define PP_DEFAULT_SYNC_RECEIPT_TIMEOUT 3 #define PP_DEFAULT_SYNC_RECEIPT_TIMEOUT 3
#ifdef BROADCAST //#ifdef BROADCAST
#define PP_DEFAULT_ANNOUNCE_RECEIPT_TIMEOUT 450 /* 3 by default */ //#define PP_DEFAULT_ANNOUNCE_RECEIPT_TIMEOUT 450 /* 3 by default */
#else //#else
#define PP_DEFAULT_ANNOUNCE_RECEIPT_TIMEOUT 20 /* 3 by default */ #define PP_DEFAULT_ANNOUNCE_RECEIPT_TIMEOUT 20 /* 3 by default */
#endif // BROADCAST //#endif // BROADCAST
/* Clock classes (pag 55, PTP-2008). See ppsi-manual for an explanation */ /* Clock classes (pag 55, PTP-2008). See ppsi-manual for an explanation */
#define PP_CLASS_SLAVE_ONLY 255 #define PP_CLASS_SLAVE_ONLY 255
......
...@@ -15,10 +15,10 @@ ...@@ -15,10 +15,10 @@
*/ */
int wr_calibrated(struct pp_instance *ppi, unsigned char *pkt, int plen) int wr_calibrated(struct pp_instance *ppi, unsigned char *pkt, int plen)
{ {
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_calibrated_1++; // WR_DSPOR(ppi)->ctr_wr_calibrated_1++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
struct wr_dsport *wrp = WR_DSPOR(ppi); struct wr_dsport *wrp = WR_DSPOR(ppi);
MsgSignaling wrsig_msg; MsgSignaling wrsig_msg;
......
...@@ -15,10 +15,10 @@ ...@@ -15,10 +15,10 @@
*/ */
int wr_calibration(struct pp_instance *ppi, unsigned char *pkt, int plen) int wr_calibration(struct pp_instance *ppi, unsigned char *pkt, int plen)
{ {
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_calibration_00++; // WR_DSPOR(ppi)->ctr_wr_calibration_00++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
struct wr_dsport *wrp = WR_DSPOR(ppi); struct wr_dsport *wrp = WR_DSPOR(ppi);
int sendmsg = 0; int sendmsg = 0;
uint32_t delta; uint32_t delta;
...@@ -49,10 +49,10 @@ int wr_calibration(struct pp_instance *ppi, unsigned char *pkt, int plen) ...@@ -49,10 +49,10 @@ int wr_calibration(struct pp_instance *ppi, unsigned char *pkt, int plen)
switch (wrp->wrPortState) { switch (wrp->wrPortState) {
case WR_PORT_CALIBRATION_0: case WR_PORT_CALIBRATION_0:
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_calibration_0++; // WR_DSPOR(ppi)->ctr_wr_calibration_0++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
/* enable pattern sending */ /* enable pattern sending */
if (wrp->ops->calib_pattern_enable(ppi, 0, 0, 0) == if (wrp->ops->calib_pattern_enable(ppi, 0, 0, 0) ==
WR_HW_CALIB_OK) WR_HW_CALIB_OK)
...@@ -61,10 +61,10 @@ int wr_calibration(struct pp_instance *ppi, unsigned char *pkt, int plen) ...@@ -61,10 +61,10 @@ int wr_calibration(struct pp_instance *ppi, unsigned char *pkt, int plen)
break; break;
case WR_PORT_CALIBRATION_1: case WR_PORT_CALIBRATION_1:
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_calibration_1++; // WR_DSPOR(ppi)->ctr_wr_calibration_1++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
/* enable Tx calibration */ /* enable Tx calibration */
if (wrp->ops->calib_enable(ppi, WR_HW_CALIB_TX) if (wrp->ops->calib_enable(ppi, WR_HW_CALIB_TX)
== WR_HW_CALIB_OK) == WR_HW_CALIB_OK)
...@@ -73,10 +73,10 @@ int wr_calibration(struct pp_instance *ppi, unsigned char *pkt, int plen) ...@@ -73,10 +73,10 @@ int wr_calibration(struct pp_instance *ppi, unsigned char *pkt, int plen)
break; break;
case WR_PORT_CALIBRATION_2: case WR_PORT_CALIBRATION_2:
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_calibration_2++; // WR_DSPOR(ppi)->ctr_wr_calibration_2++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
/* wait until Tx calibration is finished */ /* wait until Tx calibration is finished */
if (wrp->ops->calib_poll(ppi, WR_HW_CALIB_TX, &delta) == if (wrp->ops->calib_poll(ppi, WR_HW_CALIB_TX, &delta) ==
WR_HW_CALIB_READY) { WR_HW_CALIB_READY) {
...@@ -95,10 +95,10 @@ int wr_calibration(struct pp_instance *ppi, unsigned char *pkt, int plen) ...@@ -95,10 +95,10 @@ int wr_calibration(struct pp_instance *ppi, unsigned char *pkt, int plen)
} }
case WR_PORT_CALIBRATION_3: case WR_PORT_CALIBRATION_3:
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_calibration_3++; // WR_DSPOR(ppi)->ctr_wr_calibration_3++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
/* disable Tx calibration */ /* disable Tx calibration */
if (wrp->ops->calib_disable(ppi, WR_HW_CALIB_TX) if (wrp->ops->calib_disable(ppi, WR_HW_CALIB_TX)
== WR_HW_CALIB_OK) == WR_HW_CALIB_OK)
...@@ -107,10 +107,10 @@ int wr_calibration(struct pp_instance *ppi, unsigned char *pkt, int plen) ...@@ -107,10 +107,10 @@ int wr_calibration(struct pp_instance *ppi, unsigned char *pkt, int plen)
break; break;
case WR_PORT_CALIBRATION_4: case WR_PORT_CALIBRATION_4:
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_calibration_4++; // WR_DSPOR(ppi)->ctr_wr_calibration_4++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
/* disable pattern sending */ /* disable pattern sending */
if (wrp->ops->calib_pattern_disable(ppi) == WR_HW_CALIB_OK) if (wrp->ops->calib_pattern_disable(ppi) == WR_HW_CALIB_OK)
wrp->wrPortState = WR_PORT_CALIBRATION_5; wrp->wrPortState = WR_PORT_CALIBRATION_5;
...@@ -118,10 +118,10 @@ int wr_calibration(struct pp_instance *ppi, unsigned char *pkt, int plen) ...@@ -118,10 +118,10 @@ int wr_calibration(struct pp_instance *ppi, unsigned char *pkt, int plen)
break; break;
case WR_PORT_CALIBRATION_5: case WR_PORT_CALIBRATION_5:
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_calibration_5++; // WR_DSPOR(ppi)->ctr_wr_calibration_5++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
/* enable Rx calibration using the pattern sent by other port */ /* enable Rx calibration using the pattern sent by other port */
if (wrp->ops->calib_enable(ppi, WR_HW_CALIB_RX) == if (wrp->ops->calib_enable(ppi, WR_HW_CALIB_RX) ==
WR_HW_CALIB_OK) WR_HW_CALIB_OK)
...@@ -130,10 +130,10 @@ int wr_calibration(struct pp_instance *ppi, unsigned char *pkt, int plen) ...@@ -130,10 +130,10 @@ int wr_calibration(struct pp_instance *ppi, unsigned char *pkt, int plen)
break; break;
case WR_PORT_CALIBRATION_6: case WR_PORT_CALIBRATION_6:
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_calibration_6++; // WR_DSPOR(ppi)->ctr_wr_calibration_6++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
/* wait until Rx calibration is finished */ /* wait until Rx calibration is finished */
if (wrp->ops->calib_poll(ppi, WR_HW_CALIB_RX, &delta) == if (wrp->ops->calib_poll(ppi, WR_HW_CALIB_RX, &delta) ==
WR_HW_CALIB_READY) { WR_HW_CALIB_READY) {
...@@ -153,10 +153,10 @@ int wr_calibration(struct pp_instance *ppi, unsigned char *pkt, int plen) ...@@ -153,10 +153,10 @@ int wr_calibration(struct pp_instance *ppi, unsigned char *pkt, int plen)
} }
case WR_PORT_CALIBRATION_7: case WR_PORT_CALIBRATION_7:
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_calibration_7++; // WR_DSPOR(ppi)->ctr_wr_calibration_7++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
/* disable Rx calibration */ /* disable Rx calibration */
if (wrp->ops->calib_disable(ppi, WR_HW_CALIB_RX) if (wrp->ops->calib_disable(ppi, WR_HW_CALIB_RX)
== WR_HW_CALIB_OK) == WR_HW_CALIB_OK)
...@@ -164,10 +164,10 @@ int wr_calibration(struct pp_instance *ppi, unsigned char *pkt, int plen) ...@@ -164,10 +164,10 @@ int wr_calibration(struct pp_instance *ppi, unsigned char *pkt, int plen)
else else
break; break;
case WR_PORT_CALIBRATION_8: case WR_PORT_CALIBRATION_8:
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_calibration_8++; // WR_DSPOR(ppi)->ctr_wr_calibration_8++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
/* send deltas to the other port and go to the next state */ /* send deltas to the other port and go to the next state */
//#ifndef BROADCAST //#ifndef BROADCAST
......
...@@ -15,10 +15,10 @@ ...@@ -15,10 +15,10 @@
*/ */
int wr_link_on(struct pp_instance *ppi, unsigned char *pkt, int plen) int wr_link_on(struct pp_instance *ppi, unsigned char *pkt, int plen)
{ {
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_link_on_1++; // WR_DSPOR(ppi)->ctr_wr_link_on_1++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
struct wr_dsport *wrp = WR_DSPOR(ppi); struct wr_dsport *wrp = WR_DSPOR(ppi);
int e = 0; int e = 0;
...@@ -40,10 +40,10 @@ int wr_link_on(struct pp_instance *ppi, unsigned char *pkt, int plen) ...@@ -40,10 +40,10 @@ int wr_link_on(struct pp_instance *ppi, unsigned char *pkt, int plen)
if (wrp->wrMode == WR_SLAVE) if (wrp->wrMode == WR_SLAVE)
{ {
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_link_on_2++; // WR_DSPOR(ppi)->ctr_wr_link_on_2++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
ppi->next_state = PPS_SLAVE; ppi->next_state = PPS_SLAVE;
} }
else else
......
...@@ -15,10 +15,10 @@ ...@@ -15,10 +15,10 @@
*/ */
int wr_locked(struct pp_instance *ppi, unsigned char *pkt, int plen) int wr_locked(struct pp_instance *ppi, unsigned char *pkt, int plen)
{ {
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ // /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_locked_1++; // WR_DSPOR(ppi)->ctr_wr_locked_1++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
int e = 0, sendmsg = 0; int e = 0, sendmsg = 0;
MsgSignaling wrsig_msg; MsgSignaling wrsig_msg;
struct wr_dsport *wrp = WR_DSPOR(ppi); struct wr_dsport *wrp = WR_DSPOR(ppi);
...@@ -54,10 +54,10 @@ int wr_locked(struct pp_instance *ppi, unsigned char *pkt, int plen) ...@@ -54,10 +54,10 @@ int wr_locked(struct pp_instance *ppi, unsigned char *pkt, int plen)
// DSPOR(ppi)->portIdentity.clockIdentity.id, // DSPOR(ppi)->portIdentity.clockIdentity.id,
// PP_CLOCK_IDENTITY_LENGTH)==0) // PP_CLOCK_IDENTITY_LENGTH)==0)
// { // {
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_locked_2++; // WR_DSPOR(ppi)->ctr_wr_locked_2++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
// ppi->next_state = WRS_RESP_CALIB_REQ; // ppi->next_state = WRS_RESP_CALIB_REQ;
// } // }
//#else //#else
......
...@@ -24,24 +24,24 @@ int wr_present(struct pp_instance *ppi, unsigned char *pkt, int plen) ...@@ -24,24 +24,24 @@ int wr_present(struct pp_instance *ppi, unsigned char *pkt, int plen)
MsgSignaling wrsig_msg; MsgSignaling wrsig_msg;
if (ppi->is_new_state) { if (ppi->is_new_state) {
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_present_0_1++; // WR_DSPOR(ppi)->ctr_wr_present_0_1++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
wrp->wrStateRetry = WR_STATE_RETRY; wrp->wrStateRetry = WR_STATE_RETRY;
sendmsg = 1; sendmsg = 1;
} else if (pp_timeout(ppi, PP_TO_EXT_0)) { } else if (pp_timeout(ppi, PP_TO_EXT_0)) {
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_present_0_2++; // WR_DSPOR(ppi)->ctr_wr_present_0_2++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
if (wr_handshake_retry(ppi)) if (wr_handshake_retry(ppi))
sendmsg = 1; sendmsg = 1;
else else
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_present_0_3++; // WR_DSPOR(ppi)->ctr_wr_present_0_3++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
return 0; /* non-wr already */ return 0; /* non-wr already */
} }
...@@ -50,41 +50,41 @@ int wr_present(struct pp_instance *ppi, unsigned char *pkt, int plen) ...@@ -50,41 +50,41 @@ int wr_present(struct pp_instance *ppi, unsigned char *pkt, int plen)
ppi->next_state = WRS_S_LOCK; ppi->next_state = WRS_S_LOCK;
#else #else
if (sendmsg) { if (sendmsg) {
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_present_0_4++; // WR_DSPOR(ppi)->ctr_wr_present_0_4++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
__pp_timeout_set(ppi, PP_TO_EXT_0, WR_WRS_PRESENT_TIMEOUT_MS); __pp_timeout_set(ppi, PP_TO_EXT_0, WR_WRS_PRESENT_TIMEOUT_MS);
e = msg_issue_wrsig(ppi, SLAVE_PRESENT); e = msg_issue_wrsig(ppi, SLAVE_PRESENT);
} }
if (ppi->received_ptp_header.messageType == PPM_SIGNALING) { if (ppi->received_ptp_header.messageType == PPM_SIGNALING) {
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_present_1++; // WR_DSPOR(ppi)->ctr_wr_present_1++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
msg_unpack_wrsig(ppi, pkt, &wrsig_msg, msg_unpack_wrsig(ppi, pkt, &wrsig_msg,
&(wrp->msgTmpWrMessageID)); &(wrp->msgTmpWrMessageID));
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_present_2++; // WR_DSPOR(ppi)->ctr_wr_present_2++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
if (wrp->msgTmpWrMessageID == LOCK) if (wrp->msgTmpWrMessageID == LOCK)
{ {
//#ifdef BROADCAST_BASE //#ifdef BROADCAST_BASE
#ifdef BC_EXTRA_MON //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_present_3++; // WR_DSPOR(ppi)->ctr_wr_present_3++;
#endif // BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
// if (memcmp(ppi->received_ptp_header.targetIdentity.clockIdentity.id, // if (memcmp(ppi->received_ptp_header.targetIdentity.clockIdentity.id,
// DSPOR(ppi)->portIdentity.clockIdentity.id, // DSPOR(ppi)->portIdentity.clockIdentity.id,
// PP_CLOCK_IDENTITY_LENGTH)==0) // PP_CLOCK_IDENTITY_LENGTH)==0)
// { // {
#ifdef BC_EXTRA_MON //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_present_4++; // WR_DSPOR(ppi)->ctr_wr_present_4++;
#endif // BC_EXTRA_MON //#endif // BC_EXTRA_MON
// ppi->next_state = WRS_S_LOCK; // ppi->next_state = WRS_S_LOCK;
// } // }
//#else //#else
...@@ -96,19 +96,19 @@ int wr_present(struct pp_instance *ppi, unsigned char *pkt, int plen) ...@@ -96,19 +96,19 @@ int wr_present(struct pp_instance *ppi, unsigned char *pkt, int plen)
if (e == 0) if (e == 0)
{ {
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_present_00_1++; // WR_DSPOR(ppi)->ctr_wr_present_00_1++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
st_com_execute_slave(ppi); st_com_execute_slave(ppi);
} }
else { else {
/* nothing, just stay here again */ /* nothing, just stay here again */
} }
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_present_00_2++; // WR_DSPOR(ppi)->ctr_wr_present_00_2++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
ppi->next_delay = WR_DSPOR(ppi)->wrStateTimeout; ppi->next_delay = WR_DSPOR(ppi)->wrStateTimeout;
return e; return e;
......
...@@ -11,10 +11,10 @@ ...@@ -11,10 +11,10 @@
int wr_resp_calib_req(struct pp_instance *ppi, unsigned char *pkt, int plen) int wr_resp_calib_req(struct pp_instance *ppi, unsigned char *pkt, int plen)
{ {
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_resp_calib_req_1++; // WR_DSPOR(ppi)->ctr_wr_resp_calib_req_1++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
struct wr_dsport *wrp = WR_DSPOR(ppi); struct wr_dsport *wrp = WR_DSPOR(ppi);
MsgSignaling wrsig_msg; MsgSignaling wrsig_msg;
int e = 0, enable = 0; int e = 0, enable = 0;
...@@ -56,10 +56,10 @@ int wr_resp_calib_req(struct pp_instance *ppi, unsigned char *pkt, int plen) ...@@ -56,10 +56,10 @@ int wr_resp_calib_req(struct pp_instance *ppi, unsigned char *pkt, int plen)
// { // {
// if (send_pattern) // if (send_pattern)
// wrp->ops->calib_pattern_disable(ppi); // wrp->ops->calib_pattern_disable(ppi);
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_resp_calib_req_2++; // WR_DSPOR(ppi)->ctr_wr_resp_calib_req_2++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
// ppi->next_state = WRS_CALIBRATION; // ppi->next_state = WRS_CALIBRATION;
// } // }
//#else //#else
......
...@@ -11,34 +11,34 @@ ...@@ -11,34 +11,34 @@
int wr_s_lock(struct pp_instance *ppi, unsigned char *pkt, int plen) int wr_s_lock(struct pp_instance *ppi, unsigned char *pkt, int plen)
{ {
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_s_lock_1++; // WR_DSPOR(ppi)->ctr_wr_s_lock_1++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
struct wr_dsport *wrp = WR_DSPOR(ppi); struct wr_dsport *wrp = WR_DSPOR(ppi);
int enable = 0; int enable = 0;
int poll_ret; int poll_ret;
if (ppi->is_new_state) { if (ppi->is_new_state) {
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_s_lock_2++; // WR_DSPOR(ppi)->ctr_wr_s_lock_2++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
wrp->wrStateRetry = WR_STATE_RETRY; wrp->wrStateRetry = WR_STATE_RETRY;
enable = 1; enable = 1;
} else if (pp_timeout(ppi, PP_TO_EXT_0)) { } else if (pp_timeout(ppi, PP_TO_EXT_0)) {
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_s_lock_3++; // WR_DSPOR(ppi)->ctr_wr_s_lock_3++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
wrp->ops->locking_disable(ppi); wrp->ops->locking_disable(ppi);
if (wr_handshake_retry(ppi)) if (wr_handshake_retry(ppi))
{ {
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_s_lock_4++; // WR_DSPOR(ppi)->ctr_wr_s_lock_4++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
enable = 1; enable = 1;
} }
else else
...@@ -46,10 +46,10 @@ int wr_s_lock(struct pp_instance *ppi, unsigned char *pkt, int plen) ...@@ -46,10 +46,10 @@ int wr_s_lock(struct pp_instance *ppi, unsigned char *pkt, int plen)
} }
if (enable) { if (enable) {
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_s_lock_5++; // WR_DSPOR(ppi)->ctr_wr_s_lock_5++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
wrp->ops->locking_enable(ppi); wrp->ops->locking_enable(ppi);
__pp_timeout_set(ppi, PP_TO_EXT_0, WR_S_LOCK_TIMEOUT_MS); __pp_timeout_set(ppi, PP_TO_EXT_0, WR_S_LOCK_TIMEOUT_MS);
} }
...@@ -58,17 +58,17 @@ int wr_s_lock(struct pp_instance *ppi, unsigned char *pkt, int plen) ...@@ -58,17 +58,17 @@ int wr_s_lock(struct pp_instance *ppi, unsigned char *pkt, int plen)
poll_ret = wrp->ops->locking_poll(ppi, 0); poll_ret = wrp->ops->locking_poll(ppi, 0);
if (poll_ret == WR_SPLL_READY) { if (poll_ret == WR_SPLL_READY) {
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_s_lock_6++; // WR_DSPOR(ppi)->ctr_wr_s_lock_6++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
ppi->next_state = WRS_LOCKED; ppi->next_state = WRS_LOCKED;
wrp->ops->locking_disable(ppi); wrp->ops->locking_disable(ppi);
} else if (poll_ret == WR_SPLL_CALIB_NOT_READY) { } else if (poll_ret == WR_SPLL_CALIB_NOT_READY) {
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_s_lock_7++; // WR_DSPOR(ppi)->ctr_wr_s_lock_7++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
/* rxts_calibration not ready, enter the same state without /* rxts_calibration not ready, enter the same state without
* a delay */ * a delay */
ppi->next_delay = 0; ppi->next_delay = 0;
......
...@@ -60,9 +60,9 @@ struct wr_dsport { ...@@ -60,9 +60,9 @@ struct wr_dsport {
UInteger16 ctr_consecutive_incorrect_timestamp; UInteger16 ctr_consecutive_incorrect_timestamp;
#endif // BROADCAST_NODE #endif // BROADCAST_NODE
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
UInteger32 ctr_wr_present_0_1; /* UInteger32 ctr_wr_present_0_1;
UInteger32 ctr_wr_present_0_2; UInteger32 ctr_wr_present_0_2;
UInteger32 ctr_wr_present_0_3; UInteger32 ctr_wr_present_0_3;
UInteger32 ctr_wr_present_0_4; UInteger32 ctr_wr_present_0_4;
...@@ -120,7 +120,8 @@ struct wr_dsport { ...@@ -120,7 +120,8 @@ struct wr_dsport {
UInteger32 ctr_wr_servo_init_0; UInteger32 ctr_wr_servo_init_0;
UInteger32 ctr_wr_servo_init_1; UInteger32 ctr_wr_servo_init_1;
UInteger32 servo_flags_at_init; UInteger32 servo_flags_at_init;
#endif // BROADCAST_BASE && BC_EXTRA_MON */
//#endif // BROADCAST_BASE && BC_EXTRA_MON
}; };
/* This uppercase name matches "DSPOR(ppi)" used by standard protocol */ /* This uppercase name matches "DSPOR(ppi)" used by standard protocol */
...@@ -179,9 +180,9 @@ struct wr_operations { ...@@ -179,9 +180,9 @@ struct wr_operations {
int (*enable_ptracker)(struct pp_instance *ppi); int (*enable_ptracker)(struct pp_instance *ppi);
int (*adjust_in_progress)(void); int (*adjust_in_progress)(void);
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
int (*adjust_in_progress_bc)(struct pp_instance *ppi); // int (*adjust_in_progress_bc)(struct pp_instance *ppi);
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
int (*adjust_counters)(int64_t adjust_sec, int32_t adjust_nsec); int (*adjust_counters)(int64_t adjust_sec, int32_t adjust_nsec);
int (*adjust_phase)(int32_t phase_ps); int (*adjust_phase)(int32_t phase_ps);
......
...@@ -125,7 +125,7 @@ enum { ...@@ -125,7 +125,7 @@ enum {
WR_PORT_CALIBRATION_8, WR_PORT_CALIBRATION_8,
/* A special send-sync-only state for absolute calibration */ /* A special send-sync-only state for absolute calibration */
WRS_ABSCAL, WRS_ABSCAL,
#ifdef BROADCAST #ifdef BROADCAST_NODE
/* A special send-sync-only state for broadcast mode */ /* A special send-sync-only state for broadcast mode */
WRS_BROADCAST = 188, // -> BC in hexadecimal WRS_BROADCAST = 188, // -> BC in hexadecimal
#endif // BROADCAST #endif // BROADCAST
......
...@@ -47,10 +47,10 @@ static const char *servo_name[] = { ...@@ -47,10 +47,10 @@ static const char *servo_name[] = {
static int tracking_enabled = 1; static int tracking_enabled = 1;
extern struct wrs_shm_head *ppsi_head; extern struct wrs_shm_head *ppsi_head;
#ifdef BROADCAST //#ifdef BROADCAST
/* Counter */ /* Counter */
Integer8 no_converge_counter; // Integer8 no_converge_counter;
#endif // BROADCAST //#endif // BROADCAST
void wr_servo_enable_tracking(int enable) void wr_servo_enable_tracking(int enable)
{ {
...@@ -169,10 +169,10 @@ void wr_servo_reset(struct pp_instance *ppi) ...@@ -169,10 +169,10 @@ void wr_servo_reset(struct pp_instance *ppi)
/* shmem unlock */ /* shmem unlock */
wrs_shm_write(ppsi_head, WRS_SHM_WRITE_END); wrs_shm_write(ppsi_head, WRS_SHM_WRITE_END);
#ifdef BROADCAST //#ifdef BROADCAST
/* Restart counter */ /* Restart counter */
no_converge_counter = 0; // no_converge_counter = 0;
#endif // BROADCAST //#endif // BROADCAST
} }
static inline int32_t delta_to_ps(struct FixedDelta d) static inline int32_t delta_to_ps(struct FixedDelta d)
...@@ -187,10 +187,10 @@ int wr_servo_init(struct pp_instance *ppi) ...@@ -187,10 +187,10 @@ int wr_servo_init(struct pp_instance *ppi)
struct wr_dsport *wrp = WR_DSPOR(ppi); struct wr_dsport *wrp = WR_DSPOR(ppi);
struct wr_servo_state *s = struct wr_servo_state *s =
&((struct wr_data *)ppi->ext_data)->servo_state; &((struct wr_data *)ppi->ext_data)->servo_state;
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_servo_init_0++; // WR_DSPOR(ppi)->ctr_wr_servo_init_0++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
/* shmem lock */ /* shmem lock */
wrs_shm_write(ppsi_head, WRS_SHM_WRITE_BEGIN); wrs_shm_write(ppsi_head, WRS_SHM_WRITE_BEGIN);
/* Determine the alpha coefficient */ /* Determine the alpha coefficient */
...@@ -220,20 +220,20 @@ int wr_servo_init(struct pp_instance *ppi) ...@@ -220,20 +220,20 @@ int wr_servo_init(struct pp_instance *ppi)
strcpy(s->servo_state_name, "Uninitialized"); strcpy(s->servo_state_name, "Uninitialized");
s->flags |= WR_FLAG_VALID; s->flags |= WR_FLAG_VALID;
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_servo_init_1++; // WR_DSPOR(ppi)->ctr_wr_servo_init_1++;
WR_DSPOR(ppi)->servo_flags_at_init = s->flags; // WR_DSPOR(ppi)->servo_flags_at_init = s->flags;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
s->update_count = 0; s->update_count = 0;
ppi->t_ops->get(ppi, &s->update_time); ppi->t_ops->get(ppi, &s->update_time);
s->tracking_enabled = tracking_enabled; s->tracking_enabled = tracking_enabled;
#ifdef BROADCAST //#ifdef BROADCAST
/* Restart counter */ /* Restart counter */
no_converge_counter = 0; // no_converge_counter = 0;
#endif // BROADCAST //#endif // BROADCAST
got_sync = 0; got_sync = 0;
...@@ -591,11 +591,11 @@ int wr_servo_update(struct pp_instance *ppi) ...@@ -591,11 +591,11 @@ int wr_servo_update(struct pp_instance *ppi)
} }
/* After each action on the hardware, we must verify if it is over. */ /* After each action on the hardware, we must verify if it is over. */
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
if (!wrp->ops->adjust_in_progress_bc(ppi)) { // if (!wrp->ops->adjust_in_progress_bc(ppi)) {
#else //#else
if (!wrp->ops->adjust_in_progress()) { if (!wrp->ops->adjust_in_progress()) {
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
s->flags &= ~WR_FLAG_WAIT_HW; s->flags &= ~WR_FLAG_WAIT_HW;
} else { } else {
pp_diag(ppi, servo, 1, "servo:busy\n"); pp_diag(ppi, servo, 1, "servo:busy\n");
...@@ -621,27 +621,27 @@ int wr_servo_update(struct pp_instance *ppi) ...@@ -621,27 +621,27 @@ int wr_servo_update(struct pp_instance *ppi)
/* update string state name */ /* update string state name */
strcpy(s->servo_state_name, servo_name[s->state]); strcpy(s->servo_state_name, servo_name[s->state]);
#ifdef BROADCAST //#ifdef BROADCAST
/* Reboot the White Rabbit Link Setup if the counter reach a threshold and // /* Reboot the White Rabbit Link Setup if the counter reach a threshold and
* does not converge. */ // * does not converge. */
if(no_converge_counter > WR_SERVO_MAX_NO_CONVERGE_COUNT) // if(no_converge_counter > WR_SERVO_MAX_NO_CONVERGE_COUNT)
{ // {
WR_DSPOR(ppi)->wrModeOn = FALSE; // WR_DSPOR(ppi)->wrModeOn = FALSE;
WR_DSPOR(ppi)->parentWrModeOn = FALSE; // WR_DSPOR(ppi)->parentWrModeOn = FALSE;
shw_pps_gen_enable_output(0); // shw_pps_gen_enable_output(0);
wr_servo_reset(ppi); // wr_servo_reset(ppi);
pp_diag(ppi, servo, 1, "wr_servo does not converge, countdown exceeded. Reboot WR.\n"); // pp_diag(ppi, servo, 1, "wr_servo does not converge, countdown exceeded. Reboot WR.\n");
return 0; // return 0;
} // }
no_converge_counter++; // no_converge_counter++;
#endif // BROADCAST //#endif // BROADCAST
switch (s->state) { switch (s->state) {
case WR_SYNC_TAI: case WR_SYNC_TAI:
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ // /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_sync_tai++; // WR_DSPOR(ppi)->ctr_wr_sync_tai++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
wrp->ops->adjust_counters(ts_offset.secs, 0); wrp->ops->adjust_counters(ts_offset.secs, 0);
s->flags |= WR_FLAG_WAIT_HW; s->flags |= WR_FLAG_WAIT_HW;
/* /*
...@@ -653,10 +653,10 @@ int wr_servo_update(struct pp_instance *ppi) ...@@ -653,10 +653,10 @@ int wr_servo_update(struct pp_instance *ppi)
break; break;
case WR_SYNC_NSEC: case WR_SYNC_NSEC:
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ // /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_sync_nsec++; // WR_DSPOR(ppi)->ctr_wr_sync_nsec++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
wrp->ops->adjust_counters(0, ts_offset_ticks); wrp->ops->adjust_counters(0, ts_offset_ticks);
s->flags |= WR_FLAG_WAIT_HW; s->flags |= WR_FLAG_WAIT_HW;
...@@ -664,10 +664,10 @@ int wr_servo_update(struct pp_instance *ppi) ...@@ -664,10 +664,10 @@ int wr_servo_update(struct pp_instance *ppi)
break; break;
case WR_SYNC_PHASE: case WR_SYNC_PHASE:
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ // /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_sync_phase++; // WR_DSPOR(ppi)->ctr_wr_sync_phase++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
pp_diag(ppi, servo, 2, "oldsetp %i, offset %i:%04i\n", pp_diag(ppi, servo, 2, "oldsetp %i, offset %i:%04i\n",
s->cur_setpoint, ts_offset_ticks, s->cur_setpoint, ts_offset_ticks,
...@@ -693,56 +693,56 @@ int wr_servo_update(struct pp_instance *ppi) ...@@ -693,56 +693,56 @@ int wr_servo_update(struct pp_instance *ppi)
break; break;
case WR_WAIT_OFFSET_STABLE: case WR_WAIT_OFFSET_STABLE:
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ // /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_wait_offset_stable_0++; // WR_DSPOR(ppi)->ctr_wr_wait_offset_stable_0++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
/* ts_to_picos() below returns phase alone */ /* ts_to_picos() below returns phase alone */
remaining_offset = abs(ts_offset_picos); remaining_offset = abs(ts_offset_picos);
if(remaining_offset < WR_SERVO_OFFSET_STABILITY_THRESHOLD) { if(remaining_offset < WR_SERVO_OFFSET_STABILITY_THRESHOLD) {
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ // /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_wait_offset_stable_1++; // WR_DSPOR(ppi)->ctr_wr_wait_offset_stable_1++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
wrp->ops->enable_timing_output(ppi, 1); wrp->ops->enable_timing_output(ppi, 1);
s->delta_ms_prev = s->delta_ms; s->delta_ms_prev = s->delta_ms;
s->state = WR_TRACK_PHASE; s->state = WR_TRACK_PHASE;
} else { } else {
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ // /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_wait_offset_stable_2++; // WR_DSPOR(ppi)->ctr_wr_wait_offset_stable_2++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
s->missed_iters++; s->missed_iters++;
} }
if (s->missed_iters >= 10) { if (s->missed_iters >= 10) {
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ // /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_wait_offset_stable_3++; // WR_DSPOR(ppi)->ctr_wr_wait_offset_stable_3++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
s->missed_iters = 0; s->missed_iters = 0;
s->state = WR_SYNC_PHASE; s->state = WR_SYNC_PHASE;
} }
break; break;
case WR_TRACK_PHASE: case WR_TRACK_PHASE:
#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON) //#if defined(BROADCAST_BASE) && defined(BC_EXTRA_MON)
/* ONLY FOR TESTS */ // /* ONLY FOR TESTS */
WR_DSPOR(ppi)->ctr_wr_track_phase++; // WR_DSPOR(ppi)->ctr_wr_track_phase++;
#endif // BROADCAST_BASE && BC_EXTRA_MON //#endif // BROADCAST_BASE && BC_EXTRA_MON
s->skew = s->delta_ms - s->delta_ms_prev; s->skew = s->delta_ms - s->delta_ms_prev;
#ifdef BROADCAST //#ifdef BROADCAST
/* TRACK_PHASE reached, counter to zero. */ // /* TRACK_PHASE reached, counter to zero. */
no_converge_counter = 0; // no_converge_counter = 0;
//
//int64_t remaining_offset = abs(ts_to_picos(ts_offset_hw)); // //int64_t remaining_offset = abs(ts_to_picos(ts_offset_hw));
remaining_offset = abs(ts_offset_picos); // remaining_offset = abs(ts_offset_picos);
//
if(remaining_offset > 16000)/* REF_CLOCK_PERIOD_PS */ // if(remaining_offset > 16000)/* REF_CLOCK_PERIOD_PS */
s->state = WR_SYNC_TAI; // s->state = WR_SYNC_TAI;
#endif // BROADCAST //#endif // BROADCAST
/* Can be disabled for manually tweaking and testing */ /* Can be disabled for manually tweaking and testing */
if(tracking_enabled) { if(tracking_enabled) {
......
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