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

Command Packet

The command packet defines the packet format to follow when commands are sent to the DLP Controller. Fields that are always present are indicated in bold, and optional fields are indicated in normal font.

The definition of which fields are present is based on the 1-byte header field. The length field is mandatory if a command is defined as having variable data size.

Table 18-1 Command Packet format
FieldSize (bytes)Description
Header1See Table 18-2.
Opcode1 or 2 based on opcode length field in the headerCommand opcode. Command opcode number greater than 0xFF should be sent using 2 bytes. Other opcodes can be sent with 1 byte or 2 bytes. In case of 2-byte opcode, first byte is the LSB.
Length2 or 0
based on data length 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 that there are 10 bytes of data after this length field. The LSB of length is sent first followed by the MSB.
Data0-511 ( total of maximum 512 bytes in the whole message including header and checksum)Parameters and data
Checksum1 or 0
(optional as checksum present field of header byte)
Checksum of all bytes in the message including header bytes. Fletcher's checksum is implemented as shown here:
uint32  SimpleChecksum = 0;
uint32 SumofSumChecksum = 0;
uint08 *Addr = (uint08 *) StartAddress;
while (NumBytes--)
{
    SimpleChecksum += *Addr++;
    SumofSumChecksum += SimpleChecksum;
}
Table 18-2 Command Header Byte
BitsField nameValues
0:2DestinationSee Section 18.3.
3Opcode Length1 = Two byte opcode
0 = One byte opcode
4Data length Present1 = Length field present in the extended header
0 = No length field
5Checksum Present1 = Checksum present after data bytes
0 = Checksum not present
6Reply Requested1 = Device sends a response packet to every write command. This field is applicable only for write commands.
0 = Response packet not sent for write commands.
7Read Command1 = Read Command
0 = Write Command