Other Parts Discussed in Thread: DLP471TP
Tool/software:
Hi,
Please help me.
I don't understand how to control warping.
Is there an example script file or code for Warping control on DLP471TPEVM (DLPC6540 controller) ?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hello User,
Welcome to the E2E forums and we hope to assist you with your questions.
You can download the GUI to control the EVM.
https://www.ti.com/tool/DLPDLC-GUI
If you go to advanced mode, you will find commands for warping.
If you go to help and select scripting reference, you will find information on how to run these warping commands.
Regards,
Alex Chan
Hello User,
Beside the information above, please also refer to the DLPC6540 Programmer's Guide Section 19.13 for more Warping information.
Regards,
Lori
Thank you for your answer.
I also know the GUI tool - advanced - Warping menu.
But there are two types of distortion as below.
There are "pincusion" and "barrel" types. How should I apply each of them?
Can you give me an example of how to do this?
Hello Lori,
I created a test script file as below and did a warping test.
However, there is no change on screen.
Please check the log message that ran the script file as below.
----------------------------------------------------------------------------------------------
1. script code
-----------------------------------------------------------------------------------------------
Summary = WriteManualWarpTableUpdateMode (0)
if Summary.Successful:
print("[Warping] Write Manual WarpTable Update")
else:
print("[Warping] Failed to Write Manual WarpTable Update")
ControlPointsDefinedByArray = 0
HorizontalCtrlPoints = [4]
VerticalCtrlPoints = [3]
Summary = WriteManualWarpControlPoints ( ControlPointsDefinedByArray, HorizontalCtrlPoints, VerticalCtrlPoints )
if Summary.Successful:
print("[Warping] Write Manual Control Points")
else:
print("[Warping] Failed to Write Manual Control Points")
Summary, ControlPointsDefinedByArray, CtrlPoints = ReadManualWarpControlPoints ( )
if Summary.Successful:
print("[Warping] ControlPointsDefinedByArray = %d" %ControlPointsDefinedByArray)
print(CtrlPoints)
else:
print("[Warping] Failed to Read Manual WarpControlPoints")
Summary = WriteApplyManualWarping(True)
if Summary.Successful:
print("[Warping] Write Apply Manual Warping")
else:
print("[Warping] Failed to Write Apply Manual Warping")
----------------------------------------------------------------------------------------------
2. log message
-----------------------------------------------------------------------------------------------
[Warping] Write Manual WarpTable Update
[Warping] Write Manual Control Points
[Warping] ControlPointsDefinedByArray = 0
[4, 3]
[Warping] Failed to Write Apply Manual Warping
Hello Ted,
Are you able to manually write these warping commands through GUI?
When you figure out what warping commands you want, you can use GUI -> Debug -> Command Log to see the commands and order, then you should be able to implement them into a script.
Regards,
Lori
Hello Ted,
Please find the warping user guide for DLPC6540. Do note that the commands parameters are corresponding to older version.
So, or the exact command parameters and opcodes please refer to the software programmers' guide of dlpc6540. The below document will help has few examples and the sequence of commands that needs to be sent.
DLPC6540_Warping_Blending_Programmers_Guide_v0.6.pdf
Regards,
Akhil
Hello, Lori
I have a another question.
I am testing the keystone operation from an external MCU to the DLP471TP EVM Kit.
I connected the I2C line of the MCU to the I2C0 port (J16 connector) of the EV Kit.
Is the I2C port 0 (slave mode) among the I2C ports of the DLPC6540 that can be controlled by the external MCU?
And is the default slave address 0x34 (8bit)?
When I read the 13 bytes of Table 19-5. Controller Info [Opcode: 00h], it is read as follows.
--- i2c read : 00h ------------------------------------
80 00 00 00 00 00 00 00 00 00 00 00
--------------------------------------------------------
I am Tested i2c clock 400KHz, 100KHz on MCU
------ i2c read cde ----------------------------------
i2c_read(0x00, buf, 13);
----------------------------------------------------------
Do I need to set up something on DLPC6540 if I want to control it with i2c from an external MCU?
Regards,
Ted.