public EnumeratedValue GetValueForMeter(SpatialValue value, ISOEnumeratedMeter meter)
        {
            if (Convert.ToInt32(value.DataLogValue.ProcessDataDDI, 16) != DDI)
            {
                return(null);
            }

            ApplicationDataModel.Representations.EnumerationMember enumMember;

            if (value.Value == 0)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiWeightUnStable.ToModelEnumMember();
            }
            else if (value.Value == 1)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiWeightStable.ToModelEnumMember();
            }
            else if (value.Value == 2)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiWeightError.ToModelEnumMember();
            }
            else
            {
                return(null);
            }

            return(new EnumeratedValue
            {
                Representation = meter.Representation as ApplicationDataModel.Representations.EnumeratedRepresentation,
                Value = enumMember,
                Code = enumMember.Code
            });
        }
        public EnumeratedValue GetValueForMeter(SpatialValue value, ISOEnumeratedMeter meter)
        {
            if (Convert.ToInt32(value.DataLogValue.ProcessDataDDI, 16) != DDI)
            {
                return(null);
            }

            byte twoBitsValue = GetValue((int)value.Value, meter.DeviceElementUseId);

            ApplicationDataModel.Representations.EnumerationMember enumMember = DefinedTypeEnumerationInstanceList.dtiUnloadingAugerStateError.ToModelEnumMember();

            if (twoBitsValue == 0)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiUnloadingAugerStateDisabled.ToModelEnumMember();
            }
            else if (twoBitsValue == 1)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiUnloadingAugerStateEnabled.ToModelEnumMember();
            }
            else if (twoBitsValue == 2)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiUnloadingAugerStateError.ToModelEnumMember();
            }
            else if (twoBitsValue == 3)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiUnloadingAugerStateNotAvailable.ToModelEnumMember();
            }

            return(new EnumeratedValue
            {
                Representation = meter.Representation as ApplicationDataModel.Representations.EnumeratedRepresentation,
                Value = enumMember,
                Code = enumMember.Code
            });
        }
        public List <ISOEnumeratedMeter> CreateMeters(IEnumerable <ISOSpatialRow> spatialRows)
        {
            var meter = new ISOEnumeratedMeter
            {
                Representation     = RepresentationInstanceList.dtMeasuredWeightStatus.ToModelRepresentation(),
                GetEnumeratedValue = GetValueForMeter
            };

            return(new List <ISOEnumeratedMeter> {
                meter
            });
        }
        public List <ISOEnumeratedMeter> CreateMeters(IEnumerable <ISOSpatialRow> spatialRows, ISODataLogValue dlv)
        {
            var meter = new ISOEnumeratedMeter
            {
                Representation     = RepresentationInstanceList.dtHitchType.ToModelRepresentation(),
                GetEnumeratedValue = GetValueForMeter
            };

            return(new List <ISOEnumeratedMeter> {
                meter
            });
        }
예제 #5
0
        public EnumeratedValue GetValueForMeter(SpatialValue value, ISOEnumeratedMeter meter)// EnumeratedWorkingData meter)
        {
            var sectionValue      = GetSectionValue((uint)value.Value, meter.SectionIndex);
            var enumerationMember = SectionValueToEnumerationMember[(int)sectionValue];

            return(new EnumeratedValue
            {
                Representation = meter.Representation as EnumeratedRepresentation,
                Value = enumerationMember.ToModelEnumMember(),
                Code = (int)enumerationMember.DomainTag
            });
        }
        public List <ISOEnumeratedMeter> CreateMeters(IEnumerable <ISOSpatialRow> spatialRows)
        {
            var meter = new ISOEnumeratedMeter
            {
                Representation     = RepresentationInstanceList.dtSectionControlMasterState.ToModelRepresentation(),
                GetEnumeratedValue = GetValueForMeter
            };

            return(new List <ISOEnumeratedMeter> {
                meter
            });
        }
        public EnumeratedValue GetValueForMeter(SpatialValue value, ISOEnumeratedMeter meter)
        {
            if (value.DataLogValue.ProcessDataDDI.AsInt32DDI() != DDI)
            {
                return(null);
            }

            const int clear        = 0x20524C43;
            const int mostlySunny  = 0x2043534E;
            const int partlySunny  = 0x20574546;
            const int partlyCloudy = 0x20544353;
            const int mostlyCloudy = 0x204E4B42;
            const int overcast     = 0x2043564F;

            ApplicationDataModel.Representations.EnumerationMember enumMember;

            if (value.Value == clear)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiClear.ToModelEnumMember();
            }
            else if (value.Value == mostlySunny)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiSunny.ToModelEnumMember();
            }
            else if (value.Value == partlySunny)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiPartlyCloudy.ToModelEnumMember();
            }
            else if (value.Value == partlyCloudy)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiPartlyCloudy.ToModelEnumMember();
            }
            else if (value.Value == mostlyCloudy)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiCloudy.ToModelEnumMember();
            }
            else if (value.Value == overcast)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiCloudy.ToModelEnumMember();
            }
            else
            {
                return(null);
            }

            return(new EnumeratedValue
            {
                Representation = meter.Representation as ApplicationDataModel.Representations.EnumeratedRepresentation,
                Value = enumMember,
                Code = enumMember.Code
            });
        }
        public EnumeratedValue GetValueForMeter(SpatialValue value, ISOEnumeratedMeter meter)
        {
            var enumMember = value != null && value.Value == 1
                ? DefinedTypeEnumerationInstanceList.dtiRecordingStatusOn.ToModelEnumMember()
                : DefinedTypeEnumerationInstanceList.dtiRecordingStatusOff.ToModelEnumMember();

            return(new EnumeratedValue
            {
                Representation = meter.Representation as EnumeratedRepresentation,
                Value = enumMember,
                Code = enumMember.Code
            });
        }
