PPSi:0cc9d3419e9792f2c0949fc12d33a8e0709223a3 commitshttps://ohwr.org/project/ppsi/commits/0cc9d3419e9792f2c0949fc12d33a8e0709223a32018-08-02T16:03:30Zhttps://ohwr.org/project/ppsi/commit/0cc9d3419e9792f2c0949fc12d33a8e0709223a3abscal: fix display of scaled_nsecs2018-08-02T16:03:30ZAdam Wujekadam.wujek@cern.chSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9297"><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch"><img alt="Adam Wujek's avatar" src="https://secure.gravatar.com/avatar/bee62ad02d8f8c7c40900167722fb9d3?s=32&d=identicon" class="avatar s16 avatar-inline" title="Adam Wujek"></a><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch">Adam Wujek</a> <<a href="mailto:adam.wujek@cern.ch" title="adam.wujek@cern.ch">adam.wujek@cern.ch</a>></span>https://ohwr.org/project/ppsi/commit/546edcece5f76ed0f75fa378b7e6791ca5c29006abscal: only start pps when we start sending frames2018-08-02T12:09:55ZAlessandro Rubinirubini@gnudd.comSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9028"><a href="https://ohwr.org/rubini" title="rubini@gnudd.com"><img alt="Alessandro Rubini's avatar" src="https://secure.gravatar.com/avatar/18e4fb369cda4873020839db5911d1d1?s=32&d=identicon" class="avatar s16 avatar-inline" title="Alessandro Rubini"></a><a href="https://ohwr.org/rubini" title="rubini@gnudd.com">Alessandro Rubini</a> <<a href="mailto:rubini@gnudd.com" title="rubini@gnudd.com">rubini@gnudd.com</a>></span>
abscal: simplify code related to CONFIG_ABSCAL
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="9297"><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch"><img alt="Adam Wujek's avatar" src="https://secure.gravatar.com/avatar/bee62ad02d8f8c7c40900167722fb9d3?s=32&d=identicon" class="avatar s16 avatar-inline" title="Adam Wujek"></a><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch">Adam Wujek</a> <<a href="mailto:adam.wujek@cern.ch" title="adam.wujek@cern.ch">adam.wujek@cern.ch</a>></span>https://ohwr.org/project/ppsi/commit/cb5934e8dac07c21572d335a5691ea714eeebf57proto-standard: print real clockClass that was set, not a hardcoded2017-09-04T12:08:18ZAdam Wujekadam.wujek@cern.chSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9297"><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch"><img alt="Adam Wujek's avatar" src="https://secure.gravatar.com/avatar/bee62ad02d8f8c7c40900167722fb9d3?s=32&d=identicon" class="avatar s16 avatar-inline" title="Adam Wujek"></a><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch">Adam Wujek</a> <<a href="mailto:adam.wujek@cern.ch" title="adam.wujek@cern.ch">adam.wujek@cern.ch</a>></span>https://ohwr.org/project/ppsi/commit/b60c915c9d05dcd6fcc0a0201570e1b7c1fb6cbaproto-ext-whiterabbit: print leading zeros in timestamps2017-08-07T14:17:18ZAdam Wujekadam.wujek@cern.chSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9297"><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch"><img alt="Adam Wujek's avatar" src="https://secure.gravatar.com/avatar/bee62ad02d8f8c7c40900167722fb9d3?s=32&d=identicon" class="avatar s16 avatar-inline" title="Adam Wujek"></a><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch">Adam Wujek</a> <<a href="mailto:adam.wujek@cern.ch" title="adam.wujek@cern.ch">adam.wujek@cern.ch</a>></span>https://ohwr.org/project/ppsi/commit/c0a3c95b76a7bc8d7f460972d85cb346f3e99d71arch-wrpc/faults: support 64bit values of extra timestamp delays2017-08-01T15:16:41ZAdam Wujekadam.wujek@cern.chSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9297"><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch"><img alt="Adam Wujek's avatar" src="https://secure.gravatar.com/avatar/bee62ad02d8f8c7c40900167722fb9d3?s=32&d=identicon" class="avatar s16 avatar-inline" title="Adam Wujek"></a><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch">Adam Wujek</a> <<a href="mailto:adam.wujek@cern.ch" title="adam.wujek@cern.ch">adam.wujek@cern.ch</a>></span>https://ohwr.org/project/ppsi/commit/aff58d8379d30464c944f795a08dc03bf9eb53f2[BUG: 1627] proto-ext-whiterabbit: fix pps for links longer than ~13km2017-08-01T15:16:41ZAdam Wujekadam.wujek@cern.ch
For links longer than ~13km, a value (uint32_t) returned from a function
__div64_32 shifted by 16 bits overflowed, introducing PPS offset.
Bug introduced in the commit:
<a href="/project/ppsi/commit/35eef6790031977ef186b2a2dd0579eebc908fdb" data-original="35eef679" data-link="false" data-link-reference="false" data-project="10763" data-commit="35eef6790031977ef186b2a2dd0579eebc908fdb" data-reference-type="commit" data-container="body" data-placement="bottom" title="time: introduce a new unified data structure" class="gfm gfm-commit has-tooltip">35eef679</a> time: introduce a new unified data structure
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="9297"><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch"><img alt="Adam Wujek's avatar" src="https://secure.gravatar.com/avatar/bee62ad02d8f8c7c40900167722fb9d3?s=32&d=identicon" class="avatar s16 avatar-inline" title="Adam Wujek"></a><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch">Adam Wujek</a> <<a href="mailto:adam.wujek@cern.ch" title="adam.wujek@cern.ch">adam.wujek@cern.ch</a>></span>https://ohwr.org/project/ppsi/commit/5856bd77cae6a24c34aef69bb23bfc22c5b47407proto-standard: fix normalization of incorrect timestamp2017-07-31T10:02:14ZAdam Wujekadam.wujek@cern.ch
For whatever reason we perform a normalization on an incorrect timestamp,
don't treat is as an negative value.
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="9297"><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch"><img alt="Adam Wujek's avatar" src="https://secure.gravatar.com/avatar/bee62ad02d8f8c7c40900167722fb9d3?s=32&d=identicon" class="avatar s16 avatar-inline" title="Adam Wujek"></a><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch">Adam Wujek</a> <<a href="mailto:adam.wujek@cern.ch" title="adam.wujek@cern.ch">adam.wujek@cern.ch</a>></span>https://ohwr.org/project/ppsi/commit/ed394bc14116c15571b3181f61513075064cdb76Revert "wr-servo: simplify servo_reset (do as init does)" - it breaks 1-PPS i...2017-07-06T14:47:08ZGrzegorz Danilukgrzegorz.daniluk@cern.ch
This reverts commit <a href="/project/ppsi/commit/a72f6bdc94bac9bcca52a03a2c5e8de1dd3918d6" data-original="a72f6bdc94bac9bcca52a03a2c5e8de1dd3918d6" data-link="false" data-link-reference="false" data-project="10763" data-commit="a72f6bdc94bac9bcca52a03a2c5e8de1dd3918d6" data-reference-type="commit" data-container="body" data-placement="bottom" title="wr-servo: simplify servo_reset (do as init does)" class="gfm gfm-commit has-tooltip">a72f6bdc</a>.https://ohwr.org/project/ppsi/commit/365e3e99a86e241e597c9c18253497687cccd490wrpc: remove warning caused by HAS_ABSCAL2017-07-03T09:05:51ZAdam Wujekadam.wujek@cern.ch
Remove warning that HAS_ABSCAL is redefined
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="9297"><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch"><img alt="Adam Wujek's avatar" src="https://secure.gravatar.com/avatar/bee62ad02d8f8c7c40900167722fb9d3?s=32&d=identicon" class="avatar s16 avatar-inline" title="Adam Wujek"></a><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch">Adam Wujek</a> <<a href="mailto:adam.wujek@cern.ch" title="adam.wujek@cern.ch">adam.wujek@cern.ch</a>></span>https://ohwr.org/project/ppsi/commit/4a7e9fae7f01e12bb65861f60303e6dbdb35bd7bMakefile: Propagate a CONFIG_ABSCAL from WRPC2017-06-29T15:39:18ZAdam Wujekadam.wujek@cern.chSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9297"><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch"><img alt="Adam Wujek's avatar" src="https://secure.gravatar.com/avatar/bee62ad02d8f8c7c40900167722fb9d3?s=32&d=identicon" class="avatar s16 avatar-inline" title="Adam Wujek"></a><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch">Adam Wujek</a> <<a href="mailto:adam.wujek@cern.ch" title="adam.wujek@cern.ch">adam.wujek@cern.ch</a>></span>https://ohwr.org/project/ppsi/commit/f39d9e7921e4b93c2ce2c394e17430a7637084a5time-wrpc: remove some more code when ABSCAL is not used2017-06-29T15:38:21ZAdam Wujekadam.wujek@cern.chSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9297"><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch"><img alt="Adam Wujek's avatar" src="https://secure.gravatar.com/avatar/bee62ad02d8f8c7c40900167722fb9d3?s=32&d=identicon" class="avatar s16 avatar-inline" title="Adam Wujek"></a><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch">Adam Wujek</a> <<a href="mailto:adam.wujek@cern.ch" title="adam.wujek@cern.ch">adam.wujek@cern.ch</a>></span>https://ohwr.org/project/ppsi/commit/0f688012bc7326d1d901a3e7c7f1ff96fe8aafc3wr/wrpc: implement absolute calibration support2017-06-23T15:04:04ZAlessandro Rubinirubini@gnudd.com
This is a port of previous work by Peter Jansweijer from nikhef.
To perform absolute calibration, we need a grand-master look-alike
mode that sends sync once a second (and hopefully slightly after the
pps signal).
Using a special gateware that sends a pulse whenever a frame is
transmitted and received, users can correlate collected timestamps
(T1 and T4), this special pulse and the pps pulse of the node.
The procedure for absolute calibration is described in
<a href="http://www.ohwr.org/attachments/4542/WhiteRabbitAbsoluteCalibrationProcedure.pdf" rel="nofollow noreferrer noopener" target="_blank">http://www.ohwr.org/attachments/4542/WhiteRabbitAbsoluteCalibrationProcedure.pdf</a>
Another commit, in wrpc-sw, adds "mode abscal" for this feature to be used.
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="9028"><a href="https://ohwr.org/rubini" title="rubini@gnudd.com"><img alt="Alessandro Rubini's avatar" src="https://secure.gravatar.com/avatar/18e4fb369cda4873020839db5911d1d1?s=32&d=identicon" class="avatar s16 avatar-inline" title="Alessandro Rubini"></a><a href="https://ohwr.org/rubini" title="rubini@gnudd.com">Alessandro Rubini</a> <<a href="mailto:rubini@gnudd.com" title="rubini@gnudd.com">rubini@gnudd.com</a>></span>https://ohwr.org/project/ppsi/commit/9b178a77731e426f3207e9c82fbfaafa3aa2a2cbexport msg_pack_sync to fsm code2017-06-23T14:51:36ZAlessandro Rubinirubini@gnudd.com
This is used by absolute calibration, where we send sync and no f-up.
We may implement two-step flag, actually, but this is an easier choice.
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="9028"><a href="https://ohwr.org/rubini" title="rubini@gnudd.com"><img alt="Alessandro Rubini's avatar" src="https://secure.gravatar.com/avatar/18e4fb369cda4873020839db5911d1d1?s=32&d=identicon" class="avatar s16 avatar-inline" title="Alessandro Rubini"></a><a href="https://ohwr.org/rubini" title="rubini@gnudd.com">Alessandro Rubini</a> <<a href="mailto:rubini@gnudd.com" title="rubini@gnudd.com">rubini@gnudd.com</a>></span>https://ohwr.org/project/ppsi/commit/e94a665b4fc8f95c0a560e5c299544e6f6fd4277diag: print send/recv stamp with added ps field2017-06-23T14:51:35ZAlessandro Rubinirubini@gnudd.com
format is "%9d.%09d.%03d". This is not properly a flating point number, but
counting 9 digits is already heavy, I'd better not have a 12-digit field
(which, btw, will be wrongly converted by 32-bit parsers).
This comes from a similar change by Peter Jansweijer from nikhef,
for absolute-calibration work.
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="9028"><a href="https://ohwr.org/rubini" title="rubini@gnudd.com"><img alt="Alessandro Rubini's avatar" src="https://secure.gravatar.com/avatar/18e4fb369cda4873020839db5911d1d1?s=32&d=identicon" class="avatar s16 avatar-inline" title="Alessandro Rubini"></a><a href="https://ohwr.org/rubini" title="rubini@gnudd.com">Alessandro Rubini</a> <<a href="mailto:rubini@gnudd.com" title="rubini@gnudd.com">rubini@gnudd.com</a>></span>https://ohwr.org/project/ppsi/commit/31f08f198ffad87d80e6545ffdb598b6278453e5pdelay: rework and extend prev commit2017-06-12T16:33:22ZAlessandro Rubinirubini@gnudd.com
The previous commit is not enough as a fix. This may happen:
- we invalidate stamps after processing them
- we send request
- get reply, loose reply-fup
- send request
- loose reply, get f-up
So we now invalidate when sending the request. And invalidate t4 alone
as the beautifulness and symmetry of the previous commit is lost
anyways.
Note: there no need to invalidate stamps in e2e mode, because checking
the sequence number to validate RX frames is enough. But here all
replies match the sequence number, so the problem is not caught and
stamps from different tuples are mixed.
Example beofre this commit, with trimmed stamps (was 1497283863):
diag-frames-1-wr1: SENT 54 bytes at 863.333173928 (pdelay_req)
diag-frames-1-wr1: RECV 54 bytes at 863.334158796 (type 3, pdelay_resp)
diag-frames-1-wr1: Drop received frame
diag-frames-1-wr1: SENT 54 bytes at 864.479336104 (pdelay_req)
diag-frames-1-wr1: Drop received frame
diag-frames-1-wr1: RECV 54 bytes at 864.481095164 (type a, presp_follow_up)
diag-servo-2-wr1: servo:t3 = 864:479336104:0
diag-servo-2-wr1: servo:t4 = 863:333174267:586
diag-servo-2-wr1: servo:t5 = 864:480295312:0
diag-servo-2-wr1: servo:t6 = 863:334158796:773
diag-servo-2-wr1: ->mdelay = -2:-292298352:359
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="9028"><a href="https://ohwr.org/rubini" title="rubini@gnudd.com"><img alt="Alessandro Rubini's avatar" src="https://secure.gravatar.com/avatar/18e4fb369cda4873020839db5911d1d1?s=32&d=identicon" class="avatar s16 avatar-inline" title="Alessandro Rubini"></a><a href="https://ohwr.org/rubini" title="rubini@gnudd.com">Alessandro Rubini</a> <<a href="mailto:rubini@gnudd.com" title="rubini@gnudd.com">rubini@gnudd.com</a>></span>https://ohwr.org/project/ppsi/commit/223459dda0c180166680f4adcce4732a50e53c24pdelay: mark stamps as invalid after use2017-06-12T15:54:55ZAlessandro Rubinirubini@gnudd.com
The code is checking the sequence number of pdelay-rep and
pdelay-rep-fup, but we may miss the reply and get the f-up.
The result was something like this (first tuple is ok, next is wrong):
diag-servo-2-wr1: servo:t3 = 1497279009:22584224:0
diag-servo-2-wr1: servo:t4 = 1497279009:22584574:759
diag-servo-2-wr1: servo:t5 = 1497279009:23564032:0
diag-servo-2-wr1: servo:t6 = 1497279009:23564365:547
diag-servo-2-wr1: ->mdelay = 0:684:306
diag-servo-2-wr1: servo:t3 = 1497279009:663586672:0
diag-servo-2-wr1: servo:t4 = 1497279009:22584574:759
diag-servo-2-wr1: servo:t5 = 1497279009:683142000:0
diag-servo-2-wr1: servo:t6 = 1497279009:23564365:547
diag-servo-2-wr1: ->mdelay = -1:-300579732:306
Here, t4 and t6 are old. The former is the receipt of the request,
send back to the "slave" in the pdelay-reply payload; the latter is
the receive time of such frame.
We now invalidate t4 and t5 when using the tuple. They are the two
"remote" times, one sent back in the response and the other sent back
in the response-fup.
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="9028"><a href="https://ohwr.org/rubini" title="rubini@gnudd.com"><img alt="Alessandro Rubini's avatar" src="https://secure.gravatar.com/avatar/18e4fb369cda4873020839db5911d1d1?s=32&d=identicon" class="avatar s16 avatar-inline" title="Alessandro Rubini"></a><a href="https://ohwr.org/rubini" title="rubini@gnudd.com">Alessandro Rubini</a> <<a href="mailto:rubini@gnudd.com" title="rubini@gnudd.com">rubini@gnudd.com</a>></span>https://ohwr.org/project/ppsi/commit/dfeb1890e8dde1eb613674029177d33375e24d66proto-standard: trivial: merge common code2017-06-12T15:46:50ZAlessandro Rubinirubini@gnudd.comSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9028"><a href="https://ohwr.org/rubini" title="rubini@gnudd.com"><img alt="Alessandro Rubini's avatar" src="https://secure.gravatar.com/avatar/18e4fb369cda4873020839db5911d1d1?s=32&d=identicon" class="avatar s16 avatar-inline" title="Alessandro Rubini"></a><a href="https://ohwr.org/rubini" title="rubini@gnudd.com">Alessandro Rubini</a> <<a href="mailto:rubini@gnudd.com" title="rubini@gnudd.com">rubini@gnudd.com</a>></span>https://ohwr.org/project/ppsi/commit/1c2b08116cd48c212314e71210d15241fb198f41send_and_log: treat drop events as success2017-04-06T12:24:31ZAlessandro Rubinirubini@gnudd.com
Dropping on tx is normal behaviour under test. state-listening is
still entering faulty (thus waiting 4 seconds before restarting) if tx
fails.
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="9028"><a href="https://ohwr.org/rubini" title="rubini@gnudd.com"><img alt="Alessandro Rubini's avatar" src="https://secure.gravatar.com/avatar/18e4fb369cda4873020839db5911d1d1?s=32&d=identicon" class="avatar s16 avatar-inline" title="Alessandro Rubini"></a><a href="https://ohwr.org/rubini" title="rubini@gnudd.com">Alessandro Rubini</a> <<a href="mailto:rubini@gnudd.com" title="rubini@gnudd.com">rubini@gnudd.com</a>></span>https://ohwr.org/project/ppsi/commit/3a3ef6798300d523281aad3b5867dab6eb2f8a89general: use PP_RECV_DROP and PP_SEND_DROP instead of "-2"2017-04-06T12:23:36ZAlessandro Rubinirubini@gnudd.com
It was a hack of mine, I'd better call it by name. We must spit
no errors when injecting faults.
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="9028"><a href="https://ohwr.org/rubini" title="rubini@gnudd.com"><img alt="Alessandro Rubini's avatar" src="https://secure.gravatar.com/avatar/18e4fb369cda4873020839db5911d1d1?s=32&d=identicon" class="avatar s16 avatar-inline" title="Alessandro Rubini"></a><a href="https://ohwr.org/rubini" title="rubini@gnudd.com">Alessandro Rubini</a> <<a href="mailto:rubini@gnudd.com" title="rubini@gnudd.com">rubini@gnudd.com</a>></span>https://ohwr.org/project/ppsi/commit/75707f6a1dece161b01ddad64355bc19d657e3f1wr-servo: trivial: set udate_time (for snmp) in missing places2017-04-05T16:38:23ZAdam Wujekadam.wujek@cern.chSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9297"><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch"><img alt="Adam Wujek's avatar" src="https://secure.gravatar.com/avatar/bee62ad02d8f8c7c40900167722fb9d3?s=32&d=identicon" class="avatar s16 avatar-inline" title="Adam Wujek"></a><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch">Adam Wujek</a> <<a href="mailto:adam.wujek@cern.ch" title="adam.wujek@cern.ch">adam.wujek@cern.ch</a>></span>https://ohwr.org/project/ppsi/commit/a438acc9dfb764e71f8ebdbe2731adbe82c71bcbgeneral fix: implement SYNCHRONIZATION_FAULT2017-04-05T16:38:23ZAlessandro Rubinirubini@gnudd.com
If we stopped sending to the master or the peer (for traffic or
whatever; in my case with "fault drop"), we wouldn't notice the
problem.
This looks like SYNCHRONIZATION_FAULT (9.2.6.12), so this reuses the
almost-unused TO_FAULTY, renaming it to a more generic TO_FAULT.
9.2.6.12 says we should reach uncalibrated, but since uncalibrated doesn't
exits (it is never entered, it's dead and untested code at this point),
I handle the problem just like the timeout receiving announce messages.
For wr, I reset the servo, so the problem can be seen.
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="9028"><a href="https://ohwr.org/rubini" title="rubini@gnudd.com"><img alt="Alessandro Rubini's avatar" src="https://secure.gravatar.com/avatar/18e4fb369cda4873020839db5911d1d1?s=32&d=identicon" class="avatar s16 avatar-inline" title="Alessandro Rubini"></a><a href="https://ohwr.org/rubini" title="rubini@gnudd.com">Alessandro Rubini</a> <<a href="mailto:rubini@gnudd.com" title="rubini@gnudd.com">rubini@gnudd.com</a>></span>https://ohwr.org/project/ppsi/commit/0bdf155f1b0e60039ea112c440c3adbf1fe15b94trivial: rename a variable2017-04-05T16:38:23ZAlessandro Rubinirubini@gnudd.comSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9028"><a href="https://ohwr.org/rubini" title="rubini@gnudd.com"><img alt="Alessandro Rubini's avatar" src="https://secure.gravatar.com/avatar/18e4fb369cda4873020839db5911d1d1?s=32&d=identicon" class="avatar s16 avatar-inline" title="Alessandro Rubini"></a><a href="https://ohwr.org/rubini" title="rubini@gnudd.com">Alessandro Rubini</a> <<a href="mailto:rubini@gnudd.com" title="rubini@gnudd.com">rubini@gnudd.com</a>></span>https://ohwr.org/project/ppsi/commit/63cb8ae9631d25339412aebdbcdf54755d0006edwr-servo: make re-track much faster2017-04-05T16:38:23ZAlessandro Rubinirubini@gnudd.com
There is no need to go to 0 phase at servo init. It is already 0
at the beginning of the world, but on re-track it can be the same
as it was.
With this change, if we loose track due to packet loss and timeout
(thanks to a few commits ago), we recover in 1..4 seconds as opposed
to 5..9 without this commit.
Tested with "fault drop 0 1000" and later "fault drop 0 0", and
a syslog server:
Jan 1 00:00:10 192.168.16.229 (22:33:44:55:66:77) Node up since 10 seconds
Mar 14 15:48:55 192.168.16.229 Tracking after 7.178 s
Mar 14 15:49:07 192.168.16.229 Lost track
Mar 14 15:49:11 192.168.16.229 2-th re-rtrack after 4.171 s
Mar 14 15:49:30 192.168.16.229 Lost track
Mar 14 15:49:32 192.168.16.229 3-th re-rtrack after 2.485 s
Mar 14 15:49:49 192.168.16.229 Lost track
Mar 14 15:49:51 192.168.16.229 4-th re-rtrack after 2.559 s
Mar 14 15:50:13 192.168.16.229 Lost track
Mar 14 15:50:16 192.168.16.229 5-th re-rtrack after 3.171 s
Mar 14 15:50:31 192.168.16.229 Lost track
Mar 14 15:50:32 192.168.16.229 6-th re-rtrack after 1.589 s
With the original commit for this, Adam found that by unplugging
and re-plugging the fiber our setpoint is always increasing, up to big
values. I checked, and the softpll is always using the module. I brought
the phase value up to hundreds of nanos both positive and negative, without
any issues. So this version of the commit makes a modulus of the set
point, to avoid it getting too big and scare a user watching the logs.
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="9028"><a href="https://ohwr.org/rubini" title="rubini@gnudd.com"><img alt="Alessandro Rubini's avatar" src="https://secure.gravatar.com/avatar/18e4fb369cda4873020839db5911d1d1?s=32&d=identicon" class="avatar s16 avatar-inline" title="Alessandro Rubini"></a><a href="https://ohwr.org/rubini" title="rubini@gnudd.com">Alessandro Rubini</a> <<a href="mailto:rubini@gnudd.com" title="rubini@gnudd.com">rubini@gnudd.com</a>></span>https://ohwr.org/project/ppsi/commit/a72f6bdc94bac9bcca52a03a2c5e8de1dd3918d6wr-servo: simplify servo_reset (do as init does)2017-04-05T16:38:23ZAlessandro Rubinirubini@gnudd.comSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9028"><a href="https://ohwr.org/rubini" title="rubini@gnudd.com"><img alt="Alessandro Rubini's avatar" src="https://secure.gravatar.com/avatar/18e4fb369cda4873020839db5911d1d1?s=32&d=identicon" class="avatar s16 avatar-inline" title="Alessandro Rubini"></a><a href="https://ohwr.org/rubini" title="rubini@gnudd.com">Alessandro Rubini</a> <<a href="mailto:rubini@gnudd.com" title="rubini@gnudd.com">rubini@gnudd.com</a>></span>https://ohwr.org/project/ppsi/commit/c24e0e0e93f28b3b11fe8957dbece3782883119awr-servo: trivial: set udate_time (for snmp) in p2p mode2017-04-05T16:38:23ZAlessandro Rubinirubini@gnudd.comSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9028"><a href="https://ohwr.org/rubini" title="rubini@gnudd.com"><img alt="Alessandro Rubini's avatar" src="https://secure.gravatar.com/avatar/18e4fb369cda4873020839db5911d1d1?s=32&d=identicon" class="avatar s16 avatar-inline" title="Alessandro Rubini"></a><a href="https://ohwr.org/rubini" title="rubini@gnudd.com">Alessandro Rubini</a> <<a href="mailto:rubini@gnudd.com" title="rubini@gnudd.com">rubini@gnudd.com</a>></span>https://ohwr.org/project/ppsi/commit/9c98c978e933511425ee1a3a4d998410cd0478fawr-calibration: remove now-unused variable2017-04-05T16:38:23ZAlessandro Rubinirubini@gnudd.comSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9028"><a href="https://ohwr.org/rubini" title="rubini@gnudd.com"><img alt="Alessandro Rubini's avatar" src="https://secure.gravatar.com/avatar/18e4fb369cda4873020839db5911d1d1?s=32&d=identicon" class="avatar s16 avatar-inline" title="Alessandro Rubini"></a><a href="https://ohwr.org/rubini" title="rubini@gnudd.com">Alessandro Rubini</a> <<a href="mailto:rubini@gnudd.com" title="rubini@gnudd.com">rubini@gnudd.com</a>></span>https://ohwr.org/project/ppsi/commit/0a49d0ddc0bb1e39de04f705705e6105d9dc68dbwrpc: add faults in timestamps2017-04-05T16:38:23ZAlessandro Rubinirubini@gnudd.comSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9028"><a href="https://ohwr.org/rubini" title="rubini@gnudd.com"><img alt="Alessandro Rubini's avatar" src="https://secure.gravatar.com/avatar/18e4fb369cda4873020839db5911d1d1?s=32&d=identicon" class="avatar s16 avatar-inline" title="Alessandro Rubini"></a><a href="https://ohwr.org/rubini" title="rubini@gnudd.com">Alessandro Rubini</a> <<a href="mailto:rubini@gnudd.com" title="rubini@gnudd.com">rubini@gnudd.com</a>></span>https://ohwr.org/project/ppsi/commit/9ce04d1be48304629a6ee691f39a96d155013cf4Merge branch 'wrs-5.0.1'2017-04-05T16:36:28ZAlessandro Rubinirubini@gnudd.com
This branch is a singe commit which is used in wr-switch-sw, where
ppsi is a submodule.
Let's merge it here to avoid loosing the hash.https://ohwr.org/project/ppsi/commit/ffcde2c548cd911d734382311c6780288545f3a0[BUG: 1551] proto-ext-whiterabbit: add a pre-master state to wr fsm table2017-03-29T10:04:31ZAdam Wujekadam.wujek@cern.ch
When two masters are connected to the same link one of them tries to enter
a state pre-master. However, this state is not compiled in the ppsi, so one
node stuck there forever. It is necessary to restart a node or re-establish
a link.
BUG introduced by a PPSI's commit:
<a href="/project/ppsi/commit/2996dd7b23f1f7882a0f8b7571c61ca81327f387" data-original="2996dd7b" data-link="false" data-link-reference="false" data-project="10763" data-commit="2996dd7b23f1f7882a0f8b7571c61ca81327f387" data-reference-type="commit" data-container="body" data-placement="bottom" title="compliance, 9.2.6.10: properly switch to MASTER or PRE_MASTER" class="gfm gfm-commit has-tooltip">2996dd7b</a> compliance, 9.2.6.10: properly switch to MASTER or PRE_MASTER
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="9297"><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch"><img alt="Adam Wujek's avatar" src="https://secure.gravatar.com/avatar/bee62ad02d8f8c7c40900167722fb9d3?s=32&d=identicon" class="avatar s16 avatar-inline" title="Adam Wujek"></a><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch">Adam Wujek</a> <<a href="mailto:adam.wujek@cern.ch" title="adam.wujek@cern.ch">adam.wujek@cern.ch</a>></span>https://ohwr.org/project/ppsi/commit/31c0e23bed047439419c5c8e04a3da1da5ed0f3aarch-wrpc: remove uart-sw and hack to use it2017-03-20T07:41:35ZAlessandro Rubinirubini@gnudd.com
It was by me fore me, and I'm not using it. Simplify.
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="9028"><a href="https://ohwr.org/rubini" title="rubini@gnudd.com"><img alt="Alessandro Rubini's avatar" src="https://secure.gravatar.com/avatar/18e4fb369cda4873020839db5911d1d1?s=32&d=identicon" class="avatar s16 avatar-inline" title="Alessandro Rubini"></a><a href="https://ohwr.org/rubini" title="rubini@gnudd.com">Alessandro Rubini</a> <<a href="mailto:rubini@gnudd.com" title="rubini@gnudd.com">rubini@gnudd.com</a>></span>https://ohwr.org/project/ppsi/commit/325a277479110cde0e99edfd62f7c99a778be21dKconfig: disable ASSERTs by default2017-03-14T09:26:02ZAdam Wujekadam.wujek@cern.chSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9297"><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch"><img alt="Adam Wujek's avatar" src="https://secure.gravatar.com/avatar/bee62ad02d8f8c7c40900167722fb9d3?s=32&d=identicon" class="avatar s16 avatar-inline" title="Adam Wujek"></a><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch">Adam Wujek</a> <<a href="mailto:adam.wujek@cern.ch" title="adam.wujek@cern.ch">adam.wujek@cern.ch</a>></span>https://ohwr.org/project/ppsi/commit/6ff213827fc1fe7dfd3f1e6eaf1b549f40a17840[BUG: 1551] proto-ext-whiterabbit: add a pre-master state to wr fsm table2017-03-08T10:50:48ZAdam Wujekadam.wujek@cern.ch
When two masters are connected to the same link one of them tries to enter
a state pre-master. However, this state is not compiled in the ppsi, so one
node stuck there forever. It is necessary to restart a node or re-establish
a link.
BUG introduced by a PPSI's commit:
<a href="/project/ppsi/commit/2996dd7b23f1f7882a0f8b7571c61ca81327f387" data-original="2996dd7b" data-link="false" data-link-reference="false" data-project="10763" data-commit="2996dd7b23f1f7882a0f8b7571c61ca81327f387" data-reference-type="commit" data-container="body" data-placement="bottom" title="compliance, 9.2.6.10: properly switch to MASTER or PRE_MASTER" class="gfm gfm-commit has-tooltip">2996dd7b</a> compliance, 9.2.6.10: properly switch to MASTER or PRE_MASTER
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="9297"><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch"><img alt="Adam Wujek's avatar" src="https://secure.gravatar.com/avatar/bee62ad02d8f8c7c40900167722fb9d3?s=32&d=identicon" class="avatar s16 avatar-inline" title="Adam Wujek"></a><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch">Adam Wujek</a> <<a href="mailto:adam.wujek@cern.ch" title="adam.wujek@cern.ch">adam.wujek@cern.ch</a>></span>https://ohwr.org/project/ppsi/commit/6bcd067f330224d3add3870bfe2a44d99eed86ceproto-ext-whiterabbit: fix calculations for negative alpha2017-03-06T10:01:09ZAdam Wujekadam.wujek@cern.ch
Add casting for delay_ms_fix calculations, otherwise
((s->picos_mu - big_delta_fix) * s->fiber_fix_alpha)
is shifted as unsigned.
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="9297"><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch"><img alt="Adam Wujek's avatar" src="https://secure.gravatar.com/avatar/bee62ad02d8f8c7c40900167722fb9d3?s=32&d=identicon" class="avatar s16 avatar-inline" title="Adam Wujek"></a><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch">Adam Wujek</a> <<a href="mailto:adam.wujek@cern.ch" title="adam.wujek@cern.ch">adam.wujek@cern.ch</a>></span>https://ohwr.org/project/ppsi/commit/cfed23062bf86317c8e023294d37a01f45a89889standard servo: bugfix (introduced with pp_time)2017-03-05T18:24:02ZAlessandro Rubinirubini@gnudd.com
If meanPathDelay is calculated negative at the first iteration, we
must zero it immediately, or this will loop forever:
while (mpd_fltr->y >> (63 - s))
--s;
The bug only appears with e2e mechanism, where t3 happens long after
t2, if the slave clock when ppsi starts is running much slower than
the master.
Before changing data structures we used abs() in that loop (which was
suboptimal), and I made a mistake in converting it in a check before
the loop itlsef.
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="9028"><a href="https://ohwr.org/rubini" title="rubini@gnudd.com"><img alt="Alessandro Rubini's avatar" src="https://secure.gravatar.com/avatar/18e4fb369cda4873020839db5911d1d1?s=32&d=identicon" class="avatar s16 avatar-inline" title="Alessandro Rubini"></a><a href="https://ohwr.org/rubini" title="rubini@gnudd.com">Alessandro Rubini</a> <<a href="mailto:rubini@gnudd.com" title="rubini@gnudd.com">rubini@gnudd.com</a>></span>https://ohwr.org/project/ppsi/commit/ec54c4cea3662b6f1580690292eed22678536ad9Merge branch 'rubi-math-cleanup'2017-03-03T10:56:59ZAdam Wujekadam.wujek@cern.chSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9297"><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch"><img alt="Adam Wujek's avatar" src="https://secure.gravatar.com/avatar/bee62ad02d8f8c7c40900167722fb9d3?s=32&d=identicon" class="avatar s16 avatar-inline" title="Adam Wujek"></a><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch">Adam Wujek</a> <<a href="mailto:adam.wujek@cern.ch" title="adam.wujek@cern.ch">adam.wujek@cern.ch</a>></span>https://ohwr.org/project/ppsi/commit/e6e7b5e6f993483ba47a326ff33b13e201448754proto-ext-whiterabbit: update WRS_PPSI_SHMEM_VERSION to 202017-03-03T10:55:18ZAdam Wujekadam.wujek@cern.ch
Increment due to cField changes
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="9297"><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch"><img alt="Adam Wujek's avatar" src="https://secure.gravatar.com/avatar/bee62ad02d8f8c7c40900167722fb9d3?s=32&d=identicon" class="avatar s16 avatar-inline" title="Adam Wujek"></a><a href="https://ohwr.org/awujek" title="adam.wujek@cern.ch">Adam Wujek</a> <<a href="mailto:adam.wujek@cern.ch" title="adam.wujek@cern.ch">adam.wujek@cern.ch</a>></span>https://ohwr.org/project/ppsi/commit/1357b4a4be72fb1b380dedf77646e2f22fd0c24cgeneral: audited all cField and math2017-03-03T10:47:32ZAlessandro Rubinirubini@gnudd.com
There is still some factorization to make, and other irrelevant
size-related things, but I'd better wait a little and get confident
this stuff is solid.
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="9028"><a href="https://ohwr.org/rubini" title="rubini@gnudd.com"><img alt="Alessandro Rubini's avatar" src="https://secure.gravatar.com/avatar/18e4fb369cda4873020839db5911d1d1?s=32&d=identicon" class="avatar s16 avatar-inline" title="Alessandro Rubini"></a><a href="https://ohwr.org/rubini" title="rubini@gnudd.com">Alessandro Rubini</a> <<a href="mailto:rubini@gnudd.com" title="rubini@gnudd.com">rubini@gnudd.com</a>></span>https://ohwr.org/project/ppsi/commit/9b94f28883cc1f6c9184e7814aa6e2e90defcc58README-cfield: some clarification, completed with p2p2017-03-03T10:47:32ZAlessandro Rubinirubini@gnudd.comSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9028"><a href="https://ohwr.org/rubini" title="rubini@gnudd.com"><img alt="Alessandro Rubini's avatar" src="https://secure.gravatar.com/avatar/18e4fb369cda4873020839db5911d1d1?s=32&d=identicon" class="avatar s16 avatar-inline" title="Alessandro Rubini"></a><a href="https://ohwr.org/rubini" title="rubini@gnudd.com">Alessandro Rubini</a> <<a href="mailto:rubini@gnudd.com" title="rubini@gnudd.com">rubini@gnudd.com</a>></span>https://ohwr.org/project/ppsi/commit/ed07d9d603d6290b99f20546ed2e937913352e60tools/dump-funcs: show cField better2017-03-03T10:47:32ZAlessandro Rubinirubini@gnudd.comSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9028"><a href="https://ohwr.org/rubini" title="rubini@gnudd.com"><img alt="Alessandro Rubini's avatar" src="https://secure.gravatar.com/avatar/18e4fb369cda4873020839db5911d1d1?s=32&d=identicon" class="avatar s16 avatar-inline" title="Alessandro Rubini"></a><a href="https://ohwr.org/rubini" title="rubini@gnudd.com">Alessandro Rubini</a> <<a href="mailto:rubini@gnudd.com" title="rubini@gnudd.com">rubini@gnudd.com</a>></span>https://ohwr.org/project/ppsi/commit/b4766dac349156e6e661ec62534f7c4462127342README-cfield: explain how cfield is used on E2E2017-03-03T10:47:31ZAlessandro Rubinirubini@gnudd.comSigned-off-by: <span data-trailer="Signed-off-by:" data-user="9028"><a href="https://ohwr.org/rubini" title="rubini@gnudd.com"><img alt="Alessandro Rubini's avatar" src="https://secure.gravatar.com/avatar/18e4fb369cda4873020839db5911d1d1?s=32&d=identicon" class="avatar s16 avatar-inline" title="Alessandro Rubini"></a><a href="https://ohwr.org/rubini" title="rubini@gnudd.com">Alessandro Rubini</a> <<a href="mailto:rubini@gnudd.com" title="rubini@gnudd.com">rubini@gnudd.com</a>></span>