[etherlab-users] DC-Synchronization - Sync signal generation

Jun Yuan j.yuan at rtleaders.com
Thu Apr 3 14:46:04 CEST 2014


Hi Gavin,

your interest is my motivation. I have attached the bundle file.

My changes is base on the newest Version 1.5.2 in 'stable-1.5' branch. I
added a new 'rtleaders' branch first and did all my changes on that. So
after "$ hg unbundle etherlab_1.5.2_jyuan.hg", don't forget to switch to
the 'rtleaders' branch using "$ hg update rtleaders".

I found a better way of synchronizing the master clock to ref slave clock.
It is much faster and more stable. I managed to port my C++ code into C
code in the rtai_rtdm_dc example today, but I cannot test if the new code
compiles right now. If you have a rtai environment, please test it for me
if it compiles, and give me some feedback.

Besides that, there is a more accurate DC time offset calculation. There
should be no more errors like "Slave did not sync after 5000ms". The
accurate time offset estimation saves much time for the DC Sync procedure.
Slaves would have such a small dc diff (several hundred ns maybe) at the
beginning of the dc sync check, that I even changed
EC_SYSTEM_TIME_TOLERANCE_NS from 1000000ns to 1000ns.

The postponed check of master->has_app_time makes the error "No app_time
received up to now, but master already active" away.

And there are the bugfix for ecrt_master_select_reference_clock() from
Graeme Foot, and some other bug fixes from Jeroen Van den Keybus.

Any feedback is welcome. Have fun testing those changes!

Jun


On Thu, Apr 3, 2014 at 12:13 AM, Gavin Lambert <gavinl at compacsort.com>wrote:

> On 2 April 2014 22:40, quoth Jun Yuan:
> > But there is a reason why we all put the ecrt_master_application_time()
> outside
> > the loop. Because we all got burned by the error "No app_time received
> up to
> > now, but master already active.", which is a timing bug in Etherlab. I've
> > resolved the problem by change the code of Etherlabmaster, which get rid
> of
> > the "No app_time" bug. Now I don't need to call
> ecrt_master_application_time()
> > outside the loop any more. I will publish the bundle to the mailing list
> when
> > I have time.
>
> I'd be very interested to see this.  Slave sync timing, "no app time", and
> the 5000ms sync timeout have been a recurring bugbear for me.
>
>
>


-- 
Jun Yuan
[Aussprache: Djün Üän]

Robotics Technology Leaders GmbH
Am Loferfeld 58, D-81249 München
Tel: +49 89 189 0465 24
Fax: +49 89 189 0465 11
mailto: j.yuan at rtleaders.com

Umlautregel in der chinesischen Lautschrift Pinyin: Nach den Anlauten y, j,
q, und x wird u als ü ausgesprochen, z.B. yu => ü,  ju => dschü,  qu =>
tschü,  xu => schü.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20140403/b6f4d5b5/attachment-0003.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: etherlab_1.5.2_jyuan.hg
Type: application/octet-stream
Size: 7477 bytes
Desc: not available
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20140403/b6f4d5b5/attachment-0004.obj>


More information about the Etherlab-users mailing list