Tuner4Tronic Programming API

Note Note

Please note: All information in this guide has been prepared with great care. OSRAM, however, does not accept liability for possible errors, changes and/or omissions. Please check www.osram.com or contact your sales partner for an updated copy of this guide. This technical application guide is for information purposes only and aims to support you in tackling the challenges and taking full advantage of all opportunities the technology has to offer. Please note that this guide is based on own measurements, tests, specific parameters and assumptions. Individual applications may not be covered and need different handling. Responsibility and testing obligations remain with the luminaire manufacturer/OEM/application planner.

This document describes the API of Tuner4TRONIC DLL (T4T-DLL) version 4.x. T4T-DLL provides the following features:

  • Programming of OSRAM ECGs using luminaire production files (with extention .osrtup)
  • Readback of OSRAM ECGs and saving data to a raw data file (.osrtur)
  • Reading of driver information from an OSRAM ECG in order to identify it.
  • Reading of luminaire GTIN from an OSRAM ECG
  • Other features.

It is intended for customers whose luminaire production software is a .NET application so that the user references the T4T-DLL in his application and can then call the entry points of T4T-DLL. Other types of production software such as LabView VIs, Java applications, python scripts may also work with T4T-DLL. However T4T-DLL was tested only with .NET applications. Please contact OSRAM Tuner4TRONIC support (T4Tsupport@osram.com) to support you integrating T4T-DLL into your luminaire production software. T4T-CMD is based on T4T-DLL. It´s an example of a .NET application that uses T4T-DLL.

T4T-DLL supports the following programming interfaces:
  • OSRAM DALI Magic
  • FEIG NFC reader ISC.PRH101
  • FEIG NFC reader CPR30
  • FEIG NFC reader ISC.MR102
  • FEIG NFC reader ISC.LR1002
  • FEIG ECCO Smart HF.BLE
  • OSRAM OT Programmer (COM Box)

Send comments on this topic to T4Tsupport@osram.com


Installation

As installation requirement the .Net Framework 4.6 must be installed on the PC running the application using the T4T-DLL.

Since version 4.x T4T-DLL is directly included in the installation of Tuner4TRONIC Production, the binary ProgrammingAPI.dll can be found in the installation directory of T4T-P 4.x (C:\Program Files (x86)\Tuner4TRONIC 4). Please check Tuner4TRONIC Tool chain to download the Tuner4TRONIC Production 4 installer.exe.


APISpecification

The DLL file is ProgrammingAPI.dll. Add a reference to that file in the application that shall use T4T-DLL. The namespace that is exposed is ProgrammingAPI. It contains several classes. The most important one is the ProgrammingAPI-Class which provides the methods for loading a production file, programming an ECG, reading back an ECG as well as other methods.

Please find below the generated software documentation. An example of a .NET command line application using the T4T-DLL is provided at the end of the document.


ProgrammingAPI Namespace

Classes
 | Class | Description
Public class | ApplicationConstants | This class provides the return codes of ProgrammingAPI
Public class | DeviceInfoReceivedEventArgs |
Public class | DriverInfo | Describes the driver information which consists of its GTIN, FW and HW major versions and its serial number provided as strings (DALI and NFC drivers). For OT drivers (with OT programmer interface) the ModelID is provided instead of the GTIN. FW, HW versions and the serial number are not available for these drivers.
Public class | Helper | This class provides the programming interface type
Public class | ParameterStatusEventArgs |
Public class | ProgrammingAPI | This class provides the methods for loading a production file, programming an ECG, reading back an ECG as well as other methods.
Public class | ProgrammingStatusEventArgs | Represents the data provided by Programming Status Event which can be either a programming status, a reading status or an error code.
Public class | ReadbackFileAvailableEventArgs | Represents the data provided by Readback file available-event
Public class | ValueEventArgs | Represents the progress value of ECG programming or ECG readback in percentage as int and string
Structures
 | Structure | Description
Public structure | ECGInfo |
Public structure | LuminaireConfigurationInfo | Describes the Luminaire Configuration Information.
Delegates
 | Delegate | Description
Public delegate | WriteCompleteCallback | Callback method that shall be triggered once the programming is completed.
Enumerations
 | Enumeration | Description
Public enumeration | ApplicationConstantsParameterType | Type of parameters that can be modified using WriteParameter function.
Public enumeration | ApplicationConstantsProgInterfaceType |
Public enumeration | ApplicationConstantsReturnCode | Return Codes of ProgrammingAPI
Public enumeration | HelperInterfaceType | Programming interface type
Public enumeration | ProgrammingAPIUpdateCheckEnum | Possible results when checking for updates.


ApplicationConstants Class

This class provides the return codes of ProgrammingAPI
Inheritance Hierarchy
SystemObject
ProgrammingAPIApplicationConstants

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public class ApplicationConstants

The ApplicationConstants type exposes the following members.

Constructors
 | Name | Description
Public method | ApplicationConstants | Initializes a new instance of the ApplicationConstants class
Top
See Also

Reference

ProgrammingAPI Namespace


ApplicationConstants Constructor

Initializes a new instance of the ApplicationConstants class

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public ApplicationConstants()
See Also

Reference

ApplicationConstants Class


ApplicationConstants.ParameterType Enumeration

Tuner4Tronic Programming API 4.4.1.124

ApplicationConstantsParameterType Enumeration

Type of parameters that can be modified using WriteParameter function.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public enum ParameterType
Members
Member name | Value | Description
GTIN | 0 |
IdentificationNumber | 1 |
ContentFormatVersion | 2 |
VendorSpecificContent | 3 |
Remarks
This enum is deprechated and must not be used in new design.
See Also

Reference

ProgrammingAPI Namespace
Send comments on this topic to T4Tsupport@osram.com


ApplicationConstants.ProgInterfaceType Enumeration

ApplicationConstantsProgInterfaceType Enumeration

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public enum ProgInterfaceType
Members
Member name | Value | Description
Unknown | 0 |
DALI | 1 |
OSRSER | 2 |
NFC | 4 |
NFC_CPR | 12 |
NFC_PRH | 20 |
NFC_MR | 36 |
DALI2 | 128 |
NFC2 | 64 |
NFC3 | 63 |
NFC_LR1002 | 66 |
See Also

Reference

ProgrammingAPI Namespace
Send comments on this topic to T4Tsupport@osram.com


ApplicationConstants.ReturnCode Enumeration

ApplicationConstantsReturnCode Enumeration

