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.

OcaClassAuthorityID

struct OcaClassAuthorityID

Class authority identifier. Identifies the authority for a class’s definition.

OcaUint16 Sentinel

Sentinel signifying an Authority ID

OcaUint8 Reserved

Reserved, must be zero.

OcaOrganizationID OrganizationID

Authority’s IEEE public Company ID (public CID) or IEEE Organizational Unique Identifier (OUI), or the value zero, which signifies the Authority of this AES70 standard.

OcaClassID

type 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..

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).

OcaUint32 Major

The major version number.

OcaUint32 Minor

The minor version number.

OcaUint32 Build

The build number. May be 0 if it is not used (e.g. for a hardware component).

OcaComponent Component

The component.

OcaEnumItem

type OcaEnumItem

The datatype of an enumeration choice.

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.

OcaClassVersionNumber

using OcaClassVersionNumber = OcaUint16

Class version number, ascending from 1.

OcaONo

using OcaONo = OcaUint32

Object number of an OCA object.

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.

OcaONo ONo

Object number of referenced object.

OcaNamePath

using OcaNamePath = OcaList<OcaString>

Role-name path from a containing block up to an object. If the containing block is the Root Block the path is an absolute path; if not, it is a relative path.

OcaONoPath

using OcaONoPath = OcaList<OcaONo>

ONo path from a containing block up to an object. If the containing block is the Root Block the path is an absolute path; if not, it is a relative path.

OcaObjectIdentification

struct OcaObjectIdentification

Object identification. Composite of object number and object’s class. Used mainly in discovery processes.

OcaONo ONo

Object number of referenced object.

OcaClassIdentification ClassIdentification

Class identification of referenced object.

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.

OcaUint16 DefLevel

Level in tree of class which defines this method (1=root)

OcaUint16 MethodIndex

Index of the method (in the class description).

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.

OcaUint16 DefLevel

Level in tree of class which defines this property (1=root)

OcaUint16 PropertyIndex

Index of the property (in the class description).

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.

OcaUint16 DefLevel

Level in tree of class which defines this event (1=root)

OcaUint16 EventIndex

Index of the event (in the class description).

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

OcaProperty

struct OcaProperty

Template for complete identification of an OCA property instance, including object number, property ID, Get and Set method IDs, and datatype.

OcaONo ONo

Object number

OcaPropertyDescriptor Descriptor

Property descriptor.

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

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.

OcaUint32 ID

ID of library volume type defined by given Authority. Value is unique within the given Authority.

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.

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 Values[6]

The coordinates

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<axis> 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.