예제 #9
0
        public UInt32 GetMetersValue(List <WorkingData> meters, SpatialRecord spatialRecord)
        {
            // Martin Sperlich: I've got a GS3_2630 data set here for which meters.FirstOrDefault()
            // does return an AgGateway.ADAPT.ApplicationDataModel.LoggedData.EnumeratedWorkingData object.
            // The direct cast to AgGateway.ADAPT.ApplicationDataModel.LoggedData.EnumeratedWorkingData
            // does throw an invalid typecast exception.

            // var meter = (ISOEnumeratedMeter) meters.FirstOrDefault();
            ISOEnumeratedMeter meter = meters.FirstOrDefault() as ISOEnumeratedMeter;

            if (meter == null)
            {
                return(0);
            }
            // var value = (EnumeratedValue) spatialRecord.GetMeterValue(meter);
            EnumeratedValue value = spatialRecord.GetMeterValue(meter) as EnumeratedValue;

            if (value == null)
            {
                return(0);
            }

            if (value.Value.Code == DefinedTypeEnumerationInstanceList.dtiClear.ToModelEnumMember().Code)
            {
                return(0x20524C43);
            }
            if (value.Value.Code == DefinedTypeEnumerationInstanceList.dtiSunny.ToModelEnumMember().Code)
            {
                return(0x2043534E);
            }
            if (value.Value.Code == DefinedTypeEnumerationInstanceList.dtiPartlyCloudy.ToModelEnumMember().Code)
            {
                return(0x20544353);
            }
            if (value.Value.Code == DefinedTypeEnumerationInstanceList.dtiCloudy.ToModelEnumMember().Code)
            {
                return(0x2043564F);
            }
            return(0);
        }
        public List <ISOEnumeratedMeter> CreateMeters(IEnumerable <ISOSpatialRow> spatialRows, ISODataLogValue dlv)
        {
            var unloadingMeter = new ISOEnumeratedMeter
            {
                DeviceElementUseId = 1,
                Representation     = RepresentationInstanceList.dtUnloadingAugerState.ToModelRepresentation(),
                GetEnumeratedValue = GetValueForMeter
            };

            var loadingMeter = new ISOEnumeratedMeter
            {
                DeviceElementUseId = 2,
                Representation     = RepresentationInstanceList.dtUnloadingAugerState.ToModelRepresentation(),
                GetEnumeratedValue = GetValueForMeter
            };

            var meters = new List <ISOEnumeratedMeter> {
                unloadingMeter, loadingMeter
            };

            return(meters);
        }
        public EnumeratedValue GetValueForMeter(SpatialValue value, ISOEnumeratedMeter meter)
        {
            if (Convert.ToInt32(value.DataLogValue.ProcessDataDDI, 16) != DDI)
            {
                return(null);
            }

            ApplicationDataModel.Representations.EnumerationMember enumMember = null;

            if (value.Value == 1)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiDrawbar.ToModelEnumMember();
            }
            else if (value.Value == 2)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiRearTwoPoint.ToModelEnumMember();
            }
            else if (value.Value == 3)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiThreePoint.ToModelEnumMember();
            }
            else if (value.Value == 7)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiRearPivotWagonHitch.ToModelEnumMember();
            }

            if (enumMember == null)
            {
                return(null);
            }

            return(new EnumeratedValue
            {
                Representation = meter.Representation as ApplicationDataModel.Representations.EnumeratedRepresentation,
                Value = enumMember,
                Code = enumMember.Code
            });
        }
예제 #12
0
        public EnumeratedValue GetValueForMeter(SpatialValue value, ISOEnumeratedMeter meter)
        {
            if (value == null)
            {
                return(null);
            }

            EnumerationMember enumMember;

            if ((int)value.Value == 0)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiPrscMasterManualOff.ToModelEnumMember();
            }
            else if ((int)value.Value == 1)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiPrscMasterAutoOn.ToModelEnumMember();
            }
            else if ((int)value.Value == 2)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiPrscMasterError.ToModelEnumMember();
            }
            else if ((int)value.Value == 3)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiPrscMasterUndefined.ToModelEnumMember();
            }
            else
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiPrscMasterError.ToModelEnumMember();
            }

            return(new EnumeratedValue
            {
                Representation = meter.Representation as EnumeratedRepresentation,
                Value = enumMember,
                Code = enumMember.Code
            });
        }
예제 #13
0
        public EnumeratedValue GetValueForMeter(SpatialValue value, ISOEnumeratedMeter meter)
        {
            if (Convert.ToInt32(value.DataLogValue.ProcessDataDDI, 16) != DDI)
            {
                return(null);
            }

            ApplicationDataModel.Representations.EnumerationMember enumMember = DefinedTypeEnumerationInstanceList.dtiSCMasterUndefined.ToModelEnumMember();

            var reservedBitsMask  = 0x00000003;
            var valueLowerTwoBits = (int)value.Value & reservedBitsMask;

            if (valueLowerTwoBits == 0)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiSCMasterManualOff.ToModelEnumMember();
            }
            else if (valueLowerTwoBits == 1)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiSCMasterAutoOn.ToModelEnumMember();
            }
            else if (valueLowerTwoBits == 2)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiSCMasterError.ToModelEnumMember();
            }
            else if (valueLowerTwoBits == 3)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiSCMasterUndefined.ToModelEnumMember();
            }

            return(new EnumeratedValue
            {
                Representation = meter.Representation as ApplicationDataModel.Representations.EnumeratedRepresentation,
                Value = enumMember,
                Code = enumMember.Code
            });
        }