icE1usb fw/gpsdo: Export accumulated error

This is a pretty usefu stat as this is what actually matters

Note that structure is just extended so any call with a wLength
shorter will just get the beginning of the struct (usb stack
limits response to wLength) and thus is fully backward compatible.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Change-Id: I0aa919d4870ca7e1b653b82ac4f76ed26b5e3b08
This commit is contained in:
Sylvain Munaut 2022-10-04 13:54:49 +02:00
parent abf08908dd
commit cfb8b0b7a0
2 changed files with 2 additions and 0 deletions

View File

@ -102,6 +102,7 @@ gpsdo_get_status(struct e1usb_gpsdo_status *status)
status->tune.coarse = g_gpsdo.tune.coarse;
status->tune.fine = g_gpsdo.tune.fine;
status->freq_est = g_gpsdo.meas.last;
status->err_acc = (g_gpsdo.state == STATE_TUNE_FINE) ? g_gpsdo.fine.acc : 0;
}
void

View File

@ -65,6 +65,7 @@ struct e1usb_gpsdo_status {
uint8_t mode; /*!< Current configured operating mode */
struct e1usb_gpsdo_tune tune; /*!< Current VCXO tuning values */
uint32_t freq_est; /*!< Latest frequency estimate measurement */
int16_t err_acc; /*!< Accumulated error */
} __attribute__((packed));