Nooploop TOFSense-F User manual

TOFSense-F User Manual V1.2
Language: English
Firmware: V1.1.8
NAssistant: V4.4.0
Product Series: TOFSense-F,TOFSense-F P

Content
Copyright © Nooploop LTd 2023. All Rights Reserved.
Content
Content .............................................................................................................................................. 2
Disclaimer ..........................................................................................................................................3
1Introduction .................................................................................................................................... 4
2UART Output ................................................................................................................................. 4
2.1 Active Output ...................................................................................................................... 4
2.2 Query Output ....................................................................................................................... 4
3IIC Output .......................................................................................................................................5
3.1 IIC Communication .............................................................................................................5
4I/O Output .......................................................................................................................................6
5NAssistant Operations ....................................................................................................................7
5.1 Firmware Update ................................................................................................................. 7
5.2 Record, Replay and Export ................................................................................................. 7
6FOV ................................................................................................................................................ 8
7Protocol Unpack ............................................................................................................................. 8
7.1 Introduction ......................................................................................................................... 8
7.2 Example ...............................................................................................................................9
7.2.1 NLink_TOFSense_Frame0 ...................................................................................... 9
7.2.2 NLink_TOFSense_Read_Frame0 ............................................................................ 9
7.2.3 NLink_TOFSense_F_Setting_Frame0 ...................................................................10
7.2.4 NLink_TOFSense_IIC_Frame0 ............................................................................. 11
8FAQ .............................................................................................................................................. 13
9Reference ......................................................................................................................................15
10 Abbreviation and Acronyms ...................................................................................................... 15
11 Update Log .................................................................................................................................15
12 Further Information .................................................................................................................... 16

Disclaimer
Copyright © Nooploop LTd 2023. All Rights Reserved.
3
Disclaimer
Document Information
Nooploop reserves the right to change product specifications without notice. As far as possible
changes to functionality and specifications will be issued in product specific errata sheets or in new
versions of this document. Customers are advised to check with Nooploop for the most recent updates
on this product.
Life Support Policy
Nooploop products are not authorized for use in safety-critical applications (such as life support)
where a failure of the Nooploop product would cause severe personal injury or death. Nooploop
customers using or selling Nooploop products in such a manner do so entirely at their own risk and
agree to fully indemnify Nooploop and its representatives against any damages arising out of the use of
Nooploop products in such safety-critical applications.
Regulatory Approvals
The TOFSense-F series sensors, as supplied from Nooploop, has not been certified for use in any
particular geographic region by the appropriate regulatory body governing radio emissions in that
region although it is capable of such certification depending on the region and the manner in which it is
used. All products developed by the user incorporating the TOFSense-F series sensors must be
approved by the relevant authority governing radio emissions in any given jurisdiction prior to the
marketing or sale of such products in that jurisdiction and user bears all responsibility for obtaining
such approval as needed from the appropriate authorities.

Introduction
Copyright © Nooploop LTd 2023. All Rights Reserved.
4
1Introduction
This document mainly introduces how to use the TOFSense-F and TOFSense-F P, as well as the
precautions to be taken during use. You may need to refer to the following information for assistance in
understanding:
TOFSense-F_Datasheet.pdf
2UART Output
2.1 Active Output
The UART active output mode can be used in single module configurations for
TOFSense-F/TOFSense-F P modules, which by default output measurement information at a frequency
of 50Hz (maximum 350Hz), and the output format follows the NLink_TOFSense_Frame0 protocol.
To connect TOFSense-F series products to the NAssistant software via a USB to TTL module
(referring to the data manual for wiring and power voltage), after successful identification, click to
enter the setting page . The configuration diagram for UART active output mode is shown in Figure
1. After configuring the parameters, you need to click the 'Write Parameters' button to save the
parameters. Once the parameters are written successfully, you can read the parameters once to confirm
if they have been successfully saved. (After changing the baud rate parameter of the module, you need
to unplug and replug the USB to TTL module for the module to be automatically recognized.)
Figure 1: Configuration diagram for UART active output mode
2.2 Query Output
The UART query output mode can be used in single module configurations for TOFSense-F series
products. In this mode, the controller sends a query command containing the module ID to the module
to be queried, and the module outputs a frame of measurement information. The query frame format
follows the NLink_TOFSense_Read_Frame0 protocol, and the output frame format follows the
NLink_TOFSense_Frame0 protocol.

