[Etherlab-users] DMS72E4331 slave refuses to go OP
Fontana Nicola
ntd at entidi.it
Fri Sep 15 20:44:37 CEST 2023
Il giorno gio, 14/09/2023 alle 22.31 +0200, Fontana Nicola ha scritto:
> ...
> After the ecrt_master_activate() call, everything goes OP but that
> driver: it keeps giving me a "Sync manager watchdog" error (AL status
> 0x001B).
> ...
It seems that was my fault. I was using a busy send/receive loop to wait
the OP state on all slaves:
for (...) {
ecrt_master_send(master);
usleep(...);
ecrt_master_receive(master);
ecrt_master_state(master, &state);
if (state.al_states == EC_AL_STATE_OP) {
return done;
}
}
This does not process data, as I thought that was not needed during
configuration. Adding `ecrt_domain_process()` before sending and
`ecrt_domain_process() after receiving solves the problem.
Ciao.
--
Nicola
More information about the Etherlab-users
mailing list