Thermal Camera Module UART Communication Protocol

Thermal Camera Module UART CVBS Communication Protocol Guide

Analog thermal imaging camera for fpv quadcopter drone
Analog thermal imaging camera for fpv quadcopter drone

Preface

This manual is applicable to the thermal camera modules of HM-TM5X-XRG/C series, and introduces the UART serial communication and CVBS video communication protocols and related commands for this series of thermal camera modules.

CONTENTS                                                     

1      Introduction. 1

1.1        Communication Protocols. 1

1.2        Preparation. 1

2      Serial Communication. 2

2.1        Introduction. 2

2.1.1     Serial Communication Format 2

2.1.2     Data Transmitting and Receiving. 2

2.2        Commands. 6

2.2.1     Reading the Model of the Module (Read-Only). 6

2.2.2     Reading the FPGA Program Version Number (Read-Only). 6

2.2.3     Reading FPGA Program Compilation Time (Read-Only). 7

2.2.4     Reading the Module Software Version Number (Read-Only). 8

2.2.5     Reading the Module Software Compilation Time (Read-Only). 8

2.2.6     Reading the Camera Process Calibration Version Time (Read-Only). 9

2.2.7     Reading the ISP Parameter Version Number (Read-Only). 9

2.2.8     Saving Current Settings (Write-Only). 10

2.2.9     Factory Reset (Write-Only). 10

2.2.10        Manual Shutter Calibration (Write-Only). 11

2.2.11        Manual Background Correction (Write-Only). 11

2.2.12        Vignetting Correction (Write-Only). 12

2.2.13        Automatic Shutter Control (Read/Write). 12

2.2.14        Setting the Automatic Shutter Switching Interval (Read/Write). 14

2.2.15        Defective Pixel Correction (Write-Only). 15

2.2.16        Brightness Setting (Read/Write). 17

2.2.17        Contrast Setting (Read/Write). 18

2.2.18        Setting Image Detail Digital Enhancement (Read/Write). 18

2.2.19        Setting Static Denoising Level (Read/Write). 19

2.2.20        Setting Dynamic Denoising Level (Read/Write). 20

2.2.21        Palette Setting (Read/Write). 21

2.2.22        Setting Image Mirroring (Read/Write). 22

2.3        Reading Initialization State (Read-Only). 23

2.4        Serial Command Transmitting and Verification. 24

3      FAQ. 25

1. Introduction

1.1 Communication Protocols

The thermal camera modules support UART serial communication and CVBS video communication protocols.

UART Serial Communication

Users can send commands to the thermal camera modules through serial port to control the modules to perform corresponding actions, such as image parameter settings, function adjustment, etc.

The data transmission and reception of serial communication shall follow the requirements of the communication packet format.

CVBS Video Communication

Thermal images and video streams follow the CVBS video communication protocol. Video data is output as soon as the module is powered on (no enabling control).

1.2 Preparation

Users can connect the module (“device” end) to the device to be developed (“host” end) via the serial port.

Once the module is connected and powered on, it will send the image data to the host via the CVBS protocol. The host will parse the obtained data and then display the image or use it for other purposes.

Users can send serial port commands to the module through the host to control the module, such as setting image parameters.

2 Serial Communication

2.1 Introduction

The modules use UART (Universal Asynchronous Receiver/Transmitter) serial communication. The host (user-developed device) can send commands to the module through the serial port and control the module to perform the corresponding actions. Communication commands need to be sent in the specified packet format.

2.1.1 Serial Communication Format

Before establishing communication with the host, you need to set the communication parameters on the host according to Table 2-1, which shows the serial communication format of the thermal camera modules.

ItemDescription
Baud rate115200 bps
Start1 bit
Data8 bits
End1 bit
CheckNONE
2.1.2 Data Transmitting and Receiving

Data Packet Transmitting

The serial communication packet of the thermal camera modules contains multiple fields, as shown in Figure 2-1.

Table 2-2 describes the fields of the data packet.