IIC Output
Copyright © Nooploop LTd 2023. All Rights Reserved.
5
To connect TOFSense-F series products to the NAssistant software via a USB to TTL module
(referring to the data manual for wiring and power voltage), after successful identification, click to
enter the setting page . The configuration diagram for UART query output mode is shown in Figure
2. After configuring the parameters, you need to click the 'Write Parameters' button to save the
parameters. Once the parameters are written successfully, you can read the parameters once to confirm
if they have been successfully saved. (After changing the baud rate parameter of the module, you need
to unplug and replug the USB to TTL module for the module to be automatically recognized.)
Figure 2: Configuration diagram for UART query output mode
3IIC Output
3.1 IIC Communication
In IIC communication mode, the controller can send a read frame to the specified slave address of
the module to be queried according to the IIC communication timing to obtain distance and other
related information of the module. In addition, various parameters such as the output mode of the
module can also be changed through IIC communication. The format of the read and write frames
follows the NLink_TOFSense_IIC_Frame0 protocol.
When the module is in UART mode (note that NAssistant cannot recognize modules in IIC mode),
TOFSense-F series products can be connected to the NAssistant software via a USB to TTL module
(referring to the data manual for wiring and power voltage). After successful identification, click to
enter the setting page . The configuration diagram for IIC output mode is shown in Figure 3. The
IIC slave address of the module (7-bit slave address is 0x08 + module ID, and the ID setting range is 0
to 111) can be changed by setting the module ID. After configuring the parameters, you need to click
the 'Write Parameters' button to save the parameters.
Note: After switching to IIC mode, please refer to the FAQ section for a way to switch back to
UART mode.

I/O Output
Copyright © Nooploop LTd 2023. All Rights Reserved.
6
Figure 3: Configuration diagram for IIC output mode
4I/O Output
In I/O output mode, the module cannot output distance values. The two signal lines have opposite
levels, and the level of the I/O port is inverted only when the distance changes from small to large and
exceeds the high threshold value, or when it changes from large to small and falls below the low
threshold value.
When the module is in UART mode (note that NAssistant cannot recognize modules in I/O mode),
TOFSense-F series products can be connected to the NAssistant software via a USB to TTL module
(referring to the data manual for wiring and power voltage). After successful identification, click to
enter the setting page . First, set the hysteresis starting point 'Band_Start' and the hysteresis width
'Bandwidth' to determine the hysteresis interval. The configuration diagram for I/O output mode is
shown in Figure 4. The distance value is converted to a high or low level output by hysteresis
comparison, and the TX/SCL and RX/SDA outputs are complementary. The hysteresis comparison
schematic is shown in Figure 5. After configuring the parameters, you need to click the 'Write
Parameters' button to save the parameters.
Note: After switching to I/O mode, if you need to change parameters such as Band_Start and
Bandwidth, you can refer to the FAQ section to switch back to UART mode and then configure the
parameters.
For example, if Band_Start and Bandwidth are set to 500 (unit: mm), the low threshold value is
0.5 meters, and the high threshold value is 1 meter. When the ranging value is 0.3 meters, RX is high
level and TX is low level. When the ranging value increases to 0.8 meters, RX is high and TX is low.
When the ranging value exceeds 1 meter, the level is reversed, RX is low, and TX is high. When the
ranging value drops from more than 1 meter to 0.8 meters, RX is low and TX is high, and when the
ranging value drops below 0.5 meters, the level is reversed, RX is high, and TX is low.
If only one threshold value is needed, Bandwidth can be set to 0. Also note that the high level
output by the module is 3.3V, and the output current is small. When driving other devices, be sure to
check if it can be driven. If it cannot be directly driven, you can use a relay or other methods to drive it.

NAssistant Operations
Copyright © Nooploop LTd 2023. All Rights Reserved.
7
Figure 4: I/O output mode configuration diagram
For TOFSense-F/TOFSense-F P, the value range of Band_Start and Bandwidth is [0~15000] /
[0~25000], with the unit of mm.
Figure 5: Hysteresis comparison diagram
5NAssistant Operations
5.1 Firmware Update
At present, TOFSense-F/TOFSense-FP does not support firmware online upgrading.
5.2 Record, Replay and Export
NAssistant provides a convenient data recording, playback, and export function. Users can click
the button on the main page menu bar to start real-time raw data recording, and click the button
again to stop recording and output the *.dat file. The recorded *.dat file can be extracted by clicking the
button to open the default storage path and sent to the after-sales engineer for troubleshooting. The
software is equipped with a playback control bar, which can adjust the playback rate, progress, etc. (the
recorded data is the data received by the NAssistant software during the time between the two clicks of
the recording button).