Return Codes of ProgrammingAPI

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public enum ReturnCode
Members
Member name | Value | Description
Success | 0 | The success
GeneralApplicationError | 1 | An unspecified application error has occurred
TrialPeriodExpired | 2 | Indicates that the beta trial version of the DLL has expired. No further usage of this version is possible.
ParamFile_NotReadable | 101 | The Luminaire Production File doesn’t exist at given path or the file cannot be opened.
ParamFile_Invalid | 102 | Invalid Luminaire Production File. This can be a wrong extension, wrong (future) version, or no production file at all.
ParamFile_OldVersion | 103 | A production file of an old T4T version was provided.
ParamFile_IsReadOnly | 104 | Returns if the file is read only.
ParamFile_UpgradeFailed | 105 | Returns if the file upgrade is failed.
PI_NoneFound | 200 | No Programming Interface was found.
PI_FWVersionUnsupported | 201 | The FW version of the Programming Interface is not supported (e.g. DALI Magic with FW 2.18).
PI_WrongTypeFound | 202 | The found PI does not match the Luminaire configuration.
PI_TooManyFound | 203 | There is more than one PI of the required type connected. Hence the T4T-DLL cannot decide which one to use.
PI_Overloaded | 204 | Too many ECG connected to Dali Magic or a DALI shortcut was detected.
PI_CommunicationError | 205 | A communication error with the PI occurred. Maybe the PI was disconnected to the USB port.
PI_PowerOnProgrammingInterfaceIsFailed | 206 | Power on programming interface is failed.
NoECGConnected | 300 | No response was received. Either No ECG is connected or ECGs are not powered.
MoreThanOneECGConnected | 301 | Single ECG configuration was selected but there is more than one ECG connected.
TooManyECGsConnected | 302 | More ECGs than allowed/required for the luminaire configuration are connected.
WrongECGTypeOrVersionConnected | 303 | One or more ECGs don’t match the type or FW/HW version included in the Production File. Check the IC/NAED code of the connected ECGs.
ECGProtected | 304 | One Or more ECG is write-protected with an OEM Code but no OEM code was provided in the production file.
InvalidPassword | 305 | The ECG is locked with a different OEM Code than provided in the production file.
InvalidPasswordTimelocked | 306 | The ECG was locked with different password and due to using a wrong password is now time-locked. After first such event external SW needs to wait 5s before next programming attempt can be made.
InconsistentPasswords | 307 | The system level or user level password in the device do not match the provided unlock password.
ECGCommunicationFailure | 308 | The ECG provided no or an unexpected response.
DaliShotcutOccured | 309 | Programming was terminated due to a DALI shortcut.
LuminaireWrongConnection | 310 | The 2DIM device wiring connection is wrong
VerificationFailed | 311 | Verification of programming failed.
ProgrammingAborted | 312 | The programming was aborted by method "abort".
LuminaireConfigurationNotMatching | 313 | Single ECG or No ECG connected
NotSupportedForMultiPF | 400 | This function call is not supported when the loaded production file contains more than one ECG
ParameterNotSupported | 401 | The selected parameter is not supported by the ECG.
ParameterClipped | 402 | The value that was used to program the parameter that was out of range and clipped to the allowed range.
DeviceDetectionStarted | 1000 | The programming procedure was started and the first step (device detection procedure) will be started.
DALIAdressingStarted | 1001 | The DALI Addressing Procedure was started.
PreprocessingStarted | 1002 | The DALI Addressing Procedure was started.
ProgrammingStarted | 1003 | The ECG configuration was checked found ok and programming will be started.
PostProcessingStarted | 1004 | The DALI Addressing Procedure was started.
VerificationStarted | 1005 | The programming was completed and verification will be started.
ModeSettingStarted | 1006 | The programming and verification was completed successfully and Mode setting will be started
ProgrammingFailed | 1007 | The programming procedure was terminated unsuccessful.
ProgrammingBatchSizeReached | 1008 | The Max Batch size in workflow is reached
ReadFailed | 1009 | The read operation failed.
ReadingCanceledByUser | 1011 | ECG reading process was canceled by user.
ReadingWaitingForOneEcg | 1012 | ECG reading started, waiting for ECG detection.
ReadingInProgress | 1013 | ECG reading is in progress.
ReadingDone | 1014 | ECG reading completed.
NFCECGPowerIsON | 314 | The ecg power is on
ConnectedLuminaireCountExceedsBatchSize | 315 | The connected luminaire count exceeds luminaire batch size
ECGIsProgrammedAlready | 316 | The ecg is programmed already
MapLuminaireConfigurationFailed | 317 | The Map configuration is failed when programming ECG.
ProgrammingFailedDueToMisMatchInRFPassword | 318 | The Programming failed due to mismatch in RF password.
NoMatchingDDFilesFoundWithGTIN | 319 | No matching ECG found with the specified GTIN.
NoMatchingDDFilesFoundWithFWVersion | 320 | Found device with valid GTIN but invalid Firmware version.
NoMatchingDDFilesFoundWithHWVersion | 321 | Found device with valid GTIN but invalid Hardware version.
NoMatchingDDFilesFoundWithFWHWVersion | 322 | Found device with valid GTIN but invalid Firmware version and Hardware version.
ErrorInDeviceDataBase | 323 | No matching ECG details of the connected ECG found in devices.xml.
IllegalHexStringValue | 324 | The input does not match the Hex string values
PasswordsNotMatchingEcgs | 325 | The ECGs in the box have different unlock passwords
DifferentEcgsInTheBox | 326 | The ECGs in the box have different type, FW rev or HW rev
See Also

Reference

ProgrammingAPI Namespace
Send comments on this topic to T4Tsupport@osram.com


DeviceInfoReceivedEventArgs Class

Inheritance Hierarchy
SystemObject
SystemEventArgs
ProgrammingAPIDeviceInfoReceivedEventArgs

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public class DeviceInfoReceivedEventArgs : EventArgs

The DeviceInfoReceivedEventArgs type exposes the following members.

Constructors
 | Name | Description
Public method | DeviceInfoReceivedEventArgs | Initializes a new instance of the DeviceInfoReceivedEventArgs class
Top
Properties
 | Name | Description
Public property | Value |
Top
Methods
 | Name | Description
Public method | ToString | (Overrides ObjectToString.)
Top
See Also

Reference

ProgrammingAPI Namespace
Send comments on this topic to T4Tsupport@osram.com


DeviceInfoReceivedEventArgs Constructor

Initializes a new instance of the DeviceInfoReceivedEventArgs class

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public DeviceInfoReceivedEventArgs(
    List<ECGInfo> ecgs
)

Parameters

ecgs
Type: System.Collections.GenericList ECGInfo
See Also

Reference

DeviceInfoReceivedEventArgs Class


DeviceInfoReceivedEventArgs Properties

The DeviceInfoReceivedEventArgs type exposes the following members.

Properties
 | Name | Description
Public property | Value |
Top
See Also

Reference

DeviceInfoReceivedEventArgs Class


DeviceInfoReceivedEventArgs.Value Property

DeviceInfoReceivedEventArgsValue Property

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public List<ECGInfo> Value { get; set; }

Property Value

Type: List ECGInfo
See Also

Reference

DeviceInfoReceivedEventArgs Class


DeviceInfoReceivedEventArgs Methods

The DeviceInfoReceivedEventArgs type exposes the following members.

Methods
 | Name | Description
Public method | ToString | (Overrides ObjectToString.)
Top
See Also

Reference

DeviceInfoReceivedEventArgs Class


DeviceInfoReceivedEventArgs.ToString Method

DeviceInfoReceivedEventArgsToString Method

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public override string ToString()

Return Value

Type: String
See Also

Reference

DeviceInfoReceivedEventArgs Class


DriverInfo Class

Describes the driver information which consists of its GTIN, FW and HW major versions and its serial number provided as strings (DALI and NFC drivers). For OT drivers (with OT programmer interface) the ModelID is provided instead of the GTIN. FW, HW versions and the serial number are not available for these drivers.
Inheritance Hierarchy
SystemObject
ProgrammingAPIDriverInfo

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public class DriverInfo

The DriverInfo type exposes the following members.

Constructors
 | Name | Description
Public method | DriverInfo(String) | Constructor
Public method | DriverInfo(String, String, String, String) | Constructor
Top
Methods
 | Name | Description
Public method | ToString | Returns a string containing all the driver information (Overrides ObjectToString.)
Top
Fields
 | Name | Description
Public field | FWVersion | FW major version as string
Public field | Gtin | GTIN (or for OT drivers ModelID) as string
Public field | HWVersion | HW major version as string
Public field | SerialNumber | Serial number as string
Top
See Also

Reference

ProgrammingAPI Namespace
Send comments on this topic to T4Tsupport@osram.com


DriverInfo Constructor

Overload List
 | Name | Description
Public method | DriverInfo(String) | Constructor
Public method | DriverInfo(String, String, String, String) | Constructor
Top
See Also

Reference

DriverInfo Class


DriverInfo Constructor (String)

Constructor

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public DriverInfo(
    string modelID
)

Parameters

modelID
Type: SystemString
ModelID of the OT driver as string
See Also

Reference

DriverInfo Class
DriverInfo Overload


DriverInfo Constructor (String, String, String, String)

Constructor

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public DriverInfo(
    string gtin,
    string fw,
    string hw,
    string sn
)

Parameters

gtin
Type: SystemString
GTIN as string
fw
Type: SystemString
FW major version as string
hw
Type: SystemString
HW major version as string
sn
Type: SystemString
Serial number as string
See Also

Reference

DriverInfo Class
DriverInfo Overload


DriverInfo Methods

The DriverInfo type exposes the following members.

Methods
 | Name | Description
Public method | ToString | Returns a string containing all the driver information (Overrides ObjectToString.)
Top
See Also

Reference

DriverInfo Class


DriverInfo.ToString Method

DriverInfoToString Method

Returns a string containing all the driver information

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public override string ToString()

Return Value

Type: String
String containing all the driver information
See Also

Reference

DriverInfo Class


DriverInfo Fields

The DriverInfo type exposes the following members.

Fields
 | Name | Description
Public field | FWVersion | FW major version as string
Public field | Gtin | GTIN (or for OT drivers ModelID) as string
Public field | HWVersion | HW major version as string
Public field | SerialNumber | Serial number as string
Top
See Also

Reference

DriverInfo Class


DriverInfo.FWVersion Field

DriverInfoFWVersion Field

FW major version as string

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public string FWVersion

Field Value

Type: String
Driver´s FW major version
See Also

Reference

DriverInfo Class


DriverInfo.Gtin Field

DriverInfoGtin Field

GTIN (or for OT drivers ModelID) as string

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public string Gtin

Field Value

Type: String
Driver´s GTIN
See Also

Reference

DriverInfo Class


DriverInfo.HWVersion Field

DriverInfoHWVersion Field

HW major version as string

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public string HWVersion

Field Value

Type: String
Driver´s HW major version
See Also

Reference

DriverInfo Class


DriverInfo.SerialNumber Field

DriverInfoSerialNumber Field

Serial number as string

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public string SerialNumber

Field Value

Type: String
Driver´s serial number
See Also

Reference

DriverInfo Class


ECGInfo Structure

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public struct ECGInfo

The ECGInfo type exposes the following members.

Properties
 | Name | Description
Public property | GTIN |
Public property | ModelID |
Public property | SerialNumber |
Public property | ShortAddress |
Top
See Also