FieldBytesDescriptionValueOffset
BEGIN1Command packet starts.0xF01
SIZE1Lenth of the command packet.N+4 bytes, as shown in Figure 2-1.2
Device
Address
1Address of the module device.0x363
Class Address1Class address of the command.See Commands for the details.4
Subclass Address1Subclass address of the command.See Commands for the details.5
R/W
Flag
1Packet transmitting from host.Read/Write FlagWrite: 0x00Read: 0x016
Packet feedback from device.Normal return.0x03
Return of error code.0x04
DATANPacket transmitting from host.Transmit the data content.Default: 0x00.
See Commands for the details.
7~ (N+6)
Packet feedback from device.Feedback of normal commandsSuccess: 0x01Failed: No return
Feedback of abnormal commandsNo command: 0x00, the command sent by the host does not belong to the commands of the module.Threshold exceeded: 0x01
Data contentWhen a read command is received, the data content is returned.
CHK1Summation check. After adding the fields: Device Address, Class Address, Subclass Address , R/W Flag and DATA, take the lower 8 bits.(N+7)
END1Command packet ends. 0xFF(N+8)

Data Packet Receiving

In the command packet the thermal camera module returns to the host, DATA0 is the high byte and DATA(N-1) is the low byte.

Table 2-3 describes the fields of the data packet.

FieldBytesDescriptionValueOffset
BEGIN1Command packet starts.0xF01
SIZE1Lenth of the command packet.N+4 bytes, as shown in Figure 2-2.2
Device
Address
1Address of the module device.0x363
Class Address1Class address of the command.See Commands for the details.4
Subclass Address1Subclass address of the command.See Commands for the details.5
Return Flag1Return Flag.0x036
DATANDATASee Commands for the details. Default: 0x00 (no data).7~ (N+6)
CHK1Summation check.After adding the fields: Device Address, Class Address, Subclass Address , Return Flag and DATA, take the lower 8 bits.(N+7)
END1Command packet ends.0xFF(N+8)
  • Note
  • When the host sends a write command to the module, the module will return the actual executing state of the command after completely receiving it.
  • 0x01: indicates that a write command has been received, but does not mean that the command has been executed.
  • 0x00: indicates that the write command was not received.
  • When the module receives a read command, it reads the contents in the register and returns it to the host according to the protocol, and the specific DATA analysis can be referred to Table 2-3.

Example of Serial Communication

This example is to “Set the brightness parameter of the thermal camera module to 100.”

Steps

  1. Query the Device Address, Class Address, Subclass Address and R/W Flag of the brightness setting command.
  2. Query the serial communication command table in Serial Communication Commands to obtain the Device Address (0x36), Class Address (0x78), Subclass Address (0x02) and R/W Flag (write: 0x00) of the brightness setting command.
    1. Calculate the field values: SIZE, DATA and CHK.
  3. SIZE: N+4. The number of bytes for the DATA field of the brightness setting command is N=1, so the SIZE is 5 (0x05).
  4. DATA: The hexadecimal value corresponding to the brightness of 100 is 0x64.
  5. CHK: The summation 0x(36+78+02+00+64)=0x114, take the lower 8 bits for the CHK field, that is 0x14.
    1. Combining the above parameters, the host sends the command 0x F0 05 36 78 02 00 64 14 FF to the module.
      1. Host Transmitting Command to Set Brightness to 100
FieldBEGINSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHKEND
Host Transmitting0xF00x050x360x780x020x000x640x140xFF
  • The module feeds back the command 0x F0 05 36 78 02 03 01 B4 FF.
    • Module Feedback Command to Set Brightness to 100
FieldBEGINSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHKEND
Module Feedback0xF00x050x360x780x020x030x010xB40xFF
  • SIZE: N+4. The number of bytes for the DATA field of the brightness setting command is N=1, so the SIZE is 5 (0x05).
  • DATA: The module receives the brightness setting command and returns 0x01.
  • CHK: The summation 0x(36+78+02+00+01)=0xB4, take the lower 8 bits for the CHK field, that is 0xB4.
    • Check whether the screen brightness changes to determine whether the setting is successful, or you can use the brightness query command to check it.

2.2 Commands

This section introduces the reading and writing rules for each command, interprets the information fed back from the module, and notes for the commands. For the complete list of commands, refer to Serial Communication Commands.

2.2.1 Reading the Model of the Module (Read-Only)

The host can read the model of the thermal camera module via this command. The hexadecimal data returned by the module needs to be converted to ASCII characters.

Commands and Parameters

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x740x020x01None. 0x00 by default.TBD
Module FeedbackTBD0x360x740x020x03The model of the module, needs to be converted to ASCII characters.TBD

Command Descriptions

  • Refer to Data Transmitting and Receiving to edit commands or interpret feedback data.
  • For the calculation of SIZE and CHK fields, refer to Data Transmitting and Receiving.