FOV
Copyright © Nooploop LTd 2023. All Rights Reserved.
8
Both real-time and playback modes can export text data to a local .xlsx file by clicking the button
. Click the button again to stop exporting and automatically open the folder where the file is located.
The exported data is the data received or played back by the NAssistant software during the time
between the two clicks of the export button.
Note: If the folder is not automatically opened, find the corresponding folder according to the log
prompt in the lower left corner of the software's main page, or click the menu button, click "Open Data
Folder", and look for it in the "export_data" folder.
Figure 6: Data recording playback and export
6FOV
The field of view parameter represents the angle covered by the module's emitted ranging
light. The initial field of view parameter for the module is 1~2 degrees.
7Protocol Unpack
7.1 Introduction
This chapter's protocol analysis examples are based on the NLink protocol, and you can also
download the NlinkUnpack sample analysis code developed in C language from the official website,
which can effectively reduce the user's development cycle.
Based on the data situation of TOFSense-F series products, in order to represent more data with
fewer bytes, we use integers to represent floating-point numbers and transmit them through protocol
frames. Therefore, when unpacking, the actual data with the multiplier is actually a floating-point
number and needs to be divided by the multiplier indicated in the protocol.
In particular, for int24 type, we need to first convert it to int32 type. To maintain the sign, we use

Protocol Unpack
Copyright © Nooploop LTd 2023. All Rights Reserved.
9
the method of left shift and then divide by 256. For example, for position data, we use int24 to
represent it, and the multiplier is 1000. The parsing code is as follows:
uint8_t byte[] = {0xe6,0x0e,0x00};//Decimal value: 3.814
//uint8_t byte[] = {0xec,0xfb,0xff};//Decimal value: -1.044
int32_t temp = (int32_t)(byte[0] << 8 | byte[1] << 16 | byte[2] << 24) / 256;
float result = temp/1000.0f;
Currently, the protocol verification is mainly based on the single-byte checksum at the end of the
protocol frame. Example code:
uint8_t verifyCheckSum(uint8_t *data, int32_t length){
uint8_t sum = 0;
for(int32_t i=0;i<length-1;++i){
sum += data[i];
}
return sum == data[length-1];
}
7.2 Example
The document assumes a single module continuous ranging scenario.
7.2.1 NLink_TOFSense_Frame0
Data source: Connect the module to the host computer, configure UART as active output mode,
using NLink_TOFSense_Frame0 protocol. For parsing distance data, please refer to the FAQ.
Raw data: 57 00 ff 00 9e 8f 00 00 ad 08 00 00 03 00 06 41
Table 1: NLink_TOFSense_Frame0 Parsing table
Data
Type
Length (Bytes)
Hex
Result
Frame Header
uint8
1
57
0x57
Function Mark
uint8
1
00
0x00
reserved
uint8
1
…
*
id
uint8
1
00
0
System_time
uint32
4
9e 8f 00 00
36766ms
dis*1000
uint24
3
ad 08 00
2.221m
dis_status
uint8
1
00
0
signal_strength
uint16
2
03 00
3
range_precision
uint8
1
06
6cm
Sum Check
uint8
1
41
0x41
7.2.2 NLink_TOFSense_Read_Frame0
Data source: Connect the module to the host computer, configure it as UART query output mode
with ID set to 0. To query data, send the following bytes from the host computer. If you need to query
modules with different IDs, simply change the ID and checksum bytes accordingly.
Raw data: 57 10 FF FF 00 FF FF 63

