diff --git a/wrc_ptp_ppsi.c b/wrc_ptp_ppsi.c index 23a4348265c0ce8b8b29d9b05a7470843ca8d39d..83ad1b006761f77c4f49bce975bc41170f7efbf0 100644 --- a/wrc_ptp_ppsi.c +++ b/wrc_ptp_ppsi.c @@ -135,6 +135,15 @@ int wrc_ptp_get_mode() int wrc_ptp_start() { struct pp_instance *ppi = &ppi_static; + + pp_open_instance(ppi, 0 /* no opts */); + OPTS(ppi)->e2e_mode = 1; + + /* Call the state machine. Being it in "Initializing" state, make + * ppsi initialize what is necessary */ + delay_ms = pp_state_machine(ppi, NULL, 0); + start_tics = timer_get_tics(); + DSPOR(ppi)->linkUP = FALSE; wr_servo_reset(); @@ -146,6 +155,7 @@ int wrc_ptp_stop() { ptp_enabled = 0; wr_servo_reset(); + pp_close_instance(&ppi_static); return 0; }