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

Blending

Blending

Table 21-48 Blend Map Gain Values [Opcode: 2Bh | Destination: 4]
Set Blend Map Gain Values
Write Parameters
Byte Description
Byte 0

Compressed Values Passed

bit 0: 1 = Compressed data is passed below for Gain values.

0 = Uncompressed data is passed below for Gain values.

Byte 1

Color Channel Select

0 = Broadcast

1 = Green

2 = Red

3 = Blue

Bytes 2-3

Here the total number of compressed values needs to be passed only when CompressionEnable is Enabled otherwise pass 0 here

Bytes 4-5

Starting Index for filling the Gain values in array of Gain

Bytes 6 - *

Gain of control points .The format of input should be such that required gain which is a value between 0 to 1.99 be multiplied by 4096 before passing it in command.

This command takes input from the user gain values of control points as part of the Blend Map. Using this command user passes the Gain values for the 2016 (63×32) control points.

The gain values needs to be specified for each of the color channel. There are two features here for using the command. User can select the broadcast values option from the Color Channel Select. Broadcast sends the same values to all the three color channels R,G,B. Otherwise pass the value for R, G, and B color channels separately. So the command will then be required to use 3 times one time for each color channel.

Another feature supported is passing compressed values. The compression used is RLE2 compression. For passing compressed values user needs to enable the Compression Enabled bit.

Get Blend Map Gain Values
Read Parameters
Byte Description
Byte 0

Color Channel Select

0 = Broadcast

1 = Green

2 = Red

3 = Blue

Bytes 1-2

Start index in the Blend map channel gain values from which the data is to be read

Bytes 3-4

Number of entries to be read

Return Parameters
Byte Description
Byte 0

This tells whether the gain values obtained are compressed data or not.

Bytes 1 - *

Selected Color Channel gain values

This command reads from the blend map table already loaded using Set Blend Map Gain Values command. N Blend map gain values (that does not exceed the command packet size) can be read at a time from anywhere within the table.

Table 21-49 Apply Blend Map [Opcode: 2Ch | Destination: 4]
Set Apply Blend Map
Write Parameters
Byte Description
Byte 0

Blend Map Upload

bit 0: 1 = Blend Map values is enabled and applied.

0 = Blend Map values is disabled.

This command passes the entire blend map to lower layer - API

Table 21-50 Blend Map Offset Values [Opcode: 2Dh | Destination: 4]
Set Blend Map Offset Values
Write Parameters
Byte Description
Byte 0

Compressed Values Passed

bit 0: 1 = Compressed data is passed below for Offset values.

0 = Uncompressed data is passed below for Offset values.

Byte 1

Color Channel Select

0 = Broadcast

1 = Green

2 = Red

3 = Blue

Bytes 2-3

Here the total number of compressed values needs to be passed only when the first parameter is 1 otherwise pass 0 here

Bytes 4-5

Starting Index for filling the Offset values in array

Bytes 6 - *

Offset of control points. The format of input should be such that the offset values are in the internal floating point format of s1m8e4 .

Using this command user passes the Offset values for the 2016 (63×32) control points. The Offset values needs to be specified for each of the color channel R,G,B. The range of offset values in the standard floating point format is -255 to +255.

There are two features here for using the command. User can select the broadcast values option from the Color Channel Select. Broadcast sends the same values to all three color channels R,G,B. Otherwise pass the value for R, G, and B color channels separately. So the command will then be required to use 3 times one time for each color channel.

Another feature supported is passing compressed values. The compression used is RLE2 compression. For passing compressed values user needs to enable the Compression Enabled bit

Get Blend Map Offset Values
Read Parameters
Byte Description
Byte 0

Color Channel Select

0 = Broadcast

1 = Green

2 = Red

3 = Blue

Bytes 1-2

Start index in the Blend map channel Offset values from which the data is to be read

Bytes 3-4

Number of entries to be read

Return Parameters
Byte Description
Byte 0

This tells whether the offset values obtained are compressed data or not.

Bytes 1 - *

Selected Color Channel Offset

