The contents of this document may not be reproduced in whole or in part
without the written consent of the copyright owner.
ALL STATEMENTS, INFORMATION, AND RECOMMENDATIONS IN THIS MANUAL ARE BELIEVED TO BE ACCURATE BUT ARE PRESENTED
WITHOUT WARRANTY OF ANY KIND. NOTWITHSTANDING ANY OTHER WARRANTY HEREIN, ALL DOCUMENT FILES AND SOFTWARE ARE
PROVIDED “AS IS” WITH ALL FAULTS. DRS DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THOSE
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OR ARISING FROM A COURSE OF DEALING, USAGE,
OR TRADE PRACTICE.
THE SOFTWARE LICENSE AND LIMITED WARRANTY FOR THE ACCOMPANYING PRODUCT ARE SET FORTH IN THE INFORMATION PACKET THAT
SHIPPED WITH THE PRODUCT AND ARE INCORPORATED HEREIN BY THIS REFERENCE. IF YOU ARE UNABLE TO LOCATE THE SOFTWARE
LICENSE OR LIMITED WARRANTY, CONTACT YOUR DRS REPRESENTATIVE FOR A COPY.
IN NO EVENT SHALL DRS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL DAMAGES, INCLUDING, WITHOUT
LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR INABILITY TO USE THIS MANUAL, EVEN IF DRS HAS
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
Rev History
Revision Number Release Date Description
A 01/26/2013 Initial Draft
B 05/31/2013 Update for V1.2 features.
C 11/15/2013
Updated ICE Commands and
Prepared for Public Release
Camera Link® is a registered trademark of the Automated Imaging Association.
Page 3
Tamarisk
i
®
Software ICD
640
TABLE OF CONTENTS
Table of Contents ..................................................................................................................... i
Acronyms and Abbreviations .................................................................................................. ii
Reference Documentation ..................................................................................................... iii
Safety Instructions ................................................................................................................. iv
Notifications: Caution, Warning and Note .................................................................................. iv
The following documents form part of this specification. In the event of a conflict between
documents referenced herein and the contents of this specification, the contents of this specification
shall be considered a superseding requirement.
Throughout this manual, notifications are used to alert the user’s to potential risks and to minimize
the potential for personal injury and or damage to the product. When a notification is present, it is
important that the user review and understand all statements related to the notification before
proceeding. If questions arise, please contact your authorized dealler or DRS Technologies.
Notifications are preceeded by a symbol and followed by highlighted text. Three types of
notifications are used throughout this manual and are defined below:
CAUTION
A caution is a proce dure, practice, or condition that , if not strictly followed, m ay
result in personal injury or damage to the equipment that m ay impede product
performance.
WARNING
A warning is intended to alert the user to the presence of potentially harmful
circumstances and provide precaution ary guida nce for m itigating risk of per sonal
injury and or damage to the product.
NOTE
A note is a statement that clarifies or is used to emphasize important information.
1. Read all instructions
2. Keep these instructions for future reference.
3. Follow all instructions
4. Heed all warnings.
5. Do not submerge this apparatus in liquid of any kind.
6. Clean per recommended instructions using dry non-abrasive clo th .
7. Do not install near any sources of intense heat such as radiators, furnaces,
stoves or other apparatus that regulary produce excessive heat.
8. Refer all servicing to qualified service personnel
Page 7
Tamarisk
®
Software ICD
640
1SCOPE
This document describes the serial protocols and command interface for systems employing the
Tamarisk
®
Software Architecture. The Tamarisk
640
®
Software Architecture is a design for an
640
infrared thermal imaging core that uses an un-cooled focal plane array (UFPA).
1.1 SYSTEMS OVERVIEW
A thermal imaging module (TIM) based on the Tamarisk
®
Software Arc hitect ure communicates
640
with a connected device via the serial protocol described herein. The connected device is often a
personal computer (PC) running a graphical user interface (GUI) but may be a controller in an
embedded system. The connected devi ce uses the serial pro to col to configure, control, and monitor
status of the thermal imaging module.
Additionally, specific features of the system are tested by the serial protocol. This feature is useful
for troubleshooting anomalous TIMs.
1.2 DOCUMENT OVERVIEW
This document describes the commands, parameters, and responses of the Tamarisk
Architecture. The Tamarisk
®
Software Architecture is not a product in and of itself; it is a
640
®
Software
640
component in a system. This document describe the commands for this specific component. Other
®
individual systems based on the Tamarisk
Software Architecture may include additional
640
commands that are specific to that system.
This document does not describe the physical interface to the system. The physical interface will
vary for each system. Typically, the serial protocol is transported over RS-232 links but USB and
LVCMOS UART interfaces are supported. The Tamarisk
®
640
Electrical Interface Control
Document describes the connectors, voltage levels, framin g, and data rates on which this protocol
resides. See Reference Documents for details.
5
Page 8
Tamarisk
®
Software ICD
640
2 MESSAGE FORMAT -GENERAL
The serial protocol allows the user to control and monitor status of the thermal imaging module.
Every message transmi tt ed or rec eived over the s eri al int erface us es the s am e messag e format. The
message contains the following components:
1. Start Character – this is always 0x01. It identifies the start of a new m essage. Note
that the start ch aracter is not guarante ed to be unique in the ser ial data stream. Other
fields within the message may also contain this value.
2. Command Byte – This byte determines the type of command to be performed. For
responses, this byte identifies the type of response.
3. Parameter Length – this byte specifies the count of any additional parameter bytes
included in the message. If the message does not require any additional parameter
bytes this value will be zero. Note that the overall message length is limited by the
MTU size (see below).
4. Parameters – These bytes contain any parameters, or other data for the message.
Generally, the content and format of this data will depend on the specific message
type. However, a few general rules apply:
♦ When parameter b ytes contain strin gs, these are typicall y null-terminated ar rays of
ASCII c odes.
♦ When data bytes contain integer or floating-point values, these are sent in big-endian
order – e.g., the MSB is sent first. This statement is true for both 16 and 32-bit
values.
5. Checksum – This i s the frame check sequen ce for t he message. It includ es all b ytes in
the message from the start character to the last parameter byte. It is calculated with the
formula in paragraph 2.1.
The Maximum Transfer Unit (MTU) size of the serial stream is 252 bytes. .
The parameter length for mos t messages i s an even n umber of b ytes (ther e are excepti ons). Thi s is
due to the 16-bit legacy architectures for which the protocol was developed.
The message format is illustrated below:
Table 1 – General Message Format
Byte Value/Type Description
1 0x01 (always) Start of message.
2 Unsigned integer Command ID.
3 0 to 252 Parameters length.
Every message has an ap pended 8-bit checksum. The checksum is computed using all bytes in the
message from the start character to the last data byte.
= ()
256
Note that summing the negative byte values must be performed using 2’s-complement math, which
is common on most processors. Below is example code that computes the message checksum:
Alternatively, the checksum may be computed using the equivalent formula that follows:
Checksum = (~(two’s complement sum of all message byte) + 1) & 0xFF
For example, let’s say that the checksum for 0x01 0x2A 0x02 0x00 0x01 needs to be computed.
The two’s complement sum of all the message bytes would be
0x01 + 0x2A + 0x02 + 0x00 + 0x01 = 0x2E
Next, the formula indicates that the 0x2E must be inverted.
Then, 1 must be added.
Finally, a bit-wise AND with 0xFF needs to be performed.
~0x2E = 0xFFF…FFFD1
0xFFF…FFFD1 + 1 = 0xFFF…FFFD2
7
Page 10
Tamarisk
®
Software ICD
640
0xFFF…FFFD2 & 0xFF = 0xD2.
Note that the bit-wise AND operation ensures the checksum length remains 1 byte.
2.2 COMMAND MESSAGE FORMAT
All commands originate from the connected d evice and are sent to the thermal imagin g module
(TIM). The TIM does not originate commands but it may send occasional text messages.
All commands conform to the general message format. The command byte identifies the specific
command to be performed. Additional data bytes are included in the command as required. Refer
to command details section for specifics.
The module will be ready to accept commands within 2 seconds of power-on.
2.3 RESPONSE MESSAGE FORMAT
All commands sent to the TIM are ex pected to receive at least one resp onse message (exception:
changing the baudrate command will not produce a response).
In general, systems communicating with the TIM should wait for the response message prior to
subsequent messages being sent.
If the TIM finds a message format error or bad checksum, the TIM will not send a response.
If the message format and checksum is correct, but the command is not recognized, the TIM will
send an Error (ERR) response. The error response may include a descriptive string that describes
the error.
If the received message is properly formatted (including checksum) and the command is
recognized, the TIM will generate an Acknowledgement (ACK) response.
On select commands, the module may send other responses. The type of response depends on the
command that was received. Response types are:
♦ A text message. These are output using the TXT identifier. The text message will
contain the requested information or other feedback (see the individual message
detail) as null-terminated ASCII strings.
♦ A value message. These are output using the VALUE identifier. The value message
includes a 16-bit numerical value.
♦ The original command. The command will contain new parameters that include the
response data.
Table 2 – Response Mess ag e Ty pes
Name
Text message (TXT) 0x00
Command
ID
Additional data
Text message (variable # of bytes defined in the
Data Length field)
8
Page 11
Tamarisk
Note: to receive a text message, the module must
®
Software ICD
640
have debug message mode ON.
Acknowledgement (ACK) 0x02
Not acknowledged (NAK) 0x03
Error (ERR) 0x04
16-bit integer return value
(VALUE)
CMD Cmd Returns command code with response data
0x45 16-bit integer value broken up into 2 bytes
Data filed includes16-bit command ID of the serial
command that is being acknowledged
Data filed includes 16-bit command ID of the serial
command that is being unacknowledged
Data filed include 16-bit command ID of the serial
command that is in error
2.3.1 TXT Response
The TXT (Text) response provides feedback in human-readable form. The TXT message
contains an ASCII string of arbitrary length (the entire message must be less than the MTU
size). The connected unit may display the ASCII text as it sees fit or may discard the
information.
Table 3–TXT Response Format
Byte Value/Type Description
1 0x01 Start of message.
2 0x00 TXT Response ID.
3 N Number of text bytes to follow.
4 to
(N+3)
(N+4) checksum Frame check sequence. See paragraph 2.1.
ASCII chars ASCII text. Null termination not required.
Table 4 –Example TXT Respo nse
Byte Value/Type Description
1 0x01 Start of message.
2 0x00 TXT Response ID.
3 0x06 Text message contains 6 characters.
0x48 (“H”)
0x6F (“o”)
4 to 9
10 checksum Frame check sequence. See paragraph 2.1.
0x77 (“w”)
0x64 (“d”)
0x79 (“y”)
0x21 (“!”)
ASCII text (“Howdy!”)
9
Page 12
Tamarisk
®
Software ICD
640
2.3.2 ACK Response
The ACK response is a general-purpose acknowledgement that a command has been
received. Some com mands will result in two ACK messages – one generated upon receipt
of the command and a second generated upon completion of the command. The ACK
message contains the ID of the command being acknowledged.
Table 5 –ACK Response Format
Byte Value/Type Description
1 0x01 Start of message.
2 0x02 ACK Response ID.
3 0x02 ACK responses always have 2 parameter bytes.
4, 5 Command ID
6 checksum Frame check sequence. See paragraph 2.1.
ID of command that is being ACK’d. Command IDs are 8 bits
in commands but are extended to 16 bits in an ACK.
2.3.3 NAK Response
The NAK response is generated to indicate a command cannot be processed for some
reason. The Tamarisk
®
architecture currently does not use the NAK response.
640
Table 6– NAK Response Format
Byte Value/Type Description
1 0x01 Start of message.
2 0x03 NAK Response ID.
3 0x02 NAK responses always have 2 parameter bytes.
4, 5 Command ID
6 checksum Frame check sequence. See paragraph 2.1.
ID of command that is being NAK’d. Command IDs are 8 bits
in commands but are extended to 16 bits in an NAK.
2.3.4 ERR Response
The ERR response is generated when a command is not recognized or when an error occurs
during the processing of a command. There are two formats for the ERR response. The first
format contains only the ID of the command that generated the error. The second format
contains an informative text message.
Byte Value/Type Description
1 0x01 Start of message.
2 0x04 ERR Response ID.
3 0x02 ERR responses always have 2 parameter bytes.
4, 5 Command ID
Table 7– ERR ID Response Format
ID of command that caused ERR. Command IDs are 8 bits in
10
Page 13
Tamarisk
commands but are extended to 16 bits in an ERR.
Byte
Value/Type
Description
Byte
Value/Type
Description
®
Software ICD
640
6 checksum Frame check sequence. See paragraph 2.1.
Table 8– ERR String Response Format
Byte Value/Type Description
1 0x01 Start of message.
2 0x04 ERR Response ID.
3 N Number of text bytes to follow.
4 to
(N+3)
(N+4) checksum Frame check sequence. See paragraph 2.1.
ASCII chars
ASCII text string that contains error message. Null termination
not required.
2.3.5 VALUE Response
The VALUE response is generated when a command returns a single 16-bit integer value.
Table 9– VALUE Response Format
1 0x01 Start of message.
2 0x45 VALUE Response ID.
3 0x02 VALUE responses always have 2 parameter bytes.
4, 5 Unsigned integer Value.
6 checksum Frame check sequence. See paragraph 2.1.
2.3.6 CMD Response
The command response is generated by any command that requires a response that does not
fit any of the prior response types. The content of the response is dependent on the
command and the nature of the response.
Table 10 – CMD Response Format
1 0x01 Start of message.
2 Command ID ID of corresponding command.
3 N Number of bytes to follow.
4 to
(N+3)
(N+4) Checksum Frame check sequence. See paragraph 2.1.
varies
The contents of this field depend on the command and
response type.
11
Page 14
Tamarisk
®
Software ICD
640
2.4 RESPONSE MESSAGE TIMING
An ACK response will nominally be returned within 1 second of the command being sent.
However, there are excep ti on s:
1. If the command causes flash memory to be erased or programmed, the command can
take somewhat longer before generating an ACK. The time is dependent on a number
of factors:
♦ The number of flash sectors being erased or programmed. More sectors will require
more time.
♦ The temperature of the flash. Colder flash parts require more time to erase and
program.
2. The response time for non-ACK response (ERR, NAK, etc) types depends on the type
of command.
2.5 COMMAND/RESPONSE SEQUENCE
Generally, every command is followed by an ACK response. However, there are numerous
exceptions:
1. Some commands will return a VALUE response or a response having the same
message ID as the command followed by and ACK.
2. Data transfer acti vities have a unique m essage sequ ence that is dependen t on whether
an upload or download is requested, the size of the transfer, and any errors that may
occur during transfer.
2.6 CAMERA MEMORY DATA DOWN L OAD
Information in non-volatile memory may contain some information that is useful in system
development. Table 18
shows the data available in non-volatile storage. A sequence of commands is required to
download this information, and the information will need to be parsed according to the table.
Figure 1 shows the command sequence between the connected unit (CU) and the thermal imagin g
module (TIM).
12
Page 15
Tamarisk
TIM
0x02 (2)
0x41 (248)
0x47 (0)
Download
Download Setup
Complete
ACK
®
Software ICD
640
CU
0x73 (10)
Packet
Figure 1 - Download command sequence
2.6.1 Download from Thermal Imaging Module (TIM) to Connected Unit (CU)
A download from the TIM is initiated by the CU with the “Data Transfer Download Setup”
message (0x73). This messages has five, 16-bit parameters (10 b ytes to tal). The par amet ers
identify the device; region, range, and size of the download (see Figure 1)
The TIM checks the size and region parameters and, if acceptable, responds with an ACK
(0x02).
The TIM then begins sending packets to the CU using “Data Transfer Download Packet”
messages (0x41). Each packet message carries a payload whose size is always an even
number of bytes. The payload packet contains a packet number (16-bits) and packet
payload bytes. Payload size has historically been 244 bytes. The packet number is a zerobased, integer count packets. It is used to detect missing packets and to initiate retries. The
TIM continues to transmit packets until the entire object is transmitted.
At any time during the transmission, the CU may send a “Data Transfer Upload Retry”
message (0x46) to indicate an error. The retry contains one 16-bit parameter that is the
packet number of the last packet received in order. Upon receipt of this message, the TIM
will retransmit all packets following the packet number.
At any time, the CU may send a “Data Transfer Abort” message (0x43). Upon receipt of
this message, the TIM will terminate transmission of packets, reset its internal state
machines, and await a new setup message.
Following receipt of the last data packet, the CU will send a “Data Transfer Download
Complete” messa ge (0x47). T his mess age indicat es that the enti re object h as been recei ved
intact by the CU and that data transfer operations will cease.
2.6.1.1 Data Transfer Download Setup – 0x73
Description: Setup a download from the TIM to the connected unit.
Command Format:
13
Page 16
Tamarisk
®
Software ICD
640
Table 11 – Data Transfer Download Setup Command Format
Byte Value Description
1 0x01 Start of message.
2 0x73 Data Transfer Download Setup Command ID.
3 0x0A Parameters length.
4 to 7 unsigned integer Transfer size in bytes.
8, 9
Table 12 – Data Transfer Download Setup Response Format
Byte Value Description
1 0x01 Start of message.
2 0x02 ACK response.
3 0x02 Parameters length.
4, 5 0x0073 Data Transfer Download Setup Command ID.
6 checksum Frame check sequence.
2.6.1.2 Data Transfer Download Packet – 0x41
Description: Carries payload bytes for the data transfer download.
Command Format:
Table 13 – Data Transfer Download Packet Command Format
Byte Value Description
1 0x01 Start of message.
2 0x41 Data Transfer Download Packet Command ID.
3 N Parameters length.
4, 5 unsigned integer Packet number. The first packet is 0.
6 to
(N+3)
(N+4) checksum Frame check sequence.
(any)
Response Format:
Packet payload. The number of bytes in this array varies.
These are a portion of the bytes of the payload object being
sent from the TIM.
14
Page 17
Tamarisk
®
Software ICD
640
There is no response to this command unless packet is corrupted or is the last packet of
the transfer.
• If this packet is corrupted, the CU should generate a “Data Transfer Download Retry”
message (0x46) containing the packet number of the expected packet.
• If this packet is the last packet of the transfer, the CU should generate a “Data
Transfer Download Complete” message (0x47) that contains success status.
2.6.1.3 Data Transfer Download Retry – 0x46
Description: Setup a download from the TIM to the connected unit.
Command Format:
Table 14 – Data Transfer Download Retry Command Format
Byte Value Description
1 0x01 Start of message.
2 0x46 Data Transfer Download Packet Command ID.
3 0x02 Parameters length.
4, 5 unsigned integer Packet number of expected packet.
6 checksum Frame check sequence.
Response Format:
There is no response to this command other than to resume packet transmission at the
packet number of the exp ected pa cket. A ll pack ets follo wing the ex pect ed p acket shal l be
retransmitted.
2.6.1.4 Data Transfer Download Complete – 0x47
Description: Indicates the CU has r eceived all p ackets of th e download and data trans fer
operations will cease.
Command Format:
Table 15 – Data Transfer Download Complete Command Format
Byte Value Description
1 0x01 Start of message.
2 0x47 Data Transfer Download Complete Command ID.
3 0x00 Parameters length.
4 checksum Frame check sequence.
Response Format:
15
Page 18
Tamarisk
®
Software ICD
640
There is no response to this command. Upon receipt of this command, the TIM wi ll ceas e
data transfer operations.
2.6.1.5 Data Transfer Abort – 0x43
Description: Abort a data transfer. This command can be used to abort both uploads and
downloads.
Command Format:
Table 16 – Data Transfer Abort Command Format
Byte Value Description
1 0x01 Start of message.
2 0x43 Data Transfer Abort command ID.
3 0x00 Parameters length.
4 checksum Frame check sequence.
Response Format:
Table 17 – Data Transfer Abort Response Format
Byte Value Description
1 0x01 Start of message.
2 0x02 ACK response
3 0x02 Parameters length.
4, 5 0x0043 Data Transfer Abort command ID.
6 checksum Frame check sequence.
2.6.2 Non-volatile Camera System Information.
There is information contained in the non-volatile memory that some customers may desire
to use for their products, such as camera part numbers and serial numbers. This information
is downloadable and parsable based on the information in Table 18. The Data Transfer
Download Setup Command (0x73) is used to download this information. To download the
data shown in Table 18 the user would write the following serial command to the camera:
Mfg date information 2 Year = int(data[0]) * 256 + int(data[1])
Mfg date information 1 Month = int(data[2])
Mfg date information 1 Day = int(data[3])
Mfg date information 2 Year = int(data[4]) * 256 + int(data[5])
Mfg date information 1 Month = int(data[6])
16
Page 19
Tamarisk
®
Software ICD
640
Item Length (in bytes) Conversion from raw bytes
Mfg date information 1 Day = int(data[7])
Mfg date information 2 Year = int(data[8]) * 256 + int(data[9])
Mfg date information 1 Month = int(data[10])
Mfg date information 1 Day = int(data[11])
Mfg calibration information 6 Chamber = string(data[12:17])
Mfg calibration information 6 Position = string(data[18:23])
Mfg calibration information 10 Version = string(data[24:33])
Mfg software information 10 Version = string(data[34:43])
Mfg software information 10 Version = string(data[44:53])
Module Part Number 20 Part Number = string(data[54:73])
Module Serial Number 20 Serial Number = string(data[74:93])
Detector Part Number 20 Part Number = string(data[94:113])
Detector Serial Number 20 Serial Number = string(data[114:133])
2.7 CAMERA DATA UPLOAD
If the Tamarisk
®
camera is integrated in a s yst e m t her e ma y be occas io n s an em bed ded fi rm war e
640
or embedded hardware programs could require an update. Customers that desire supporting that
update through their software or hardware would follow the upload procedure described below:
An upload to the TIM is initiated by the CU (connected with the “Data Transfer Upload Setup”
message (0x74). This messages has 9, 16-bit parameters (18 bytes total). Th e parameters identif y
the device, region, range, size and CRC of the upload (see Figure 2).
17
Page 20
Tamarisk
TIM
Setup
ACK
Pause
Resume
Packet
Upload Setup
Sector Burning (8)
Burning Complete (9)
Sector Burning (8)
Transfer Complete (10)
Sector
Flash
Sector
®
Software ICD
640
Figure 2– Upload to TIM Message Sequence Diagram
CU
0x74 (18)
0x02 (2)
0x74 (3)
0x72 (244)
0x72 (244)
…
0x72 (244)
0x72 (4)
0x72 (4)
0x72 (244)
…
0x72 (244)
0x72 (202)
0x72 (4)
0x72 (4)
Flash
Upload
Upload Packet
Upload Packet
Upload Packet
Upload Packet
Upload
Upload Packet
The TIM checks the size and region parameters and, if acceptable, responds with an ACK and
setup response. The setup response message has the same command ID as the setup message
(0x74) and has 3, 16-bit parameters.
The CU then begins sending packets to the TIM using “Dat a Transfer Upload Packet ” messages
(0x72). Each pack et m ess age carri es a pa yload who se siz e is al wa ys an even n umber of b ytes. The
payload packet contains a packet number (16-bits) and packet payload bytes. Payload size has
historically been 244 bytes. The packet number is a z ero-based, integer count packets. It is used to
detect missing packets and to initiate retries.
At any time, the TIM may send a “Data Transfer Upload Packet” (0x72) message to the CU to
control the flow of packets or to indicate an error condition. This flow control message includes 2,
16-bit parameters. The first is a response ID and the second is a packet number. When the CU
receives the flow control message, it should respond as indicated in Table 24
At any time, the CU may send a “Data Transfer Abort” message (0x43). Upon receipt of this
message the TIM will reset its internal state machines and await a new setup message.
Following transmission of the last data packet, the TIM will send a flow control message with
ID=8 to indicate flash is being programmed followed by a flow control message with ID=10 to
indicate that the upload has been successful, the flash burn is complete, data transfer operations
will now cease.
18
Page 21
Tamarisk
®
Software ICD
640
2.7.1 Data Transfer Upload Setup – 0x74
This message is used as both a command to the TIM and a response to the CU.
Description: Sets up a transfer from the connected unit to the TIM.
Command Format:
Table 19 – Data Transfer Upload Setup Command Format
Byte Value Description
1 0x01 Start of message.
2 0x74 Data Transfer Upload Setup Command ID.
3 0x12 Parameters length.
4, 5 Unsigned integer 0x00, 0x00
6, 7
1 Success, Setup accepted. Upload can proceed.
3 Error in Device ID, Region ID, or Range ID. Setup failed.
19
Page 22
Tamarisk
®
Software ICD
640
7 Illegal Size. Size of upload does not agree with expected size. Setup failed.
2.7.2 Data Transfer Upload Packet – 0x72
This message is used as both a command to the TIM and a response to the CU.
Description: Carries data to be uploaded to the TIM. The response provides flow control
and error notification to CU.
Command Format:
As a command, this message carries payload data for a data transfer upload to the TIM
from the CU. The message contains a 16-bit, unsigned, zero-based packet number fo ll ow ed
by payload bytes. Following the payload bytes is a 16-bit packet CRC. The number of
payload bytes will vary but the entire message must be less than the MTU size.
Table 22 – Data Transfer Upload Packet Command Format
Byte Value Description
1 0x01 Start of message.
2 0x72 Data Transfer Upload Setup Command ID.
3 N Parameters length.
4, 5 Unsigned integer Packet number. First packet is 0.
6 to
(N+1)
(N+2),
(N+3)
(N+4) checksum Frame check sequence.
(any)
Unsigned Integer Packet CRC
Packet payload. The number of bytes in this array varies.
These are a portion of the bytes of the payload object being
sent to the TIM.
Response Format:
Table 23 – Data Transfer Upload Packet Response Format
Byte Value Description
1 0x01 Start of message.
2 0x72 Data Transfer Upload Setup Command ID.
3 0x06 Parameters length.
4, 5 unsigned integer Response ID. See table belo w.
6, 7 unsigned integer Packet number. First packet is 0.
8 checksum Frame check sequence.
20
Page 23
Tamarisk
®
Software ICD
640
Table 24 – Data Transfer Upload Packet Response ID
ID Description CU Response
3‡ Packet out of order.
4
Upload complete. Flash operations
underway.
Restart transmission from the packet number
included in the message.
CU should cease transmission of packets
until follow-up message is received.
5 Transfer CRC error. CU should cease data transfer operations
6 Data length error. CU should cease data transfer operations
8 Flash sector programming underway.
CU should stop transmitting packets and wait
for follow-up messages.
9 Flash sector programming complete. CU should resume transmission of packets.
10 Transfer complete. CU should cease data transfer operations.
‡The TIM shall send this response to the CU any time it detects a gap in the packet
number sequence. The packet number in the response shall be the packet number of the
last packet received in the proper sequence.
21
Page 24
Tamarisk
TXT
TXT
System Version Get
TXT
ACK
®
Software ICD
640
3OPERATIONAL COMMANDS
The operational commands are those used by the TIM during normal operations. These commands
may also be used during factory calibration and testing.
3.1 SYSTEM COMMANDS
3.1.1 System Version Get – 0x07
Description: This command returns the system version. The response to the command is
a series of TXT messages followed by an ACK message.
CU
0x07 (0)
0x00 (varies)
•••
0x00 (varies)
0x02 (2)
TIM
Figure 3– System Version Get Diagram
Command Format:
Table 25 – System Version Get Command Format
Byte Value Description
1 0x01 Start of message.
2 0x07 System Version Get Command ID.
3 0x00 Parameters length.
4 checksum Frame check sequence.
Response Format:
The TIM will respond with one or more TXT messages. Each TXT message shall contain a
null-terminated string of less than 40 characters. The number of messages and their
contents are system-specific... As an example, below are the version strings for
Tamarisk
®
.
640
1. System Name – “System: Tamarisk-640”
2. CPU Software Version String – This is the version number of the current software
release. Example format: “CPU Version: X1.P3.01.01.04”
2 0x02 ACK Response
3 0x02 Parameters length.
4, 5 0x0007 System Version Get Command ID.
6 checksum Frame check sequence.
3.1.2 Customer Non-Volatile Read Command – 0xCA
Description: Allows a customer to read up to 252 ASCII characters. This information is
read out of non-volatile memory and can be read back with the Customer Non-Volatile
Read Command.
Command Format:
Table 29 – Customer Non-Volatile Read Command Format
Table 30 – Customer Non-Volatile Read Response Format
Byte Value Description
1 0x01 Start of message.
2 0x02 ACK Response
3 N Parameters length, where 10<N<252.
4 to
(N+3)
(N+4) checksum Frame check sequence.
varies Non-volatile memory contents.
3.1.3 Customer Non-Volatile Write Command – 0xCB
Description: Allows a customer to store up to 252 ASCII characters. This information is
stored in non-volatile memory and can be written with the Customer Non-Volatile Write
Command.
24
Page 27
Tamarisk
®
Software ICD
640
Command Format:
Table 31 – Customer Non-Volatile Write Command Format
Byte Value Description
1 0x01 Start of message.
2 0xCB Customer Non-Volatile Write Command ID
3 N Parameters length, where 10<N<252.
4 to
(N+3)
(N+4) checksum Frame check sequence.
varies Non-volatile memory contents.
Response Format:
Table 32 – Customer Non-Volatile Write Response Format
Description: Allows the user to select the one of 12 different 8-bit colorization selections.
Colorization must be enabled and the output video mode must be set to 8-bit.
26
Page 29
Tamarisk
0: White Hot
1: Black Hot
2: Red Light
3: Arcus
4: Inferno
5: SoftLight
6: Sunset
7: Memoriam
8: Flamma Arcticus
9: Ocean
10: Rain
11: Factory Default
®
Software ICD
640
Command Format:
Table 35 – 8-Bit Colorization Selection Command Format
Description: Control the digital video output multiplexer. The camera default is to use the
output of the AGC module.
Command Format:
Table 39 – Digital Video Source Select Command Format
Byte Value Description
1 0x01 Start of message.
2 0xD7 Digital Video Source Select Command ID.
3 0x02 Parameters length.
4, 5
Unsigned integer.
See table below.
Source ID value.
28
Page 31
Tamarisk
®
Software ICD
640
6 checksum Frame check sequence.
Table 40 – Digital Video Source IDs
Source ID Description
0 Test Pattern Generator
6
7
8 Output of AGC Module.
9 Output of Symbology Module.
All other values reserved.
14 bit data with no invert/revert, no gray
or freeze frame during auto-calibrations
14 bit data with 1 frame of latency with
invert/revert, gray or freeze frame
support during auto-calibrations
Response Format:
Table 41 – Digital Video Source Select Response Format
Byte Value Description
1 0x01 Start of message.
2 0x02 ACK Response
3 0x02 Parameters length.
4, 5 0x00D7 Dig ita l Video Sour ce Se lec t Command ID.
6 checksum Frame check sequence.
3.1.8 Baud Rat e Set – 0xF1
Description: Set the baud rate for the RS232 serial port. The system must be using RS232 serial for this command to have an effect.
NOTE
Note: the baud rate for the USB port is fixed at 921600.
Note: there is no ack nowledge of this comm and, any subsequent com mands
must be at the new baud rate.
The factory default setting is 57600 baud. There is a non-volatile parameter to p ermanent l y
change this. If a different baud rate is desired, there must be an initial command to change
the baud rate at 57600 baud. Or the non-volatile-parameter (#34) must be set to the desired
baud rate.
Note: the baud rate for the USB port is fixed at 921600.
29
Page 32
Tamarisk
®
Software ICD
640
Command Format:
Table 42 – Baud Rate Set Command Format
Byte Value Description
1 0x01 Start of message.
2 0xF1 Baud Rate Set Command ID.
3 0x02 Parameters length.
7 Unsigned integer Deprecated
8, 9 Unsigned integer Manual Gain
10, 11 Unsigned integer Manu al Le ve l
12, 13 Unsigned integer G ain Bias
14, 15 Unsigned integer Lev el Bias
16, 17 Unsigned integer Deprecated (always 0).
18, 19 Unsigned integer Deprecated (always 0).
20 chksm Frame check sequence.
Table 46 – System Status Get ACK Response Format
Byte Value Description
(deprec
ated)
(deprec
ated)
POL
0=blk
1=wht
(deprecated)
1 0x01 Start of message.
2 0x02 ACK response
3 0x02 Parameters length.
4, 5 0x00F2 System Status Get Command ID.
6 checksum Frame check sequence.
Note the gain and level settings in response bytes 8 to 15 may be meaningless, depending
on the specific AGC mode in use in byte 5.
31
Page 34
Tamarisk
®
Software ICD
640
3.2 FIELD CALIBRATION COMMANDS
Field calibrations may be performed at any time during camera operations to improve image
quality. The most common is the 1-point calibration, wherein the shutter is closed, raw pixel
samples are col lect ed and averaged for som e nu mb er of frames (default is 4), new NU C o ffset s are
computed from the averaged samples, and the shutter is opened to resume operations.
The 1-point no shutter field calibration allows the camera to compute NUC offsets that compensate
for lens non-uniformities. When this operation is performed, the camera should be pointed at a
black body or suitable substitute that is at uniform temperature. The shutter i s not operated during
this operation and should be open prior to initiation.
3.2.1 Field Calibrate – 0x27
Description: Perform a calibration operation. The TIM supports several types of
calibrations. Use this command to service pending calibrations, including range change, if
Automatic Calibration Activity has been disabled.
Command Format:
Table 47 – Field Calibrate Command Format
Byte Value Description
1 0x01 Start of message.
2 0x27 Field Calibrate Command ID.
3 0x02 Parameters length.
4, 5
6 checksum Frame check sequence.
Unsigned integer.
See table below.
Field calibration type ID value. Determines the type of field
calibration to be performed.
Table 48 – Field Calibrate Type IDs
ID Description
3 1-point calibration.
4 1-point calibration with shutter disabled.
All other values reserved.
3.2.2 Field Calibrate – Shutter Disable Set – 0x81
Description: Enables or disables the TIM shutter. When the shutter is disabled it is forced
closed and the shutter will ignore requests to open for field calibrations. When the shutter is
enabled, it will open and respond to requests to open or close.
Command Format:
Table 50 – Field Calibrate Shutter Disable Set Command Format
Byte Value Description
1 0x01 Start of message.
2 0x81 Field Calibrate Shutter Disable Set Command ID.
3 0x02 Parameters length.
0 = open and enable the shutter
1 = close and disable the shutter.
Response Format:
Table 51 – Field Calibrate Shutter Disable Set Response Format
Byte Value Description
1 0x01 Start of message.
2 0x02 ACK Response
3 0x02 Parameters length.
4, 5 0x0081 Field Calibrate Shutter Disable Set Command ID.
6 checksum Frame check sequence.
3.2.3 Automatic Calibration Tog g l e – 0xAC
Description: Toggles the TIM between automatic or manual field calibration modes.
In automatic mode, a field calibration operation will occur at regular intervals.
In manual mode, a field calibration operation will only occur when commanded, other than
range changes. A range change can occur as the camera temperature changes from one
region to another. Th ere are five temper ature ranges; each range crossin g has hysteresis so
actual changes will depend on current range and next range. These field calibrations are
required to maintain usable video.
The default is to have automatic calibration turned on.
33
Page 36
Tamarisk
®
Software ICD
640
Command Format:
Table 52 – Automatic Calibr ati on Toggle Command Format
Description: This command shall set the period between automatic calibrations (autocal
period). This command does not store the autocal period in non-volatile storage to be
preserved across power cycles. A setting of zero (0) is will prevent only periodic automatic
calibrations, not all automatic calibrations.
The default for time based automatic calibrations is five minutes.
Command Format:
Table 55 – Automatic Calibr ati on Per i od Set C om mand Format
Byte Value Description
1 0x01 Start of message.
34
Page 37
Tamarisk
®
Software ICD
640
Byte Value Description
2 0x12 Automatic calibration period set command ID.
3 0x02 Parameters length.
4, 5 Unsigned integer Automatic calibration period in minutes.
6 checksum Frame check sequence.
Response Format:
Table 56 – Automatic Calibration Period Set Respons e For mat
Byte Value Description
1 0x01 Start of message.
2 0x02 ACK Response
3 0x02 Parameters length.
4, 5 0x0012 Automatic calibration period set command ID.
6 checksum Frame check sequence.
3.2.5 Automatic Calibration Period Get – 0x13
Description: This command shall retrieve the period between automatic calibrations
(autocal period).
Command Format:
Table 57 – Automatic Calibr ati on Period Get Command Format
Byte Value Description
1 0x01 Start of message.
2 0x13 Automatic calibration period get command ID.
3 0x00 Parameters length.
4 checksum Frame check sequence.
Response Format:
Table 58 – Automatic Calibration Period Get TXT Response Format
Byte Value Description
1 0x01 Start of message.
2 0x00 TXT Response
3 N Parameters length.
4 to Zero-terminated
Message content example:
35
Page 38
Tamarisk
(N+3)
text string
Example:
®
Software ICD
640
Byte Value Description
“AUTOCAL: Interval= 300 sec.”
Note trailing null is included in parameters length.
(N+4) checksum Frame check sequence.
Table 59 – Automatic Calibration Period Get ACK Response Format
Byte Value Description
1 0x01 Start of message.
2 0x02 ACK Response
3 0x02 Parameters length.
4, 5 0x0013 AutoCal Period Get Command ID.
6 checksum Frame check sequence.
3.2.6 Automatic Calibration Activity Control – 0x26
Description: This command shall control whether all automatic calibrations (autocal,
including range changes) are enabled or disabled. This command does not store calibration
activity mode in the NV Param. See section 3.5 for storing in NV Param.
NOTE
Customers disabling automatic field calibrations must use command 0x25
Automatic Calibrat ion Pending Activity Query and allow some calibrations to
maintain image and uniformity.
Command Format:
Table 60 – Automatic Calibration Activity Control Command Format
Byte Value Description
1 0x01 Start of message.
2 0x26 AutoCal Activity Control command ID.
3 0x02 Parameters length.
4, 5 0x0000 or 0x0001 Enable (0x0001) or Disable (0x0000)
6 checksum Frame check sequence.
36
Page 39
Tamarisk
®
Software ICD
640
Response Format:
Table 61 – Automatic Calibration Activity Control ACK Response Format
Description: This command queries the camera for pending Automatic Calibration
activities, and specifies the type of AutoCal that is pending. A suggested interval for
checking for pending calibration requests is every 5 minutes during normal operation and
every one (1) minute for the first ten (10) minutes immediately following power-up.
Command Format:
Table 62 – Automatic Calibr ati on Pending Activity Query Command Format
The system supports both conventional AGC operation and Image Contrast Enhancement (ICE)
operation. These operating modes are mutually exclusive.
The AGC module converts 14-bit video data to 8-bit data. The AGC has several operating modes
that control how this conversion takes place. Generally, a histogram of the input data is computed,
upper and lower limits of useful video data are extracted (black limit and white limit), and a
contrast stretch between those levels is performed. Two histogram equalization modes are
supported, AGC freeze and log2. The camera default is log2 mode. If the user has set the video
tap to pre-AGC these commands have no effect on the output video stream.
In addition, the system supports an Image Contrast Enhancement (ICE) mode. When enabled, the
normal AGC operation is disabled and ICE operation takes its place. ICE operation also converts
14-bit video data to 8-bit data, however, it does so in a way that details can be seen in the video
that would not otherwise be visible in AGC mode. The resulting video i s generall y superior to that
of AGC mode.
3.3.1 ICE Mode Min-Max Command – 0x22 (formerly known as ICE Mode Contrast Stabilization -
Deprecated, please use command 0x1E for ICE adjustments)
Camera RTL Rel version 01.00.3532 or newer is required together with compatible
CPU(Rel) version.
Description: ICE Mode Min-Max command provides backward compatability with
previous ICE version using Indoor and Outdoor mode and sets the ICE strength to its
minimum or maximum level.
Camera RTL Rel version 01.00.4471 or newer is required.
Description: Sets ICE Strength. (ICE Mode must be enabled before this command will
have any effect). This comman d, enables the us er to select an ICE strength from 0-7 in 1
unit increments. The lowest setting is 0; the highest setting is 7. Recommend using lower
values when looking at lower contrast scenes and higher values when looking at dynamic
scenes.
Description: Sets the operating mode for Automatic Gain Control.
NOTE
This command has no effect if ICE is enabled.
Command Format:
Table 73 – AGC Mode Set Command Format
Byte Value Description
1 0x01 Start of message.
2 0x2A AGC Mode Set Command ID.
3 0x02 Parameters length.
4, 5
6 checksum Frame check sequence.
Unsigned integer.
See table below.
AGC Mode ID value.
Table 74 – AGC Mode ID Values
AGC Mode ID AGC Mode
0 AGC Freeze – AGC conversion is frozen at current gain and level.
1 Log2 Histogram Equalization (also called “auto”)
2 Manual Mode
All other values reserved
Description: Commands the system to display hotter objects in the image as darker
(blacker) and cooler objects as lighter. The default camera setting is white hot.
Command Format:
Table 76 – AGC Black-Hot Polarity Set Command Format
Description: Sets gain value used by AGC when configured to Manual Mode.
NOTE
This command has no effect if ICE is enabled.
Command Format:
Table 80 – AGC Manual Gain Set Command Format
Byte Value Description
1 0x01 Start of message.
2 0x32 AGC Manual Gain Set Command ID.
3 0x02 Parameters length.
4,5
unsigned integer
0 to 4095
gain= 256 / (4096 - manual_gain_value)
0 = minimum gain, gain = 1/16 (.0625)
3840 (4095 – 255) = unity gain, gain = 1.0
4095 (0x0FFF) = maximum gain, gain = 256
43
Page 46
Tamarisk
AGC manual level value.
®
Software ICD
640
6 checksum Frame check sequence.
Response Format:
Table 81 – AGC Manual Gain Set Response Format
Byte Value Description
1 0x01 Start of message.
2 0x02 ACK Response
3 0x02 Parameters length.
4, 5 0x0032 AGC Manual Gain Set Command ID
6 checksum Frame check sequence.
3.3.7 AGC Manual Level Set – 0x33
Description: Sets level value used by AGC when configured to Manual Mode.
NOTE
This command has no effect if ICE is enabled.
Command Format:
Table 82 – AGC Manual Level Set Command Format
Byte Value Description
1 0x01 Start of message.
2 0x33 AGC Manual Level Set Command ID.
3 0x02 Parameters length.
4,5
6 checksum Frame check sequence.
unsigned integer
0 to 4095
0 = minimum level
4095 (0x0FFF) = max imum level
The minimum and maximum pixel values (X0 and X1) that the AGC will display are
centered around the m anual level value. The separation between X0 and X1 is determined
by the manual gain value. X0 and X1 are calculated as follows:
Description: The AGC Gain Limit and the AGC Gain Limit Noise Reduction Mode are
two independent blocks which control the AGC gain limit
The AGC Gain Limit Set command allows the user to configure the minimum allowable
difference between the white limit and black limit for AGC histogram processing. A
smaller value allows the maximum gain to be higher (e.g., allows a smaller difference
between the black limit and the white limit). In low-contrast scenes, this smaller value will
47
Page 50
Tamarisk
®
Software ICD
640
allow more sensitivity but will also gain-up any system noise. A lar ger value wi ll prev ent
objectionable gaining-up of system noise but will reduce sensitivity in low-contrast scenes.
The AGC Gain Limit Noise Reduction Mode (which is an NV parameter) works to limit
the pixel-to-pixel difference and thus reducin g the effects of noise acro ss the entire scene.
This limit has the effect of smoothing out the image and hence the AGC provides a better
overall image.
It is possible (but not recommended) to enable both the AGC Gain Limit and the AGC
Gain Limit Noise Reduction mode. By default the AGC Gain limit is disabled and the
AGC Gain Limit Noise Reduction mode is enabled.
NOTE
This command has no effect if ICE is enabled.
Command Format:
Table 88 – AGC Gain Limit Set Command Format
Byte Value Description
1 0x01 Start of message.
2 0xD1 AGC Gain Limit Set Command ID.
3 0x02 Parameters length.
AGC gain limit value.
0 = gain limiting disabled
4,5
4 checksum Frame check sequence.
unsigned integer
0 to 4095
32 = gain limited to gain factor = 4.0
64 = gain limited to gain factor = 3.0
128 = gain limited to gain factor = 2.0
256 = gain limited to gain factor = 1.0
4095 (0x0FFF) = maximum (not recommended)
Response Format:
Table 89 – AGC Gain Limit Set Response Format
Byte Value Description
1 0x01 Start of message.
2 0x02 ACK Response
3 0x02 Parameters length.
4, 5 0x00D1 AGC Gain Limit Set Command ID.
6 checksum Frame check sequence.
48
Page 51
Tamarisk
®
Software ICD
640
3.3.11 AGC Gain Flatten Offset Set – 0xD2
Description: Sets the gain limit offset for AGC histogram processing. The default value is
1.
NOTE
This command has no effect if ICE is enabled.
Command Format:
Table 90 – AGC Gain Flatten Offset Set Command Format
Byte Value Description
1 0x01 Start of message.
2 0xD2 AGC Gain Flatten Offset Set Command ID.
3 0x02 Parameters length.
4, 5
6 checksum Frame check sequence.
unsigned integer
0 to 65535
AGC gain flatten offset value.
Response Format:
Table 91 – AGC Gain Flatten Offset Set Response Format
Byte Value Description
1 0x01 Start of message.
2 0x02 ACK Response
3 0x02 Parameters length.
4, 5 0x00D2 AGC Gain Flatten Offset Set Command ID.
6 checksum Frame check sequence.
3.3.12 AGC Region of Interest – 0x84
Description: Sets or gets the AGC Region of Interest (ROI). This command also returns
the allowable ROI Limit. This command also provides ability to burn all of the ROI to flash
NV Param.
This command has no effect if ICE is enabled.
NOTE
49
Page 52
Tamarisk
Example:
®
Software ICD
640
Sub Command Format:
Table 92 – AGC Region of Interest Sub Command Table
ID Description Additional Parameters Response
0 Get ROI None Text String, ACK
1 Get ROI Limit None Text String, ACK
2 Set ROI 4 unsigned integer ACK
3 Burn ROI to NV
Param
None ACK
All other values reserved.
Command Format (sub-command 0x0000, Get):
Table 93 – AGC ROI Get Command Format
Byte Value Description
1 0x01 Start of message.
2 0x84 AGC ROI Get Command ID.
3 0x02 Parameters length.
4,5 0x0000 Sub-command Get ROI.
6 checksum Frame check sequence.
Response Format:
Table 94 – AGC ROI Command ACK Response Format
Byte Value Description
1 0x01 Start of message.
2 0x02 ACK Response
3 0x02 Parameters length.
4, 5 0x84 AGC ROI Get Command ID.
6 checksum Frame check sequence.
Table 95 – AGC ROI Get Response 1 Format
Byte Value Description
1 0x01 Start of message.
2 0x00 Text message.
3 0x39 Parameters length.
4-56
57 checksum Frame check sequence.
Zero-terminated
string.
“AGC ROI (x0,y0,x1,y1): ( 0, 0, 639,479)”
(Each coordinate value takes up 3 characters).
50
Page 53
Tamarisk
Example:
®
Software ICD
640
Command Format (sub-command 0x0001, Get Limit):
Table 96 – AGC ROI Get Limit Command Format
Byte Value Description
1 0x01 Start of message.
2 0x84 AGC ROI Get Limit Command ID.
3 0x02 Parameters length.
4,5 0x0001 Sub-command Get Internal ROI Limit.
6 checksum Frame check sequence.
Response Format:
Table 97 – AGC ROI Get Limit Response 1 Format
Byte Value Description
1 0x01 Start of message.
2 0x00 Text message.
3 0x39 Parameters length.
4-56
57 checksum Frame check sequence.
Zero-terminated
string.
“AGC ROI (x0,y0,x1,y1): ( 0, 0, 639, 479)”
(Each coordinate value takes up 3 characters).
Table 98 – AGC ROI Get Limit Command ACK Response Format
Byte Value Description
1 0x01 Start of message.
2 0x02 ACK Response
3 0x02 Parameters length.
4, 5 0x84 AGC ROI Get Limit Command ID.
6 checksum Frame check sequence.
Command Format (sub-command 0x0002, Set):
Table 99 – AGC ROI Set Command Format
Byte Value Description
1 0x01 Start of message.
2 0x84 AGC ROI Set Command ID.
3 0x0A Parameters length.
4, 5 0x0002 Sub-command Set ROI.
6, 7 Unsigned integer XSTART, within valid limits (see Get Limit)
8, 9 Unsigned integer YSTART, within valid limits (see Get Limit)
51
Page 54
Tamarisk
®
Software ICD
640
10, 11 Unsigned integer XSTOP, within valid limits (see Get Limit)
12, 13 Unsigned integer YSTOP, within valid limits (see Get Limit)
14 checksum Frame check sequence.
Response Format:
Table 100 – AGC ROI Set Command ACK Response Format
Byte Value Description
1 0x01 Start of message.
2 0x02 ACK Response
3 0x02 Parameters length.
4, 5 0x84 AGC ROI Set Command ID.
6 checksum Frame check sequence.
Command Format (sub-command 0x0003, Burn to NV Param):
Table 101 – AGC ROI Burn to NV Params Command Format
Byte Value Description
1 0x01 Start of message.
2 0x84 AGC ROI Burn to NV Params Command ID.
3 0x02 Parameters length.
4, 5 0x0003 Sub-command Burn ROI to NV Param.
6 checksum Frame check sequence.
Response Format:
Table 102 – AGC ROI Burn to NV Params Command ACK Response Format
Byte Value Description
1 0x01 Start of message.
2 0x02 ACK Response
3 0x02 Parameters length.
4, 5 0x84 AGC ROI Burn to NV Params Command ID.
6 checksum Frame check sequence.
3.3.13 AGC Options Set – 0xA0
Description: Sets AGC LUT limits.
52
Page 55
Tamarisk
®
Software ICD
640
NOTE
This command has no effect if ICE is enabled.
Command Format:
Table 103 – AGC Options Set Command Format
Byte Value Description
1 0x01 Start of message.
2 0xA0 AGC Options Set Command ID.
3 0x02 Parameters length.
4, 5 0x000A AGC gain flatten offset value.
Description: S elects the origin from within the un-zoomed, original image for the zoomed
image subset. The origin is the zero-based offset of the center o f the zoomed image. The
offset [0,0] is the center of the un-zoomed image.
54
Page 57
Tamarisk
®
Software ICD
640
Command Format:
Table 108 – Zoom Pan Set Command Format
Byte Value Description
1 0x01 Start of message.
2 0xA5 Zoom Pan Set Command ID.
3 0x04 Parameters length.
Horizontal offset from the center.
4, 5 Signed integer
6, 7 Signed integer.
6 checksum Frame check sequence.
Negative values center the zoom to the left of FPA center.
Positive values center the zoom to the right of FPA center.
Vertical offset from the center.
Negative values center the zoom above the FPA center.
Positive values center the zoom below the FPA center.
Response Format:
Table 109 – Zoom Pan Set Response Format
Byte Value Description
1 0x01 Start of message.
2 0x02 ACK Response
3 0x02 Parameters length.
4, 5 0x00A5 Zoom Pan Set Command ID.
6 checksum Frame check sequence.
3.4.3 Zoom Store Current Settings – 0xA6
Description: Permantly stores current zoom settings in Non-volatile memory.
Command Format:
Table 110 – Zoom Store Current Settings Command Format
Byte Value Description
1 0x01 Start of message.
2 0xA6 Zoom Store Current Settings Command ID.
3 0x00 Parameters length.
4 checksum Frame check sequence.
55
Page 58
Tamarisk
®
Software ICD
640
Response Format:
Table 111 – Zoom Store Current Settings Response Format
Byte Value Description
1 0x01 Start of message.
2 0x02 ACK Response
3 0x02 Parameters length.
4, 5 0x00A6 Zoom Pan Set Command ID.
6 checksum Frame check sequence.
3.5 NON-VOLATILE PARAMETERS COMMANDS
The following table lists the non-volatile commands available to the camera user.
Table 112 – Non-Volatile Parameter IDs
IDNameTypeValues
0=NTSC
1
2
3
4
5
RS170 Mode
Select
RS170 Invert
Enable
RS170 Revert
Enable
RS170 Output
Enable
Parallel Digital
Video Output
Enable
Integer
Boolean
Boolean
Boolean
Boolean
1=PAL-M
2=PAL-N
3=PAL-BDGHIN2
0=disable
non-zero=enable
0=disable
non-zero=enable
0=disable
non-zero=enable
0=disable
non-zero=enable
Default
Value
0
0
0
1
1
Notes
Used to vertically invert the
analog video output
Used to horizontally invert the
analog video output
The Parallel digital output and
the the RS170 share pins. If
both are enabled on power-up,
RS170 will be output. If both
are enabled during operation,
the most recent will be used.
The Parallel digital output and
the RS170 share pins. If both
are enabled on power-up,
RS170 will be output. If both
are enabled during operation,
the most recent will be used.
6
Camera Link
Output Enable
Boolean
0=disable
non-zero=enable
1
56
Page 59
Tamarisk
®
Software ICD
640
IDNameTypeValues
0 = Output of
Uploaded Test Pattern
6 = 14 bit data with no
invert/revert, no gray
or freeze frame during
auto-calibrations
7 = 14 bit data with 1
7
Video Output
Mux Select
Unsigned
integer
frame of latency with
invert/revert, gray or
freeze frame support
during autocalibrations
8 = AGC
9 = Symbology
All other values
reserved.
8
9
AGC Gain
Limit
AGC Gain
Flatten Offset
Unsigned
integer
Unsigned
integer
0 to 4095 0
0 to 65535 3
Default
Value
9
Notes
The output of the selected
processing block will be output
to all video output ports
(RS170, parallel digital video,
and Camera Link).
Buffer Video Suspend Action
(Non-Volatile is set to Freeze
Video
This must be enabled in
conjunction with the specific
NV param for the symbology to
show on screen. For example,
NVParam 52 must be set to 1
and NVParam 55 must be set
to 1 for the polarity symbology
to show. If either is set to 0,
then the polarity symbology is
not displayed.
- Positive values center
the zoom to the right of
FPA center.
- Range depends on
power-on zoom
magnification.
- Values out of range
will be clipped at
Default
Value
0
0
Notes
69
71
72
Zoom Vertical
Offset Power
On Value
ICE Power-On
Slope Limit
Crosshairs
Enable
Signed
Integer
Unsigned
Integer
Boolean
center.
the zoom above the
FPA center.
- Positive values center
the zoom below the
FPA center.
- Range depends on
power-on zoom
magnification.
- Values out of range
will be clipped at
1 = 0.25
2 = 0.50
…
8 = 2.00
…
0 = disabled
non-zero = enabled
0
8
0
Camera RTL Rel version
01.00.3532 or newer is
required together with
compatible CPU(Rel) version.
Deprecated, please use parameter 79
for ICE strength adjustments
61
Page 64
Tamarisk
®
Software ICD
640
IDNameTypeValues
73
74
75
76
77
Crosshairs
Border Enable
Crosshairs X
Location
Crosshairs Y
Location
YUV Output
(Superframe)
Enable
ICE HighFrequency
Threshold
Boolean
Unsigned
integer
Unsigned
integer
Boolean
Unsigned
Integer
0 = disabled
non-zero = enabled
6 to 632 320
6 to 472 240
0 = disabled
non-zero = enabled
0 to 1023 1023
Default
Value
0
0
Notes
Enabling this parameter does
nothing unless parameter 72 is
also enabled.
Values outside of allowable
range will be truncated to
nearest legal value.
Values outside of allowable
range will be truncated to
nearest legal value.
Camera RTL Rel version
01.00.3995 or newer is
required together with
compatible CPU(Rel) version.
Camera RTL Rel version
01.00.4189 or newer is
required. This parameter is
preserved for backward
compatibility together with
previous ICE implementation;
these values are automatically
mapped to new ICE Strength
settings 0-7. See Parameter
compatible CPU(Rel) version.
Deprecated, please use parameter 79
for ICE strength adjustments
Disabling frame buffer reduces
78
Frame Buffer
Enable
Boolean
0 = disabled
non-zero = enabled
1
system latency by one frame.
ICE will not function with frame
buffer disabled.
ICE must be enabled for this
parameter to have any effect.
ICE can be enabled at powerup with parameter 47.
79 ICE Strength
Unsigned
Integer
0-7 3
This cmd sets desired ICE
strength.
Camera RTL Rel version
01.00.4471 or newer is
required
All other values reserved
3.5.1 Non-Volatile Parameters Defaul t Set – 0xB3
Description: Load the default non-volatile parameters. Please note:
1. This command causes one or more sectors of flash memory on the TIM to be erased
and reprogrammed. See general notes on command timing.
2. If flash is successfully reprogrammed, this command results in an ACK message.
62
Page 65
Tamarisk
®
Software ICD
640
3. If flash programming fails, this command results in an ERR response containing an
informative string.
WARNING
This command will reset t he camera back to factory defaults, any custom er
non-volatile param eter changes will be lost ( this will not eff ect customer flash
sector or customer dead cell map).
Command Format:
Table 113 – Non-Volatile Parameters Default Set Command Format
This command generates two response messages. The first is a VALUE message that
contains the value of the non-volatile parameter. The second response is an ACK message.
Table 116 – Non-Volatile Parameters Get VALUE Response Format
Byte Value Description
1 0x01 Start of message.
2 0x45 VALUE Response
3 0x02 Parameters length.
4, 5 Unsigned int Non-volatile parameter value.
6 checksum Frame check sequence.
Table 117 – Non-Volatile Parameters Get ACK Response Format
Description: Set a non-volatile parameter. The parameter will effect camera operation
immediately – it is not necessary to cycle the TIM’s power. Please note:
1. This command causes one or more sectors of flash memory on the TIM to be erased
and reprogrammed. See general notes on command timing.
2. If flash is successfully reprogrammed, this command results in an ACK message.
3. If flash programming fails, this command results in an ERR response containing an
informative string.
Command Format:
Table 118 – Non-Volatile Parameters Set Command Format
The defective pixel map identifies Focal Plane Array (FPA) pix els that are stuck high, stuck low,
flashing, or otherwis e defect ive. P ix els i dentified in th e map are repl aced w ith a fi ltered average o f
neighboring pixels.
The Thermal Imaging Module (TIM) includes a cursor function that facilitates identifying
defective pixel s. When the cursor is enabled, a single FPA pixel is replaced with a cursor value.
The cursor position may be relocated within the FPA as desired. The cursor value may be either
maximum hot (a white pixel) or maximum cold (a black pixel). The cursor value may be switched
as desired to improve its visibility on the scene.
Most of the defective pixel map commands require parameters consisting of a row and column
index. Row index 0 is the upper row of the FPA. The row index must be less than height of the
FPA in pixels. If the row index is out of range, the command will result in an error message.
Column index 0 is the left-most column of the FPA. The column index must be less than the width
of the FPA. If the column index is out of range, the command will result in an error message.
The commands in this section modify the active defective pixel map in DDR memory. None of
these commands modify the defective pixel map in non-volatile memory. If the modified pixel
map is to be used following a power cycle, the map must be burned to non-volatile flash with the
Flash Region Program From Active DDR Region (0xFB) command.
3.6.1 Defective Pixel Map Cursor Enable – 0x38
Description: Enables or disables the defective pixel cursor.
65
Page 68
Tamarisk
®
Software ICD
640
Command Format:
Table 120 – Defective Pixel Map Cursor Enable Command Format
The troubleshooting commands are used for troubleshooting hardware and software features of the
TIM.
3.7.1 Serial Echo – 0x06
Description: Test communications to and from the TIM. The TIM echoes the command
message and parameters and generates an ACK message.
Command Format:
Table 139 – Serial Echo Command Format
Byte Value Description
1 0x01 Start of message.
2 0x06 Serial Echo Command ID.
3 N Parameters length.
4 to
(N+3)
(N+4) checksum Frame check sequence.
Null-terminated
string.
String to be echoed. String length is arbitrary but total
message size must be less than MTU size.
Response Format:
This command results in two response messages. The first response message is a TXT
message containing the echoed string. The second response message is an ACK message.
Table 140 – Serial Echo TXT Response Format
Byte Value Description
1 0x01 Start of message.
2 0x06 Echo command
3 N Parameters length.
4 to
Description: Disables or enables TIM temperature compensation (Tcomp).
WARNING
Disabling temperature compensation should only be used in a debug
environment with test patterns. Disabling temperature compensation will
result in severely degraded performance.
Description: Enables and selects a video test pattern. Selecting test pattern <0x0000>
disables the test pattern generator. This test pattern replaces the input video stream from the
FPA and facilitates testing of downstream processing blocks.
This requires a sequence of commands. The current mode of operation can also affect how
the test patterns look and the actual pixel values on the digital interfaces. Using a pre AGC
video tap (14 bit data) will allow for pixel data validation.
Also, note if automatic calibration has not been disabled or a range change occurs while a
test pattern is selected the test pattern will be corrupted.
The to avoid these issues command sequence should be as follows:
1. 0x01 0x18 0x02 0x00 0x01 0xE4, to disable Tcomp.
2. 0x01 0xAC 0x00 0x53, to disable Autocal.
3. 0x01 0xF4 0x02 0x80 0x0 0x89, to enable horizontal ramp (for example) test pattern.
4. (optional) 0x01 0xD7 0x02 0x00 0x04, if 14-bit test pattern s are desired. Otherwise,
test pattern will be 8-bit.
When test pattern is no longer used, it is best to power cycle the camera to restore to
normal operation.
Command Format:
Table 144 – Test Pattern Select Command Format
Byte Value Description
1 0x01 Start of message.
2 0xF4 Test Pattern Select Command ID.
3 0x02 Parameters length.
4, 5
6 checksum Frame check sequence.
unsigned integer
See table below.
Test Pattern ID.
Table 145 – Test Pattern IDs
Test Pattern ID Description
Test Pattern
ID
Description
Test Pattern
ID
Description
0x0000 Off 0x8003 Horizontal Bars 0x8007 Gray
0x8000 Horizont al Ramp 0x8004 Vertica l B ar s 0x8008 NUC 14-bit
0x8001 Vertical Ramp 0x8005 Black 0x8009 NUC 64 shade
0x8002 Diagonal Ramp 0x8006 White
Description: Enables RS170 test pattern. The test pattern is a full screen of 16 vertical
bars that vary from black on the left to white on the right. When this test pattern i s enabled,
it does not affect other processing on the TIM. The RS170 test pattern overrides normal
RS170 output. RS170 output must be enabled or test pattern will not be output.
Command Format:
Table 147 – RS170 Test Pattern Enable Command Format
Byte Value Description
1 0x01 Start of message.
2 0xD8 RS170 Test Pattern Enable Command ID.
3 0x02 Parameters length.
0xCF Video Orientation Select
0xD1 AGC Gain Limit Set
0xD2 AGC Gain Flatten Offset Set
78
Page 81
Tamarisk
®
Software ICD
640
Cmd
(Hex)
Description
RTL Rel version required (needs to be
paired with compatible CPU(Rel) version)
0xD7 Dig ita l Video Sourc e Se lec t
0xD8 RS170 Test Pattern Enable
0xF1 Baud Rate Set
0xF2 System Status Get
0xF4 Test Pattern Select
0xFB Defective Pixel Map Flash Burn
0xFF Verbose Mode Toggle
79
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.