2.2.2 Reading the FPGA Program Version Number (Read-Only)

The host can read the FPGA program version number of the module via this command.

Commands and Parameters

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x740x030x01None. 0x00 by default.TBD
Module FeedbackTBD0x360x740x030x03The FPGA program version number of the module, with the length of 3 bytes and the MSB is the high byte.TBD

Command Descriptions

  • Refer to Data Transmitting and Receiving to edit commands or interpret feedback data.
  • For the calculation of SIZE and CHK fields, refer to Data Transmitting and Receiving.
  • The value of the DATA field is the version number of the FPGA program. The length is 3 bytes and the MSB is the high byte, e.g. 0x050112 represents 5.1.12.
2.2.3 Reading FPGA Program Compilation Time (Read-Only)

The host can read the FPGA program compilation time of the module via this command.

Commands and Parameters

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x740x040x01None. 0x00 by default.TBD
Module FeedbackTBD0x360x740x040x03The compilation time of the FPGA program. The length is 4 bytes and the MSB is the high byte.TBD

Command Descriptions

  • Refer to Data Transmitting and Receiving to edit commands or interpret feedback data.
  • For the calculation of SIZE and CHK fields, refer to Data Transmitting and Receiving.
  • The value of the DATA field is the compilation time of the FPGA program. The length is 4 bytes and the MSB is the high byte, e.g. 0x20140820 indicates that the compilation time is 20140820.
2.2.4 Reading the Module Software Version Number (Read-Only)

The host can read the software version number of the module via this command.

Commands and Parameters

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x740x050x01None.TBD
Module FeedbackTBD0x360x740x050x03The software version number of the module. The length is 3 bytes and the MSB is the high byte.TBD

Command Descriptions

  • Refer to Data Transmitting and Receiving to edit commands or interpret feedback data.
  • For the calculation of SIZE and CHK fields, refer to Data Transmitting and Receiving.
  • The value of the DATA field is the software version number of the module. The length is 3 bytes and the MSB is the high byte, e.g. 0x050112 represents 5.1.12.
2.2.5 Reading the Module Software Compilation Time (Read-Only)

The host can read the software program compilation time of the module via this command.

Commands and Parameters

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x740x060x01None. 0x00 by default.TBD
Module FeedbackTBD0x360x740x060x03The software compilation time of the module. The length is 4 bytes and the MSB is the high byte.TBD

Command Descriptions

  • Refer to Data Transmitting and Receiving to edit commands or interpret feedback data.
  • For the calculation of SIZE and CHK fields, refer to Data Transmitting and Receiving.
  • The value of the DATA field is the software version number of the module. The length is 4 bytes and the MSB is the high byte, e.g. 0x20140820 indicates that the compilation time is 20140820.
2.2.6 Reading the Camera Process Calibration Version Time (Read-Only)

The host can read the camera process calibration version time of the module via this command.

Commands and Parameters

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x740x0B0x01None. 0x00 by default.TBD
Module FeedbackTBD0x360x740x0B0x03The camera process calibration version time of the module. The length is 4 bytes and the MSB is the high byte.TBD

Command Descriptions

  • Refer to Data Transmitting and Receiving to edit commands or interpret feedback data.
  • For the calculation of SIZE and CHK fields, refer to Data Transmitting and Receiving.
  • The value of the DATA field is the camera process calibration version time of the module. The length is 4 bytes and the MSB is the high byte, e.g. 0x20170101 indicates the time is January 1, 2017.
2.2.7 Reading the ISP Parameter Version Number (Read-Only)

The host can read the ISP parameter version number of the module via this command.

Commands and Parameters

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x740x0C0x01None. 0x00 by default.TBD
Module FeedbackTBD0x360x740x0C0x034 bytes are valid.TBD

Command Descriptions

  • Refer to Data Transmitting and Receiving to edit commands or interpret feedback data.
  • For the calculation of SIZE and CHK fields, refer to Data Transmitting and Receiving.
  • The module returns the ISP parameter version number. The valid length is 4 bytes. E.g. if the ISP version number is 5, 0x00000005 is returned.
2.2.8 Saving Current Settings (Write-Only)

Save the current settings of the module via this command.

Commands and Parameters

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x740x100x00None. 0x00 by default.TBD
Module Feedback0x050x360x740x100x030x01TBD