Reference

ProgrammingAPI Namespace
Send comments on this topic to T4Tsupport@osram.com


ECGInfo Properties

The ECGInfo type exposes the following members.

Properties
 | Name | Description
Public property | GTIN |
Public property | ModelID |
Public property | SerialNumber |
Public property | ShortAddress |
Top
See Also

Reference

ECGInfo Structure


ECGInfo.GTIN Property

ECGInfoGTIN Property

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public ulong GTIN {
    get;
 set; }

Property Value

Type: UInt64
See Also

Reference

ECGInfo Structure


ECGInfo.ModelID Property

ECGInfoModelID Property

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public int ModelID {
    get;
 set; }

Property Value

Type: Int32
See Also

Reference

ECGInfo Structure


ECGInfo.SerialNumber Property

ECGInfoSerialNumber Property

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public ulong SerialNumber {
    get;
 set; }

Property Value

Type: UInt64
See Also

Reference

ECGInfo Structure


ECGInfo.ShortAddress Property

ECGInfoShortAddress Property

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public byte ShortAddress {
    get;
 set; }

Property Value

Type: Byte
See Also

Reference

ECGInfo Structure


Helper Class

This class provides the programming interface type
Inheritance Hierarchy
SystemObject
ProgrammingAPIHelper

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static class Helper
See Also

Reference

ProgrammingAPI Namespace
Send comments on this topic to T4Tsupport@osram.com


Helper.InterfaceType Enumeration

HelperInterfaceType Enumeration

Programming interface type

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public enum InterfaceType
Members
Member name | Value | Description
None | 0 | Unspecified
DALI | 1 | DALI programming interface
OSRSER | 2 | OT Programmer
NFC | 4 | NFC reader
NFC_Com | 5 | NFC reader
ListGenerator | 100 |
See Also

Reference

ProgrammingAPI Namespace
Send comments on this topic to T4Tsupport@osram.com


LuminaireConfigurationInfo Structure

Describes the Luminaire Configuration Information.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public struct LuminaireConfigurationInfo

The LuminaireConfigurationInfo type exposes the following members.

Properties
 | Name | Description
Public property | BasicCode | Basic Code as string
Public property | GTIN | GTIN as string
Public property | ModelID | Model ID as int. Only OT drivers (with OT Programmer interface) have a Model ID
Public property | Multiplicity | Driver´s multiplicity in the luminaire
Public property | NAEDCode | NAED as int
Top
See Also

Reference

ProgrammingAPI Namespace
Send comments on this topic to T4Tsupport@osram.com


LuminaireConfigurationInfo Properties

The LuminaireConfigurationInfo type exposes the following members.

Properties
 | Name | Description
Public property | BasicCode | Basic Code as string
Public property | GTIN | GTIN as string
Public property | ModelID | Model ID as int. Only OT drivers (with OT Programmer interface) have a Model ID
Public property | Multiplicity | Driver´s multiplicity in the luminaire
Public property | NAEDCode | NAED as int
Top
See Also

Reference

LuminaireConfigurationInfo Structure


LuminaireConfigurationInfo.BasicCode Property

LuminaireConfigurationInfoBasicCode Property

Basic Code as string

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public string BasicCode {
    get;
 set; }

Property Value

Type: String
Driver´s Basic Code
See Also

Reference

LuminaireConfigurationInfo Structure


LuminaireConfigurationInfo.GTIN Property

LuminaireConfigurationInfoGTIN Property

GTIN as string

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public string GTIN {
    get;
 set; }

Property Value

Type: String
Driver´s GTIN
See Also

Reference

LuminaireConfigurationInfo Structure


LuminaireConfigurationInfo.ModelID Property

LuminaireConfigurationInfoModelID Property

Model ID as int. Only OT drivers (with OT Programmer interface) have a Model ID

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public int ModelID {
    get;
 set; }

Property Value

Type: Int32
Driver´s Model ID
See Also

Reference

LuminaireConfigurationInfo Structure


LuminaireConfigurationInfo.Multiplicity Property

LuminaireConfigurationInfoMultiplicity Property

Driver´s multiplicity in the luminaire

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public int Multiplicity {
    get;
 set; }

Property Value

Type: Int32
Driver´s multiplicity
See Also

Reference

LuminaireConfigurationInfo Structure


LuminaireConfigurationInfo.NAEDCode Property

LuminaireConfigurationInfoNAEDCode Property

NAED as int

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public int NAEDCode {
    get;
 set; }

Property Value

Type: Int32
Driver´s NAED
See Also

Reference

LuminaireConfigurationInfo Structure


ParameterStatusEventArgs Class

Inheritance Hierarchy
SystemObject
SystemEventArgs
ProgrammingAPIParameterStatusEventArgs

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public class ParameterStatusEventArgs : EventArgs

The ParameterStatusEventArgs type exposes the following members.

Constructors
 | Name | Description
Public method | ParameterStatusEventArgs | Initializes a new instance of the ParameterStatusEventArgs class
Top
Properties
 | Name | Description
Public property | ReturnCode |
Public property | Value |
Top
See Also

Reference

ProgrammingAPI Namespace
Send comments on this topic to T4Tsupport@osram.com


ParameterStatusEventArgs Constructor

Initializes a new instance of the ParameterStatusEventArgs class

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public ParameterStatusEventArgs(
    ApplicationConstantsReturnCode returnCode,
    string value
)

Parameters

returnCode
Type: ProgrammingAPIApplicationConstantsReturnCode
value
Type: SystemString
See Also

Reference

ParameterStatusEventArgs Class


ParameterStatusEventArgs Properties

The ParameterStatusEventArgs type exposes the following members.

Properties
 | Name | Description
Public property | ReturnCode |
Public property | Value |
Top
See Also

Reference

ParameterStatusEventArgs Class


ParameterStatusEventArgs.ReturnCode Property

ParameterStatusEventArgsReturnCode Property

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public ApplicationConstantsReturnCode ReturnCode { get; }

Property Value

Type: ApplicationConstantsReturnCode
See Also

Reference

ParameterStatusEventArgs Class


ParameterStatusEventArgs.Value Property

ParameterStatusEventArgsValue Property

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public string Value { get; }

Property Value

Type: String
See Also

Reference

ParameterStatusEventArgs Class


ProgrammingAPI Class

This class provides the methods for loading a production file, programming an ECG, reading back an ECG as well as other methods.
Inheritance Hierarchy
SystemObject
ProgrammingAPIProgrammingAPI

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static class ProgrammingAPI

The ProgrammingAPI type exposes the following members.

