287 [[nodiscard]] std::optional<double>
getValueAt(
size_t idx)
const override
339 if (
timeOutputs && (
timeOutputs->timeField & vn::protocol::uart::TimeGroup::TIMEGROUP_TIMESTATUS)) {
return static_cast<double>(
timeOutputs->timeStatus.timeOk()); }
342 if (
timeOutputs && (
timeOutputs->timeField & vn::protocol::uart::TimeGroup::TIMEGROUP_TIMESTATUS)) {
return static_cast<double>(
timeOutputs->timeStatus.dateOk()); }
345 if (
timeOutputs && (
timeOutputs->timeField & vn::protocol::uart::TimeGroup::TIMEGROUP_TIMESTATUS)) {
return static_cast<double>(
timeOutputs->timeStatus.utcTimeValid()); }
349 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_IMUSTATUS)) {
return static_cast<double>(
imuOutputs->imuStatus); }
352 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_UNCOMPMAG)) {
return static_cast<double>(
imuOutputs->uncompMag(0)); }
355 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_UNCOMPMAG)) {
return static_cast<double>(
imuOutputs->uncompMag(1)); }
358 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_UNCOMPMAG)) {
return static_cast<double>(
imuOutputs->uncompMag(2)); }
361 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_UNCOMPACCEL)) {
return static_cast<double>(
imuOutputs->uncompAccel(0)); }
364 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_UNCOMPACCEL)) {
return static_cast<double>(
imuOutputs->uncompAccel(1)); }
367 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_UNCOMPACCEL)) {
return static_cast<double>(
imuOutputs->uncompAccel(2)); }
370 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_UNCOMPGYRO)) {
return static_cast<double>(
imuOutputs->uncompGyro(0)); }
373 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_UNCOMPGYRO)) {
return static_cast<double>(
imuOutputs->uncompGyro(1)); }
376 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_UNCOMPGYRO)) {
return static_cast<double>(
imuOutputs->uncompGyro(2)); }
385 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_DELTATHETA)) {
return static_cast<double>(
imuOutputs->deltaTime); }
388 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_DELTATHETA)) {
return static_cast<double>(
imuOutputs->deltaTheta(0)); }
391 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_DELTATHETA)) {
return static_cast<double>(
imuOutputs->deltaTheta(1)); }
394 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_DELTATHETA)) {
return static_cast<double>(
imuOutputs->deltaTheta(2)); }
397 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_DELTAVEL)) {
return static_cast<double>(
imuOutputs->deltaV(0)); }
400 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_DELTAVEL)) {
return static_cast<double>(
imuOutputs->deltaV(1)); }
403 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_DELTAVEL)) {
return static_cast<double>(
imuOutputs->deltaV(2)); }
424 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_ANGULARRATE)) {
return static_cast<double>(
imuOutputs->angularRate(0)); }
427 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_ANGULARRATE)) {
return static_cast<double>(
imuOutputs->angularRate(1)); }
430 if (
imuOutputs && (
imuOutputs->imuField & vn::protocol::uart::ImuGroup::IMUGROUP_ANGULARRATE)) {
return static_cast<double>(
imuOutputs->angularRate(2)); }
685 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_INSSTATUS)) {
return static_cast<double>(
insOutputs->insStatus.mode()); }
688 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_INSSTATUS)) {
return static_cast<double>(
insOutputs->insStatus.gpsFix()); }
691 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_INSSTATUS)) {
return static_cast<double>(
insOutputs->insStatus.errorIMU()); }
694 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_INSSTATUS)) {
return static_cast<double>(
insOutputs->insStatus.errorMagPres()); }
697 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_INSSTATUS)) {
return static_cast<double>(
insOutputs->insStatus.errorGnss()); }
700 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_INSSTATUS)) {
return static_cast<double>(
insOutputs->insStatus.gpsHeadingIns()); }
703 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_INSSTATUS)) {
return static_cast<double>(
insOutputs->insStatus.gpsCompass()); }
724 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_VELBODY)) {
return static_cast<double>(
insOutputs->velBody(0)); }
727 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_VELBODY)) {
return static_cast<double>(
insOutputs->velBody(1)); }
730 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_VELBODY)) {
return static_cast<double>(
insOutputs->velBody(2)); }
742 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_VELECEF)) {
return static_cast<double>(
insOutputs->velEcef(0)); }
745 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_VELECEF)) {
return static_cast<double>(
insOutputs->velEcef(1)); }
748 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_VELECEF)) {
return static_cast<double>(
insOutputs->velEcef(2)); }
751 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_MAGECEF)) {
return static_cast<double>(
insOutputs->magEcef(0)); }
754 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_MAGECEF)) {
return static_cast<double>(
insOutputs->magEcef(1)); }
757 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_MAGECEF)) {
return static_cast<double>(
insOutputs->magEcef(2)); }
760 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_ACCELECEF)) {
return static_cast<double>(
insOutputs->accelEcef(0)); }
763 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_ACCELECEF)) {
return static_cast<double>(
insOutputs->accelEcef(1)); }
766 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_ACCELECEF)) {
return static_cast<double>(
insOutputs->accelEcef(2)); }
769 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_LINEARACCELECEF)) {
return static_cast<double>(
insOutputs->linearAccelEcef(0)); }
772 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_LINEARACCELECEF)) {
return static_cast<double>(
insOutputs->linearAccelEcef(1)); }
775 if (
insOutputs && (
insOutputs->insField & vn::protocol::uart::InsGroup::INSGROUP_LINEARACCELECEF)) {
return static_cast<double>(
insOutputs->linearAccelEcef(2)); }