Framework Datatypes
OcaOrganizationID
-
using OcaOrganizationID = OcaBlobFixedLen<3>
Globally unique identifier of an organization. Equal to the organization’s IEEE OUI or CID. Note that the IEEE defines the OUI space and the CID space as disjoint, the this OCA identifier is always completely unique.
OcaClassIDField
-
using OcaClassIDField = FieldType
Class identifier field. There is one of these for each level in the ClassID. The normative definition of the Class identifier is given in Part 1 of this standard, in the section entitled “Class identifiers”. The UML definition given here is intended to be identical, but in the case of any discrepancy, Part 1 shall be definitive.
OcaClassID
-
struct OcaClassID
Class identifier : vector that describes the class’s ancestry. The normative definition of the Class identifier is given in Part 1 of this standard, in the section entitled “Class identifiers”. The UML definition given here is intended to be identical, but in the case of any discrepancy, Part 1 shall be definitive..
-
OcaUint16 FieldCount
Identifies the number of fields of the ClassID, i.e. the level of the class tree the class is in. For example if this field count is 3, the ClassID is of the form ‘n.m.p’. The minimum field count is 1 (OcaRoot class). A field count of zero is invalid.
- OcaClassIDField[] Fields
Array of actual fields of the ClassID. The array has ‘FieldCount’ entries. If for example the field count is 3 and the Fields array has value {1, 2, 3} the ClassID is ‘1.2.3’.
-
OcaUint16 FieldCount
OCP.1 Encoding
Basic type |
Byte length |
---|---|
OcaClassID |
(2 + Count * 2 * variable) |
OcaVersion
-
struct OcaVersion
Representation of a version number of a (hardware/software) component of a device in the form of Major.Minor.Build (e.g. 1.0.123).
-
OcaComponent Component
The component.
-
OcaComponent Component
OCP.1 Encoding
Field |
Basic type |
Byte length |
---|---|---|
Major |
OcaUint32 |
4 |
Minor |
OcaUint32 |
4 |
Build |
OcaUint32 |
4 |
Component |
OcaEnumItem16 |
2 |
OcaEnumItem
-
type OcaEnumItem
The datatype of an enumeration choice.
OcaBitSet16
OcaEnumItem16
-
type OcaEnumItem16
The datatype of an enumeration choice. Long format, used if normal 8-bit format isn’t going to be big enough.
OcaClassIdentification
-
struct OcaClassIdentification
-
OcaClassID ClassID
-
OcaClassVersionNumber ClassVersion
Version number of the class.
-
OcaClassID ClassID
OCP.1 Encoding
Field |
Basic type |
Byte length |
---|---|---|
ClassID |
OcaClassID |
(2 + Count * 2 * variable) |
ClassVersion.Value |
OcaUint16 |
2 |
OcaClassVersionNumber
OcaONo
OcaOPath
-
struct OcaOPath
Object address. Composite of network address in which object resides, and object number.
-
OcaNetworkHostID HostID
Host ID of device that contains the referenced object.
-
OcaNetworkHostID HostID
OCP.1 Encoding
Field |
Basic type |
Byte length |
---|---|---|
HostID.Value.DataSize |
OcaUint16 |
2 |
HostID.Value.Data |
OcaUint8 |
1 * Count |
ONo.ONo |
OcaUint32 |
4 |
OcaNamePath
OcaONoPath
OcaObjectIdentification
-
struct OcaObjectIdentification
Object identification. Composite of object number and object’s class. Used mainly in discovery processes.
-
OcaClassIdentification ClassIdentification
Class identification of referenced object.
-
OcaClassIdentification ClassIdentification
OCP.1 Encoding
Field |
Basic type |
Byte length |
---|---|---|
ONo.ONo |
OcaUint32 |
4 |
ClassIdentification.ClassID |
OcaClassID |
(2 + Count * 2 * variable) |
ClassIdentification.ClassVersion.Value |
OcaUint16 |
2 |
OcaMethodID
-
struct OcaMethodID
Representation of an OCA method ID. A class may define at most 255 methods of its own. Additional methods may be inherited, so the total number may exceed 255.
OCP.1 Encoding
Field |
Basic type |
Byte length |
---|---|---|
DefLevel |
OcaUint16 |
2 |
MethodIndex |
OcaUint16 |
2 |
OcaPropertyID
-
struct OcaPropertyID
Representation of an OCA property ID. A class may define at most 255 properties of its own. Additional properties may be inherited, so the total number may exceed 255.
OCP.1 Encoding
Field |
Basic type |
Byte length |
---|---|---|
DefLevel |
OcaUint16 |
2 |
PropertyIndex |
OcaUint16 |
2 |
OcaEventID
-
struct OcaEventID
Representation of an OCA event ID. A class may define at most 255 events of its own. Additional events may be inherited, so the total number may exceed 255.
OCP.1 Encoding
Field |
Basic type |
Byte length |
---|---|---|
DefLevel |
OcaUint16 |
2 |
EventIndex |
OcaUint16 |
2 |
OcaPropertyDescriptor
-
struct OcaPropertyDescriptor
Description of an OCA property, including property ID, Get and Set method IDs, and datatype.
-
OcaPropertyID PropertyID
-
OcaBaseDataType BaseDataType
The base datatype of the property. Chosen from an enum datatype that represents the available set of basedatatypes .
-
OcaMethodID GetterMethodID
Method ID of GET method
-
OcaMethodID SetterMethodID
Method ID of SET method
-
OcaPropertyID PropertyID
OCP.1 Encoding
Field |
Basic type |
Byte length |
---|---|---|
PropertyID.DefLevel |
OcaUint16 |
2 |
PropertyID.PropertyIndex |
OcaUint16 |
2 |
BaseDataType |
OcaEnumItem |
1 |
GetterMethodID.DefLevel |
OcaUint16 |
2 |
GetterMethodID.MethodIndex |
OcaUint16 |
2 |
SetterMethodID.DefLevel |
OcaUint16 |
2 |
SetterMethodID.MethodIndex |
OcaUint16 |
2 |
OcaProperty
-
struct OcaProperty
Template for complete identification of an OCA property instance, including object number, property ID, Get and Set method IDs, and datatype.
-
OcaPropertyDescriptor Descriptor
Property descriptor.
-
OcaPropertyDescriptor Descriptor
OCP.1 Encoding
Field |
Basic type |
Byte length |
---|---|---|
ONo.ONo |
OcaUint32 |
4 |
Descriptor.PropertyID.DefLevel |
OcaUint16 |
2 |
Descriptor.PropertyID.PropertyIndex |
OcaUint16 |
2 |
Descriptor.BaseDataType |
OcaEnumItem |
1 |
Descriptor.GetterMethodID.DefLevel |
OcaUint16 |
2 |
Descriptor.GetterMethodID.MethodIndex |
OcaUint16 |
2 |
Descriptor.SetterMethodID.DefLevel |
OcaUint16 |
2 |
Descriptor.SetterMethodID.MethodIndex |
OcaUint16 |
2 |
OcaStatus
-
enum OcaStatus : uint8_t
Standard status codes returned from method calls.
-
enumerator OK = 0
-
enumerator ProtocolVersionError = 1
-
enumerator DeviceError = 2
-
enumerator Locked = 3
-
enumerator BadFormat = 4
-
enumerator BadONo = 5
-
enumerator ParameterError = 6
-
enumerator ParameterOutOfRange = 7
-
enumerator NotImplemented = 8
-
enumerator InvalidRequest = 9
-
enumerator ProcessingFailed = 10
-
enumerator BadMethod = 11
-
enumerator PartiallySucceeded = 12
-
enumerator Timeout = 13
-
enumerator BufferOverflow = 14
-
enumerator OK = 0
OcaGlobalTypeIdentifier
-
struct OcaGlobalTypeIdentifier
Globally unique identifier of something that belongs to an organization.
-
OcaOrganizationID Authority
Unique identifier of organization that has authority over this reusable block type. A zero value indicates a global type defined by the AES70 standard itself.
-
OcaOrganizationID Authority
OCP.1 Encoding
Field |
Basic type |
Byte length |
---|---|---|
Authority.Value |
OcaBlobFixedLen<3> |
3 |
ID |
OcaUint32 |
4 |
OcaParameterMask
-
using OcaParameterMask = OcaBitSet16
Bitset to indicate which method parameters contain valid data. The position of a bit in the bitset shall correspond to the ordinal position of the respective parameter of the method in question.
OcaStringComparisonType
-
enum OcaStringComparisonType : uint8_t
Type of string comparison.
-
enumerator Exact = 0
Exact comparison, Case-sensitive.
-
enumerator Substring = 1
Match all strings whose initial substrings equal the given key. Case-sensitive.
-
enumerator Contains = 2
Match all strings that contain the given key. Case-sensitive.
-
enumerator ExactCaseInsensitive = 3
Exact comparison. Case-insensitive.
-
enumerator SubstringCaseInsensitive = 4
Match all strings whose initial substrings equal the given key. Case-insensitive.
-
enumerator ContainsCaseInsensitive = 5
Match all strings that contain the given key. Case-insensitive.
-
enumerator Exact = 0
OcaPositionDescriptorFieldFlags
-
using OcaPositionDescriptorFieldFlags = OcaBitSet16
BItset that specifies which fields in OcaPositionAndOrientation are used. A “1” value signifies that the corresponding OcaPositionAndOrientation field is used.
OcaPositionDescriptor
-
struct OcaPositionDescriptor
A six-axis c1,c2,c3,c4,c5,c6) coordinate. For mechanical systems, these axes shall be interpreted as follows:
c1 = X; axial (fore-and-aft) position
c2 = Y; lateral (side-to-side) position
c3 = Z; vertical position
c4 = rX; rotation around the X-axis, also known as Roll
c5 = rY; rotation around the Y-axis, also known as Pitch
c6 = rZ; rotation around the Z-axis. also known as Yaw
Rotation angles are measured according to the right-hand rule: if the right hand “holds” an axis with the thumb pointing in the direction of ascending coordinate values, then the fingers point in the direction of ascending angle values. For GPS systems, these axes shall be interpreted as follows:
c1 = longitude
c2 = latitude
c3 = altitude
c4 : not used
c5 : not used
c6 : not used
-
OcaPositionCoordinateSystem CoordinateSystem
Type of position coordinate system - see AES70-1, section 5.5.9.
-
OcaPositionDescriptorFieldFlags FieldFlags
Which fields of the Values[] array contain valid values.
- OcaFloat32[6] Values
The coordinates
OCP.1 Encoding
Field |
Basic type |
Byte length |
---|---|---|
CoordinateSystem |
OcaEnumItem |
1 |
FieldFlags.Value |
OcaBitSet16 |
2 |
Values[0] |
OcaFloat32 |
4 |
Values[1] |
OcaFloat32 |
4 |
Values[2] |
OcaFloat32 |
4 |
Values[3] |
OcaFloat32 |
4 |
Values[4] |
OcaFloat32 |
4 |
Values[5] |
OcaFloat32 |
4 |
OcaPositionCoordinateSystem
-
enum OcaPositionCoordinateSystem : uint8_t
Enumeration that designates the type of position coordinate system used. For details, see the AES70-1 description of the OcaPhysicalPosition class.
-
enumerator Robotic = 1
Six-axis robotic coordinates: {X, Y, Z, rX, rY, rZ} . r:raw:html:<`axis:raw:html:`> is anticlockwise rotation around the given axis - X, Y, or Z. For details, see AES70-1, section 5.5.9.
-
enumerator ItuAudioObjectBasedPolar = 2
Object-based audio, polar version, per section 8 of the ITU radio Audio Definition Model defined in ITU-R BS.2076-1. For details, see the ITU standard and AES70-1, section 5.5.9.
Azimuth is angle in the horizontal plane with 0 degrees as straight ahead, and positive angles to the left (or anti-clockwise) when viewed from above.
Elevation is angle in the vertical plane with 0 degrees horizontally ahead, and positive angles going up.
-
enumerator ItuAudioObjectBasedCartesian = 3
Object-based audio, Cartesian version, per section 8 of the ITU radio Audio Definition Model defined in ITU-R BS.2076-1. For details, see the ITU standard and AES70-1, section 5.5.9.
-
enumerator ItuAudioSceneBasedPolar = 4
Scene-based audio, polar version, per section 8 of the ITU radio Audio Definition Model defined in ITU-R BS.2076-1. For details, see the ITU standard and AES70-1, section 5.5.9.
-
enumerator ItuAudioSceneBasedCartesian = 5
Scene-based audio, Cartesian version, per section 8 of the ITU radio Audio Definition Model defined in ITU-R BS.2076-1. For details, see the ITU standard and AES70-1, section 5.5.9.
-
enumerator NAV = 6
Terrestrial navigation format: {Longitude, Latitude, Altitude}.
-
enumerator ProprietaryBase = 128
Base value for proprietary extensions. Proprietary extensions shall be numbered starting from this value.
-
enumerator Robotic = 1