Hi Allan,

Even if doing nothing, running cyclically will get you feedback your communication and devices are somewhat healthy, and let you take action if not. Note what really matters is the sending part more than the writing/updating. you could find smart ways when to make changes, but on the other hand doing the same thing every cycle will help keep your cycle time constant, which might be more important in some application.

disable watchdog, I haven't actually tried, but something like that:

static ec_sync_info_t el2004_syncs[] = {
    {0, EC_DIR_OUTPUT, 4, el2004_pdos, EC_WD_DISABLED},
    {1, EC_DIR_INPUT},
    {0xff}
};

There is also a register on your slave you can poke to change timeout value.

Matthieu


On 20/02/14 13:41, Allan Brighton wrote:

Hi Matthieu,

To stop writing I set a flag when the operational state was reached and
the LED was on.
I suspected it might be the watchdog timeout, since I saw that mentioned
somewhere, but
I didn't find it in the documentation. Now it makes sense.

So is the usual way of doing things to have a cyclic routine that always
writes the same
values (assuming they haven't changed)? And how do you set watchdog_mode
to EC_WD_DISABLE?

Thanks,
Allan

On 20/02/2014 20:42, Matthieu Bec wrote:
Hello Allan,

What do you mean by `stop writing`, stopping the cyclic task?
Slaves usually drop off OP state if they stop receiving frames, yours
might default itself to an Off state that could explain the issue.
Try explicitly setting the watchdog_mode to EC_WD_DISABLE in your
sync_info_t.

Matthieu


On 2/20/14, 10:10 AM, Allan Brighton wrote:

Hi all,

I'm new to EtherCat and EtherLab and I modified examples/user/main.c to
work with the devices I have for testing: (EK1100, EL2202, EL1252,
EL2252).
Everything works and the LED I attached to the EL2202 turns on and off,
however the code is using a timer and constantly setting the output
value to 1 or 0 (on or off).
Why can't you just set the value to 1 once and have the LED stay on?
Even if I wait until the slave reaches the operational state, the LED
just blinks once when set to 1,
but doesn't stay on, unless the value is constantly updated.  What am I
missing?

Thanks,
Allan

_______________________________________________
etherlab-users mailing list
[email protected]
http://lists.etherlab.org/mailman/listinfo/etherlab-users

_______________________________________________
etherlab-users mailing list
[email protected]
http://lists.etherlab.org/mailman/listinfo/etherlab-users


--
Matthieu Bec                GMTO Corp
cell : +1 626 354 9367      251 S Lake Ave, Suite 300
phone: +1 626 204 0527      Pasadena, CA 91101
_______________________________________________
etherlab-users mailing list
[email protected]
http://lists.etherlab.org/mailman/listinfo/etherlab-users

Reply via email to