Properties
Name | Description
Luminaire_Configuration | Gets the collection of luminaire configurations (GTIN, ModelID, BasicCode, NAEDCode and Multiplicity) in the loaded production file.
Luminaire_CustomerProject | Gets the "customer/project" text stored in the currently loaded production file. Returns an empty string if no or unusable production file is loaded
Luminaire_Description | Gets the luminaire description text stored in the currently loaded production file. Returns an empty string if no or unusable production file is loaded.
Luminaire_Image | Gets the path to the decoded luminaire image included in the currently loaded production file. Returns an empty string if no or unusable production file is loaded or production file includes no luminaire image.
Luminaire_Name | Gets the luminaire name stored in the currently loaded production file. Returns an empty string if no or unusable production file is loaded
Luminaire_OrderCode | Gets the the luminaire order code stored in the currently loaded production file. Returns an empty string if no or unusable production file is loaded.
Luminaire_ProgrammingInterfaceType |
Version | Gets the T4T-DLL version. For example "4.2.1.0".
Top
Methods
Name | Description
Abort | Aborts programming and reading back of an ECG. Also the ProgrammingStatusChanged-event is triggered with code ProgrammingAborted
CheckForUpdates | Checks if updates for the T4T-Suite are available on the update server.
ConfigureFamilyProgramming | Allow to force disable the Family Programming.
EcgReadback | Performs a complete readback of a connected ECG. On successful completion of ECG readback a ReadbackFileAvailable event is triggered.
EcgReadbackAsync | Performs a complete readback of a connected ECG. On successful completion of ECG readback a ReadbackFileAvailable event is triggered.
EcgReadbackBlocking | Performs a complete readback of a connected ECG. On successful completion of ECG readback a ReadbackFileAvailable event is triggered.
EnableLabelPrinting | Enables or disables label printing for ECG programming.
GenerateDaliCommandStreamAsCSV |
GetInterfaceBasedOnDeviceId | Scan on type of programming interfaces and returns the IDs
GetInterfaceList | Gets the list of connected programming interfaces.
IsWorking | Indicates whether an ECG programming process or ECG readback process is ongoing.
LoadProductionFile | Loads the production file then checks if a supported (or the user-specified) programming interface is connected. If cloud services are enabled, programming data of the production file is uploaded to the cloud for the current session.
Program(WriteCompleteCallback, Int32, Int32, Boolean) | Programs the data of the loaded production file. Uses the programming settings like Reworks/First Programming, OEMCode and Verify as stored in the currently loaded production file.
Program(String, Boolean, Boolean, Boolean, WriteCompleteCallback, Int32, Int32, Boolean) | Programs the data of the loaded production file. Overwrites the programming settings stored in the currently loaded production file with the parameters that are passed, if permitted by the production file.
Program(UInt16, Boolean, Boolean, Boolean, WriteCompleteCallback, Int32, Int32, Boolean) | Programs the data of the loaded production file. Overwrites the programming settings stored in the currently loaded production file with the parameters that are passed, if permitted by the production file.
ProgramAsync | Programs the data of the loaded production file. Uses the programming settings like Reworks/First Programming, OEMCode and Verify as stored in the currently loaded production file.
ProgramBlocking | Programs the data of the loaded production file. Uses the programming settings like Reworks/First Programming, OEMCode and Verify as stored in the currently loaded production file.
QueryDeviceInfo | Query the device for the following info: GTIN, SerialNumber, ModelID. Once the query is completed the event DeviceInfoReceived will be fired. If the query failes, the event argument will be null.
ReadBarcodesBlocking | Reads the bar code through the NFC reader. Once the function is called, the camera is activated for 3 seconds, and tried to read the barcode. After 5 seconds or as soon as the barcode is read, the function will return.
ReadDriverInfo | Reads the driver information of a connected ECG.
ReadLuminaireGtin | Reads the luminaire GTIN of a connected ECG.
SetCloudEnable | Enables or disables cloud services.
SetLabelDefinitionFile | Sets the label definition file for label printing.
SetLumContentFormatVersion | Overwrites the Luminaire Content Format Version in the currently loaded production file with the value passed
SetLumGTIN | Overwrites the Luminaire GTIN in the currently loaded production file with the value passed
SetLumIdentificationNumber | Overwrites the Luminaire identification number in the currently loaded production file with the value passed
SetLumVendorSpecificContent(Byte) | Overwrites the Luminaire Vendor Specific Content in the currently loaded production file with the value passed
SetLumVendorSpecificContent(String) | Overwrites the Luminaire Vendor Specific Content in the currently loaded production file with the value passed
SetSpoolingFolderPath | Sets the spooling folder path for label printing.
SetUpdateResultsEnable | Enables or disables updating of programming results in the production file.
WriteParameter | Modify a parameter in the currently opened production file.
Top
Events
Name | Description
DeviceInfoReceived | This event is triggered after a call to QueryDeviceInfo.
ProgrammingStatusChanged | This event is triggered when there is a change in programming status or in reading status or if an error occurs during programming or reading.
ProgressChanged | This event is triggered when there is a change in the programming or reading progress. The returned value represents the completed percentage between 1 and 100%
ReadbackFileAvailable | This event is triggered when a raw data file (.osrtur) is available after ECG read back was completed.
WriteParameterStatus | This event is triggered after the WriteParameter operation is completed.
Top
See Also

Reference

ProgrammingAPI Namespace
Send comments on this topic to T4Tsupport@osram.com


ProgrammingAPI Properties

The ProgrammingAPI type exposes the following members.

Properties
Name | Description
Luminaire_Configuration | Gets the collection of luminaire configurations (GTIN, ModelID, BasicCode, NAEDCode and Multiplicity) in the loaded production file.
Luminaire_CustomerProject | Gets the "customer/project" text stored in the currently loaded production file. Returns an empty string if no or unusable production file is loaded
Luminaire_Description | Gets the luminaire description text stored in the currently loaded production file. Returns an empty string if no or unusable production file is loaded.
Luminaire_Image | Gets the path to the decoded luminaire image included in the currently loaded production file. Returns an empty string if no or unusable production file is loaded or production file includes no luminaire image.
Luminaire_Name | Gets the luminaire name stored in the currently loaded production file. Returns an empty string if no or unusable production file is loaded
Luminaire_OrderCode | Gets the the luminaire order code stored in the currently loaded production file. Returns an empty string if no or unusable production file is loaded.
Luminaire_ProgrammingInterfaceType |
Version | Gets the T4T-DLL version. For example "4.2.1.0".
Top
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.Luminaire_Configuration Property

ProgrammingAPILuminaire_Configuration Property

Gets the collection of luminaire configurations (GTIN, ModelID, BasicCode, NAEDCode and Multiplicity) in the loaded production file.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static IEnumerable<LuminaireConfigurationInfo> Luminaire_Configuration { get; }

Property Value

Type: IEnumerable LuminaireConfigurationInfo
The collection of luminaire configurations.
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.Luminaire_CustomerProject Property

ProgrammingAPILuminaire_CustomerProject Property

Gets the "customer/project" text stored in the currently loaded production file. Returns an empty string if no or unusable production file is loaded

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static string Luminaire_CustomerProject { get; }

Property Value

Type: String
The luminaire customer project.
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.Luminaire_Description Property

ProgrammingAPILuminaire_Description Property

Gets the luminaire description text stored in the currently loaded production file. Returns an empty string if no or unusable production file is loaded.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static string Luminaire_Description { get; }

Property Value

Type: String
The luminaire description.
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.Luminaire_Image Property

ProgrammingAPILuminaire_Image Property

Gets the path to the decoded luminaire image included in the currently loaded production file. Returns an empty string if no or unusable production file is loaded or production file includes no luminaire image.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static string Luminaire_Image { get; }

Property Value

Type: String
The luminaire image.
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.Luminaire_Name Property

ProgrammingAPILuminaire_Name Property

Gets the luminaire name stored in the currently loaded production file. Returns an empty string if no or unusable production file is loaded

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static string Luminaire_Name { get; }

Property Value

Type: String
The name of the luminaire.
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.Luminaire_OrderCode Property

ProgrammingAPILuminaire_OrderCode Property

Gets the the luminaire order code stored in the currently loaded production file. Returns an empty string if no or unusable production file is loaded.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static string Luminaire_OrderCode { get; }

Property Value

Type: String
The luminaire order code.
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.Luminaire_ProgrammingInterfaceType Property

ProgrammingAPILuminaire_ProgrammingInterfaceType Property

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static ApplicationConstantsProgInterfaceType Luminaire_ProgrammingInterfaceType { get; }

Property Value

Type: ApplicationConstantsProgInterfaceType
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.Version Property

ProgrammingAPIVersion Property

Gets the T4T-DLL version. For example "4.2.1.0".

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static string Version { get; }

Property Value

Type: String
The T4T-DLL version.
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI Methods

The ProgrammingAPI type exposes the following members.

Methods
Name | Description
Abort | Aborts programming and reading back of an ECG. Also the ProgrammingStatusChanged-event is triggered with code ProgrammingAborted
CheckForUpdates | Checks if updates for the T4T-Suite are available on the update server.
ConfigureFamilyProgramming | Allow to force disable the Family Programming.
EcgReadback | Performs a complete readback of a connected ECG. On successful completion of ECG readback a ReadbackFileAvailable event is triggered.
EcgReadbackAsync | Performs a complete readback of a connected ECG. On successful completion of ECG readback a ReadbackFileAvailable event is triggered.
EcgReadbackBlocking | Performs a complete readback of a connected ECG. On successful completion of ECG readback a ReadbackFileAvailable event is triggered.
EnableLabelPrinting | Enables or disables label printing for ECG programming.
GenerateDaliCommandStreamAsCSV |
GetInterfaceBasedOnDeviceId | Scan on type of programming interfaces and returns the IDs
GetInterfaceList | Gets the list of connected programming interfaces.
IsWorking | Indicates whether an ECG programming process or ECG readback process is ongoing.
LoadProductionFile | Loads the production file then checks if a supported (or the user-specified) programming interface is connected. If cloud services are enabled, programming data of the production file is uploaded to the cloud for the current session.
Program(WriteCompleteCallback, Int32, Int32, Boolean) | Programs the data of the loaded production file. Uses the programming settings like Reworks/First Programming, OEMCode and Verify as stored in the currently loaded production file.
Program(String, Boolean, Boolean, Boolean, WriteCompleteCallback, Int32, Int32, Boolean) | Programs the data of the loaded production file. Overwrites the programming settings stored in the currently loaded production file with the parameters that are passed, if permitted by the production file.
Program(UInt16, Boolean, Boolean, Boolean, WriteCompleteCallback, Int32, Int32, Boolean) | Programs the data of the loaded production file. Overwrites the programming settings stored in the currently loaded production file with the parameters that are passed, if permitted by the production file.
ProgramAsync | Programs the data of the loaded production file. Uses the programming settings like Reworks/First Programming, OEMCode and Verify as stored in the currently loaded production file.
ProgramBlocking | Programs the data of the loaded production file. Uses the programming settings like Reworks/First Programming, OEMCode and Verify as stored in the currently loaded production file.
QueryDeviceInfo | Query the device for the following info: GTIN, SerialNumber, ModelID. Once the query is completed the event DeviceInfoReceived will be fired. If the query failes, the event argument will be null.
ReadBarcodesBlocking | Reads the bar code through the NFC reader. Once the function is called, the camera is activated for 3 seconds, and tried to read the barcode. After 5 seconds or as soon as the barcode is read, the function will return.
ReadDriverInfo | Reads the driver information of a connected ECG.
ReadLuminaireGtin | Reads the luminaire GTIN of a connected ECG.
SetCloudEnable | Enables or disables cloud services.
SetLabelDefinitionFile | Sets the label definition file for label printing.
SetLumContentFormatVersion | Overwrites the Luminaire Content Format Version in the currently loaded production file with the value passed
SetLumGTIN | Overwrites the Luminaire GTIN in the currently loaded production file with the value passed
SetLumIdentificationNumber | Overwrites the Luminaire identification number in the currently loaded production file with the value passed
SetLumVendorSpecificContent(Byte) | Overwrites the Luminaire Vendor Specific Content in the currently loaded production file with the value passed
SetLumVendorSpecificContent(String) | Overwrites the Luminaire Vendor Specific Content in the currently loaded production file with the value passed
SetSpoolingFolderPath | Sets the spooling folder path for label printing.
SetUpdateResultsEnable | Enables or disables updating of programming results in the production file.
WriteParameter | Modify a parameter in the currently opened production file.
Top
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.Abort Method

