Commit ec19bbe9 authored by Maciej Lipinski's avatar Maciej Lipinski

adjust phase after switchover

parent 30c072c7
......@@ -472,24 +472,29 @@ int wr_servo_update(struct pp_instance *ppi)
if(tracking_enabled) {
// shw_pps_gen_enable_output(1);
// just follow the changes of deltaMS
int32_t offset_change = (s->delta_ms - s->delta_ms_prev);
ss = (struct wrs_socket*)NP(ppi)->ch[PP_NP_GEN].arch_data;
pp_diag(ppi, servo, 1, "in servo cur_setpoint(before update)=%d, "
"update =%d, cur_dmtd_phase = %d\n",
s->cur_setpoint, (s->delta_ms - s->delta_ms_prev), ss->dmtd_phase);
s->cur_setpoint, offset_change , ss->dmtd_phase);
// s->cur_setpoint, (s->delta_ms - s->delta_ms_prev), ss->dmtd_phase);
s->cur_setpoint += (s->delta_ms - s->delta_ms_prev);
s->cur_setpoint += offset_change;// (s->delta_ms - s->delta_ms_prev);
tmp_setpoint = (int)wrp->ops->adjust_phase(s->cur_setpoint, ppi->port_idx);
// while(tmp_setpoint > 0)
if(tmp_setpoint > 0)
{
pp_diag(ppi, servo, 1, "Switchover detected in servo: good_phase_val=%d\n",
tmp_setpoint);
s->cur_setpoint = tmp_setpoint;
pp_diag(ppi, servo, 1, "Switchover: good_phase_val=%d,"
" cur_setpoint=%d, ptp_offset: %d\n",
tmp_setpoint,s->cur_setpoint ,(s->delta_ms - s->delta_ms_prev));
s->cur_setpoint = tmp_setpoint + ts_offset_hw.phase;
tmp_setpoint = wrp->ops->adjust_phase(s->cur_setpoint, ppi->port_idx);
}
else
s->delta_ms_prev = s->delta_ms;
s->delta_ms_prev = s->delta_ms;
s->next_state = WR_TRACK_PHASE;
s->state = WR_WAIT_SYNC_IDLE;
s->last_tics = tics;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment