Commit 2ab718f3 authored by Alessandro Rubini's avatar Alessandro Rubini

wr-servo: reorder/clean/document fields of servo_state

Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
parent 0b70bc23
...@@ -133,25 +133,29 @@ int wr_servo_got_delay(struct pp_instance *ppi, Integer32 cf); ...@@ -133,25 +133,29 @@ int wr_servo_got_delay(struct pp_instance *ppi, Integer32 cf);
int wr_servo_update(struct pp_instance *ppi); int wr_servo_update(struct pp_instance *ppi);
struct wr_servo_state_t { struct wr_servo_state_t {
char if_name[16]; char if_name[16]; /* Informative, for wr_mon through shmem */
int state; int state;
int next_state; int next_state;
TimeInternal mu; /* half of the RTT */ int valid;
int64_t picos_mu;
/* These fields are used by servo code, after asetting at init time */
int32_t delta_tx_m; int32_t delta_tx_m;
int32_t delta_rx_m; int32_t delta_rx_m;
int32_t delta_tx_s; int32_t delta_tx_s;
int32_t delta_rx_s; int32_t delta_rx_s;
int32_t cur_setpoint;
int64_t delta_ms;
int64_t delta_ms_prev;
TimeInternal t1, t2, t3, t4;
uint64_t last_tics;
int32_t fiber_fix_alpha; int32_t fiber_fix_alpha;
int32_t clock_period_ps; int32_t clock_period_ps;
/* These fields are used by servo code, across iterations */
TimeInternal t1, t2, t3, t4;
int64_t delta_ms_prev;
int missed_iters; int missed_iters;
int valid; /* Following fields are for monitoring/diagnostics (use w/ shmem) */
TimeInternal mu;
int64_t picos_mu;
int32_t cur_setpoint;
int64_t delta_ms;
uint32_t update_count; uint32_t update_count;
int tracking_enabled; int tracking_enabled;
char servo_state_name[32]; char servo_state_name[32];
......
...@@ -236,7 +236,6 @@ int wr_servo_update(struct pp_instance *ppi) ...@@ -236,7 +236,6 @@ int wr_servo_update(struct pp_instance *ppi)
struct wr_servo_state_t *s = struct wr_servo_state_t *s =
&((struct wr_data_t *)ppi->ext_data)->servo_state; &((struct wr_data_t *)ppi->ext_data)->servo_state;
uint64_t tics;
uint64_t big_delta_fix; uint64_t big_delta_fix;
uint64_t delay_ms_fix; uint64_t delay_ms_fix;
static int errcount; static int errcount;
...@@ -300,8 +299,6 @@ int wr_servo_update(struct pp_instance *ppi) ...@@ -300,8 +299,6 @@ int wr_servo_update(struct pp_instance *ppi)
s->delta_ms = delay_ms_fix; s->delta_ms = delay_ms_fix;
tics = ppi->t_ops->calc_timeout(ppi, 0);
if (wrp->ops->locking_poll(ppi, 0) != WR_SPLL_READY) { if (wrp->ops->locking_poll(ppi, 0) != WR_SPLL_READY) {
pp_diag(ppi, servo, 1, "PLL OutOfLock, should restart sync\n"); pp_diag(ppi, servo, 1, "PLL OutOfLock, should restart sync\n");
wrp->ops->enable_timing_output(ppi, 0); wrp->ops->enable_timing_output(ppi, 0);
...@@ -340,7 +337,6 @@ int wr_servo_update(struct pp_instance *ppi) ...@@ -340,7 +337,6 @@ int wr_servo_update(struct pp_instance *ppi)
s->next_state = WR_SYNC_NSEC; s->next_state = WR_SYNC_NSEC;
s->state = WR_WAIT_SYNC_IDLE; s->state = WR_WAIT_SYNC_IDLE;
s->last_tics = tics;
break; break;
case WR_SYNC_NSEC: case WR_SYNC_NSEC:
...@@ -348,7 +344,6 @@ int wr_servo_update(struct pp_instance *ppi) ...@@ -348,7 +344,6 @@ int wr_servo_update(struct pp_instance *ppi)
s->next_state = WR_SYNC_PHASE; s->next_state = WR_SYNC_PHASE;
s->state = WR_WAIT_SYNC_IDLE; s->state = WR_WAIT_SYNC_IDLE;
s->last_tics = tics;
break; break;
case WR_SYNC_PHASE: case WR_SYNC_PHASE:
...@@ -359,7 +354,6 @@ int wr_servo_update(struct pp_instance *ppi) ...@@ -359,7 +354,6 @@ int wr_servo_update(struct pp_instance *ppi)
s->next_state = WR_WAIT_OFFSET_STABLE; s->next_state = WR_WAIT_OFFSET_STABLE;
s->state = WR_WAIT_SYNC_IDLE; s->state = WR_WAIT_SYNC_IDLE;
s->last_tics = tics;
s->delta_ms_prev = s->delta_ms; s->delta_ms_prev = s->delta_ms;
break; break;
...@@ -402,7 +396,6 @@ int wr_servo_update(struct pp_instance *ppi) ...@@ -402,7 +396,6 @@ int wr_servo_update(struct pp_instance *ppi)
s->delta_ms_prev = s->delta_ms; s->delta_ms_prev = s->delta_ms;
s->next_state = WR_TRACK_PHASE; s->next_state = WR_TRACK_PHASE;
s->state = WR_WAIT_SYNC_IDLE; s->state = WR_WAIT_SYNC_IDLE;
s->last_tics = tics;
} }
break; break;
......
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