<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de-AT">
	<id>https://becomwiki.live.md-websolutions.com/index.php?action=history&amp;feed=atom&amp;title=BltTofApi_Matlab_SDK</id>
	<title>BltTofApi Matlab SDK - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://becomwiki.live.md-websolutions.com/index.php?action=history&amp;feed=atom&amp;title=BltTofApi_Matlab_SDK"/>
	<link rel="alternate" type="text/html" href="https://becomwiki.live.md-websolutions.com/index.php?title=BltTofApi_Matlab_SDK&amp;action=history"/>
	<updated>2026-05-13T12:44:21Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in BECOM Systems Support</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://becomwiki.live.md-websolutions.com/index.php?title=BltTofApi_Matlab_SDK&amp;diff=432&amp;oldid=prev</id>
		<title>Peter: 1 Version importiert</title>
		<link rel="alternate" type="text/html" href="https://becomwiki.live.md-websolutions.com/index.php?title=BltTofApi_Matlab_SDK&amp;diff=432&amp;oldid=prev"/>
		<updated>2023-10-31T08:03:10Z</updated>

		<summary type="html">&lt;p&gt;1 Version importiert&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de-AT&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 31. Oktober 2023, 10:03 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;de-AT&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(kein Unterschied)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Peter</name></author>
	</entry>
	<entry>
		<id>https://becomwiki.live.md-websolutions.com/index.php?title=BltTofApi_Matlab_SDK&amp;diff=431&amp;oldid=prev</id>
		<title>en&gt;Peter: 1 Version importiert</title>
		<link rel="alternate" type="text/html" href="https://becomwiki.live.md-websolutions.com/index.php?title=BltTofApi_Matlab_SDK&amp;diff=431&amp;oldid=prev"/>
		<updated>2023-08-22T19:35:53Z</updated>

		<summary type="html">&lt;p&gt;1 Version importiert&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Overview ==&lt;br /&gt;