ProgrammingAPIAbort Method

Aborts programming and reading back of an ECG. Also the ProgrammingStatusChanged-event is triggered with code ProgrammingAborted

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static void Abort()
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.CheckForUpdates Method

ProgrammingAPICheckForUpdates Method

Checks if updates for the T4T-Suite are available on the update server.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static ProgrammingAPIUpdateCheckEnum CheckForUpdates()

Return Value

Type: ProgrammingAPIUpdateCheckEnum
A code of type ProgrammingAPIUpdateCheckEnum
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.ConfigureFamilyProgramming Method

ProgrammingAPIConfigureFamilyProgramming Method

Allow to force disable the Family Programming.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static void ConfigureFamilyProgramming(
    bool forceDisable
)

Parameters

forceDisable
Type: SystemBoolean
If true the family programming will be disabled, regardless of the setting in the production file.
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.EcgReadback Method

ProgrammingAPIEcgReadback Method

Performs a complete readback of a connected ECG. On successful completion of ECG readback a ReadbackFileAvailable event is triggered.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static ApplicationConstantsReturnCode EcgReadback(
    HelperInterfaceType piType = HelperInterfaceType.None,
    string piName = ""
)

Parameters

piType (Optional)
Type: ProgrammingAPIHelperInterfaceType
Type of the programming interface
piName (Optional)
Type: SystemString
Name of the programming interface as string. For NFC it´s the NFC reader ID as Hex string. For DALI it´s the name of the DALI magic. for OT Programmer it´s the COM port number

Return Value

Type: ApplicationConstantsReturnCode
Code indicating whether the readback operation was successfully started.
Remarks

No need to load a production file prior to calling this method.

This method starts internally its own thread so the user does not need to call it on a different thread. The method returns when the ECG readback is started (and ECG reading continues in the internal thread).

See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.EcgReadbackAsync Method

ProgrammingAPIEcgReadbackAsync Method

Performs a complete readback of a connected ECG. On successful completion of ECG readback a ReadbackFileAvailable event is triggered.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static Task<byte[]> EcgReadbackAsync(
    HelperInterfaceType piType = HelperInterfaceType.None,
    string piName = ""
)

Parameters

piType (Optional)
Type: ProgrammingAPIHelperInterfaceType
Type of the programming interface
piName (Optional)
Type: SystemString
Name of the programming interface as string. For NFC it´s the NFC reader ID as Hex string. For DALI it´s the name of the DALI magic. for OT Programmer it´s the COM port number

Return Value

Type: Task Byte
The binary data containing the readback file, or null in case of any problem.
Remarks

No need to load a production file prior to calling this method.

This method is async, so it's non blocking.

See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.EcgReadbackBlocking Method

ProgrammingAPIEcgReadbackBlocking Method

Performs a complete readback of a connected ECG. On successful completion of ECG readback a ReadbackFileAvailable event is triggered.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static byte[] EcgReadbackBlocking(
    HelperInterfaceType piType = HelperInterfaceType.None,
    string piName = ""
)

Parameters

piType (Optional)
Type: ProgrammingAPIHelperInterfaceType
Type of the programming interface
piName (Optional)
Type: SystemString
Name of the programming interface as string. For NFC it´s the NFC reader ID as Hex string. For DALI it´s the name of the DALI magic. for OT Programmer it´s the COM port number

Return Value

Type: Byte
The binary data containing the readback file, or null in case of any problem.
Remarks

No need to load a production file prior to calling this method.

This method is blocking and will return only when the programming is finished.

See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.EnableLabelPrinting Method

ProgrammingAPIEnableLabelPrinting Method

Enables or disables label printing for ECG programming.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static void EnableLabelPrinting(
    bool isEnable
)

Parameters

isEnable
Type: SystemBoolean
If true label printing is enabled, if false label printing is disabled.
Remarks
Default is label printing disabled. If needed, this method shall be called before calling Program()
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.GenerateDaliCommandStreamAsCSV Method

ProgrammingAPIGenerateDaliCommandStreamAsCSV Method

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static string GenerateDaliCommandStreamAsCSV()

Return Value

Type: String
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.GetInterfaceBasedOnDeviceId Method

ProgrammingAPIGetInterfaceBasedOnDeviceId Method

Scan on type of programming interfaces and returns the IDs

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static List<string> GetInterfaceBasedOnDeviceId(
    HelperInterfaceType interfaceType
)

Parameters

interfaceType
Type: ProgrammingAPIHelperInterfaceType

Return Value

Type: List String
List of string with the ID of the connected programming interfaces of the selected type.
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.GetInterfaceList Method

ProgrammingAPIGetInterfaceList Method

Gets the list of connected programming interfaces.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static List<string> GetInterfaceList()

Return Value

Type: List String
List of the connected programming interfaces as strings
Remarks
This method will detect only DALI and NFC programming interfaces. It won´t detect OT programmers.
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.IsWorking Method

ProgrammingAPIIsWorking Method

Indicates whether an ECG programming process or ECG readback process is ongoing.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static bool IsWorking()

Return Value

Type: Boolean
boolean if true then ECG programming or ECG readback process is ongoing, if false no operation is ongoing.
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.LoadProductionFile Method

ProgrammingAPILoadProductionFile Method

Loads the production file then checks if a supported (or the user-specified) programming interface is connected. If cloud services are enabled, programming data of the production file is uploaded to the cloud for the current session.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static ApplicationConstantsReturnCode LoadProductionFile(
    string fileName,
    HelperInterfaceType piType = HelperInterfaceType.None,
    string piName = ""
)

Parameters

fileName
Type: SystemString
Name of the production file (with extention .osrtup)
piType (Optional)
Type: ProgrammingAPIHelperInterfaceType
Type of the programming interface
piName (Optional)
Type: SystemString
Name of the programming interface as string. For NFC it´s the NFC reader ID as Hex string. For DALI it´s the name of the DALI magic. for OT Programmer it´s the COM port number

Return Value

Type: ApplicationConstantsReturnCode
Code indicating whether the production file was loaded successfully and a valid programming interface is connected.
Remarks
This method must be called before calling Program()
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.Program Method

ProgrammingAPIProgram Method

Overload List
Name | Description
Program(WriteCompleteCallback, Int32, Int32, Boolean) | Programs the data of the loaded production file. Uses the programming settings like Reworks/First Programming, OEMCode and Verify as stored in the currently loaded production file.
Program(String, Boolean, Boolean, Boolean, WriteCompleteCallback, Int32, Int32, Boolean) | Programs the data of the loaded production file. Overwrites the programming settings stored in the currently loaded production file with the parameters that are passed, if permitted by the production file.
Program(UInt16, Boolean, Boolean, Boolean, WriteCompleteCallback, Int32, Int32, Boolean) | Programs the data of the loaded production file. Overwrites the programming settings stored in the currently loaded production file with the parameters that are passed, if permitted by the production file.
Top
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.Program Method (WriteCompleteCallback, Int32, Int32, Boolean)

ProgrammingAPIProgram Method (WriteCompleteCallback, Int32, Int32, Boolean)

Programs the data of the loaded production file. Uses the programming settings like Reworks/First Programming, OEMCode and Verify as stored in the currently loaded production file.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static void Program(
    WriteCompleteCallback callback,
    int boxProgrammingEcgNumber = 0,
    int antennaPowerSelectedIndex = 0,
    bool disablePowerOnCheck = false
)

Parameters