Protocol Unpack
Copyright © Nooploop LTd 2023. All Rights Reserved.
10
Table 2: NLink_TOFSense_Read_Frame0 Parsing table
Data
Type
Length (Bytes)
Hex
Result
Frame Header
uint8
1
57
0x57
Function Mark
uint8
1
10
0x10
reserved
uint16
2
…
*
id
uint8
1
00
0
reserved
uint16
2
…
*
Sum Check
uint8
1
63
0x63
7.2.3 NLink_TOFSense_F_Setting_Frame0
This protocol is a module parameter setting protocol, which can modify the parameters of the
module through serial instructions. This function is an advanced feature and if the parameters are
modified incorrectly, it may cause the module to not work properly. It is recommended to use this
function after having a certain understanding of the entire system parameters.
Table 3: NLink_TOFSense_F_Setting_Frame0 Parsing table
Data
Type
Length (Bytes)
Description
Frame Header
uint8
1
value = 0x54
Function Mark
uint8
1
value = 0x20
mix
uint8
1
bit0: [0:write],[1:read]---WO
reserved
*
1
Reserved.The default value is 0xFF
id
uint8
1
Node ID---RW
system_time
uint32
4
terminal system time,unit:ms---WO
node system time,unit:ms---RO
mode
uint8
1
bit1:output mode-[0:active],[1:inquire]---WR
bit2-3:range mode-[00:short],[01:medium],[10:long]---WR
bit4:0:interface mode-[00:uart],[01:can],[10:io],[11:iic]---WR
reserved
*
2
Reserved.The default value is 0xFF
uart_baudrate
uint24
3
UART:4800,9600,14400,19200,38400,43000,57600,76800,115200,230400,46
0800,921600,1000000,1200000,1500000,2000000,3000000
CAN:100000,250000,500000,1000000,2000000,3000000
FOV.x
uint8
1
Reserved.The default value is 0xFF
FOV.y
uint8
1
Reserved.The default value is 0xFF
FOV.x_offect
int8
1
Reserved.The default value is 0xFF
FOV.y_offect
int8
1
Reserved.The default value is 0xFF
band_start
uint16
2
[0,25000],unit:mm
band width
uint16
2
[0,25000],unit:mm
reserved
uint8
1
Reserved.The default value is 0xFF
refresh rate
uint16
2
Data refresh rata:1,2,5,10,25,50,100,200,350Hz
filter factor
uint8
1
Filter factor: 0~255.Default:5
reserved
uint8
4
Reserved.The default value is 0xFF

Protocol Unpack
Copyright © Nooploop LTd 2023. All Rights Reserved.
11
Sum Check
uint8
1
the sum check is equal to all previous bytes addded
7.2.4 NLink_TOFSense_IIC_Frame0
Slave address: The module acts as a slave on the I2C bus and its default address is 0x08 (7-bit
address). The slave address is 0x08 + the module ID, so changing the module's ID parameter will
change the slave address. When communicating, it is important to pay attention to address shifting and
adding the read/write bit, i.e., when the address is 0x08, the byte with the read/write bit is 0x10 (write)
or 0x11 (read).
Register address: If there is no corresponding parameter in the register, the default output is 0xff.
Table 4: NLink_TOFSense_IIC_Frame0 Register parsing and communication flow chart
Starting
address
bit
R/W
0x00
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
Reserved
product version
[15-0] product version
0x04
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
bootloader version
hardware version
[15-0] hardware version
[31-16] bootloader version
0x08
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
firmware version
[0-31] firmware version
0x0C
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RW
Reserved
ID
Reserved
Ragne mode
Output mode
Interface mode
[0-2] Interface mode: 0-UART , 1-CAN , 2-I/O , 3-IIC (RW)
[3] Output mode: 0-Active output,1-Query output (RO)
[4-5] Ragne mode: 0- Short,1-Median,2-Long (RO)
[8-15] ID: Device ID (RW), the slave address will take effect only after a power cycle after changing the ID.
0x10
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RW
UART Baudrate
[0-31] uart baudrate
0x14
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
CAN Baudrate
[0-31] can baudrate
0x18
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
FOV.y_offest
FOV.x_offest
FOV.y
FOV.x
[0-7] FOV.x : X direction FOV, unit: °
[8-15] FOV.y : Y direction FOV, unit: °
[16-23] FOV.x_offest : FOV offset in the X direction, unit: °
[24-31] FOV.y_offest : FOV offset in the Y direction, unit: °

Protocol Unpack
Copyright © Nooploop LTd 2023. All Rights Reserved.
12
0x1C
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
bandwidth
bandstart
[0-15] bandstart : I/O mode latency start, unit: mm
[16-31] bandwidth : I/O mode loop bandwidth, unit: mm
0x20
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
Systime
[0-31] Systime : system time, unit: ms
0x24
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
Distance
[0-31] Distance : The distance,unit: mm
0x28
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
Signal_strength
Dis_status
[0-15] Dis_status : The distance status
[16-31] Signal_strength
0x2C
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
Filter factor
Refresh rate
Range_precision
[0-7] Range_precision : Measurement accuracy, unit: cm, 0xFF represents greater than or equal to 255cm, 0x00
represents less than 1cm.
[8-23] Refresh rate , unit:Hz
[24-31] Filter factor: 0 ~ 255. Default :5
I2C communication process:
Single data write
Start
Slave Addr|W
ACK
Reg Addr
ACK
Data[7:0]
ACK
Stop
Sinal data read
Start
Slave Addr|W
ACK
Reg Addr
ACK
Stop
Start
Slave Addr|R
ACK
Data[7:0]
NACK
Stop
Multiple data write
Start
Slave Addr|W
ACK
Reg Addr
ACK
Data[7:0]
ACK
Data[7:0]
ACK
Data[7:0]
ACK
Stop
Multiple data read
Start
Slave Addr|W
ACK
Reg Addr
ACK
Stop
Start
Slave Addr|R
ACK
Data[7:0]
ACK
Data[7:0]
ACK
Data[7:0]
NACK
Stop
Start: Start signal
W: Read flag 1
R: Write flag 0
ACK: Acknowledge
NACK: Non-acknowledge
Stop: Stop signal
Host sends