Command Descriptions

  • Refer to Data Transmitting and Receiving to edit commands or interpret feedback data.
  • For the calculation of SIZE and CHK fields, refer to Data Transmitting and Receiving.
2.2.9 Factory Reset (Write-Only)

Restore the module to factory settings via this command.

Commands and Parameters

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x740x0F0x00None. 0x00 by default.TBD
Module Feedback0x050x360x740x0F0x030x01TBD

Command Descriptions

  • Refer to Data Transmitting and Receiving to edit commands or interpret feedback data.
  • For the calculation of SIZE and CHK fields, refer to Data Transmitting and Receiving.
2.2.10 Manual Shutter Calibration (Write-Only)

This command is used to perform a manual shutter calibration for the module, known as Flat Field Calibration (FFC), which is used to correct the non-uniformity of the image and improve the image quality.

Commands and Parameters

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x7C0x020x00None. 0x00 by default.TBD
Module Feedback0x050x360x7C0x020x030x01TBD

Command Descriptions

  • Refer to Data Transmitting and Receiving to edit commands or interpret feedback data.
  • For the calculation of SIZE and CHK fields, refer to Data Transmitting and Receiving.
2.2.11 Manual Background Correction (Write-Only)

This command is used to perform a background correction for the module. Background correction reduces the distortion of the background image to make it display normally.

Commands and Parameters

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x7C0x030x00None. 0x00 by default.TBD
Module Feedback0x050x360x7C0x030x030x01TBD

Command Descriptions

  • Refer to Data Transmitting and Receiving to edit commands or interpret feedback data.
  • For the calculation of SIZE and CHK fields, refer to Data Transmitting and Receiving.
2.2.12 Vignetting Correction (Write-Only)

This command allows you to manually perform vignetting correction.

Vignetting correction is to correct image non-uniformity caused by the transmittance of the device’s lens and internal radiation (pot lid defect) to make the image more uniform.

When using this function, you need to face the lens towards a uniform surface. Otherwise the current lens scene will be superimposed, which will affect the image display.

Commands and Parameters

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x7C0x0C0x000x02: Vignetting Correction.TBD
Module Feedback0x050x360x7C0x0C0x030x01TBD

Command Descriptions

  • Refer to Data Transmitting and Receiving to edit commands or interpret feedback data.
  • For the calculation of SIZE and CHK fields, refer to Data Transmitting and Receiving.
2.2.13 Automatic Shutter Control (Read/Write)

This command is used to switch the automatic shutter control mode of the module. 4 modes are selectable: automatic control off, timing control, temperature difference control and full-automatic control (default, 0x03). It is recommended to keep the default setting.

After setting the switching mode (timing, temperature control, full-automatic), the shutter is periodically closed according to the set conditions, which helps to improve the uniformity of the thermal imaging.

Commands and Parameters

Write command of automatic shutter control.

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x7C0x040x000x00: Automatic control off 0x01: Automatic switching, timing control 0x02: Automatic switching, temperature difference control 0x03: Full-automatic control (Default)TBD
Module Feedback0x050x360x7C0x040x030x01TBD

Read command of automatic shutter control.

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x7C0x040x01None. 0x00 by default.TBD
Module Feedback0x050x360x7C0x040x030x00: Automatic control off 0x01: Automatic switching, timing control 0x02: Automatic switching, temperature difference control 0x03: Full-automatic controlTBD

Command Descriptions

  • Refer to Data Transmitting and Receiving to edit commands or interpret feedback data.
  • For the calculation of SIZE and CHK fields, refer to Data Transmitting and Receiving.
  • There are 4 values for the DATA field.
  • 0x00: The automatic shutter control is turned off.
  • 0x01: The timing control is enabled, and the default shutter switching interval is 10 minutes, which is not recommended for users to modify. Refer to Setting the Automatic Shutter Switching Interval.
  • 0x02: The temperature difference shutter control is turned on. The module automatically controls the shutter according to the temperature difference. No additional user setup is required.
  • 0x03: Default setting. The timing control and temperature difference control for the shutter are turned on at the same time. The default shutter switching interval is 10 minutes, which is not recommended for users to modify. Refer to Setting the Automatic Shutter Switching Interval. The temperature difference control is controlled by the module and does not require user settings.
2.2.14 Setting the Automatic Shutter Switching Interval (Read/Write)

