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.

UART connection and commands LIGHTCRAFTER

Other Parts Discussed in Thread: DLPC300

Hi,

we're controlling the Lcr using the USB/RNDIS interface. We've developed our own code for this operations, and it is working as intended. The problem we´re facing right now is the speed of this comunnication, since our application uses the Patter Sequence projection at almost the max speed.

In the Light Crafter's User's Guide the following is sayed, but that's all I've found about UART communication:

"DLP®LightCrafter™’s UART port serves as a console output of the embedded Linux device. The DM365 will send error messages through the UART and accept root level commands. A 2.5 mm stereo plug to female DB9 connector as shown below is needed to connect the DLP®LightCrafter™’s UART port to a PC. "

Which are those root commands?

Is there more information available about the UART communication?

Are there examples available?

Is there any other way of communicating with the Lcr besides UART and USB/RNDIS?

Thanks

  • Hi Eino,

    Welcome to DLP&MEMS fourm.

    Which are those root commands?

    These are very basic Kernel level commands like Start, Stop and Kill application, mount and unmount disk etc...If you are curious just connect UART debug port and see at the log. You can find applications running in user space which you can find in at /usr/bin/ path. You can list task with "ps" command and stop and run those.

    Is there more information available about the UART communication?

    At present it is mostly used to aid debug logs.

    Are there examples available?

    None at this point. As explained in above question it is only to aid debug port.

    Is there any other way of communicating with the Lcr besides UART and USB/RNDIS?

    No. Those are the only two available.

    Regards,

    Sanjeev

     

     

  • Hi Sanjeev, thanks for the fast answer.


    I need to start, stop the pattern sequence triggered by an external signal as fast as possible. I also need to send the images to be displayed in the pattern sequence mode as fast as possible.

    Could you please advise which communication protocol should I use? The images can be saved in the sd memory but how do I fetch them?


    thanks

  • Hi Enio,

    You don't need to specifically fetch the patterns from sd card to display. DM365 takes care of loading them and displaying.

    Right now the arrangement in LCr is that, you can trigger pattern display at high speed rate upto 4000Hz for binary with external h/w signal input. To display patterns continuously there is a need of h/w trigger running continuoulsy.

    There is no specific h/w input option in the system using with you can just to pattern sequence stop and start.

    Can you answer following questions for me -

    1) How many patterns are you looking? Are they fixed and changing continuously?

    2) What is the bit depth?

    3) For start and stop how much latency you can offer? Say in mSecs...

    Regards,

    Sanjeev

     

  • 1) How many patterns are you looking? Are they fixed and changing continuously?

    I'm displaying 96 patterns, at a frequency of 2kHz (external trigger) . They are loaded in batches of 96 images , when this images are loaded the projection is stopped and then restarted

    2) What is the bit depth?

    bit depth is 1

    3) For start and stop how much latency you can offer? Say in mSecs...

    An ideal time would be less than 50 mSecs to stop and start the pattern sequence.

    Regards

  • Hi Sanjeev,

    I followed this thread since our application has similar requirements - we need to use an external signal as a trigger for pattern sequence projection. How this signal can be input to the projector? Can it be done my the PC as an "intermediate"? What I mean is that we need to write a program that for a given value of the signal will send a command to the projector to start displaying a sequence from pattern number i.

    We upgraded the firmware and tried to display more than 96 images but the projection rate is much lower than the maximum possible (2597 Hz). If we feed from the SD card, is it possible to project more than 96 images at higher refresh rate or we anyway should pass through the buffer - loading, rotating, and thus - losing time?

    Thank you much,

    Jordanka

  • Hello Jordanka,

    Answers to your queries.

    What I mean is that we need to write a program that for a given value of the signal will send a command to the projector to start displaying a sequence from pattern number i.

    [Sanjeev] You mentioned start displaying a sequence from pattern number 'i'. Is it just one pattern or set of patterns starting 'i' th pattern?

    We upgraded the firmware and tried to display more than 96 images but the projection rate is much lower than the maximum possible (2597 Hz). If we feed from the SD card, is it possible to project more than 96 images at higher refresh rate or we anyway should pass through the buffer - loading, rotating, and thus - losing time?

    [Sanjeev] I haved discussed in another thread about the topic on Why the pattern rate is lower for > 96 images. Please refer to this thread for the details http://e2e.ti.com/support/dlp__mems_micro-electro-mechanical_systems/f/850/t/259451.aspx

    Regards,

    Sanjeev


  • Hello Sanjeev,

    It is a set of patterns that should be projected in a sequence under a trigger. What should be trigger output to be compatible with the projector's input? Since we are looking to synchronize the projection with another device, how can we get like a report for the instantaneous values of the projection, i.e. - the number of pattern displayed at the given instant?

    Thank you,

    Jordanka

  • Hello Jordanka,

    Once you apply the trigger signal the LightCrafter actually displays series of patterns as programmed. At the trigger output port of LightCrarfter you would see a trigger pulse per each pattern displayed in the sequence. So the count of number pulses will tell how many patterns displayed in a sequence.

    You can try following -

    Create 'N' number of different solutions in the LightCrater where each solution refers to one set of sequence, now you can send a command to load a solution as per your requirement. 

    Regards,

    Sanjeev

  • Hi Sanjeev,

    Thank you, will try your suggestion.

    Through which port are we sending the commands - is it only the I2C interface or we can also use the UART?

    Instead of triggering the signal through the trigger input of the projector, can we use it as an input parameter for our program that will issue a start command to the projector when the target value has been reached?

    Kind regards,

    Jordanka

  • Hi again and sorry for flooding,

    How is the LCr interfaced to the PC through the I2C - while information on the connectors of the projector is available on pages 31-33 of the LCr User's guide, I was unable to find such as to which port of the computer is used. Specifically, do you have a part number of a producer, providing with such cable assemblies?

    Thanks a lot,

    Jordanka

  • Hello Jordanka,

    Are you referring to this UG http://www.ti.com/lit/ug/dlpu006a/dlpu006a.pdf ? I don't see pages 31-33 containing info about I2C.

    Are you referring to Sections 4.3 UART and 4.4 I2C? If so the UART terminal is meant for seeing the DM365 debug log outputs. It is not available for sending and receiving the commands.

    The I2C port is intended for sending direct I2C commands to DLPC300 , FPGA devices. When you use this you have option to send I2C commands as listed in DLPC300 Programmer's Guide http://www.ti.com/lit/ug/dlpu004a/dlpu004a.pdf.  

    The best approach to communicate with the Kit is via sending TCP commands to DM365 as specified in DLP LigthCrafter DM365 Command Interface Guide here DM365 translates user's commands into bunch of I2C writes to DLPC300. So the simple way would be to communicate with DM365 and leave it manage DLPC300.

    Regards,

    Sanjeev

  • Hi Sanjeev,

    I'm referring to Section 4 (Connectors) of the document with Literature number: DLPU006 from January 2012. Apart from how it works, do you have an idea about the hardware components that should be used? I found USB to I2C adapters to interface with a PC, but are you aware of cables customized with the connector described in the above-mentioned guide?

    Thanks,

    Jordanka

  • Hello Jordanka,

    I am not aware of customized cable with connector on sale. Actually, you can buy the mating part listed in the document and create one for yourself. 

    Regards,

    Sanjeev