FAQ
Copyright © Nooploop LTd 2023. All Rights Reserved.
13
Slave sends
8FAQ
Q1. Can it be used in outdoor conditions?
The module can resist some natural light influence and can be used outdoors.
Q2. Is there interference between multiple modules?
When multiple modules are working at the same time, even if the infrared light emitted from one
module crosses or hits the same position as another module, it will not affect the actual measurement.
However, if two modules are at the same horizontal height and facing each other, the measurement
may be affected for both of them.
Q3. Why does the module have no data output?
Each module has undergone strict testing before shipping. If there is no data, please first check if
the mode, wiring (power supply voltage, wire sequence correctness, and whether the pins on both sides
of the communication are conducting as recommended by using a multimeter to test), baud rate, and
other configurations are correct. For IIC output mode, the host needs to read data from the set slave
address through IIC communication according to the communication timing in the manual. For I/O
output mode, please refer to the relevant section on I/O mode introduction.
Q4. What should be noted during installation?
If you don't want to detect the ground or other reflective surfaces, you need to avoid obstruction
within the FOV angle during installation. In addition, attention should be paid to the height of the
ground, and similar reflective surfaces such as ground obstruction should be avoided within the FOV.
If the installation height is close to the ground, you can consider installing the module slightly tilted
upward.
Q5. Is the UART, IIC, and I/O of the module the same interface?
The module's UART, IIC, and I/O interfaces share the same physical interface, and the
corresponding pin sequence can be converted for different communication modes.
Q6. After switching to IIC or I/O mode, why does NAssistant software not recognize the module?
How to switch between different communication modes?
Currently, the NAssistant software only supports the recognition of modules in UART mode. In
UART mode, the host computer can enter the setting page to configure the module as an IIC or I/O
communication mode after successful recognition through the software. In IIC communication mode,
the module can be switched back to UART or I/O mode by sending instructions to the module
according to the IIC communication protocol. Additionally, if there is no IIC test environment or if it is
switched to I/O mode, it can be switched back to UART mode as follows:
1.The user needs to prepare a USB to TTL module that supports 921600 baud rate (CP2102 is
recommended) and install the corresponding driver, connect the USB to TTL module's TX, RX, and
GND to the corresponding pins of the TOF module, and temporarily not connect the VCC pin. Then
plug the USB to TTL module into the computer.