callback
Type: ProgrammingAPIWriteCompleteCallback
Callback method that shall be triggered once the programming is completed
boxProgrammingEcgNumber (Optional)
Type: SystemInt32
Expected number of ECGs in the box (only for NFC box programming, optional)
antennaPowerSelectedIndex (Optional)
Type: SystemInt32
NFC antenna power (only for LR1002 reader, optional)
disablePowerOnCheck (Optional)
Type: SystemBoolean
Remarks

User must load a production file via LoadProductionFile() before calling this method

This method starts internally its own thread so the user does not need to call it on a different thread. The method returns before the programming is completed. It returns when the connected ECG is detected (and ECG programming continues in the internal thread) or if no ECG is connected when the ECG detection timeout is reached.

The ECG detection timeout is set internally to 5 s for DALI- and OT Programmer and to 20 s for NFC programming interfaces. If ECG detection timeout is reached, a ProgrammingStatusChanged-event is triggered with code NoECGConnected

See Also

Reference

ProgrammingAPI Class
Program Overload


ProgrammingAPI.Program Method (String, Boolean, Boolean, Boolean, WriteCompleteCallback, Int32, Int32, Boolean)

ProgrammingAPIProgram Method (String, Boolean, Boolean, Boolean, WriteCompleteCallback, Int32, Int32, Boolean)

Programs the data of the loaded production file. Overwrites the programming settings stored in the currently loaded production file with the parameters that are passed, if permitted by the production file.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static void Program(
    string masterKey,
    bool verifyProgramming,
    bool enableSingleProgramming,
    bool disableFamilyProgramming,
    WriteCompleteCallback callback,
    int boxProgrammingEcgNumber = 0,
    int antennaPowerSelectedIndex = 0,
    bool disablePowerOnCheck = false
)

Parameters

masterKey
Type: SystemString
The master key. It shall be in the format of 4 bytes hex value.
verifyProgramming
Type: SystemBoolean
Indicates if programming shall be followed by verification (true) or not (false).
enableSingleProgramming
Type: SystemBoolean
If set to true enables single programming
disableFamilyProgramming
Type: SystemBoolean
Option to disable family programming.
callback
Type: ProgrammingAPIWriteCompleteCallback
Callback method that shall be triggered once the programming is completed
boxProgrammingEcgNumber (Optional)
Type: SystemInt32
Expected number of ECGs in the box (only for NFC box programming, optional)
antennaPowerSelectedIndex (Optional)
Type: SystemInt32
NFC antenna power (only for LR1002 reader, optional)
disablePowerOnCheck (Optional)
Type: SystemBoolean
Remarks

User must load a production file via LoadProductionFile() before calling this method

This method starts internally its own thread so the user does not need to call it on a different thread. The method returns before the programming is completed. It returns when the connected ECG is detected (and ECG programming continues in the internal thread) or if no ECG is connected when the ECG detection timeout is reached.

The ECG detection timeout is set internally to 5 s for DALI- and OT Programmer and to 20 s for NFC programming interfaces. If ECG detection timeout is reached, a ProgrammingStatusChanged-event is triggered with code NoECGConnected

See Also

Reference

ProgrammingAPI Class
Program Overload


ProgrammingAPI.Program Method (UInt16, Boolean, Boolean, Boolean, WriteCompleteCallback, Int32, Int32, Boolean)

ProgrammingAPIProgram Method (UInt16, Boolean, Boolean, Boolean, WriteCompleteCallback, Int32, Int32, Boolean)

Programs the data of the loaded production file. Overwrites the programming settings stored in the currently loaded production file with the parameters that are passed, if permitted by the production file.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static void Program(
    ushort oemcode,
    bool verifyProgramming,
    bool enableSingleProgramming,
    bool disableFamilyProgramming,
    WriteCompleteCallback callback,
    int boxProgrammingEcgNumber = 0,
    int antennaPowerSelectedIndex = 0,
    bool disablePowerOnCheck = false
)

Parameters

oemcode
Type: SystemUInt16
Four digits unlock code for programming of the protected features. This is only applied if Rework is true.
verifyProgramming
Type: SystemBoolean
Indicates if programming shall be followed by verification (true) or not (false).
enableSingleProgramming
Type: SystemBoolean
If set to true enables single programming
disableFamilyProgramming
Type: SystemBoolean
Option to disable family programming.
callback
Type: ProgrammingAPIWriteCompleteCallback
Callback method that shall be triggered once the programming is completed
boxProgrammingEcgNumber (Optional)
Type: SystemInt32
Expected number of ECGs in the box (only for NFC box programming, optional)
antennaPowerSelectedIndex (Optional)
Type: SystemInt32
NFC antenna power (only for LR1002 reader, optional)
disablePowerOnCheck (Optional)
Type: SystemBoolean
Remarks

User must load a production file via LoadProductionFile() before calling this method

This method starts internally its own thread so the user does not need to call it on a different thread. The method returns before the programming is completed. It returns when the connected ECG is detected (and ECG programming continues in the internal thread) or if no ECG is connected when the ECG detection timeout is reached.

The ECG detection timeout is set internally to 5 s for DALI- and OT Programmer and to 20 s for NFC programming interfaces. If ECG detection timeout is reached, a ProgrammingStatusChanged-event is triggered with code NoECGConnected

See Also

Reference

ProgrammingAPI Class
Program Overload


ProgrammingAPI.ProgramAsync Method

ProgrammingAPIProgramAsync Method

Programs the data of the loaded production file. Uses the programming settings like Reworks/First Programming, OEMCode and Verify as stored in the currently loaded production file.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static Task<ProgrammingErrorsEnum> ProgramAsync(
    int boxProgrammingEcgNumber = 0,
    int antennaPowerSelectedIndex = 0,
    bool disableFamilyProgramming = false,
    bool disablePowerOnCheck = false
)

Parameters

boxProgrammingEcgNumber (Optional)
Type: SystemInt32
Expected number of ECGs in the box (only for NFC box programming, optional)
antennaPowerSelectedIndex (Optional)
Type: SystemInt32
NFC antenna power (only for LR1002 reader, optional)
disableFamilyProgramming (Optional)
Type: SystemBoolean
Option to disable family programming. (optional)
disablePowerOnCheck (Optional)
Type: SystemBoolean

Return Value

Type: Task ProgrammingErrorsEnum
Remarks

User must load a production file via LoadProductionFile() before calling this method

This method is declared as async, so it will run on it's own task. The method will return the result of the programming.

See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.ProgramBlocking Method

ProgrammingAPIProgramBlocking Method

Programs the data of the loaded production file. Uses the programming settings like Reworks/First Programming, OEMCode and Verify as stored in the currently loaded production file.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static ProgrammingErrorsEnum ProgramBlocking(
    int boxProgrammingEcgNumber = 0,
    int antennaPowerSelectedIndex = 0,
    bool disableFamilyProgramming = false,
    bool disablePowerOnCheck = false
)

Parameters

boxProgrammingEcgNumber (Optional)
Type: SystemInt32
Expected number of ECGs in the box (only for NFC box programming, optional)
antennaPowerSelectedIndex (Optional)
Type: SystemInt32
NFC antenna power (only for LR1002 reader, optional)
disableFamilyProgramming (Optional)
Type: SystemBoolean
Option to disable family programming. (optional)
disablePowerOnCheck (Optional)
Type: SystemBoolean

Return Value

Type: ProgrammingErrorsEnum
Remarks

User must load a production file via LoadProductionFile() before calling this method

This method is blocking and will return only when the programming is finished. No additional task/thread are spawned.

See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.QueryDeviceInfo Method

ProgrammingAPIQueryDeviceInfo Method

Query the device for the following info: GTIN, SerialNumber, ModelID. Once the query is completed the event DeviceInfoReceived will be fired. If the query failes, the event argument will be null.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static void QueryDeviceInfo()
Remarks
This function is deprechated and must not be used in new design.
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.ReadBarcodesBlocking Method

ProgrammingAPIReadBarcodesBlocking Method

Reads the bar code through the NFC reader. Once the function is called, the camera is activated for 3 seconds, and tried to read the barcode. After 5 seconds or as soon as the barcode is read, the function will return.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static ApplicationConstantsReturnCode ReadBarcodesBlocking(
    out string Barcode,
    HelperInterfaceType piType = HelperInterfaceType.None,
    string piName = ""
)

Parameters

Barcode
Type: SystemString
The read barcode as an hex string. If the function failes, this is null.
piType (Optional)
Type: ProgrammingAPIHelperInterfaceType
Type of the programming interface
piName (Optional)
Type: SystemString
Name of the programming interface as string. For NFC it´s the NFC reader ID as Hex string. For NFC_Com is the number of the COM port as a decimal number. For DALI it´s the name of the DALI magic. for OT Programmer it´s the COM port number

Return Value

Type: ApplicationConstantsReturnCode
If the result is Success, the barcode was read correctly and the value is in Barcode out variable. Otherwise, the return code will indicate the error.
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.ReadDriverInfo Method

ProgrammingAPIReadDriverInfo Method

