Zum Inhalt springen
Progress Bar
58%

This parameter is used to retrieve custom information of your fixture and enable a custom app menu tailored to your device. All custom information will be uploaded to the VISION SERVER and is also accessible there.

Data TypeDS_UNSIGNED_BYTEPDL SizeVariable (See Protocolversion)
Cmd ClassCC_GETUnitUNITS_NONE
PrefixPREFIX_NONEDefault0x00
Min0x00Max0xFF
Description„VISION DATA“

GET Command 0xA001

Controller Incoming Command:

(Port ID)(Msg. Count)(Sub-Device)
0x01-0xFF0x000x0000 (Root) or 0x0001-0x0200
(CC)(PID)(PDL)
GET_COMMANDVISION DATA (0xA001)0x00
(PD)
Packet Index (8-bit)

Controller Response:

(Response Type)(Msg. Count)(Sub-Device)
ACK0x00-0xFFCopy of Controller SD
(CC)(PID)(PDL)
GET_COMMAND_RESPONSEVISION DATA (0xA000)Variable (See Protocolversion)
(PD)
Data Stream

Data Streams:

DataTypeNameDescriptionValue Definitions
uint8_tProtocol VersionDescribes Protocol Version1: Version 1
uint8_tPacketIndexPacket Index
uint8_tMore DataFlag to indicate that there is more dataIf Flag is greater than 0 it indicates there are more Data packets available
uint8_t[140]DataData arrayIt follows the Data scheme from the Config below.

SET Command 0xA001

Controller Incoming Command:

(Port ID)(Msg. Count)(Sub-Device)
0x01-0xFF0x000x0000 (Root) or 0x0001-0x0200
(CC)(PID)(PDL)
SET_COMMANDVISION DATA (0xA001)Variable
(PD)
Settings Stream

Settings Stream:

DataTypeNameDescriptionValue Definitions
uint8_tProtocol VersionDescribes Protocol Version1: Version 1
uint8_tData IdId from data variable to be changed
uint8_t[140]DataUp to 140 bytes of dataFormat depends on data type.

Controller Response:

(Response Type)(Msg. Count)(Sub-Device)
ACK0x00-0xFFCopy of Controller SD
(CC)(PID)(PDL)
SET_COMMAND_RESPONSEVision DATA (0xA001)1
(PD)
uint8_t Status | 0 = OK, 1= Unknown Command, 2 = Error executing Command, 3 = Unsupported Command

Data Array scheme

The data array can contain any custom data. To encode the data there have to be defined in the fixtures config.

The datastream has the following structure: The whole DATA block contains multiple DATA items. The bytes of the DATA items will be added sequencially to the data stream.

A Data item is defined the following attributes:

  • Id (Int32): Unique Id that defines an attribute. Do not change this if you want to compare values from different configurations in database!
  • Name (String): Attribute name, that will be shown in the App Interface or in the database!
  • DataType (Enum – IQCustomDataValueType): Describes the Value Type like bool or integer
  • DataUnit (String): Unit that will be shown in App Interface or Server
  • DataSize (int ): Required for some datatypes. Example: string
  • DataDefinition (List of Tuple (int,string)): Optional and used for decoding in App Interface or Server: Example: Colormixing Mode (byte): 0 – RGB, 1 – RGBL. Be aware this values are used when user can set the variable and if DataDefinition is not null only these values can be chosen.
  • DataMin (Int64): Defines values minimum for App Interface Optional
  • DataMax (Int64): Defines values maximum for App Interface Optional
  • InterfacePath (string): Defines interface Structure and should use following format -> eg: MainMenu: „“; MainMenu->MenuPoint1 „MenuPoint1“; MainMenu->MenuPoint1->MenuPoint2 : „MenuPoint1/MenuPoint2“
  • Internal (bool): Defines if the attribute should be visible for every user or just with an company account. Overrides Adjustable if set
  • Adjustable (bool) Defines if the attribute should be changeable for users. Overrides Internal if set
  • AdjustableInternal (bool) Defines if the attribute should be changeable for users with an company account
  • Patch (bool) Defines if attribute should be shown int the NFC Patching. Adjustable is required.

The following data types are supported (IQCustomDataValueType):

  • 0: Bool (Size 1 byte)
  • 1:Byte (Size 1 byte)
  • 2:Short (Size 2 byte)
  • 3:UShort (Size 2 byte)
  • 4:Int32 (Size 4 byte)
  • 5:UInt32 (Size 4 byte)
  • 6:Int64 (Size 8 byte)
  • 7:UInt64 (Size 8 byte)
  • 8:Float (Size 4 byte)
  • 9:Double (Size 8 byte)
  • 10:String ASCII (Data length required)
  • 11:ByteArray (Data length required)
  • 12:ShortArray (Data length required)
  • 13:UShortArray (Data length required)
  • 14:Int32Array (Data length required)
  • 15:UInt32Array (Data length required)
  • 16:Int64Array (Data length required)
  • 17:UInt64Array (Data length required)
  • 18:FloatArray (Data length required)
  • 19:DoubleArray (Data length required)

The resulting config can be uploaded as a json config to the server. A Config should inherit a List of DataItems and look like this:

Example Config:

[
  {
    "Id": "1",
    "Name": "Color Mix Mode",
    "DataType": "1",
    "DataUnit": "",
    "DataDefinitions":
    [ 
      {
        "Value": "0",
        "Definition": "RGB",
      },
      {
        "Value": "1",
        "Definition": "RGBL",
      }
    ]
    "InterfacePath": "MenuPoint 1",
    "Internal": "False",
    "Adjustable": "True",
    "AdjustableInternal": "True",
  }
]

Example Pseudo Data Structure:

DATA 1: Name: „Data 1″ DataType=“Byte“ Value=“100″

DATA 2: Name: „Data 2″ DataType=“Ushort“ Value=“10000″

DATA 3: Name: „Data 3″ DataType=“String“ Value=“Test“ DataLength = 4

DATA 1 | DATA 2 | DATA 3 | ….

Example Data Stream:

DATA Stream -> 0x64,0x27,0x10,0x54,0x65,0x73,0x74,…