When the automatic shutter control is set to 0x01 or 0x03 (refer to Automatic Shutter Control), the automatic shutter switching interval can be adjusted as needed. The module will close the shutter at a set interval, 10 minutes by default, and it is not recommended to modify it.

Commands and Parameters

Write command of automatic shutter switching interval.

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host TransmittingTBD0x360x7C0x00x00{DATA0,DATA1}: shutter interval, in minutes, valid for 2 bytes.TBD
Module Feedback0x050x360x7C0x050x030x01TBD

Read command of automatic shutter switching interval.

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x7C0x050x01None. 0x00 by default.TBD
Module FeedbackTBD0x360x7C0x050x03{DATA0,DATA1}: shutter interval, in minutes, valid for 2 bytes.TBD

Command Descriptions

  • Refer to Data Transmitting and Receiving to edit commands or interpret feedback data.
  • For the calculation of SIZE and CHK fields, refer to Data Transmitting and Receiving.
  • The shutter interval is in minutes, and 2 bytes are valid. The default setting is 10 minutes (0x00 0A)
2.2.15 Defective Pixel Correction (Write-Only)

Defective pixels are pixels on the detector that are insensitive to thermal radiation and cannot reflect the temperature changes of the measured target. During the integration of the module into the host, new dead pixels may arise that need to be corrected.

This module can correct defective pixels on the client software, as well as via serial port commands. The following describes how to correct defective pixels by using serial commands.

Steps

  1. Turn on the cursor display: 0x F0 05 36 78 1A 00 0F D7 FF
    1. Move the cursor to the defective pixel position. The cursor movement commands are as follows:
  2. Cursor up: F0 05 36 78 1A 00 02 CA FF
  3. Cursor up for N pixels: F0 05 36 78 1A 00 2N CHK FF (N is the step size, CHK is the check field)
  4. Cursor down: F0 05 36 78 1A 00 03 CB FF
  5. Cursor down for N pixels: F0 05 36 78 1A 00 3N CHK FF (N is the step size, CHK is the check field)
  6. Cursor shifted left: F0 05 36 78 1A 00 04 CC FF
  7. Cursor shifted left for N pixels: F0 05 36 78 1A 00 4N CHK FF (N is the step size, CHK is the check field)
  8. Cursor shifted right: F0 05 36 78 1A 00 05 CD FF
  9. Cursor shifted right for N pixels: F0 05 36 78 1A 00 5N CHK FF (N is the step size, CHK is the check field)
  10. Cursor to the center: F0 05 36 78 1A 00 06 CE FF
    1. Defective pixel correction: F0 05 36 78 1A 00 0D D5 FF
  • Note

When a defective pixel appears in the image, you can use this command to add the pixel to the defective pixel sequence and the pixel will be removed in the image.

  • Cancel defective pixel correction: F0 05 36 78 1A 00 0E D6 FF
  • Note

When a non-defective pixel is corrected and the pixel is mistakenly removed from the image, you can send this command to remove the pixel from the defective pixel sequence and restore it in the image.

Commands and Parameters

Turn on/off the cursor display.

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x780x1A0x000x00: Turn off the cursor display 0x0F: Turn on the cursor displayTBD
Module Feedback0x050x360x780x1A0x030x01TBD

Move the cursor.

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x780x1A0x000x02: Cursor up 0x03: Cursor down 0x04: Cursor shifted left 0x05: Cursor shifted right 0x06: Cursor to the center 0x2N: Cursor up for N pixels (N: 0x1~0xF) 0x3N: Cursor down for N pixels (N: 0x1~0xF) 0x4N: Cursor shifted left for N pixels (N: 0x1~0xF) 0x5N: Cursor shifted right for N pixels (N: 0x1~0xF)TBD
Module Feedback0x050x360x780x1A0x030x01TBD

Add/remove a defective pixel.

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x780x1A0x000x0D: Add the pixel to the defective pixel table. 0x0E: Remove the pixel from the defective pixel table.TBD
Module Feedback0x050x360x780x1A0x030x01TBD

Command Descriptions

  • Refer to Data Transmitting and Receiving to edit commands or interpret feedback data.
  • For the calculation of SIZE and CHK fields, refer to Data Transmitting and Receiving.
2.2.16 Brightness Setting (Read/Write)

This command is used to set the image brightness, which can be set in the range of 0~100 (decimal), and the default value is 50 (0x32).

Commands and Parameters

