equal
deleted
inserted
replaced
196 sc->first_voe_handler = NULL; |
196 sc->first_voe_handler = NULL; |
197 |
197 |
198 ec_master_add_slave_config(master, sc); |
198 ec_master_add_slave_config(master, sc); |
199 |
199 |
200 return sc; |
200 return sc; |
|
201 } |
|
202 |
|
203 /*****************************************************************************/ |
|
204 |
|
205 int ecrt_master_select_reference_clock(ec_master_t *master, |
|
206 ec_slave_config_t *sc) |
|
207 { |
|
208 uint32_t config_index; |
|
209 int ret; |
|
210 |
|
211 if (sc) { |
|
212 config_index = sc->index; |
|
213 } |
|
214 else { |
|
215 config_index = 0xFFFFFFFF; |
|
216 } |
|
217 |
|
218 ret = ioctl(master->fd, EC_IOCTL_SELECT_REF_CLOCK, config_index); |
|
219 if (EC_IOCTL_IS_ERROR(ret)) { |
|
220 fprintf(stderr, "Failed to select reference clock: %s\n", |
|
221 strerror(EC_IOCTL_ERRNO(ret))); |
|
222 return -EC_IOCTL_ERRNO(ret); |
|
223 } |
|
224 |
|
225 return 0; |
201 } |
226 } |
202 |
227 |
203 /****************************************************************************/ |
228 /****************************************************************************/ |
204 |
229 |
205 int ecrt_master(ec_master_t *master, ec_master_info_t *master_info) |
230 int ecrt_master(ec_master_t *master, ec_master_info_t *master_info) |
679 fprintf(stderr, "Failed to sync slave clocks: %s\n", |
704 fprintf(stderr, "Failed to sync slave clocks: %s\n", |
680 strerror(EC_IOCTL_ERRNO(ret))); |
705 strerror(EC_IOCTL_ERRNO(ret))); |
681 } |
706 } |
682 } |
707 } |
683 |
708 |
|
709 /*****************************************************************************/ |
|
710 |
|
711 int ecrt_master_reference_clock_time(ec_master_t *master, uint32_t *time) |
|
712 { |
|
713 int ret; |
|
714 |
|
715 ret = ioctl(master->fd, EC_IOCTL_REF_CLOCK_TIME, time); |
|
716 if (EC_IOCTL_IS_ERROR(ret)) { |
|
717 fprintf(stderr, "Failed to get reference clock time: %s\n", |
|
718 strerror(EC_IOCTL_ERRNO(ret))); |
|
719 } |
|
720 |
|
721 return ret; |
|
722 } |
|
723 |
684 /****************************************************************************/ |
724 /****************************************************************************/ |
685 |
725 |
686 void ecrt_master_sync_monitor_queue(ec_master_t *master) |
726 void ecrt_master_sync_monitor_queue(ec_master_t *master) |
687 { |
727 { |
688 int ret; |
728 int ret; |