This command reads from the blend map compressed offset values already loaded using Set Blend Map Offset Values command. N Blend map offset values (that does not exceed the command packet size) can be read at a time from anywhere within the table.

Table 21-51 Blend Map Control Points [Opcode: 2Eh | Destination: 4]
Set Blend Map Control Points
Write Parameters
Byte Description
Bytes 0-1

Horizontal Display Resolution of Projector

Bytes 2-3

Vertical Display Resolution of Projector

Bytes 4 - *

Blend Map Horizontal control points position array

Number of points in this array equal to 63.These control points are 0 based.

Bytes 4 - *

Blend Map Vertical control points position array

Number of points in this array equal to 32.These control points are 0 based.

This command takes input of the user defined control points location in horizontal and vertical direction as part of the Blend Map

Get Blend Map Control Points
Return Parameters
Byte Description
Bytes 0-125

Blend map Horizontal control points position array.

Number of points in this array equal to Blend Map Control Points X.

Bytes 126-189

Blend map Vertical control points position array.

Number of points in this array equal to Blend Map Control Points Y.

This command gets the user defined blend map control points location stored in EEPROM.

Table 21-52 Enable Edge Blending [Opcode: 2Fh | Destination: 4]
Set Enable Edge Blending
Write Parameters
Byte Description
Byte 0

EBF State

bit 0: 1 = Edge blending is enabled

0 = Edge blending is disabled

This command enables or disables the Edge blending function

Get Enable Edge Blending
Data returned is in the same format as Write Parameters above.

Returns whether the Edge blending function is enabled or not.

Table 21-53 Edge Blending System Params [Opcode: 3Dh | Destination: 4]
Set Edge Blending System Params
Write Parameters
Byte Description
Bytes 0-1

Number of columns of projectors in blending system

Range = 1 to 32 with step size 1

Bytes 2-3

Number of rows of projectors in blending system

Range = 1 to 32 with step size 1

Bytes 4-5

Column index of self in blending system

Range = 0 to 31 with step size 1

Bytes 6-7

Row index of self in blending system

Range = 0 to 31 with step size 1

Bytes 8-9

What type of photometric parameters to use when calculating gains and offsets

Bytes 10 - *

White and black luminance levels of projectors in blending system, raster scan order. Format is fixed point 16.16

(nits)

This command sets the blending system parameters for semi-manual edge blending. This command does not change the state of the warping map or the blending map

Get Edge Blending System Params
Data returned is in the same format as Write Parameters above.

This command gets the blending system parameters for semi-manual edge blending

Table 21-54 Edge Blending Configuration [Opcode: 3Eh | Destination: 4]
Set Edge Blending Configuration
Write Parameters
Byte Description
Bytes 0-1

Horizontal Overlap with other projectors

(pixels)

Bytes 2-3

Vertical Overlap with other projectors

(pixels)

Byte 4

Geometric Adjustment Type

0 = No Geometric Correction

1 = Keystone Corners

Byte 5

Storage Options

0 = Do Not Store

1 = Write To Storage

2 = Write To Storage Apply At Startup

Bytes 6 - *

Geometric adjustment parameters. Dependent on adjustment type used

This command sets overlap and geometry parameters for semi-manual edge blending, creates and applies blending and warping maps for given blending inputs. It is necessary to call commands to enable manual warping and enable edge blending separately, for the results to take effect. Geometry parameters are dependent on geometric adjustment type. For no geometric correction, no parameters are used. For correction by keystone corners, the 8 parameters are the (x,y) coordinates (zero based) of the keystone corners in raster scan order : top-left, top-right, bottom-left, bottom-right.
Get Edge Blending Configuration
Data returned is in the same format as Write Parameters above.

This command gets geometry and overlap parameters for semi-manual edge blending. Geometry parameters are dependent on geometric adjustment type. For no geometric correction, no parameters are used. For correction by keystone corners, the 8 parameters are the (x,y) coordinates (zero based) of the keystone corners in raster scan order : top-left, top-right, bottom-left, bottom-right.