Write command of brightness setting.

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x780x020x000~100, default 50 (decimal). Needs to be converted to hexadecimal value.TBD
Module Feedback0x050x360x780x020x030x01TBD

Read command of brightness setting.

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x780x020x01None. 0x00 by default.TBD
Module Feedback0x050x360x780x020x030~100 (decimal). Needs to be converted to hexadecimal value.TBD

Command Descriptions

  • Refer to Data Transmitting and Receiving to edit commands or interpret feedback data.
  • For the calculation of SIZE and CHK fields, refer to Data Transmitting and Receiving.
  • The value of DATA field is the brightness parameter that needs to be set or read, if the parameter is 100 (decimal), the value of DATA field is 0x64.
2.2.17 Contrast Setting (Read/Write)

Adjust the contrast of the module image or read the current contrast parameter of the module.

Commands and Parameters

Write command of contrast setting.

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host TransmittingTBD0x360x780x030x000~100, default 50 (decimal). Needs to be converted to hexadecimal value.TBD
Module Feedback0x050x360x780x030x030x01TBD

Read command of contrast setting.

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x780x030x01None. 0x00 by default.TBD
Module FeedbackTBD0x360x780x030x030~100 (decimal). Needs to be converted to hexadecimal value.TBD

Command Descriptions

  • Refer to Data Transmitting and Receiving to edit commands or interpret feedback data.
  • For the calculation of SIZE and CHK fields, refer to Data Transmitting and Receiving.
  • The value of DATA field is the contrast parameter that needs to be set or read, if the parameter is 65 (decimal), the value of DATA field is 0x41.
2.2.18 Setting Image Detail Digital Enhancement (Read/Write)

This command is used to set the digital enhancement level of image details. The higher the enhancement level, the better the detail, but at the same time the image noise will be more pronounced.

Commands and Parameters

Write command of digital enhancement setting.

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host TransmittingTBD0x360x780x100x000~100, default 50 (decimal). Needs to be converted to hexadecimal value.TBD
Module Feedback0x050x360x780x100x030x01TBD

Read command of digital enhancement setting.

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x780x100x00None. 0x00 by default.TBD
Module FeedbackTBD0x360x780x100x030~100 (decimal). Needs to be converted to hexadecimal value.TBD

Command Descriptions

  • Refer to Data Transmitting and Receiving to edit commands or interpret feedback data.
  • For the calculation of SIZE and CHK fields, refer to Data Transmitting and Receiving.
  • The value of DATA field is the digital enhancement parameter that needs to be set or read, if the parameter is 65 (decimal), the value of DATA field is 0x41.
2.2.19 Setting Static Denoising Level (Read/Write)

This command is used to set the static denoising level of the image, which can reduce the image noise when the denoising level increases, but it also reduces the sharpness of the image, which needs to be adjusted according to the actual image effect.

Commands and Parameters

Write command of denoising level setting.

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host TransmittingTBD0x360x780x150x000~100, default 50 (decimal). Needs to be converted to hexadecimal value.TBD
Module Feedback0x050x360x780x150x030x01TBD

Read command of denoising level setting.

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x780x150x01None. 0x00 by default.TBD
Module FeedbackTBD0x360x780x150x030~100 (decimal). Needs to be converted to hexadecimal value.TBD

Command Descriptions

  • Refer to Data Transmitting and Receiving to edit commands or interpret feedback data.
  • For the calculation of SIZE and CHK fields, refer to Data Transmitting and Receiving.
  • The value of DATA field is the denoising level that needs to be set or read, if the parameter is 65 (decimal), the value of DATA field is 0x41.
2.2.20 Setting Dynamic Denoising Level (Read/Write)

This command is used to set the dynamic denoising level of the image, which can reduce the image noise when the denoising level increases, but it also reduces the sharpness of the image, which needs to be adjusted according to the actual image effect.

Commands and Parameters

Write command of denoising level setting.

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host TransmittingTBD0x360x780x160x000~100, default 50 (decimal). Needs to be converted to hexadecimal value.TBD
Module Feedback0x050x360x780x160x030x01TBD

Read command of denoising level setting.

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x780x160x01None. 0x00 by default.TBD
Module FeedbackTBD0x360x780x160x030~100 (decimal). Needs to be converted to hexadecimal value.TBD

