public AirspeedState() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> CalibratedAirspeedElemNames = new List<String>();
			CalibratedAirspeedElemNames.Add("0");
			CalibratedAirspeed=new UAVObjectField<float>("CalibratedAirspeed", "m/s", CalibratedAirspeedElemNames, null, this);
			fields.Add(CalibratedAirspeed);

			List<String> TrueAirspeedElemNames = new List<String>();
			TrueAirspeedElemNames.Add("0");
			TrueAirspeed=new UAVObjectField<float>("TrueAirspeed", "m/s", TrueAirspeedElemNames, null, this);
			fields.Add(TrueAirspeed);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public OveroSyncSettings() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> LogOnElemNames = new List<String>();
			LogOnElemNames.Add("0");
			List<String> LogOnEnumOptions = new List<String>();
			LogOnEnumOptions.Add("Never");
			LogOnEnumOptions.Add("Always");
			LogOnEnumOptions.Add("Armed");
			LogOn=new UAVObjectField<LogOnUavEnum>("LogOn", "", LogOnElemNames, LogOnEnumOptions, this);
			fields.Add(LogOn);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public RelayTuning() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> PeriodElemNames = new List<String>();
			PeriodElemNames.Add("Roll");
			PeriodElemNames.Add("Pitch");
			PeriodElemNames.Add("Yaw");
			Period=new UAVObjectField<float>("Period", "ms", PeriodElemNames, null, this);
			fields.Add(Period);

			List<String> GainElemNames = new List<String>();
			GainElemNames.Add("Roll");
			GainElemNames.Add("Pitch");
			GainElemNames.Add("Yaw");
			Gain=new UAVObjectField<float>("Gain", "(deg/s)/output", GainElemNames, null, this);
			fields.Add(Gain);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public MagSensor() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> xElemNames = new List<String>();
			xElemNames.Add("0");
			x=new UAVObjectField<float>("x", "mGa", xElemNames, null, this);
			fields.Add(x);

			List<String> yElemNames = new List<String>();
			yElemNames.Add("0");
			y=new UAVObjectField<float>("y", "mGa", yElemNames, null, this);
			fields.Add(y);

			List<String> zElemNames = new List<String>();
			zElemNames.Add("0");
			z=new UAVObjectField<float>("z", "mGa", zElemNames, null, this);
			fields.Add(z);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public BaroSensor() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> AltitudeElemNames = new List<String>();
			AltitudeElemNames.Add("0");
			Altitude=new UAVObjectField<float>("Altitude", "m", AltitudeElemNames, null, this);
			fields.Add(Altitude);

			List<String> TemperatureElemNames = new List<String>();
			TemperatureElemNames.Add("0");
			Temperature=new UAVObjectField<float>("Temperature", "C", TemperatureElemNames, null, this);
			fields.Add(Temperature);

			List<String> PressureElemNames = new List<String>();
			PressureElemNames.Add("0");
			Pressure=new UAVObjectField<float>("Pressure", "kPa", PressureElemNames, null, this);
			fields.Add(Pressure);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public WatchdogStatus() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> BootupFlagsElemNames = new List<String>();
			BootupFlagsElemNames.Add("0");
			BootupFlags=new UAVObjectField<UInt16>("BootupFlags", "", BootupFlagsElemNames, null, this);
			fields.Add(BootupFlags);

			List<String> ActiveFlagsElemNames = new List<String>();
			ActiveFlagsElemNames.Add("0");
			ActiveFlags=new UAVObjectField<UInt16>("ActiveFlags", "", ActiveFlagsElemNames, null, this);
			fields.Add(ActiveFlags);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public CameraDesired() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> RollOrServo1ElemNames = new List<String>();
			RollOrServo1ElemNames.Add("0");
			RollOrServo1=new UAVObjectField<float>("RollOrServo1", "", RollOrServo1ElemNames, null, this);
			fields.Add(RollOrServo1);

			List<String> PitchOrServo2ElemNames = new List<String>();
			PitchOrServo2ElemNames.Add("0");
			PitchOrServo2=new UAVObjectField<float>("PitchOrServo2", "", PitchOrServo2ElemNames, null, this);
			fields.Add(PitchOrServo2);

			List<String> YawElemNames = new List<String>();
			YawElemNames.Add("0");
			Yaw=new UAVObjectField<float>("Yaw", "", YawElemNames, null, this);
			fields.Add(Yaw);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public ReceiverActivity() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> ActiveGroupElemNames = new List<String>();
			ActiveGroupElemNames.Add("0");
			List<String> ActiveGroupEnumOptions = new List<String>();
			ActiveGroupEnumOptions.Add("PWM");
			ActiveGroupEnumOptions.Add("PPM");
			ActiveGroupEnumOptions.Add("DSM (MainPort)");
			ActiveGroupEnumOptions.Add("DSM (FlexiPort)");
			ActiveGroupEnumOptions.Add("S.Bus");
			ActiveGroupEnumOptions.Add("GCS");
			ActiveGroupEnumOptions.Add("OPLink");
			ActiveGroupEnumOptions.Add("None");
			ActiveGroup=new UAVObjectField<ActiveGroupUavEnum>("ActiveGroup", "Channel Group", ActiveGroupElemNames, ActiveGroupEnumOptions, this);
			fields.Add(ActiveGroup);

			List<String> ActiveChannelElemNames = new List<String>();
			ActiveChannelElemNames.Add("0");
			ActiveChannel=new UAVObjectField<byte>("ActiveChannel", "channel", ActiveChannelElemNames, null, this);
			fields.Add(ActiveChannel);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public PoiLearnSettings() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> InputElemNames = new List<String>();
			InputElemNames.Add("0");
			List<String> InputEnumOptions = new List<String>();
			InputEnumOptions.Add("Accessory0");
			InputEnumOptions.Add("Accessory1");
			InputEnumOptions.Add("Accessory2");
			InputEnumOptions.Add("Accessory3");
			InputEnumOptions.Add("Accessory4");
			InputEnumOptions.Add("Accessory5");
			InputEnumOptions.Add("None");
			Input=new UAVObjectField<InputUavEnum>("Input", "channel", InputElemNames, InputEnumOptions, this);
			fields.Add(Input);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public OPLinkReceiver() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> ChannelElemNames = new List<String>();
			ChannelElemNames.Add("0");
			ChannelElemNames.Add("1");
			ChannelElemNames.Add("2");
			ChannelElemNames.Add("3");
			ChannelElemNames.Add("4");
			ChannelElemNames.Add("5");
			ChannelElemNames.Add("6");
			ChannelElemNames.Add("7");
			Channel=new UAVObjectField<Int16>("Channel", "us", ChannelElemNames, null, this);
			fields.Add(Channel);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public AirspeedSensor() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> CalibratedAirspeedElemNames = new List<String>();
			CalibratedAirspeedElemNames.Add("0");
			CalibratedAirspeed=new UAVObjectField<float>("CalibratedAirspeed", "m/s", CalibratedAirspeedElemNames, null, this);
			fields.Add(CalibratedAirspeed);

			List<String> SensorValueElemNames = new List<String>();
			SensorValueElemNames.Add("0");
			SensorValue=new UAVObjectField<UInt16>("SensorValue", "raw", SensorValueElemNames, null, this);
			fields.Add(SensorValue);

			List<String> SensorConnectedElemNames = new List<String>();
			SensorConnectedElemNames.Add("0");
			List<String> SensorConnectedEnumOptions = new List<String>();
			SensorConnectedEnumOptions.Add("False");
			SensorConnectedEnumOptions.Add("True");
			SensorConnected=new UAVObjectField<SensorConnectedUavEnum>("SensorConnected", "", SensorConnectedElemNames, SensorConnectedEnumOptions, this);
			fields.Add(SensorConnected);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public FaultSettings() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> ActivateFaultElemNames = new List<String>();
			ActivateFaultElemNames.Add("0");
			List<String> ActivateFaultEnumOptions = new List<String>();
			ActivateFaultEnumOptions.Add("NoFault");
			ActivateFaultEnumOptions.Add("ModuleInitAssert");
			ActivateFaultEnumOptions.Add("InitOutOfMemory");
			ActivateFaultEnumOptions.Add("InitBusError");
			ActivateFaultEnumOptions.Add("RunawayTask");
			ActivateFaultEnumOptions.Add("TaskOutOfMemory");
			ActivateFault=new UAVObjectField<ActivateFaultUavEnum>("ActivateFault", "fault", ActivateFaultElemNames, ActivateFaultEnumOptions, this);
			fields.Add(ActivateFault);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public RevoSettings() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> BaroGPSOffsetCorrectionAlphaElemNames = new List<String>();
			BaroGPSOffsetCorrectionAlphaElemNames.Add("0");
			BaroGPSOffsetCorrectionAlpha=new UAVObjectField<float>("BaroGPSOffsetCorrectionAlpha", "", BaroGPSOffsetCorrectionAlphaElemNames, null, this);
			fields.Add(BaroGPSOffsetCorrectionAlpha);

			List<String> FusionAlgorithmElemNames = new List<String>();
			FusionAlgorithmElemNames.Add("0");
			List<String> FusionAlgorithmEnumOptions = new List<String>();
			FusionAlgorithmEnumOptions.Add("None");
			FusionAlgorithmEnumOptions.Add("Complementary");
			FusionAlgorithmEnumOptions.Add("Complementary+Mag");
			FusionAlgorithmEnumOptions.Add("INS13Indoor");
			FusionAlgorithmEnumOptions.Add("INS13Outdoor");
			FusionAlgorithm=new UAVObjectField<FusionAlgorithmUavEnum>("FusionAlgorithm", "", FusionAlgorithmElemNames, FusionAlgorithmEnumOptions, this);
			fields.Add(FusionAlgorithm);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public Waypoint() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> PositionElemNames = new List<String>();
			PositionElemNames.Add("North");
			PositionElemNames.Add("East");
			PositionElemNames.Add("Down");
			Position=new UAVObjectField<float>("Position", "m", PositionElemNames, null, this);
			fields.Add(Position);

			List<String> VelocityElemNames = new List<String>();
			VelocityElemNames.Add("0");
			Velocity=new UAVObjectField<float>("Velocity", "m/s", VelocityElemNames, null, this);
			fields.Add(Velocity);

			List<String> ActionElemNames = new List<String>();
			ActionElemNames.Add("0");
			Action=new UAVObjectField<byte>("Action", "", ActionElemNames, null, this);
			fields.Add(Action);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public PoiLocation() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> NorthElemNames = new List<String>();
			NorthElemNames.Add("0");
			North=new UAVObjectField<float>("North", "m", NorthElemNames, null, this);
			fields.Add(North);

			List<String> EastElemNames = new List<String>();
			EastElemNames.Add("0");
			East=new UAVObjectField<float>("East", "m", EastElemNames, null, this);
			fields.Add(East);

			List<String> DownElemNames = new List<String>();
			DownElemNames.Add("0");
			Down=new UAVObjectField<float>("Down", "m", DownElemNames, null, this);
			fields.Add(Down);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public AltitudeFilterSettings() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> AccelLowPassKpElemNames = new List<String>();
			AccelLowPassKpElemNames.Add("0");
			AccelLowPassKp=new UAVObjectField<float>("AccelLowPassKp", "m/s^2", AccelLowPassKpElemNames, null, this);
			fields.Add(AccelLowPassKp);

			List<String> AccelDriftKiElemNames = new List<String>();
			AccelDriftKiElemNames.Add("0");
			AccelDriftKi=new UAVObjectField<float>("AccelDriftKi", "m/s^2", AccelDriftKiElemNames, null, this);
			fields.Add(AccelDriftKi);

			List<String> BaroKpElemNames = new List<String>();
			BaroKpElemNames.Add("0");
			BaroKp=new UAVObjectField<float>("BaroKp", "m", BaroKpElemNames, null, this);
			fields.Add(BaroKp);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public AltHoldSmoothed() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> AltitudeElemNames = new List<String>();
			AltitudeElemNames.Add("0");
			Altitude=new UAVObjectField<float>("Altitude", "m", AltitudeElemNames, null, this);
			fields.Add(Altitude);

			List<String> VelocityElemNames = new List<String>();
			VelocityElemNames.Add("0");
			Velocity=new UAVObjectField<float>("Velocity", "m/s", VelocityElemNames, null, this);
			fields.Add(Velocity);

			List<String> AccelElemNames = new List<String>();
			AccelElemNames.Add("0");
			Accel=new UAVObjectField<float>("Accel", "m/s^2", AccelElemNames, null, this);
			fields.Add(Accel);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public SystemAlarms() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> AlarmElemNames = new List<String>();
			AlarmElemNames.Add("SystemConfiguration");
			AlarmElemNames.Add("BootFault");
			AlarmElemNames.Add("OutOfMemory");
			AlarmElemNames.Add("StackOverflow");
			AlarmElemNames.Add("CPUOverload");
			AlarmElemNames.Add("EventSystem");
			AlarmElemNames.Add("Telemetry");
			AlarmElemNames.Add("ManualControl");
			AlarmElemNames.Add("Actuator");
			AlarmElemNames.Add("Attitude");
			AlarmElemNames.Add("Sensors");
			AlarmElemNames.Add("Stabilization");
			AlarmElemNames.Add("Guidance");
			AlarmElemNames.Add("Battery");
			AlarmElemNames.Add("FlightTime");
			AlarmElemNames.Add("I2C");
			AlarmElemNames.Add("GPS");
			AlarmElemNames.Add("Power");
			List<String> AlarmEnumOptions = new List<String>();
			AlarmEnumOptions.Add("Uninitialised");
			AlarmEnumOptions.Add("OK");
			AlarmEnumOptions.Add("Warning");
			AlarmEnumOptions.Add("Error");
			AlarmEnumOptions.Add("Critical");
			Alarm=new UAVObjectField<AlarmUavEnum>("Alarm", "", AlarmElemNames, AlarmEnumOptions, this);
			fields.Add(Alarm);

			List<String> ExtendedAlarmStatusElemNames = new List<String>();
			ExtendedAlarmStatusElemNames.Add("SystemConfiguration");
			ExtendedAlarmStatusElemNames.Add("BootFault");
			List<String> ExtendedAlarmStatusEnumOptions = new List<String>();
			ExtendedAlarmStatusEnumOptions.Add("None");
			ExtendedAlarmStatusEnumOptions.Add("RebootRequired");
			ExtendedAlarmStatusEnumOptions.Add("FlightMode");
			ExtendedAlarmStatus=new UAVObjectField<ExtendedAlarmStatusUavEnum>("ExtendedAlarmStatus", "", ExtendedAlarmStatusElemNames, ExtendedAlarmStatusEnumOptions, this);
			fields.Add(ExtendedAlarmStatus);

			List<String> ExtendedAlarmSubStatusElemNames = new List<String>();
			ExtendedAlarmSubStatusElemNames.Add("SystemConfiguration");
			ExtendedAlarmSubStatusElemNames.Add("BootFault");
			ExtendedAlarmSubStatus=new UAVObjectField<byte>("ExtendedAlarmSubStatus", "", ExtendedAlarmSubStatusElemNames, null, this);
			fields.Add(ExtendedAlarmSubStatus);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public SystemSettings() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> GUIConfigDataElemNames = new List<String>();
			GUIConfigDataElemNames.Add("0");
			GUIConfigDataElemNames.Add("1");
			GUIConfigDataElemNames.Add("2");
			GUIConfigDataElemNames.Add("3");
			GUIConfigData=new UAVObjectField<UInt32>("GUIConfigData", "bits", GUIConfigDataElemNames, null, this);
			fields.Add(GUIConfigData);

			List<String> AirSpeedMaxElemNames = new List<String>();
			AirSpeedMaxElemNames.Add("0");
			AirSpeedMax=new UAVObjectField<float>("AirSpeedMax", "m/s", AirSpeedMaxElemNames, null, this);
			fields.Add(AirSpeedMax);

			List<String> AirSpeedMinElemNames = new List<String>();
			AirSpeedMinElemNames.Add("0");
			AirSpeedMin=new UAVObjectField<float>("AirSpeedMin", "m/s", AirSpeedMinElemNames, null, this);
			fields.Add(AirSpeedMin);

			List<String> AirframeTypeElemNames = new List<String>();
			AirframeTypeElemNames.Add("0");
			List<String> AirframeTypeEnumOptions = new List<String>();
			AirframeTypeEnumOptions.Add("FixedWing");
			AirframeTypeEnumOptions.Add("FixedWingElevon");
			AirframeTypeEnumOptions.Add("FixedWingVtail");
			AirframeTypeEnumOptions.Add("VTOL");
			AirframeTypeEnumOptions.Add("HeliCP");
			AirframeTypeEnumOptions.Add("QuadX");
			AirframeTypeEnumOptions.Add("QuadP");
			AirframeTypeEnumOptions.Add("Hexa");
			AirframeTypeEnumOptions.Add("Octo");
			AirframeTypeEnumOptions.Add("Custom");
			AirframeTypeEnumOptions.Add("HexaX");
			AirframeTypeEnumOptions.Add("OctoV");
			AirframeTypeEnumOptions.Add("OctoCoaxP");
			AirframeTypeEnumOptions.Add("OctoCoaxX");
			AirframeTypeEnumOptions.Add("HexaCoax");
			AirframeTypeEnumOptions.Add("Tri");
			AirframeTypeEnumOptions.Add("GroundVehicleCar");
			AirframeTypeEnumOptions.Add("GroundVehicleDifferential");
			AirframeTypeEnumOptions.Add("GroundVehicleMotorcycle");
			AirframeType=new UAVObjectField<AirframeTypeUavEnum>("AirframeType", "", AirframeTypeElemNames, AirframeTypeEnumOptions, this);
			fields.Add(AirframeType);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public OveroSyncStats() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> SendElemNames = new List<String>();
			SendElemNames.Add("0");
			Send=new UAVObjectField<UInt32>("Send", "B/s", SendElemNames, null, this);
			fields.Add(Send);

			List<String> ReceivedElemNames = new List<String>();
			ReceivedElemNames.Add("0");
			Received=new UAVObjectField<UInt32>("Received", "B/s", ReceivedElemNames, null, this);
			fields.Add(Received);

			List<String> FramesyncErrorsElemNames = new List<String>();
			FramesyncErrorsElemNames.Add("0");
			FramesyncErrors=new UAVObjectField<UInt32>("FramesyncErrors", "count", FramesyncErrorsElemNames, null, this);
			fields.Add(FramesyncErrors);

			List<String> UnderrunErrorsElemNames = new List<String>();
			UnderrunErrorsElemNames.Add("0");
			UnderrunErrors=new UAVObjectField<UInt32>("UnderrunErrors", "count", UnderrunErrorsElemNames, null, this);
			fields.Add(UnderrunErrors);

			List<String> DroppedUpdatesElemNames = new List<String>();
			DroppedUpdatesElemNames.Add("0");
			DroppedUpdates=new UAVObjectField<UInt32>("DroppedUpdates", "", DroppedUpdatesElemNames, null, this);
			fields.Add(DroppedUpdates);

			List<String> PacketsElemNames = new List<String>();
			PacketsElemNames.Add("0");
			Packets=new UAVObjectField<UInt32>("Packets", "", PacketsElemNames, null, this);
			fields.Add(Packets);

			List<String> ConnectedElemNames = new List<String>();
			ConnectedElemNames.Add("0");
			List<String> ConnectedEnumOptions = new List<String>();
			ConnectedEnumOptions.Add("False");
			ConnectedEnumOptions.Add("True");
			Connected=new UAVObjectField<ConnectedUavEnum>("Connected", "", ConnectedElemNames, ConnectedEnumOptions, this);
			fields.Add(Connected);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public RelayTuningSettings() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> RateGainElemNames = new List<String>();
			RateGainElemNames.Add("0");
			RateGain=new UAVObjectField<float>("RateGain", "", RateGainElemNames, null, this);
			fields.Add(RateGain);

			List<String> AttitudeGainElemNames = new List<String>();
			AttitudeGainElemNames.Add("0");
			AttitudeGain=new UAVObjectField<float>("AttitudeGain", "", AttitudeGainElemNames, null, this);
			fields.Add(AttitudeGain);

			List<String> AmplitudeElemNames = new List<String>();
			AmplitudeElemNames.Add("0");
			Amplitude=new UAVObjectField<float>("Amplitude", "", AmplitudeElemNames, null, this);
			fields.Add(Amplitude);

			List<String> HysteresisThreshElemNames = new List<String>();
			HysteresisThreshElemNames.Add("0");
			HysteresisThresh=new UAVObjectField<byte>("HysteresisThresh", "deg/s", HysteresisThreshElemNames, null, this);
			fields.Add(HysteresisThresh);

			List<String> ModeElemNames = new List<String>();
			ModeElemNames.Add("0");
			List<String> ModeEnumOptions = new List<String>();
			ModeEnumOptions.Add("Rate");
			ModeEnumOptions.Add("Attitude");
			Mode=new UAVObjectField<ModeUavEnum>("Mode", "", ModeElemNames, ModeEnumOptions, this);
			fields.Add(Mode);

			List<String> BehaviorElemNames = new List<String>();
			BehaviorElemNames.Add("0");
			List<String> BehaviorEnumOptions = new List<String>();
			BehaviorEnumOptions.Add("Measure");
			BehaviorEnumOptions.Add("Compute");
			BehaviorEnumOptions.Add("Save");
			Behavior=new UAVObjectField<BehaviorUavEnum>("Behavior", "", BehaviorElemNames, BehaviorEnumOptions, this);
			fields.Add(Behavior);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public GCSTelemetryStats() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> TxDataRateElemNames = new List<String>();
			TxDataRateElemNames.Add("0");
			TxDataRate=new UAVObjectField<float>("TxDataRate", "bytes/sec", TxDataRateElemNames, null, this);
			fields.Add(TxDataRate);

			List<String> RxDataRateElemNames = new List<String>();
			RxDataRateElemNames.Add("0");
			RxDataRate=new UAVObjectField<float>("RxDataRate", "bytes/sec", RxDataRateElemNames, null, this);
			fields.Add(RxDataRate);

			List<String> TxFailuresElemNames = new List<String>();
			TxFailuresElemNames.Add("0");
			TxFailures=new UAVObjectField<UInt32>("TxFailures", "count", TxFailuresElemNames, null, this);
			fields.Add(TxFailures);

			List<String> RxFailuresElemNames = new List<String>();
			RxFailuresElemNames.Add("0");
			RxFailures=new UAVObjectField<UInt32>("RxFailures", "count", RxFailuresElemNames, null, this);
			fields.Add(RxFailures);

			List<String> TxRetriesElemNames = new List<String>();
			TxRetriesElemNames.Add("0");
			TxRetries=new UAVObjectField<UInt32>("TxRetries", "count", TxRetriesElemNames, null, this);
			fields.Add(TxRetries);

			List<String> StatusElemNames = new List<String>();
			StatusElemNames.Add("0");
			List<String> StatusEnumOptions = new List<String>();
			StatusEnumOptions.Add("Disconnected");
			StatusEnumOptions.Add("HandshakeReq");
			StatusEnumOptions.Add("HandshakeAck");
			StatusEnumOptions.Add("Connected");
			Status=new UAVObjectField<StatusUavEnum>("Status", "", StatusElemNames, StatusEnumOptions, this);
			fields.Add(Status);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public HomeLocation() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> LatitudeElemNames = new List<String>();
			LatitudeElemNames.Add("0");
			Latitude=new UAVObjectField<Int32>("Latitude", "deg * 10e6", LatitudeElemNames, null, this);
			fields.Add(Latitude);

			List<String> LongitudeElemNames = new List<String>();
			LongitudeElemNames.Add("0");
			Longitude=new UAVObjectField<Int32>("Longitude", "deg * 10e6", LongitudeElemNames, null, this);
			fields.Add(Longitude);

			List<String> AltitudeElemNames = new List<String>();
			AltitudeElemNames.Add("0");
			Altitude=new UAVObjectField<float>("Altitude", "m over geoid", AltitudeElemNames, null, this);
			fields.Add(Altitude);

			List<String> BeElemNames = new List<String>();
			BeElemNames.Add("0");
			BeElemNames.Add("1");
			BeElemNames.Add("2");
			Be=new UAVObjectField<float>("Be", "", BeElemNames, null, this);
			fields.Add(Be);

			List<String> g_eElemNames = new List<String>();
			g_eElemNames.Add("0");
			g_e=new UAVObjectField<float>("g_e", "m/s^2", g_eElemNames, null, this);
			fields.Add(g_e);

			List<String> SetElemNames = new List<String>();
			SetElemNames.Add("0");
			List<String> SetEnumOptions = new List<String>();
			SetEnumOptions.Add("FALSE");
			SetEnumOptions.Add("TRUE");
			Set=new UAVObjectField<SetUavEnum>("Set", "", SetElemNames, SetEnumOptions, this);
			fields.Add(Set);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public FlightBatteryState() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> VoltageElemNames = new List<String>();
			VoltageElemNames.Add("0");
			Voltage=new UAVObjectField<float>("Voltage", "V", VoltageElemNames, null, this);
			fields.Add(Voltage);

			List<String> CurrentElemNames = new List<String>();
			CurrentElemNames.Add("0");
			Current=new UAVObjectField<float>("Current", "A", CurrentElemNames, null, this);
			fields.Add(Current);

			List<String> BoardSupplyVoltageElemNames = new List<String>();
			BoardSupplyVoltageElemNames.Add("0");
			BoardSupplyVoltage=new UAVObjectField<float>("BoardSupplyVoltage", "V", BoardSupplyVoltageElemNames, null, this);
			fields.Add(BoardSupplyVoltage);

			List<String> PeakCurrentElemNames = new List<String>();
			PeakCurrentElemNames.Add("0");
			PeakCurrent=new UAVObjectField<float>("PeakCurrent", "A", PeakCurrentElemNames, null, this);
			fields.Add(PeakCurrent);

			List<String> AvgCurrentElemNames = new List<String>();
			AvgCurrentElemNames.Add("0");
			AvgCurrent=new UAVObjectField<float>("AvgCurrent", "A", AvgCurrentElemNames, null, this);
			fields.Add(AvgCurrent);

			List<String> ConsumedEnergyElemNames = new List<String>();
			ConsumedEnergyElemNames.Add("0");
			ConsumedEnergy=new UAVObjectField<float>("ConsumedEnergy", "mAh", ConsumedEnergyElemNames, null, this);
			fields.Add(ConsumedEnergy);

			List<String> EstimatedFlightTimeElemNames = new List<String>();
			EstimatedFlightTimeElemNames.Add("0");
			EstimatedFlightTime=new UAVObjectField<float>("EstimatedFlightTime", "sec", EstimatedFlightTimeElemNames, null, this);
			fields.Add(EstimatedFlightTime);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public AttitudeState() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> q1ElemNames = new List<String>();
			q1ElemNames.Add("0");
			q1=new UAVObjectField<float>("q1", "", q1ElemNames, null, this);
			fields.Add(q1);

			List<String> q2ElemNames = new List<String>();
			q2ElemNames.Add("0");
			q2=new UAVObjectField<float>("q2", "", q2ElemNames, null, this);
			fields.Add(q2);

			List<String> q3ElemNames = new List<String>();
			q3ElemNames.Add("0");
			q3=new UAVObjectField<float>("q3", "", q3ElemNames, null, this);
			fields.Add(q3);

			List<String> q4ElemNames = new List<String>();
			q4ElemNames.Add("0");
			q4=new UAVObjectField<float>("q4", "", q4ElemNames, null, this);
			fields.Add(q4);

			List<String> RollElemNames = new List<String>();
			RollElemNames.Add("0");
			Roll=new UAVObjectField<float>("Roll", "degrees", RollElemNames, null, this);
			fields.Add(Roll);

			List<String> PitchElemNames = new List<String>();
			PitchElemNames.Add("0");
			Pitch=new UAVObjectField<float>("Pitch", "degrees", PitchElemNames, null, this);
			fields.Add(Pitch);

			List<String> YawElemNames = new List<String>();
			YawElemNames.Add("0");
			Yaw=new UAVObjectField<float>("Yaw", "degrees", YawElemNames, null, this);
			fields.Add(Yaw);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public ObjectPersistence() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> ObjectIDElemNames = new List<String>();
			ObjectIDElemNames.Add("0");
			ObjectID=new UAVObjectField<UInt32>("ObjectID", "", ObjectIDElemNames, null, this);
			fields.Add(ObjectID);

			List<String> InstanceIDElemNames = new List<String>();
			InstanceIDElemNames.Add("0");
			InstanceID=new UAVObjectField<UInt32>("InstanceID", "", InstanceIDElemNames, null, this);
			fields.Add(InstanceID);

			List<String> OperationElemNames = new List<String>();
			OperationElemNames.Add("0");
			List<String> OperationEnumOptions = new List<String>();
			OperationEnumOptions.Add("NOP");
			OperationEnumOptions.Add("Load");
			OperationEnumOptions.Add("Save");
			OperationEnumOptions.Add("Delete");
			OperationEnumOptions.Add("FullErase");
			OperationEnumOptions.Add("Completed");
			OperationEnumOptions.Add("Error");
			Operation=new UAVObjectField<OperationUavEnum>("Operation", "", OperationElemNames, OperationEnumOptions, this);
			fields.Add(Operation);

			List<String> SelectionElemNames = new List<String>();
			SelectionElemNames.Add("0");
			List<String> SelectionEnumOptions = new List<String>();
			SelectionEnumOptions.Add("SingleObject");
			SelectionEnumOptions.Add("AllSettings");
			SelectionEnumOptions.Add("AllMetaObjects");
			SelectionEnumOptions.Add("AllObjects");
			Selection=new UAVObjectField<SelectionUavEnum>("Selection", "", SelectionElemNames, SelectionEnumOptions, this);
			fields.Add(Selection);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public Mpu6000Settings() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> GyroScaleElemNames = new List<String>();
			GyroScaleElemNames.Add("0");
			List<String> GyroScaleEnumOptions = new List<String>();
			GyroScaleEnumOptions.Add("Scale_250");
			GyroScaleEnumOptions.Add("Scale_500");
			GyroScaleEnumOptions.Add("Scale_1000");
			GyroScaleEnumOptions.Add("Scale_2000");
			GyroScale=new UAVObjectField<GyroScaleUavEnum>("GyroScale", "deg/s", GyroScaleElemNames, GyroScaleEnumOptions, this);
			fields.Add(GyroScale);

			List<String> AccelScaleElemNames = new List<String>();
			AccelScaleElemNames.Add("0");
			List<String> AccelScaleEnumOptions = new List<String>();
			AccelScaleEnumOptions.Add("Scale_2g");
			AccelScaleEnumOptions.Add("Scale_4g");
			AccelScaleEnumOptions.Add("Scale_8g");
			AccelScaleEnumOptions.Add("Scale_16g");
			AccelScale=new UAVObjectField<AccelScaleUavEnum>("AccelScale", "g", AccelScaleElemNames, AccelScaleEnumOptions, this);
			fields.Add(AccelScale);

			List<String> FilterSettingElemNames = new List<String>();
			FilterSettingElemNames.Add("0");
			List<String> FilterSettingEnumOptions = new List<String>();
			FilterSettingEnumOptions.Add("Lowpass_256_Hz");
			FilterSettingEnumOptions.Add("Lowpass_188_Hz");
			FilterSettingEnumOptions.Add("Lowpass_98_Hz");
			FilterSettingEnumOptions.Add("Lowpass_42_Hz");
			FilterSettingEnumOptions.Add("Lowpass_20_Hz");
			FilterSettingEnumOptions.Add("Lowpass_10_Hz");
			FilterSettingEnumOptions.Add("Lowpass_5_Hz");
			FilterSetting=new UAVObjectField<FilterSettingUavEnum>("FilterSetting", "Hz", FilterSettingElemNames, FilterSettingEnumOptions, this);
			fields.Add(FilterSetting);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public ActuatorCommand() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> ChannelElemNames = new List<String>();
			ChannelElemNames.Add("0");
			ChannelElemNames.Add("1");
			ChannelElemNames.Add("2");
			ChannelElemNames.Add("3");
			ChannelElemNames.Add("4");
			ChannelElemNames.Add("5");
			ChannelElemNames.Add("6");
			ChannelElemNames.Add("7");
			ChannelElemNames.Add("8");
			ChannelElemNames.Add("9");
			ChannelElemNames.Add("10");
			ChannelElemNames.Add("11");
			Channel=new UAVObjectField<Int16>("Channel", "us", ChannelElemNames, null, this);
			fields.Add(Channel);

			List<String> UpdateTimeElemNames = new List<String>();
			UpdateTimeElemNames.Add("0");
			UpdateTime=new UAVObjectField<UInt16>("UpdateTime", "ms", UpdateTimeElemNames, null, this);
			fields.Add(UpdateTime);

			List<String> MaxUpdateTimeElemNames = new List<String>();
			MaxUpdateTimeElemNames.Add("0");
			MaxUpdateTime=new UAVObjectField<UInt16>("MaxUpdateTime", "ms", MaxUpdateTimeElemNames, null, this);
			fields.Add(MaxUpdateTime);

			List<String> NumFailedUpdatesElemNames = new List<String>();
			NumFailedUpdatesElemNames.Add("0");
			NumFailedUpdates=new UAVObjectField<byte>("NumFailedUpdates", "", NumFailedUpdatesElemNames, null, this);
			fields.Add(NumFailedUpdates);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public ActuatorDesired() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> RollElemNames = new List<String>();
			RollElemNames.Add("0");
			Roll=new UAVObjectField<float>("Roll", "%", RollElemNames, null, this);
			fields.Add(Roll);

			List<String> PitchElemNames = new List<String>();
			PitchElemNames.Add("0");
			Pitch=new UAVObjectField<float>("Pitch", "%", PitchElemNames, null, this);
			fields.Add(Pitch);

			List<String> YawElemNames = new List<String>();
			YawElemNames.Add("0");
			Yaw=new UAVObjectField<float>("Yaw", "%", YawElemNames, null, this);
			fields.Add(Yaw);

			List<String> ThrottleElemNames = new List<String>();
			ThrottleElemNames.Add("0");
			Throttle=new UAVObjectField<float>("Throttle", "%", ThrottleElemNames, null, this);
			fields.Add(Throttle);

			List<String> UpdateTimeElemNames = new List<String>();
			UpdateTimeElemNames.Add("0");
			UpdateTime=new UAVObjectField<float>("UpdateTime", "ms", UpdateTimeElemNames, null, this);
			fields.Add(UpdateTime);

			List<String> NumLongUpdatesElemNames = new List<String>();
			NumLongUpdatesElemNames.Add("0");
			NumLongUpdates=new UAVObjectField<float>("NumLongUpdates", "ms", NumLongUpdatesElemNames, null, this);
			fields.Add(NumLongUpdates);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}
		public GPSTime() : base (OBJID, ISSINGLEINST, ISSETTINGS, NAME)
		{
			List<UAVObjectField> fields = new List<UAVObjectField>();

			List<String> YearElemNames = new List<String>();
			YearElemNames.Add("0");
			Year=new UAVObjectField<Int16>("Year", "", YearElemNames, null, this);
			fields.Add(Year);

			List<String> MonthElemNames = new List<String>();
			MonthElemNames.Add("0");
			Month=new UAVObjectField<sbyte>("Month", "", MonthElemNames, null, this);
			fields.Add(Month);

			List<String> DayElemNames = new List<String>();
			DayElemNames.Add("0");
			Day=new UAVObjectField<sbyte>("Day", "", DayElemNames, null, this);
			fields.Add(Day);

			List<String> HourElemNames = new List<String>();
			HourElemNames.Add("0");
			Hour=new UAVObjectField<sbyte>("Hour", "", HourElemNames, null, this);
			fields.Add(Hour);

			List<String> MinuteElemNames = new List<String>();
			MinuteElemNames.Add("0");
			Minute=new UAVObjectField<sbyte>("Minute", "", MinuteElemNames, null, this);
			fields.Add(Minute);

			List<String> SecondElemNames = new List<String>();
			SecondElemNames.Add("0");
			Second=new UAVObjectField<sbyte>("Second", "", SecondElemNames, null, this);
			fields.Add(Second);

	

			// Compute the number of bytes for this object
            NUMBYTES = fields.Sum(j => j.getNumBytes());
			
			// Initialize object
			initializeFields(fields, new ByteBuffer(NUMBYTES), NUMBYTES);
			// Set the default field values
			setDefaultFieldValues();
			// Set the object description
			setDescription(DESCRIPTION);
		}