Reads the driver information of a connected ECG.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static ApplicationConstantsReturnCode ReadDriverInfo(
    out DriverInfo driverInfo,
    HelperInterfaceType piType = HelperInterfaceType.None,
    string piName = ""
)

Parameters

driverInfo
Type: ProgrammingAPIDriverInfo
Where the driver information of the connected ECG shall be saved.
piType (Optional)
Type: ProgrammingAPIHelperInterfaceType
Type of the programming interface
piName (Optional)
Type: SystemString
Name of the programming interface as string. For NFC it´s the NFC reader ID as Hex string. For DALI it´s the name of the DALI magic. for OT Programmer it´s the COM port number

Return Value

Type: ApplicationConstantsReturnCode
Code indicating whether the driver information was read successfully.
Remarks
No need to load a production file prior to calling this method.
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.ReadLuminaireGtin Method

ProgrammingAPIReadLuminaireGtin Method

Reads the luminaire GTIN of a connected ECG.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static ApplicationConstantsReturnCode ReadLuminaireGtin(
    out string luminaireGtin,
    HelperInterfaceType piType = HelperInterfaceType.None,
    string piName = ""
)

Parameters

luminaireGtin
Type: SystemString
String where the luminaire GTIN of the connected ECG shall be saved.
piType (Optional)
Type: ProgrammingAPIHelperInterfaceType
Type of the programming interface
piName (Optional)
Type: SystemString
Name of the programming interface as string. For NFC it´s the NFC reader ID as Hex string. For DALI it´s the name of the DALI magic. for OT Programmer it´s the COM port number

Return Value

Type: ApplicationConstantsReturnCode
Code indicating whether the luminaire GTIN was read successfully.
Remarks
This method supports only DALI and NFC ECGs. OT drivers are not supported. No need to load a production file prior to calling this method.
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.SetCloudEnable Method

ProgrammingAPISetCloudEnable Method

Enables or disables cloud services.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static void SetCloudEnable(
    bool isEnable
)

Parameters

isEnable
Type: SystemBoolean
If true cloud services are enabled, if false cloud services are disabled.
Remarks
Default is cloud services enabled. If needed, this method shall be called before calling LoadProductionFile()
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.SetLabelDefinitionFile Method

ProgrammingAPISetLabelDefinitionFile Method

Sets the label definition file for label printing.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static void SetLabelDefinitionFile(
    string labelDefFile
)

Parameters

labelDefFile
Type: SystemString
Path to label definition file
Remarks
If needed, this method shall be called before calling Program()
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.SetLumContentFormatVersion Method

ProgrammingAPISetLumContentFormatVersion Method

Overwrites the Luminaire Content Format Version in the currently loaded production file with the value passed

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static void SetLumContentFormatVersion(
    int value
)

Parameters

value
Type: SystemInt32
New value of Luminaire Content Format Version as int
Remarks
If needed, this method shall be called after calling LoadProductionFile() and prior to calling Program()
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.SetLumGTIN Method

ProgrammingAPISetLumGTIN Method

Overwrites the Luminaire GTIN in the currently loaded production file with the value passed

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static void SetLumGTIN(
    long value
)

Parameters

value
Type: SystemInt64
New value of the Luminaire GTIN as long
Remarks
If needed, this method shall be called after calling LoadProductionFile() and prior to calling Program()
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.SetLumIdentificationNumber Method

ProgrammingAPISetLumIdentificationNumber Method

Overwrites the Luminaire identification number in the currently loaded production file with the value passed

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static void SetLumIdentificationNumber(
    ulong value
)

Parameters

value
Type: SystemUInt64
New value of Luminaire identification number as ulong
Remarks
If needed, this method shall be called after calling LoadProductionFile() and prior to calling Program()
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.SetLumVendorSpecificContent Method

ProgrammingAPISetLumVendorSpecificContent Method

Overload List
Name | Description
SetLumVendorSpecificContent(Byte) | Overwrites the Luminaire Vendor Specific Content in the currently loaded production file with the value passed
SetLumVendorSpecificContent(String) | Overwrites the Luminaire Vendor Specific Content in the currently loaded production file with the value passed
Top
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.SetLumVendorSpecificContent Method (Byte[])

ProgrammingAPISetLumVendorSpecificContent Method (Byte)

Overwrites the Luminaire Vendor Specific Content in the currently loaded production file with the value passed

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static void SetLumVendorSpecificContent(
    byte[] value
)

Parameters

value
Type: SystemByte
New value of Luminaire vendor specific content as byte[]
Remarks
If needed, this method shall be called after calling LoadProductionFile() and prior to calling Program()
See Also

Reference

ProgrammingAPI Class
SetLumVendorSpecificContent Overload


ProgrammingAPI.SetLumVendorSpecificContent Method (String)

ProgrammingAPISetLumVendorSpecificContent Method (String)

Overwrites the Luminaire Vendor Specific Content in the currently loaded production file with the value passed

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static void SetLumVendorSpecificContent(
    string value
)

Parameters

value
Type: SystemString
New value of Luminaire vendor specific content as string
Remarks
If needed, this method shall be called after calling LoadProductionFile() and prior to calling Program()
See Also

Reference

ProgrammingAPI Class
SetLumVendorSpecificContent Overload


ProgrammingAPI.SetSpoolingFolderPath Method

ProgrammingAPISetSpoolingFolderPath Method

Sets the spooling folder path for label printing.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static void SetSpoolingFolderPath(
    string spoolingFolderName
)

Parameters

spoolingFolderName
Type: SystemString
Spooling folder path
Remarks
If needed, this method shall be called before calling Program()
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.SetUpdateResultsEnable Method

ProgrammingAPISetUpdateResultsEnable Method

Enables or disables updating of programming results in the production file.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static void SetUpdateResultsEnable(
    bool isEnable
)

Parameters

isEnable
Type: SystemBoolean
If true updating of programming results enabled, if false it is disabled.
Remarks
Default is updating of programming results to production file enabled. If needed, this method shall be called before calling LoadProductionFile()
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.WriteParameter Method

ProgrammingAPIWriteParameter Method

Modify a parameter in the currently opened production file.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static void WriteParameter(
    ApplicationConstantsParameterType parameterType,
    Object setValue
)

Parameters

parameterType
Type: ProgrammingAPIApplicationConstantsParameterType
The type of parameter to be modified. For a list, check ApplicationConstantsParameterType enum.
setValue
Type: SystemObject
The new value of the parameter.
Remarks
This function is deprechated and must not be used in new design.
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI Events

The ProgrammingAPI type exposes the following members.

Events
Name | Description
DeviceInfoReceived | This event is triggered after a call to QueryDeviceInfo.
ProgrammingStatusChanged | This event is triggered when there is a change in programming status or in reading status or if an error occurs during programming or reading.
ProgressChanged | This event is triggered when there is a change in the programming or reading progress. The returned value represents the completed percentage between 1 and 100%
ReadbackFileAvailable | This event is triggered when a raw data file (.osrtur) is available after ECG read back was completed.
WriteParameterStatus | This event is triggered after the WriteParameter operation is completed.
Top
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.DeviceInfoReceived Event

ProgrammingAPIDeviceInfoReceived Event

This event is triggered after a call to QueryDeviceInfo.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static event EventHandler<DeviceInfoReceivedEventArgs> DeviceInfoReceived

Value

Type: SystemEventHandler DeviceInfoReceivedEventArgs
Remarks
This function is deprechated and must not be used in new design.
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.ProgrammingStatusChanged Event

ProgrammingAPIProgrammingStatusChanged Event

This event is triggered when there is a change in programming status or in reading status or if an error occurs during programming or reading.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static event EventHandler<ProgrammingStatusEventArgs> ProgrammingStatusChanged

Value

Type: SystemEventHandler ProgrammingStatusEventArgs
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.ProgressChanged Event

ProgrammingAPIProgressChanged Event

This event is triggered when there is a change in the programming or reading progress. The returned value represents the completed percentage between 1 and 100%

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static event EventHandler<ValueEventArgs> ProgressChanged

Value

Type: SystemEventHandler ValueEventArgs
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.ReadbackFileAvailable Event

ProgrammingAPIReadbackFileAvailable Event

This event is triggered when a raw data file (.osrtur) is available after ECG read back was completed.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static event EventHandler<ReadbackFileAvailableEventArgs> ReadbackFileAvailable

Value

Type: SystemEventHandler ReadbackFileAvailableEventArgs
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.WriteParameterStatus Event

ProgrammingAPIWriteParameterStatus Event

This event is triggered after the WriteParameter operation is completed.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public static event EventHandler<ParameterStatusEventArgs> WriteParameterStatus

Value

Type: SystemEventHandler ParameterStatusEventArgs
Remarks
This function is deprechated and must not be used in new design.
See Also

Reference

ProgrammingAPI Class


ProgrammingAPI.UpdateCheckEnum Enumeration

ProgrammingAPIUpdateCheckEnum Enumeration