In order to create a common interface for our products we define the interfaces between a ToF device and an application. The main part of this model is the BltTofApi which is written in C for platform independency. The MATLAB SDK is able to access the BltTofApi interface and will therefore be compatible with any device with existing lib implementing in the BltTofApi.&lt;br /&gt;
&lt;br /&gt;
== Software Releases ==&lt;br /&gt;
&lt;br /&gt;
=== for Ethernet devices ===&lt;br /&gt;
&lt;br /&gt;
==== Version 1.3.0 ====&lt;br /&gt;
&lt;br /&gt;
;Release date&lt;br /&gt;
:2015-02-02&lt;br /&gt;
;Supported library&lt;br /&gt;
:Bluetechnix_ToF_Api_Eth_Win_x86_x64_v1.3.0&lt;br /&gt;
;Release Notes&lt;br /&gt;
:List of changes:&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Category !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Bugfix || BTAgetXYZcoordinates correctly returns the modulation frequency and the integration time. &lt;br /&gt;
|-&lt;br /&gt;
| Feature || Calibration files can be passed to the BTAopen function by using the configuration structure.&lt;br /&gt;
|-&lt;br /&gt;
| Feature|| Devices with higher resolutions than 160x120 are supported.&lt;br /&gt;
|-&lt;br /&gt;
| Feature	|| New function: BTAgetPhases &lt;br /&gt;
|-&lt;br /&gt;
| Feature|| New function: BTAget2DData&lt;br /&gt;
|-&lt;br /&gt;
| Feature	|| New function: BTAwriteCurrentConfigToNvm&lt;br /&gt;
|-&lt;br /&gt;
| Feature	|| New function: BTArestoreDefaultConfig      &lt;br /&gt;
|-&lt;br /&gt;
| Feature	|| New function: BTAsendReset&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Version 1.0.0 ====&lt;br /&gt;
&lt;br /&gt;
;Release date&lt;br /&gt;
:2014-09-15&lt;br /&gt;
;Supported library&lt;br /&gt;
:Bluetechnix_ToF_Api_Eth_Win_x86_x64_v1.0.0&lt;br /&gt;
;Release Notes&lt;br /&gt;
Initial release&lt;br /&gt;
&lt;br /&gt;
=== for USB devices ===&lt;br /&gt;
&lt;br /&gt;
==== Version 1.3.0 ====&lt;br /&gt;
&lt;br /&gt;
;Release date&lt;br /&gt;
:2015-02-03&lt;br /&gt;
;Supported library&lt;br /&gt;
:Bluetechnix_ToF_Api_P100_Win_Lin_ARM_v1.3.0&lt;br /&gt;
;Release Notes&lt;br /&gt;
:List of changes:&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Category !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Bugfix || BTAgetXYZcoordinates correctly returns the modulation frequency and the integration time. &lt;br /&gt;
|-&lt;br /&gt;
| Feature || Calibration files can be passed to the BTAopen function by using the configuration structure.&lt;br /&gt;
|-&lt;br /&gt;
| Feature|| Devices with higher resolutions than 160x120 are supported.&lt;br /&gt;
|-&lt;br /&gt;
| Feature	|| New function: BTAgetPhases &lt;br /&gt;
|-&lt;br /&gt;
| Feature|| New function: BTAgetFlags&lt;br /&gt;
|-&lt;br /&gt;
| Feature	|| New function: BTAwriteCurrentConfigToNvm&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Version 1.0.0 ====&lt;br /&gt;
&lt;br /&gt;
;Release date&lt;br /&gt;
:2014-09-15&lt;br /&gt;
;Supported library&lt;br /&gt;
:Bluetechnix_ToF_Api_P100_Win_x86_x64_v1.0.0&lt;br /&gt;
;Release Notes&lt;br /&gt;
Initial release&lt;br /&gt;
&lt;br /&gt;
== API Reference ==&lt;br /&gt;
=== API Version ===&lt;br /&gt;
In order to query the version of the API, invoke the function BTAgetVersion.&lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 [status, version, buildDateTime, supportedDeviceTypes] = BTAgetVersion;&lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 none&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               - Error code for error handling. Refer to [[BltTofApi Error codes#BTAgetVersion|BltTofApi Error Codes]]&lt;br /&gt;
 version              - Version number&lt;br /&gt;
 buildDateTime        - Build date and time&lt;br /&gt;
 supportedDeviceTypes - Supported device types:&lt;br /&gt;
 			 0xA9C1 – Sentis-ToF-M100&lt;br /&gt;
 			 0xB320 – Argos 3D P320&lt;br /&gt;
 			 0x9BA6 – Argos 3D P310&lt;br /&gt;
 			 0xA3C4 – Argos 3D P100&lt;br /&gt;
                          0x5032 - Argos 3D P510&lt;br /&gt;
&lt;br /&gt;
=== Initialization ===&lt;br /&gt;
First, the library must be configured via the configuration c-structure. The configuration structure must be initialized with standard values using the function BTAinitConfig. The specific implementation of the library defines which parameters are required and which can be left out. The required parameters must then be set to a valid value before calling BTAopen.&lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 [status, configStruct] = BTAinitConfig;&lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 none&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               - Error code for error handling. Refer to [[BltTofApi Error codes#BTAinitConfig|BltTofApi Error Codes]]&lt;br /&gt;
 configStruct         - Configuration structure&lt;br /&gt;
&lt;br /&gt;
=== Connection Parameters ===&lt;br /&gt;
A library might define different parameter sets for different connection modes (For example if only TCP configuration interface parameters are set, no data interface connection will be established to the sensor).&lt;br /&gt;
&lt;br /&gt;
Example for Sentis-ToF-M100 lib and connection mode UDP/TCP:&lt;br /&gt;
&lt;br /&gt;
 configStruct.udpDataIpAddr = [224, 0, 0, 1];&lt;br /&gt;
 configStruct.udpDataIpAddrLen = 4;&lt;br /&gt;
 configStruct.udpDataPort = 10002;&lt;br /&gt;
 configStruct.tcpDeviceIpAddr = [192, 168, 0, 10];&lt;br /&gt;
 configStruct.tcpDeviceIpAddrLen = 4;&lt;br /&gt;
 configStruct.tcpControlPort = 10001;&lt;br /&gt;
 configStruct.frameQueueMode = 1;&lt;br /&gt;
 configStruct.frameQueueLength = 5;&lt;br /&gt;
&lt;br /&gt;
=== Frame Mode Parameter ===&lt;br /&gt;
The frame mode can be configured in order to get the desired data channels from the sensor / library:&lt;br /&gt;
&lt;br /&gt;
 configStruct.frameMode = 1;&lt;br /&gt;
&lt;br /&gt;
Possible frame modes:&lt;br /&gt;
 1 – Distances and amplitudes &lt;br /&gt;
 2 – Distance, amplitudes and flags (only supported by USB based devices)&lt;br /&gt;
 3 - XYZ coordinates &lt;br /&gt;
 4 – XYZ coordinates and amplitudes &lt;br /&gt;
 5 – Distances, amplitudes and 2D color (only supported by Ethernet based devices)&lt;br /&gt;
 6 - XYZ coordinates, amplitudes and flags (only supported by USB based devices)&lt;br /&gt;
 7 – Raw Phases&lt;br /&gt;
 8 – Intensities (only supported by USB based devices)&lt;br /&gt;
&lt;br /&gt;
=== Connecting ===&lt;br /&gt;
Now that the configuration structure is filled in, the connection is ready to be opened:&lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 [status, deviceHandle] = BTAopen(configStruct);&lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 configStruct         - Configuration structure&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               - Error code for error handling. Refer to [[BltTofApi Error codes#BTAopen|BltTofApi Error Codes]]&lt;br /&gt;
 deviceHandle         - Handle to the device&lt;br /&gt;
&lt;br /&gt;
=== Querying Device Information ===&lt;br /&gt;
The following example shows, how general information on the device can be retrieved. The resulting struct may be only partly filled depending on the device’s capabilities.&lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 [status, deviceType, productOrderNumber, serialNumber, firmwareVersion] = BTAgetDeviceInfo(deviceHandle);&lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 deviceHandle         - Device handle&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               - Error code for error handling. Refer to [[BltTofApi Error codes#BTAgetDeviceInfo|BltTofApi Error Codes]]&lt;br /&gt;
 deviceType           - Device type&lt;br /&gt;
 			 0xA9C1 – Sentis-ToF-M100&lt;br /&gt;
 			 0xB320 – Argos 3D P320&lt;br /&gt;
 			 0x9BA6 – Argos 3D P310&lt;br /&gt;
 			 0xA3C4 – Argos 3D P100&lt;br /&gt;
 productOrderNumber   - Product order number of the device&lt;br /&gt;
 serialNumber         - Serial number of the device&lt;br /&gt;
 firmwareVersion      - Firmware version&lt;br /&gt;
&lt;br /&gt;
=== Frame Retrieval ===&lt;br /&gt;
A frame can be actively requested from the library. The function BTAgetFrame is blocking, so a timeout can be specified. A timeout of 0 results in endless waiting for a frame.&lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 [status, frameHandle, frameCounter, timeStamp] = BTAgetFrame(deviceHandle, timeout);&lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 deviceHandle         - Device handle&lt;br /&gt;
 timeout              - Timeout to wait if no frame is yet available in [ms]. If timeout = 0 the function waits endlessly for a frame.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               - Error code for error handling. Refer to [[BltTofApi Error codes#BTAgetFrame|BltTofApi Error Codes]]&lt;br /&gt;
 frameHandle          - Frame handle (needs to be free’d with BTAfreeFrame)&lt;br /&gt;
&lt;br /&gt;
=== Frame Cleanup ===&lt;br /&gt;
A successful call to getFrame always demands for a call to BTAfreeFrame.&lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 [status] = BTAfreeFrame(frameHandle);&lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 frameHandle          - Frame handle&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               - Error code for error handling. Refer to [[BltTofApi Error codes#BTAfreeFrame|BltTofApi Error Codes]]&lt;br /&gt;
&lt;br /&gt;
=== Get Distances ===&lt;br /&gt;
BTAgetDistances extracts distances from a provided frame. If there is no channel with distances data present in the frame, an error is returned.&lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 [status, distData, integrationTime, modulationFrequency, unit] = BTAgetDistances(frameHandle);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 frameHandle          - Frame handle&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               - Error code for error handling. Refer to [[BltTofApi Error codes#BTAgetDistances|BltTofApi Error Codes]]&lt;br /&gt;
 distData             - Array which contains the distances data.&lt;br /&gt;
 integrationTime      - Integration time&lt;br /&gt;
 modulationFrequency  - Modulation frequency&lt;br /&gt;
 unit                 - Unit of the data.&lt;br /&gt;
 			 0 – unitless&lt;br /&gt;
 			 1 – meter&lt;br /&gt;
 			 2 - centimeter&lt;br /&gt;
 			 3 - millimeter&lt;br /&gt;
&lt;br /&gt;
=== Get Amplitudes===&lt;br /&gt;
BTAgetAmplitudes extracts amplitudes from a provided frame. If there is no channel with amplitudes data present in the frame, an error is returned.&lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 [status, ampData, integrationTime, modulationFrequency, unit] = BTAgetAmplitudes(frameHandle);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 frameHandle          - Frame handle&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               - Error code for error handling. Refer to [[BltTofApi Error codes#BTAgetAmplitudes|BltTofApi Error Codes]]&lt;br /&gt;
 ampData              - Array which contains the amplitudes data.&lt;br /&gt;
 integrationTime      - Integration time&lt;br /&gt;
 modulationFrequency  - Modulation frequency&lt;br /&gt;
 unit                 - Unit of the data.&lt;br /&gt;
 			 0 – unitless&lt;br /&gt;
 			 1 – meter&lt;br /&gt;
 			 2 - centimeter&lt;br /&gt;
 			 3 - millimeter&lt;br /&gt;
&lt;br /&gt;
=== Get XYZ Coordinates===&lt;br /&gt;
BTAgetAmplitudes extracts 3D-Coordinates from a provided frame. If there is no channel with 3D-coordinates present in the frame, an error is returned.&lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 [status, xData, yData, zData, integrationTime, modulationFrequency, unit] =  BTAgetXYZcoordinates(frameHandle);&lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 frameHandle          - Frame handle&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               - Error code for error handling. Refer to [[BltTofApi Error codes#BTAgetXYZcoordinates|BltTofApi Error Codes]]&lt;br /&gt;
 xData                - Array which contains the cartesian x coordinates.&lt;br /&gt;
 yData                - Array which contains the cartesian y coordinates.&lt;br /&gt;
 zData                - Array which contains the cartesian z coordinates.&lt;br /&gt;
 integrationTime      - Integration time&lt;br /&gt;
 modulationFrequency  - Modulation frequency&lt;br /&gt;
 unit                 - Unit of the data.&lt;br /&gt;
 			 0 – unitless&lt;br /&gt;
 			 1 – meter&lt;br /&gt;
 			 2 - centimeter&lt;br /&gt;
 			 3 - millimeter&lt;br /&gt;
&lt;br /&gt;
=== Get Phases===&lt;br /&gt;
BTAgetDistances extracts the phases from a provided frame. If there is no channel which contains phases, an error is returned.&lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 [status, phase0, phase90, phase180, phase270, integrationTime, modulationFrequency, unit] = BTAgetPhases(frameHandle);&lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 frameHandle          - Frame handle&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               -	  0 	Success&lt;br /&gt;
 			  -15	The given frame does not contain phase data&lt;br /&gt;
 			  -1	The given handle is not valid	&lt;br /&gt;
 phase0               - Array which contains the phase0.&lt;br /&gt;
 phase90              - Array which contains the phase90.&lt;br /&gt;
 phase180             - Array which contains the phase180.&lt;br /&gt;
 phase270             - Array which contains the phase270.&lt;br /&gt;
 integrationTime      - Integration time&lt;br /&gt;
 modulationFrequency  - Modulation frequency&lt;br /&gt;
 unit                 - Unit of the data.&lt;br /&gt;
 			 0 – unitless&lt;br /&gt;
 			 1 – meter&lt;br /&gt;
 			 2 - centimeter&lt;br /&gt;
 			 3 - millimeter&lt;br /&gt;
&lt;br /&gt;
=== Get Flags===&lt;br /&gt;
BTAgetFlags extracts the flags from a provided frame. If there is no channel which contains flags, an error is returned.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NOTE: This function is supported only by USB based devices.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 [status, flags, integrationTime, modulationFrequency, unit] = BTAgetFlags(frameHandle);&lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 frameHandle          - Frame handle&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               - Error code for error handling. Refer to [[BltTofApi Error codes#BTAgetXYZcoordinates|BltTofApi Error Codes]]&lt;br /&gt;
 flags                - Array which contains the flags&lt;br /&gt;
 integrationTime      - Integration time&lt;br /&gt;
 modulationFrequency  - Modulation frequency&lt;br /&gt;
 unit                 - Unit of the data.&lt;br /&gt;
 			 0 – unitless&lt;br /&gt;
 			 1 – meter&lt;br /&gt;
 			 2 - centimeter&lt;br /&gt;
 			 3 - millimeter&lt;br /&gt;
&lt;br /&gt;
=== Get Color Sensor Data ===&lt;br /&gt;
BTAget2DData extracts the color sensor data from a provided frame. If there is no channel which contains color sensor data, an error is returned.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NOTE: This function is supported only by Ethernet based devices.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 [status, colorData2D, integrationTime, modulationFrequency, unit] = BTAget2DData(frameHandle);&lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 frameHandle          - Frame handle&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               -	  0 	Success&lt;br /&gt;
  	                  -15	The given frame does not contain phase data&lt;br /&gt;
                           1     The frame mode is selected correctly but the given frame doesn&amp;#039;t contain 2D color data. &lt;br /&gt;
                                The reason for this are different frame rates of the ToF and the 2D sensor.&lt;br /&gt;
			  -1	The given handle is not valid	&lt;br /&gt;
 colorData2D          - Array which contains the 2D color data&lt;br /&gt;
 integrationTime      - Integration time&lt;br /&gt;
 modulationFrequency  - Modulation frequency&lt;br /&gt;
 unit                 - Unit of the data.&lt;br /&gt;
 			 0 – unitless&lt;br /&gt;
 			 1 – meter&lt;br /&gt;
 			 2 - centimeter&lt;br /&gt;
 			 3 - millimeter&lt;br /&gt;
&lt;br /&gt;
=== Get Intensities ===&lt;br /&gt;
BTAgetIntensities extracts the intensities from a provided frame. If there is no channel which intensity data, an error is returned.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NOTE: This function is supported only by USB based devices.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 [status, intensities, integrationTime, modulationFrequency, unit] = BTAgetIntensities(frameHandle);&lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 frameHandle          - Frame handle&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               -	  0 	Success&lt;br /&gt;
 			  -15	The given frame does not contain phase data&lt;br /&gt;
 			  -1	The given handle is not valid	&lt;br /&gt;
 intensities          - Array which contains intensities&lt;br /&gt;
 integrationTime      - Integration time&lt;br /&gt;
 modulationFrequency  - Modulation frequency&lt;br /&gt;
 unit                 - Unit of the data.&lt;br /&gt;
 			 0 – unitless&lt;br /&gt;
 			 1 – meter&lt;br /&gt;
 			 2 - centimeter&lt;br /&gt;
 			 3 - millimeter&lt;br /&gt;
&lt;br /&gt;
=== Disconnecting ===&lt;br /&gt;
In order to disconnect the sensor and stop the service, simply call BTAclose.&lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 status = BTAclose(deviceHandle);&lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 deviceHandle         - Device handle&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               - Error code for error handling. Refer to [[BltTofApi Error codes#BTAclose|BltTofApi Error Codes]]&lt;br /&gt;
&lt;br /&gt;
=== Keep Alive Massages Interval ===&lt;br /&gt;
&lt;br /&gt;
The interval of the keepalive massages can be set with BTAsetKeepAliveMsgInterval.&lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 status = BTAsetKeepAliveMsgInterval(deviceHandle, interval);&lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 deviceHandle         - Device handle&lt;br /&gt;
 interval             - The interval in seconds for keep-alive-massages to be sent.&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               - Error code for error handling. Refer to [[BltTofApi Error codes#BTAsetKeepAliveMsgInterval|BltTofApi Error Codes]]&lt;br /&gt;
&lt;br /&gt;
=== Get Frame Rate ===&lt;br /&gt;
BTAgetFrameRate returns the current theoretical frame rate of the default capture sequence.&lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 [status, frameRate] = BTAgetFrameRate(deviceHandle); &lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 deviceHandle         - Device handle&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               - Error code for error handling. Refer to [[BltTofApi Error codes#BTAgetFrameRate|BltTofApi Error Codes]]&lt;br /&gt;
 frameRate            - Frame rate&lt;br /&gt;
&lt;br /&gt;
=== Set Frame Rate ===&lt;br /&gt;
The frame rate can be changed with BTAsetFrameRate. &lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 status = BTAsetFrameRate(deviceHandle, frameRate);&lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 deviceHandle         - Device handle&lt;br /&gt;
 frameRate            - Frame rate&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               - Error code for error handling. Refer to [[BltTofApi Error codes#BTAsetFrameRate|BltTofApi Error Codes]]&lt;br /&gt;
&lt;br /&gt;
=== Get Integration Time ===&lt;br /&gt;
BTAgetIntegrationTime returns the current integration time of the default capture sequence.&lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 [status, integrationTime] = BTAgetIntegrationTime (deviceHandle); &lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 deviceHandle         - Device handle&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               - Error code for error handling. Refer to [[BltTofApi Error codes#BTAgetIntegrationTime|BltTofApi Error Codes]]&lt;br /&gt;
 integrationTime      - Integration time&lt;br /&gt;
&lt;br /&gt;
=== Set Integration Time ===&lt;br /&gt;
The integration time can be changed with BTAsetIntegrationTime. &lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 status = BTAsetIntegrationTime (deviceHandle, integrationTime);&lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 deviceHandle         - Device handle&lt;br /&gt;
 integrationTime      - Integration time&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               - Error code for error handling. Refer to [[BltTofApi Error codes#BTAgetIntegrationTime|BltTofApi Error Codes]]&lt;br /&gt;
&lt;br /&gt;
=== Get Global Offset ===&lt;br /&gt;
BTAgetGlobalOffset returns the distance offset being applied to all pixels equally.&lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 [status, globalOffset] = BTAgetGlobalOffset(deviceHandle); &lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 deviceHandle         - Device handle&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               - Error code for error handling. Refer to [[BltTofApi Error codes#BTAgetGlobalOffset|BltTofApi Error Codes]]&lt;br /&gt;
 globalOffset         - Global offset in [mm]&lt;br /&gt;
&lt;br /&gt;
=== Set Global Offset ===&lt;br /&gt;
The distance offset being applied to all pixels equally can be changed with BTAsetGlobalOffset.&lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 status = BTAsetGlobalOffset (deviceHandle, globalOffset);&lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 deviceHandle         - Device handle&lt;br /&gt;
 globalOffset         - Global offset in [mm]&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               - Error code for error handling. Refer to [[BltTofApi Error codes#BTAsetGlobalOffset|BltTofApi Error Codes]]&lt;br /&gt;
&lt;br /&gt;
=== Set Frame Mode ===&lt;br /&gt;
BTAsetGlobalOffset allows specifying which channels will be included in a BTA_Frame, see the BLT_FrameMode in bta_frame.h for possible options.&lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 status = BTAsetFrameMode(deviceHandle, frameMode);&lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 deviceHandle         - Device handle&lt;br /&gt;
 frameMode            - The desired frame mode&lt;br /&gt;
                         1 – Distances and amplitudes &lt;br /&gt;
                         2 – Distance, amplitudes and flags	(only supported by USB based devices)&lt;br /&gt;
                         3 - XYZ coordinates &lt;br /&gt;
                         4 – XYZ coordinates and amplitudes &lt;br /&gt;
                         5 – Distances, amplitudes and 2D color (only supported by Ethernet based devices)&lt;br /&gt;
                         6 - XYZ coordinates, amplitudes and flags (only supported by USB based devices)&lt;br /&gt;
                         7 – Raw Phases&lt;br /&gt;
                         8 – Intensities (only supported by USB based devices)&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               - Error code for error handling. Refer to [[BltTofApi Error codes#BTAsetFrameMode|BltTofApi Error Codes]]&lt;br /&gt;
&lt;br /&gt;
=== Read Register ===&lt;br /&gt;
BTAreadRegister reads out the data of one register. &lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 [status, data] = BTAreadRegister(deviceHandle, address);&lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 deviceHandle         - Device handle&lt;br /&gt;
 address              - The address in the register map to read from&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               - Error code for error handling. Refer to [[BltTofApi Error codes#BTAreadRegister|BltTofApi Error Codes]]&lt;br /&gt;
 data                 - Register data&lt;br /&gt;
&lt;br /&gt;
=== Write Register ===&lt;br /&gt;
BTAwriteRegister writes a value into the specified register address. &lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 [status] = BTAwriteRegister(deviceHandle, adress, data);&lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 deviceHandle         - Device handle&lt;br /&gt;
 address              - The address in the register map to read from&lt;br /&gt;
 data                 - Data to write&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               - Error code for error handling. Refer to [[BltTofApi Error codes#BTAwriteRegister|BltTofApi Error Codes]]&lt;br /&gt;
&lt;br /&gt;
=== Save current configuration ===&lt;br /&gt;
BTAwriteCurrentConfigToNvm writes the current configuration (i.e. register settings) to non-volatile memory.&lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 [status] = BTAwriteCurrentConfigToNvm(deviceHandle);&lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 deviceHandle         - Device handle&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               - Error code for error handling. Refer to [[BltTofApi Error codes#BTAwriteRegister|BltTofApi Error Codes]]&lt;br /&gt;
&lt;br /&gt;
=== Restore default configuration ===&lt;br /&gt;
BTArestoreDefaultConfig restores the default configuration (but does not save it).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NOTE: This function is supported only by Ethernet based devices.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 [status] = BTAwriteCurrentConfigToNvm(deviceHandle);&lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 deviceHandle         - Device handle&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               - Error code for error handling. Refer to [[BltTofApi Error codes#BTAwriteRegister|BltTofApi Error Codes]]&lt;br /&gt;
&lt;br /&gt;
=== Reset Device ===&lt;br /&gt;
BTAsendReset initiates a reset of the device.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NOTE: This function is supported only by Ethernet based devices.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Calling syntax:&lt;br /&gt;
&lt;br /&gt;
 [status] = BTAsendReset(deviceHandle);&lt;br /&gt;
&lt;br /&gt;
Input parameter:&lt;br /&gt;
&lt;br /&gt;
 deviceHandle         - Device handle&lt;br /&gt;
&lt;br /&gt;
Output parameter:&lt;br /&gt;
&lt;br /&gt;
 status               - Error code for error handling. Refer to [[BltTofApi Error codes#BTAwriteRegister|BltTofApi Error Codes]]&lt;/div&gt;</summary>
		<author><name>en&gt;Peter</name></author>
	</entry>
</feed>