// Copyright (c) 2010, Peter Smith
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// Redistributions of source code must retain the above copyright notice, this list
// of conditions and the following disclaimer.
//
// Redistributions in binary form must reproduce the above copyright notice, this
// list of conditions and the following disclaimer in the documentation and/or
// other materials provided with the distribution.
//
// Neither the name of the Author nor the names of its contributors may be used to
// endorse or promote products derived from this software without specific prior
// written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
// OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DISnet.Enumerations;
using System.Xml.Serialization;
namespace DIS1998net
{
public partial class SignalPdu : RadioCommunicationsFamilyPdu
{
/// <summary>
/// Radio Encoding Classes (bits 15 and 14)
/// Field Value (bits 15, 14) Radio Signal Encoding Class
/// 0 (0,0) Encoded audio
/// 1 (0,1) Raw Binary Data
/// 2 (1,0) Application-Specific Data
/// 3 (1,1) Database index
/// </summary>
[XmlElement(Type = typeof(SignalPDUEnumerations.RadioSignalEncodingClassEnum), ElementName = "RadioSignalEncodingClass")]
public SignalPDUEnumerations.RadioSignalEncodingClassEnum RadioSignalEncodingClass
{
get
{
return (SignalPDUEnumerations.RadioSignalEncodingClassEnum)System.Convert.ToUInt16(this._encodingScheme >> 14);
}
set
{
uint highBits = (uint)value;
uint tempEncodingScheme = _encodingScheme;
highBits = highBits << 14;
tempEncodingScheme = tempEncodingScheme & 0x3FFF;
this._encodingScheme = System.Convert.ToUInt16(highBits | tempEncodingScheme);
}
}
/// <summary>
/// Radio Signal Encoding Type (bits 13-0)
/// 1 8-bit mu-law
/// 2 CVSD per MIL-STD-188-113
/// 3 ADPCM per CCITT G.721
/// 4 16-bit linear PCM
/// 5 8-bit linear PCM
/// 6 VQ (Vector Quantization)
/// </summary>
[XmlElement(Type = typeof(SignalPDUEnumerations.RadioSignalEncodingTypeEnum), ElementName = "RadioSignalEncodingType")]
public SignalPDUEnumerations.RadioSignalEncodingTypeEnum RadioSignalEncodingType
{
get
{
uint highBits = this._encodingScheme;
highBits = highBits & 0x3FFF;
return (SignalPDUEnumerations.RadioSignalEncodingTypeEnum)System.Convert.ToUInt16(highBits);
}
set
{
uint highBits = (uint)value;
uint tempEncodingScheme = _encodingScheme;
tempEncodingScheme = tempEncodingScheme & 0xC000;
this._encodingScheme = System.Convert.ToUInt16(highBits | tempEncodingScheme);
}
}
}
}