Command Descriptions

  • Refer to Data Transmitting and Receiving to edit commands or interpret feedback data.
  • For the calculation of SIZE and CHK fields, refer to Data Transmitting and Receiving.
  • The value of DATA field is the denoising level that needs to be set or read, if the parameter is 65 (decimal), the value of DATA field is 0x41.
2.2.21 Palette Setting (Read/Write)

Thermal images are based on infrared radiation intensity and have no color information. The image algorithms map a set of colors based on grayscale values, known as palettes. The module supports a variety of palettes for users to choose. White Hot (0x00) is set by default.

Commands and Parameters

Write command of palette setting.

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host TransmittingTBD0x360x780x200x000x00: White Hot 0x01: Black Hot 0x02: Fusion 1 0x03: Rainbow 0x04: Fusion 2 0x05: Iron Red 1 0x06: Iron Red 2 0x07: Dark Brown 0x08: Color 1 0x09: Color 2 0x0A: Ice Fire 0x0B: Rain 0x0C: Green Hot 0x0D: Red Hot 0x0E: Deep BlueTBD
Module Feedback0x050x360x780x200x030x01TBD

Read command of palette setting.

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x780x200x01None. 0x00 by default.TBD
Module FeedbackTBD0x360x780x200x030x00: White Hot 0x01: Black Hot 0x02: Fusion 1 0x03: Rainbow 0x04: Fusion 2 0x05: Iron Red 1 0x06: Iron Red 2 0x07: Dark Brown 0x08: Color 1 0x09: Color 2 0x0A: Ice Fire 0x0B: Rain 0x0C: Green Hot 0x0D: Red Hot 0x0E: Deep BlueTBD

Command Descriptions

  • Refer to Data Transmitting and Receiving to edit commands or interpret feedback data.
  • For the calculation of SIZE and CHK fields, refer to Data Transmitting and Receiving.
  • White Hot (0x00) is set by default.
  • Palette switching will take a while. You need to wait after sending the command to check the switching result.
2.2.22 Setting Image Mirroring (Read/Write)

Set the mirroring mode of the image, or read the current mirroring status of the module.

Commands and Parameters

Write command of image mirroring setting.

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x700x110x000x00: No mirroring. 0x01: Central mirroring. 0x02: Left and right mirroring. 0x03: Up and down mirroring.TBD
Module Feedback0x050x360x700x110x030x01TBD

Read command of image mirroring setting.

FieldSIZEDevice
Address
Class
Address
Subclass
Address
FlagDATACHK
Host Transmitting0x050x360x700x110x01None. 0x00 by default.TBD
Module Feedback0x050x360x700x110x030x00: No mirroring. 0x01: Central mirroring. 0x02: Left and right mirroring. 0x03: Up and down mirroring.TBD

Command Descriptions

  • Refer to Data Transmitting and Receiving to edit commands or interpret feedback data.
  • For the calculation of SIZE and CHK fields, refer to Data Transmitting and Receiving.
  • No mirroring (0x00) is set by default.

2.3 Reading Initialization State (Read-Only)

This command is used by the host to read the initialization state of the module.

When the module is in the initializing state, it is loading video streams. When the initialization is completed, video streams will be output.

Commands and Parameters

Write command of image mirroring setting.

FieldClass
Address
Subclass
Address
FlagDATARemarks
Host Transmitting0x7C0x140x000x00 
Module Feedback0x7D0x060x030x00: Loading 0x01: Video output 
  • Note

If the command is successfully executed, and the module feedback Flag field is “Normal return (0x03)”, and DATA field is “0x00” (loading state) or “0x01” (video output state).

2.4 Serial Command Transmitting and Verification

For this module, usually after sending a command, the data returned by the module only indicates whether the command has been received, but not whether it has taken effect.

For some image setting commands, you can check whether the commands take effect through the image changes. For the other commands, you need to send the read command of the corresponding function to query the device status.

The procedure is as follows.

Steps

  1. Send a write command.
    1. Wait for the device to execute the command. The waiting time varies according to different commands.
      1. Send the read command for the corresponding function.
      1. Check the data returned by the module and check whether the parameters have been modified.
  • Note

Do not send write commands to the module frequently, as it will freeze when exceeding the processing capacity.

3 FAQ

Frequently asked questions about the device.

Why can’t connect the module to the development tool or can’t set parameters of the module?

  • Please check whether the serial port is properly connected with the module.
  • Please check whether the baud rate and COM port of the connected module are selected correctly, and the corresponding COM port is also available on the PC.
  • If you use USB to serial port, please confirm whether the USB to serial port driver is installed.