FAQ
Copyright © Nooploop LTd 2023. All Rights Reserved.
14
2.Open the NAssistant software, click on the icon to enter the serial port debugging assistant,
change the baud rate to 921600, select the COM port corresponding to the USB to TTL module, and
then click the connect button to connect to the COM port (most situations will automatically connect).
In the one-way send text box, enter 54 20 00 ff 00 ff ff ff ff 00 ff ff 00 10 0e ff ff ff ff ff ff ff ff ff ff ff
00 ff ff ff ff 7c, change the send interval in the timer send column to 20ms, and then check the timer
send.
3.At this point, connect the USB to TTL module's 5V to the TOF module's VCC pin. The module
will switch to UART mode and start outputting data. Then uncheck the timer send button, disconnect
the USB to TTL module, and then power on the module. Finally, click the recognition button on the
main page to recognize the module.
If the switch fails, pull out the USB to TTL module and repeat the entire step. Do not plug and
unplug the VCC pin repeatedly while sending commands. If the module can be recognized normally
but the serial port output data is abnormal, you can manually change to UART mode in the setting
page.
PS: If the TOF module's VCC pin is connected to the USB to TTL module's 5V and the module
continuously sends protocol data such as 80 00 80 00..., first click the connect button to temporarily
disconnect the COM port, change the baud rate to 115200, and then click the connect button to
reconnect to the COM port. If the data in the serial port debugging assistant starts with b3 b1 at this
point, enter de ed 00 00 05 04 3b 01 00 00 10 in the one-way send text box and click send. Then
disconnect the USB to TTL module, power on the module, and click the recognition button on the main
page to recognize the module. If the data still starts with b3 b1 after re-plugging, repeat the PS steps.
Q7. Whether the module can output point cloud information ?
The module can only output one distance at a time and does not currently support the output of
point cloud information.
Q8. What data will the module output when it exceeds the range?
TOFSense-F:
When the range exceeds 15 meters, the error is large in the range of 15 to approximately 20 meters.
Beyond the maximum range of 20 meters, the distance output is fixed at 0 meters. At this time, you can
refer to the distance status indicator in the data manual to determine the validity of the data.
TOFSense-F P:
When the range exceeds 25 meters, the distance output is fixed at 0 meters. At this time, you can
refer to the distance status indicator in the data manual to determine the validity of the data.
Q9. What is the serial port communication terminal model used by the module? Flight control,
MCU without this terminal interface how to do?
The module uses a GH1.25 terminal. You can purchase GH1.25 to other terminal adapters or cut
off the GH1.25-GH1.25 connection that comes with the product and weld other terminals yourself.
Please refer to the data manual for wiring sequence, power supply voltage, signal line level, etc.
Q10.How to calculate the received ad 08 00 as distance value?
The data in the protocol frame is stored in little-endian mode, and it is multiplied by a certain
multiple during encoding. For example, "ad 08 00" is first restored to hexadecimal data 0x0008ad,

Reference
Copyright © Nooploop LTd 2023. All Rights Reserved.
15
which translates to 2,221 in decimal, and divided by 1000 to become 2.221 meters.
Q11.How is the checksum calculated?
The checksum is the sum of all the bytes in the previous data, and the lowest byte is taken as the
data. For example, the checksum for the data "55 01 00 ef 03" is 0x55 + 0x01 + 0x00 + 0xef + 0x03 =
0x0148, so the checksum is 48. Therefore, the complete data of this frame is 55 01 00 ef 03 48.
Q12.Why cannot I communicate in IIC mode?
In IIC mode, the SDA and SCL pins of the device are recommended to output in open drain mode,
and a pull-up resistor is required on the bus. When communicating, it is necessary to write the start,
stop, read, write, acknowledge, etc. functions according to the standard IIC communication timing, and
when communicating with the TOF module, refer to the NLink_TOFSense_IIC_Frame0 protocol in the
user manual to read and write the registers. It is particularly important to note the shifting of the 7-bit
slave address and the addition of the read-write bit transmission.
Q13.What if there is an error or no data when compiling the ROS driver package
Before using the ROS driver package, the user needs to read the README.MD document in the
driver package and follow the steps and precautions in the document. The user can also refer to the
"ROS Driver Application Graphic Tutorial" on the official website for use.
9Reference
[1] TOFSense-F_Datasheet.pdf
10 Abbreviation and Acronyms
Table 5: Abbreviation and Acronyms
Abbreviation
Full Title
TOF
Time of Flight
FOV
Field of View
HW
Half Wave
VCSEL
Vertical Cavity Surface Emitting Laser
UART
Universal Asynchronous Receiver/Transmitter
IIC
Inter-Integrated Circuit
11 Update Log
Table 6: Update Log
Version
Firmware Version
Data
Description
1.0
1.0.5
20210918
1. Release first edition manual
1.1
1.1.7
20220926
1. Added explanation of serial setting frame protocol
2. Optimized some descriptions
1.2
1.1.8
20230404
1. Optimized the description in the FAQ section

Further Information
Copyright © Nooploop LTd 2023. All Rights Reserved.
16
12 Further Information
Company: SZ Nooploop Technology Co.,Ltd.
Address: A2-207, Peihong building, No. 1, Kehui Road, Science Park community, Yuehai street,
Nanshan District, Shenzhen
E-amil: marketing@nooploop.com
Website: www.nooploop.com
This manual suits for next models
1
Table of contents
Other Nooploop Accessories manuals
Popular Accessories manuals by other brands

UV Dynamics
UV Dynamics 8.40C Installation & operation manual

Linocell
Linocell 97667 manual

RKC INSTRUMENT
RKC INSTRUMENT CZ-200P instruction manual

MITECH
MITECH TRENDY Installation and user manual

Trane
Trane Wired Temperature Sensors Installation, operation and maintenance

MicroStrain
MicroStrain 3DM-DH3 Quick start guides