public override bool ProcessEmptyValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType) { state.GPSBasePositionReportingHaveStarted = true; return(true); }
public override bool ProcessEmptyValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType) { valueSink.SetICCCALeftFrontValue(CellPassConsts.NullCCA); return(true); }
public override bool ProcessANSIStringValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType, string value) { valueSink.HardwareID = value; return(true); }
public override bool ProcessUnsignedIntegerValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType, uint value) { valueSink.ICRMVJumpthreshold = (short)value; return(true); }
public void Test_TAGDictionary_Item_Creation() { TAGDictionaryItem item = new TAGDictionaryItem("name", TAGDataType.tUnicodeString, 10); Assert.True(item.Name.Equals("name") && item.Type == TAGDataType.tUnicodeString && item.ID == 10, "TAG file dictionary item did not create as expected"); }
public override bool ProcessIntegerValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType, int value) { bool result = false; if (!state.HaveSeenAnAbsoluteCCV) { return(false); } switch (valueType.Type) { case TAGDataType.t4bitInt: case TAGDataType.t8bitInt: if (((short)(valueSink.ICCCVValues.GetLatest()) + value) >= 0) { valueSink.SetICCCVValue((short)((short)(valueSink.ICCCVValues.GetLatest()) + value)); result = true; } break; } return(result); }
public override void ReadIEEEDoubleValue(TAGDictionaryItem valueType, double value) { if (ValueMatchers.TryGetValue(valueType.Name, out TAGValueMatcher valueMatcher)) { valueMatcher?.ProcessDoubleValue(ValueMatcherState, Processor, valueType, value); } }
public override bool ProcessUnicodeStringValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType, string value) { valueSink.Design = value; return(true); }
public override void ReadANSIStringValue(TAGDictionaryItem valueType, string value) { if (ValueMatchers.TryGetValue(valueType.Name, out TAGValueMatcher valueMatcher)) { valueMatcher?.ProcessANSIStringValue(ValueMatcherState, Processor, valueType, value); } }
public override void ReadEmptyValue(TAGDictionaryItem valueType) { if (ValueMatchers.TryGetValue(valueType.Name, out TAGValueMatcher valueMatcher)) { valueMatcher?.ProcessEmptyValue(ValueMatcherState, Processor, valueType); } }
public override void ReadUnsignedIntegerValue(TAGDictionaryItem valueType, uint value) { if (ValueMatchers.TryGetValue(valueType.Name, out TAGValueMatcher valueMatcher)) { valueMatcher?.ProcessUnsignedIntegerValue(ValueMatcherState, Processor, valueType, value); } }
public override bool ProcessUnsignedIntegerValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType, uint value) { valueSink.ControlStateRightLift = (int)value; return(true); }
public override bool ProcessUnsignedIntegerValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType, uint value) { bool result = false; if (valueType.Type == TAGDataType.t4bitUInt) { switch (value) { case 0: valueSink.SetOnGround(OnGroundState.No); break; case 1: valueSink.SetOnGround(OnGroundState.YesLegacy); break; default: valueSink.SetOnGround(OnGroundState.Unknown); break; } result = true; } return(result); }
public override bool ProcessUnsignedIntegerValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType, uint value) { valueSink.ResearchData = value != 0; return(true); }
public override bool ProcessDoubleValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType, double value) { state.HaveSeenMachineSpeed = true; valueSink.SetICMachineSpeedValue(value); return(true); }
public override bool ProcessANSIStringValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType, string value) { valueSink.RadioSerial = value; state.HaveSeenARadioSerial = true; return(true); }
public override bool ProcessEmptyValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType) { state.HaveSeenAnAbsoluteAmplitude = false; valueSink.SetICAmplitude(CellPassConsts.NullAmplitude); return(true); }
public override bool ProcessEmptyValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType) { state.HaveSeenAnAbsoluteVolkelMeasUtilRange = false; valueSink.SetVolkelMeasUtilRange(CellPassConsts.NullVolkelMeasUtilRange); return(true); }
public override bool ProcessUnsignedIntegerValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType, uint value) { bool result = false; if (valueType.Name == TAGValueNames.kTagFileTimeTag) { // Every time record marks the end of the collected data for an epoch // Thus, we instruct the value sink to process its context whenever we receive // a time value. if (state.HaveSeenATimeValue) { valueSink.ProcessEpochContext(); } switch (valueType.Type) { case TAGDataType.t32bitUInt: // {$IFDEF DENSE_TAG_FILE_LOGGING} // SIGLogProcessMessage.Publish(Self, Format('Time Origin Update: Incremented Time: %d, new Origin: %d, Delta: %d', { SKIP} // [FValueSink.GPSWeekTime, Value, Value - FValueSink.GPSWeekTime]), slpmcMessage); // {$ENDIF} valueSink.GPSWeekTime = value; // Time value is GPS milliseconds since start of week state.HaveSeenATimeValue = true; result = true; break; case TAGDataType.t4bitUInt: valueSink.GPSWeekTime = valueSink.GPSWeekTime + 100 * value; // Time value is tenths of seconds delta from previous time state.HaveSeenATimeValue = true; result = true; break; } } else if (valueType.Name == TAGValueNames.kTagFileWeekTag) { if (valueType.Type == TAGDataType.t16bitUInt) { valueSink.GPSWeekNumber = (short)value; state.HaveSeenAWeekValue = true; result = true; } } // if we have seen both a GPS week and time then we can compute the DataTime // value for the value sink if (state.HaveSeenATimeValue && state.HaveSeenAWeekValue) { valueSink.DataTime = GPS.GPSOriginTimeToDateTime(valueSink.GPSWeekNumber, valueSink.GPSWeekTime); } return(result); }
public void Test_TAGDictionary_Item_Retrieval() { TAGDictionary dict = new TAGDictionary(); dict.Entries.Add(10, new TAGDictionaryItem("name", TAGDataType.tUnicodeString, 10)); TAGDictionaryItem item = dict.Entries[10]; Assert.True(item.Name.Equals("name") && item.Type == TAGDataType.tUnicodeString && item.ID == 10, "TAG file dictionary item did retrieve as expected"); }
public override bool ProcessIntegerValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType, int value) { // Position value is integer number of millimeters offset from the current position if (!state.HaveSeenAnAbsoluteTrackPosition) { return(false); } if (valueType.Name == TAGValueNames.kTagFileEastingTrackTag) { if (state.TrackSide == TAGValueSide.Left) { valueSink.DataTrackLeft.X += (double)value / 1000; } else { valueSink.DataTrackRight.X += (double)value / 1000; } return(true); } if (valueType.Name == TAGValueNames.kTagFileNorthingTrackTag) { if (state.TrackSide == TAGValueSide.Left) { valueSink.DataTrackLeft.Y += (double)value / 1000; } else { valueSink.DataTrackRight.Y += (double)value / 1000; } return(true); } if (valueType.Name == TAGValueNames.kTagFileElevationTrackTag) { if (state.TrackSide == TAGValueSide.Left) { valueSink.DataTrackLeft.Z += (double)value / 1000; } else { valueSink.DataTrackRight.Z += (double)value / 1000; } return(true); } return(false); }
public override bool ProcessUnsignedIntegerValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType, uint value) { if (!(value >= CompactionSensorTypeConsts.COMPACTION_SENSOR_TYPE_MIN_VALUE && value <= CompactionSensorTypeConsts.COMPACTION_SENSOR_TYPE_MAX_VALUE)) { return(false); } valueSink.ICSensorType = (CompactionSensorType)value; return(true); }
public override bool ProcessUnsignedIntegerValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType, uint value) { bool result = valueType.Type == TAGDataType.t32bitUInt; if (result) { valueSink.Sequence = value; } return(result); }
public override bool ProcessUnsignedIntegerValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType, uint value) { bool result = (value >= GPSModeConstants.GPS_MODE_MIN_VALUE && value <= GPSModeConstants.GPS_MODE_MAX_VALUE) || value == (int)GPSMode.NoGPS; if (result) { valueSink.SetGPSMode((GPSMode)value); } return(result); }
public override bool ProcessUnsignedIntegerValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType, uint value) { if (valueType.Type == TAGDataType.t8bitUInt && (value == (byte)ElevationMappingMode.LatestElevation || value == (byte)ElevationMappingMode.MinimumElevation)) { valueSink.SetElevationMappingModeState((ElevationMappingMode)value); return(true); } return(false); }
public override bool ProcessUnsignedIntegerValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType, uint value) { bool result = false; if (valueType.Type == TAGDataType.t4bitUInt && value <= 3) // Check only the two least significant bits are set { valueSink.SetInAvoidZoneState((byte)value); result = true; } return(result); }
public override bool ProcessUnsignedIntegerValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType, uint value) { bool result = false; if (valueType.Type == TAGDataType.t8bitUInt) { valueSink.SetICCCALeftFrontValue((byte)value); result = true; } return(result); }
public override bool ProcessUnsignedIntegerValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType, uint value) { bool result = false; if (valueType.Type == TAGDataType.t4bitUInt && value <= 2) // Sonic state currently only defines three states { valueSink.ICSonic3D = (byte)value; result = true;; } return(result); }
public override bool ProcessUnsignedIntegerValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType, uint value) { bool result = false; if (valueType.Type == TAGDataType.t12bitUInt) { valueSink.ICLayerIDValue = (ushort)value; result = true; } return(result); }
public override bool ProcessIntegerValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType, int value) { // Position value is integer number of millimeters offset from the current position bool result = false; if (state.HaveSeenAnAbsoluteRearPosition) { if (valueType.Name == TAGValueNames.kTagFileEastingRearTag) { if (state.RearSide == TAGValueSide.Left) { valueSink.DataRearLeft.X += (double)value / 1000; } else { valueSink.DataRearRight.X += (double)value / 1000; } result = true; } else if (valueType.Name == TAGValueNames.kTagFileNorthingRearTag) { if (state.RearSide == TAGValueSide.Left) { valueSink.DataRearLeft.Y += (double)value / 1000; } else { valueSink.DataRearRight.Y += (double)value / 1000; } result = true; } else if (valueType.Name == TAGValueNames.kTagFileElevationRearTag) { if (state.RearSide == TAGValueSide.Left) { valueSink.DataRearLeft.Z += (double)value / 1000; } else { valueSink.DataRearRight.Z += (double)value / 1000; } result = true; } } return(result); }