How to upgrade the module?

Once the module has been connected to the development tool, use the upgrade function to upgrade the module.

  1. Serial Communication Commands
    1. Information Query Commands
CommandDevice
Address
Class
Address
Subclass
Address
FlagDATARemarks
Reading the Model of the Module0x360x740x020x01None5 bytes valid. Return the model of the module.
Reading the FPGA Program Version Number0x360x740x030x01NoneE.g. 0x050112 indicates 5.1.12. 5 is the major version, which is the 3rd byte; 1 is the minor version, which is the 2nd byte, 12 is the subdivided version, which is the 1st byte. 3 bytes valid, MSB is the high byte.
Reading FPGA Program Compilation Time0x360x740x040x01None4 bytes valid, MSB is the high byte. E.g. 0x20140820 means 20140820.
Reading the Module Software Version Number0x360x740x050x01NoneRefer to Reading the FPGA Program Version Number above.
Reading the Module Software Compilation Time0x360x740x060x01NoneRefer to Reading FPGA Program Compilation Time above.
Reading the Camera Process Calibration Version Time0x360x740x0B0x01None4 bytes valid, MSB is the high byte. E.g. 0x20170101 means 20170101.
Reading the ISP Parameter Version Number0x360x740x0C0x01None4 bytes valid. E.g. if the ISP version number is 5, 0x00000005 will be returned.
  • Function Setting Commands
CommandDevice
Address
Class
Address
Subclass
Address
FlagDATADefault
Manual Shutter Calibration0x360x7C0x020x00Write-Only 
Manual Background Correction0x360x7C0x030x00Write-Only 
Automatic Shutter Control0x360x7C0x040x000x00: Automatic control off 0x01: Automatic switching, timing control 0x02: Automatic switching, temperature difference control 0x03: Full-automatic control0x03
Setting the Automatic Shutter Switching Interval0x360x7C0x050x00The shutter interval is in minutes, and 2 bytes are valid. The default setting is 10 minutes (0x00 0A)0x00 0A
Vignetting Correction0x360x7C0x0C0x000x02: Vignetting Correction 
Brightness Setting0x360x780x020x001 byte valid. Value range: 0~100, default 50 (decimal).0x32
Contrast Setting0x360x780x030x001 byte valid. Value range: 0~100, default 50 (decimal).0x32
Setting Image Detail Digital Enhancement0x360x780x100x001 byte valid. Value range: 0~100, default 50 (decimal).0x32
Setting Static Denoising Level0x360x780x150x001 byte valid. Value range: 0~100, default 50 (decimal).0x32
Setting Dynamic Denoising Level0x360x780x160x001 byte valid. Value range: 0~100, default 50 (decimal).0x32
Defective Pixel Correction0x360x780x1A0x000x00: Turn off the cursor display 0x0F: Turn on the cursor display 0x02: Cursor up 0x03: Cursor down 0x04: Cursor shifted left 0x05: Cursor shifted right 0x06: Cursor to the center 0x0D: Add the pixel to the defective pixel table. 0x0E: Remove the pixel from the defective pixel table. 0x2N: Cursor up for N pixels (N: 0x1~0xF) 0x3N: Cursor down for N pixels (N: 0x1~0xF) 0x4N: Cursor shifted left for N pixels (N: 0x1~0xF) 0x5N: Cursor shifted right for N pixels (N: 0x1~0xF)0x00
Palette Setting0x360x780x200x000x00: White Hot 0x01: Black Hot 0x02: Fusion 1 0x03: Rainbow 0x04: Fusion 2 0x05: Iron Red 1 0x06: Iron Red 2 0x07: Dark Brown 0x08: Color 1 0x09: Color 2 0x0A: Ice Fire 0x0B: Rain 0x0C: Green Hot 0x0D: Red Hot 0x0E: Deep Blue0x00
Factory Reset0x360x740x0F0x00Write-Only 
Save Current Settings0x360x740x100x00Save the modified parameters of the module. 
Setting Image Mirroring0x360x700x110x000x00: No mirroring. 0x01: Central mirroring. 0x02: Left and right mirroring. 0x03: Up and down mirroring.0x00
  1. Update History
DateChanges
Feburary 27, 2024First Edition.

PDF Download

Ask A Question

← Back

Thank you for your response. ✨