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.

DLP3000: HDMI COmmunications using a raspberry pi as image souce

Part Number: DLP3000

Hello again Forums,

As per my title, I am trying to use a Raspberry Pi to control the modulation of DMD mirrors to achieve a Hadamard filter set with a resolution of 608x684. I am working with the instrument shop in our department to figure it out the best we can. One thing I want to be sure of and I think a few forum posts have confirmed this, that any input video to the DMD will be modified to fill the screen as best as possible. If that were the case, I would imagine that the "monitor'output from the Pi would be easily converted. However, I have been seeing this : 

The first link(if it works) is a short video where the pi is defaulting to a resolution of (some number I did not write down but the point is that it is just below the resolution of the DMD.)

 

The immediate attempt to fix was this second video, where the reolution was adjusted ( as of this posting I have been able to check the resolution of the Pi via a WinSCP/Putty terminal.) but it is noticeably worse. 

 

My hope here is that someone would be able to confirm and or be able to know why the resolution mismatch is being an issue in this case. 

  • Hi Colby,

    Have you tried using a standard computer as your video input to see if that works as expected?

    -Paul
  • Paul,
    goo.gl/.../SNMSfqAzey35L1j67
    The above link is an album of 2 images and 2 short (t<2 minutes overall) that show the image of the raspberry pi on a normal computer monitor. In short, the pi does indeed go to the resolution settings that best fit the "monitor" . Previously, I had mucked with the Pi resolution settings but that caused a un-desired "glitching" on the DMD screen where it was unable to parse the given input as its dimensions were too large, this wasn't too surprising as that was the expected result. In this case, the "best resolution" was defaulted to the custom input by the Instrument shop as it was the most compatible despite the deficiencies in missing that one black bar on "filter 42" as seen in the previous two videos.

    In another post,
    ( e2e.ti.com/.../170877 ) the different DMD screen resolutions are discussed and I this is where I was partially confused going through this thread. If we are able to set the Pi's resolution such that it matches the DMD, would it still be pared/stretched/transformed to the desired 608x684? Or since the image size is slightly different than the native, would it cause distortions in the desired image?

    Thank you,
    -Colby
  • Hi Colby,

    Thanks for the additional details. One other thing perhaps you could try would be take a desktop computer or laptop and plug the Lightcrafter into its HDMI port. See if the output from a computer other than the RaspPi still causes the behavior you're seeing. I don't personally have any RaspPi experience, but it seems that it offers a lower level of control and users have some trouble getting it to behave exactly as expected.

    To answer your section question on aspect ratio, If you feed 608 x 684 to the Lightcrafter, you should get an image which is basically 1:1 pixel mapped. What you would see on the source side is a "compressed" image because of the diamond orientation. When projected, the aspect ratio should appear as the correct widescreen ratio.

    -Paul

  • https://photos.app.goo.gl/xLAeAKErZoAX3T092

    Paul, 

    I have attached a video of connecting an external laptop to the DMD via the HDMI cable that we have been using. In short, the laptop was able to identify the EDID data located in the lightcrafter software and was able to switch to the preferred format. In doing so, I was still seeing a gap in the (in the slideshow) on the left side of the screen and the bottom (ideally want there to be no real gap and for the image to spread over the surface entirely). 

    To see what the Rasp. Pi was reading from the DMD's Edid data is the report below. 

    HDMI:EDID version 1.3, 0 extensions, screen size 52x32 cm
    HDMI:EDID features - videodef 0x80 !standby !suspend active off; colour encoding:RGB444|YCbCr422; sRGB is not default colourspace; preferred format is native; does not support GTF
    HDMI:EDID found monitor name descriptor tag 0xfc
    HDMI:EDID monitor name is LightCrafter_^A
    HDMI:EDID found monitor S/N descriptor tag 0xff
    HDMI:EDID does not yet know monitor vertical range, setting to default 24 to 120Hz
    HDMI:EDID failed to find a matching detail format for 864x480p hfp:40 hs:16 hbp:40 vfp:10 vs:2 vbp:33 pixel clock:30 MHz
    HDMI:EDID calculated refresh rate is 60 Hz
    HDMI:EDID guessing the format to be 864x480p @60 Hz
    HDMI:EDID found unknown detail timing format: 864x480p hfp:40 hs:16 hbp:40 vfp:10 vs:2 vbp:33 pixel clock:30 MHz
    HDMI:EDID failed to find a matching detail format for 608x684p hfp:40 hs:32 hbp:52 vfp:10 vs:4 vbp:31 pixel clock:32 MHz
    HDMI:EDID calculated refresh rate is 60 Hz
    HDMI:EDID guessing the format to be 608x684p @60 Hz
    HDMI:EDID found unknown detail timing format: 608x684p hfp:40 hs:32 hbp:52 vfp:10 vs:4 vbp:31 pixel clock:32 MHz
    HDMI:EDID established timing I/II bytes are 00 00 00
    HDMI:EDID standard timings block x 8: 0x0101 0101 0101 0101 0101 0101 0101 0101
    HDMI:EDID adding mandatory support for DMT (4) 640x480p @ 60Hz
    HDMI:EDID filtering formats with pixel clock > 162 MHz or h. blanking > 1023
    HDMI:EDID no known preferred format has been set
    HDMI:EDID filtering preferred group has been changed from Invalid to DMT
    HDMI:EDID best score mode initialised to DMT (4) 640x480p @ 60 Hz with pixel clock 25 MHz (score 0)
    HDMI:EDID best score mode is now DMT (4) 640x480p @ 60 Hz with pixel clock 25 MHz (score 36864)
    HDMI:EDID preferred mode is updated to DMT (4) 640x480p @ 60 Hz with pixel clock 25200000 Hz
    HDMI:EDID has only DVI support and no audio support

     Here we see the an issue with the Pi not being able to recognise and/or change its internal resolution to match that of the DMD which seems to be more of a programming issue that can be circumvented by playing with the Pi's over scanning parameters. I think this quasi-explains the mismatch in the rsolution except for how the previous student explained the image settings in his thesis. 

    where: 

    " Figure 1.16 shows 1280 positive and negative hadamard Masks used to generate a spectrum shown in figure 1.17. Each row is a different mask and is converted into DMD dimensions of (608x684) before being applied to the DMD as a bitmap image. Only 640 columns of the DMD contain the mask information. The remaining 44 are set to the value of 0.
     
    He claims that 44 of the columns have been thrown away, but based on the output on the screen that we have been seeing, that is not the case. Rather, the full image has been applied with no wasted columns. Unless, he means that 22 on either side of the screen has been thrown away?
    With reference images:
        current issue
        ideal output.
     
    I apologize for the potato-quality pictures, but I feel it gets the point home.
     
    -Colby 
  • Hi Colby,

    Thanks for the video. I noticed that you were using the split screen approach for two monitors. What happens if you extend your display so that the computer monitor displays at its native resolution and the Lightcrafter displays at its native resolution? Same result?

    -Paul
  • Paul,

    sorry for the delay, I was working on other projects. To answer the question of extended display :  https://photos.app.goo.gl/h0rUrWMMpnUQ91TQ2 

  • Hi Colby,

    This is  a perplexing issue and one that I haven't seen before. In the spirit of continuing to try different things because I don't have this issue here, have you played with the video streaming settings at all on the GUI? Maybe you can see what the impact of these settings are on your video signal and if you're able to fill the DMD by adjusting them.

    -Paul