DLPU082C August   2021  â€“ March 2024 DLPC7540

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. Scope
  5. References
  6. Acronyms
  7. System Boot
    1. 4.1 Data In flash
    2. 4.2 Bootloader Application
    3. 4.3 Main Application
    4. 4.4 Commands Supported by Bootloader and Main Applications
    5. 4.5 Debug Terminal
    6. 4.6 HOST_IRQ/SYSTEM_BUSY
    7. 4.7 Heartbeat
    8. 4.8 Low-Level Fault
  8. System Status
  9. Version
  10. Power Modes
  11. Display Modes
  12. Source Detection and Configuration
  13. 10Internal Sources
    1. 10.1 Test Patterns (TPG)
    2. 10.2 Solid Field (SFG) Color
    3. 10.3 Curtain
  14. 11Display Formatting
  15. 12Image Processing
  16. 13Warping
    1. 13.1 Control Point Table
    2. 13.2 Manual Warp Table
    3. 13.3 Table Constraints
    4. 13.4 Example Warp Table
    5. 13.5 Manual Warping Commands
      1. 13.5.1 CMD_SetManualWarpControlPoints [Command ID: 0x35, Destination: 4]
      2. 13.5.2 CMD_GetManualWarpControlPoints [Command ID: 0x35, Destination: 4]
      3. 13.5.3 CMD_WriteManualWarpTable [Opcode: 0x34, Destination: 4]
      4. 13.5.4 CMD_ReadManualWarpTable [Opcode: 0x34, Destination: 4]
      5. 13.5.5 CMD_ConfigureSmoothWarp [Command ID: 0x38, Destination: 4]
      6. 13.5.6 CMD_ApplyManualWarping [Command ID: 0x36, Destination: 4]
    6. 13.6 Optical (Lens) Distortion Correction
  17. 14Introduction to Blending
    1. 14.1  Blend Map Control Points
    2. 14.2  Blend Map Gain Values
    3. 14.3  Blend Map Offset Value
    4. 14.4  Constraints
    5. 14.5  Manual Blending Commands
      1. 14.5.1 CMD_EnableEdgeBlending [Command ID: 0x2F]
      2. 14.5.2 CMD_SetBlendMapControlPoints [Opcode: 0x2E]
      3. 14.5.3 CMD_ GetBlendMapControlPoints [Command ID: 0x2E]
      4. 14.5.4 CMD_SetBlendMapGainValues [Command ID: 0x2B]
      5. 14.5.5 CMD_ GetBlendMapGainValues [Command ID: 0x2B]
      6. 14.5.6 CMD_ SetBlendMapOffsetValues [Command ID: 0x2D]
      7. 14.5.7 CMD_ GetBlendMapOffsetValues [Command ID: 0x2D]
      8. 14.5.8 CMD_ApplyBlendMap [Command ID: 0x2C]
    6. 14.6  Manual Blending Application Commands
      1. 14.6.1 CMD_SetEdgeBlendingSystemParams [Command ID: 0x3D]
      2. 14.6.2 CMD_GetEdgeBlendingSystemParams [Command ID: 0x3D]
      3. 14.6.3 CMD_SetEdgeBlendingConfiguration [Command ID: 0x3E]
      4. 14.6.4 CMD_GetEdgeBlendingConfiguration [Command ID: 0x3E]
    7. 14.7  Cropping of Input Image for Blending Setup
    8. 14.8  Storing Edge Blend Configuration in EEPROM
    9. 14.9  Storing in EEPROM or Secondary Flash
    10. 14.10 Manual Blending GUI in Control Program
  18. 15Illumination Control
  19. 16Peripherals
    1. 16.1 GPIO
    2. 16.2 PWM
  20. 17Interface Protocol
    1. 17.1 Supported Interfaces
    2. 17.2 I2C Target
    3. 17.3 USB
  21. 18Command Protocol
    1. 18.1 Command Packet
    2. 18.2 Response Packet
    3. 18.3 Destination Details
    4. 18.4 Error Handling and Recovery
    5. 18.5 System Busy - I2C scenarios
      1. 18.5.1 GPIO Implementation
      2. 18.5.2 Short Status Response
    6. 18.6 Support for Variable Data Size
  22. 19Auto-Initialization Batch File
  23. 20Command Descriptions
  24. 21System Commands
    1. 21.1  3D
    2. 21.2  Administrative
    3. 21.3  Autolock
    4. 21.4  Bootloader
    5. 21.5  Calibration
    6. 21.6  Blending
    7. 21.7  Debug Internal
    8. 21.8  Debug
    9. 21.9  General Operation
    10. 21.10 Illumination
    11. 21.11 Image Processing
    12. 21.12 Manual WPC
    13. 21.13 Peripherals
    14. 21.14 Vision
    15. 21.15 Warping
  25.   Revision History

Response Packet

The Response packet is the format in which the DLP Controller replies to the host. The Response packet format is followed for both Write Response and Read Responses. For write commands, the Response packet is sent only if the "reply requested" bit is set in the command header.

The DLP Controller matches the response header to the same format as the incoming Command packet header. There is however an exception - if the Response packet is for a command that expects variable number of data bytes, the Response packet includes the length field (irrespective of whether the command packet had length mentioned or not). Also see Section 18.6 related to variable sized commands.

Similar to the definition of Command packet, fields in bold represents fields that are always present.

Table 18-3 Response Packet Format
Field Size (bytes) Description
Header 1 See Table 18-4
Length 2 or 0 (Optional as per Datalength Present field in the header) Length of the command data in bytes following this byte. Checksum is not included in length.
For example, length=10 means there are 10 bytes of data after this length field. The LSB of length is sent first followed by the MSB.
Data 0-511 (total of max 512 bytes in the whole message including header and checksum)

Response data bytes depends on the command code.

If error bit in the header is set, there is one data byte. This byte indicates the error code that caused the command to nack. The error code definitions are listed in Table 18-5.

Checksum

1 or 0

(optional as per Checksum present field of header byte)

Checksum of all bytes in the message including header bytes. Fletcher's checksum.
Table 18-4 Response Header Byte
Bits Field Name Values
0:2 Destination See Section 18.3
3 Reserved NA
4 Datalength Present 1 = Length field present in the extended header
0 = No length field
5 Checksum Present 1 = Checksum present after data bytes
0 = Checksum not present
6 Error 1 = Error. First data byte will have the error code that gives more information about the failure
0 = No error
7 Busy 1=system busy/response not ready; 0=response ready. Applicable only for I2C based communication
Table 18-5 Error Code Definitions
Error Code Description
1 Invalid destination
2 Invalid or unknown command
3 Invalid length
4 Allocated buffer is not enough to store a command
5 Length information missing for a variable sized command
6 Checksum mismatch
7 Controller not compatible to run the application
8 Read not supported
9 Write not supported
10 Execution failed
11 Invalid response length
12 Buffer full

Write responses are optional as described in the command header description above. If response is requested, it is imperative to read the response (both Write Response and Read Response) immediately following the respective Command Packet. The response of a command is lost as soon as the DLP Controller receives another set of bytes from the host.