283 [[nodiscard]] std::optional<double>
getValueAt(
size_t idx)
const override
335 if (
timeOutputs && (
timeOutputs->timeField & vn::protocol::uart::TimeGroup::TIMEGROUP_TIMESTATUS)) {
return static_cast<double>(
timeOutputs->timeStatus.timeOk()); }
338 if (
timeOutputs && (
timeOutputs->timeField & vn::protocol::uart::TimeGroup::TIMEGROUP_TIMESTATUS)) {
return static_cast<double>(
timeOutputs->timeStatus.dateOk()); }
341 if (
timeOutputs && (
timeOutputs->timeField & vn::protocol::uart::TimeGroup::TIMEGROUP_TIMESTATUS)) {
return static_cast<double>(
timeOutputs->timeStatus.utcTimeValid()); }
345 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_IMUSTATUS)) {
return static_cast<double>(
imuOutputs->imuStatus); }
348 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_UNCOMPMAG)) {
return static_cast<double>(
imuOutputs->uncompMag(0)); }
351 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_UNCOMPMAG)) {
return static_cast<double>(
imuOutputs->uncompMag(1)); }
354 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_UNCOMPMAG)) {
return static_cast<double>(
imuOutputs->uncompMag(2)); }
357 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_UNCOMPACCEL)) {
return static_cast<double>(
imuOutputs->uncompAccel(0)); }
360 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_UNCOMPACCEL)) {
return static_cast<double>(
imuOutputs->uncompAccel(1)); }
363 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_UNCOMPACCEL)) {
return static_cast<double>(
imuOutputs->uncompAccel(2)); }
366 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_UNCOMPGYRO)) {
return static_cast<double>(
imuOutputs->uncompGyro(0)); }
369 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_UNCOMPGYRO)) {
return static_cast<double>(
imuOutputs->uncompGyro(1)); }
372 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_UNCOMPGYRO)) {
return static_cast<double>(
imuOutputs->uncompGyro(2)); }
381 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_DELTATHETA)) {
return static_cast<double>(
imuOutputs->deltaTime); }
384 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_DELTATHETA)) {
return static_cast<double>(
imuOutputs->deltaTheta(0)); }
387 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_DELTATHETA)) {
return static_cast<double>(
imuOutputs->deltaTheta(1)); }
390 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_DELTATHETA)) {
return static_cast<double>(
imuOutputs->deltaTheta(2)); }
393 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_DELTAVEL)) {
return static_cast<double>(
imuOutputs->deltaV(0)); }
396 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_DELTAVEL)) {
return static_cast<double>(
imuOutputs->deltaV(1)); }
399 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_DELTAVEL)) {
return static_cast<double>(
imuOutputs->deltaV(2)); }
420 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_ANGULARRATE)) {
return static_cast<double>(
imuOutputs->angularRate(0)); }
423 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_ANGULARRATE)) {
return static_cast<double>(
imuOutputs->angularRate(1)); }
426 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_ANGULARRATE)) {
return static_cast<double>(
imuOutputs->angularRate(2)); }
681 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_INSSTATUS)) {
return static_cast<double>(
insOutputs->insStatus.mode()); }
684 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_INSSTATUS)) {
return static_cast<double>(
insOutputs->insStatus.gpsFix()); }
687 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_INSSTATUS)) {
return static_cast<double>(
insOutputs->insStatus.errorIMU()); }
690 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_INSSTATUS)) {
return static_cast<double>(
insOutputs->insStatus.errorMagPres()); }
693 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_INSSTATUS)) {
return static_cast<double>(
insOutputs->insStatus.errorGnss()); }
696 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_INSSTATUS)) {
return static_cast<double>(
insOutputs->insStatus.gpsHeadingIns()); }
699 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_INSSTATUS)) {
return static_cast<double>(
insOutputs->insStatus.gpsCompass()); }
720 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_VELBODY)) {
return static_cast<double>(
insOutputs->velBody(0)); }
723 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_VELBODY)) {
return static_cast<double>(
insOutputs->velBody(1)); }
726 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_VELBODY)) {
return static_cast<double>(
insOutputs->velBody(2)); }
738 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_VELECEF)) {
return static_cast<double>(
insOutputs->velEcef(0)); }
741 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_VELECEF)) {
return static_cast<double>(
insOutputs->velEcef(1)); }
744 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_VELECEF)) {
return static_cast<double>(
insOutputs->velEcef(2)); }
747 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_MAGECEF)) {
return static_cast<double>(
insOutputs->magEcef(0)); }
750 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_MAGECEF)) {
return static_cast<double>(
insOutputs->magEcef(1)); }
753 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_MAGECEF)) {
return static_cast<double>(
insOutputs->magEcef(2)); }
756 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_ACCELECEF)) {
return static_cast<double>(
insOutputs->accelEcef(0)); }
759 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_ACCELECEF)) {
return static_cast<double>(
insOutputs->accelEcef(1)); }
762 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_ACCELECEF)) {
return static_cast<double>(
insOutputs->accelEcef(2)); }
765 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_LINEARACCELECEF)) {
return static_cast<double>(
insOutputs->linearAccelEcef(0)); }
768 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_LINEARACCELECEF)) {
return static_cast<double>(
insOutputs->linearAccelEcef(1)); }
771 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_LINEARACCELECEF)) {
return static_cast<double>(
insOutputs->linearAccelEcef(2)); }