Possible results when checking for updates.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public enum UpdateCheckEnum
Members
Member name | Value | Description
Timeout | 0 | Timeout reached while attempting to contact the update server.
UpdateAvailable | 1 | A newer version is available on the update server.
NoUpdates | 2 | We have already the latest version.
Error | 3 | Error
See Also

Reference

ProgrammingAPI Namespace
Send comments on this topic to T4Tsupport@osram.com


ProgrammingStatusEventArgs Class

Represents the data provided by Programming Status Event which can be either a programming status, a reading status or an error code.
Inheritance Hierarchy
SystemObject
SystemEventArgs
ProgrammingAPIProgrammingStatusEventArgs

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public class ProgrammingStatusEventArgs : EventArgs

The ProgrammingStatusEventArgs type exposes the following members.

Constructors
 | Name | Description
Public method | ProgrammingStatusEventArgs | Constructor
Top
Properties
 | Name | Description
Public property | ReturnCode | Gets the return code.
Top
See Also

Reference

ProgrammingAPI Namespace
Send comments on this topic to T4Tsupport@osram.com


ProgrammingStatusEventArgs Constructor

Constructor

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public ProgrammingStatusEventArgs(
    ApplicationConstantsReturnCode returnCode
)

Parameters

returnCode
Type: ProgrammingAPIApplicationConstantsReturnCode
The return code
See Also

Reference

ProgrammingStatusEventArgs Class


ProgrammingStatusEventArgs Properties

The ProgrammingStatusEventArgs type exposes the following members.

Properties
 | Name | Description
Public property | ReturnCode | Gets the return code.
Top
See Also

Reference

ProgrammingStatusEventArgs Class


ProgrammingStatusEventArgs.ReturnCode Property

ProgrammingStatusEventArgsReturnCode Property

Gets the return code.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public ApplicationConstantsReturnCode ReturnCode { get; }

Property Value

Type: ApplicationConstantsReturnCode
The return code which is either a programming status, a reading status or an error code.
See Also

Reference

ProgrammingStatusEventArgs Class


ReadbackFileAvailableEventArgs Class

Represents the data provided by Readback file available-event
Inheritance Hierarchy
SystemObject
SystemEventArgs
ProgrammingAPIReadbackFileAvailableEventArgs

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public class ReadbackFileAvailableEventArgs : EventArgs

The ReadbackFileAvailableEventArgs type exposes the following members.

Constructors
 | Name | Description
Public method | ReadbackFileAvailableEventArgs | Constructor
Top
Properties
 | Name | Description
Public property | FileAsByteArray | The generated raw data file (.osrtur) as byte array
Public property | Fw | FW major version of connected ECG as string
Public property | Gtin | GTIN of connected ECG as string
Public property | Hw | HW major version of connected ECG as string
Top
See Also

Reference

ProgrammingAPI Namespace
Send comments on this topic to T4Tsupport@osram.com


ReadbackFileAvailableEventArgs Constructor

Constructor

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public ReadbackFileAvailableEventArgs(
    byte[] osrturFileByteArray,
    string gtin,
    string fw,
    string hw
)

Parameters

osrturFileByteArray
Type: SystemByte
Generated raw data file (.osrtur) as byte array
gtin
Type: SystemString
GTIN of connected ECG as string
fw
Type: SystemString
FW major version of connected ECG as string
hw
Type: SystemString
HW major version of connected ECG as string
See Also

Reference

ReadbackFileAvailableEventArgs Class


ReadbackFileAvailableEventArgs Properties

The ReadbackFileAvailableEventArgs type exposes the following members.

Properties
 | Name | Description
Public property | FileAsByteArray | The generated raw data file (.osrtur) as byte array
Public property | Fw | FW major version of connected ECG as string
Public property | Gtin | GTIN of connected ECG as string
Public property | Hw | HW major version of connected ECG as string
Top
See Also

Reference

ReadbackFileAvailableEventArgs Class


ReadbackFileAvailableEventArgs.FileAsByteArray Property

ReadbackFileAvailableEventArgsFileAsByteArray Property

The generated raw data file (.osrtur) as byte array

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public byte[] FileAsByteArray { get; set; }

Property Value

Type: Byte
The generated raw data file (.osrtur) as byte array
See Also

Reference

ReadbackFileAvailableEventArgs Class


ReadbackFileAvailableEventArgs.Fw Property

ReadbackFileAvailableEventArgsFw Property

FW major version of connected ECG as string

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public string Fw { get; set; }

Property Value

Type: String
FW major version of connected ECG as string
See Also

Reference

ReadbackFileAvailableEventArgs Class


ReadbackFileAvailableEventArgs.Gtin Property

ReadbackFileAvailableEventArgsGtin Property

GTIN of connected ECG as string

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public string Gtin { get; set; }

Property Value

Type: String
GTIN of connected ECG as string
See Also

Reference

ReadbackFileAvailableEventArgs Class


ReadbackFileAvailableEventArgs.Hw Property

ReadbackFileAvailableEventArgsHw Property

HW major version of connected ECG as string

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public string Hw { get; set; }

Property Value

Type: String
HW major version of connected ECG as string
See Also

Reference

ReadbackFileAvailableEventArgs Class


ValueEventArgs Class

Represents the progress value of ECG programming or ECG readback in percentage as int and string
Inheritance Hierarchy
SystemObject
SystemEventArgs
ProgrammingAPIValueEventArgs

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public class ValueEventArgs : EventArgs

The ValueEventArgs type exposes the following members.

Constructors
 | Name | Description
Public method | ValueEventArgs | Constructor
Top
Properties
 | Name | Description
Public property | Value | Progress value as int
Top
Methods
 | Name | Description
Public method | ToString | Returns the progress value as string (Overrides ObjectToString.)
Top
See Also

Reference

ProgrammingAPI Namespace
Send comments on this topic to T4Tsupport@osram.com


ValueEventArgs Constructor

Constructor

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public ValueEventArgs(
    int value
)

Parameters

value
Type: SystemInt32
Progress value as int
See Also

Reference

ValueEventArgs Class


ValueEventArgs Properties

The ValueEventArgs type exposes the following members.

Properties
 | Name | Description
Public property | Value | Progress value as int
Top
See Also

Reference

ValueEventArgs Class


ValueEventArgs.Value Property

ValueEventArgsValue Property

Progress value as int

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public int Value { get; set; }

Property Value

Type: Int32
Progress value as int
See Also

Reference

ValueEventArgs Class


ValueEventArgs Methods

The ValueEventArgs type exposes the following members.

Methods
 | Name | Description
Public method | ToString | Returns the progress value as string (Overrides ObjectToString.)
Top
See Also

Reference

ValueEventArgs Class


ValueEventArgs.ToString Method

ValueEventArgsToString Method

Returns the progress value as string

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public override string ToString()

Return Value

Type: String
Progress value as string
See Also

Reference

ValueEventArgs Class


WriteCompleteCallback Delegate

Callback method that shall be triggered once the programming is completed.

Namespace: ProgrammingAPI
Assembly: ProgrammingAPI (in ProgrammingAPI.dll) Version: 4.4.1.124 (4.4.1.124)
Syntax
C#
Copy
public delegate void WriteCompleteCallback(
    ApplicationConstantsReturnCode programmingStatus
)

Parameters

programmingStatus
Type: ProgrammingAPIApplicationConstantsReturnCode
The ReturnCode is either "Success" or one of the programming related messages
See Also

Reference

ProgrammingAPI Namespace
Send comments on this topic to T4Tsupport@osram.com


Sample

Below is an example for programming a driver.

Reference the ProgrammingAPI.dll in your project and copy all dll from the T4T-P installation directory to the output directory.

Sample code

C#
Copy
using System;
using System.Threading;
using ProgrammingAPI;

namespace Sample
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine($"Programming {args[0]} into the device:");
            var res = ProgrammingAPI.ProgrammingAPI.LoadProductionFile(args[0]);
            ProgrammingAPI.ProgrammingAPI.ProgrammingStatusChanged += ProgrammingAPI_ProgrammingStatusChanged;
            ProgrammingAPI.ProgrammingAPI.ProgressChanged += ProgrammingAPI_ProgressChanged;
            bool done = false;
            // use the WriteCompleted callback to detect end of programming
            ProgrammingAPI.ProgrammingAPI.Program(a =>
            {
                Console.WriteLine(a);
                done = true;
            });
            // wait until programming is completed
            while (!done)
            {
                Thread.Sleep(100);
            }
            Console.WriteLine("Press any key to quit");
            Console.ReadKey(true);
        }

        private static void ProgrammingAPI_ProgressChanged(object sender, ValueEventArgs e)
        {
            Console.WriteLine($"Progress {e.Value}%");
        }

        private static void ProgrammingAPI_ProgrammingStatusChanged(object sender, ProgrammingStatusEventArgs e)
        {
            Console.WriteLine(e.ReturnCode);
        }
    }
}