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.

DLP4500NIR direct pixel control

Other Parts Discussed in Thread: DLP4500NIR, DLPC350

Heyhey,

I have been working with the DLP4500NIR for a while now (also made some other posts in these forums).

What I need now is single pixel addressing on the DMD. I have looked into the function that parses BMP files in the dlp_nirscan source code (in BMPParser.c), but I cannot figure out yet how the pixels on the DMD are addressed. Can someone shed some light on how to do this?

Kind regards,

Gordian

  • Hello Gordian,

    Please have look at the function dlpspectro_load_images_for_streaming() in the dlpspectro.c, in this function there is a preload_buffer memory allocated via malloc function. This allocated memory is referred in the Image_t structure, 'img' variable.

    Now, in this function, the BMP_ParseImage is called where the BMP file content is copied into the preload_buffer variable.

    After this have a look a the two DISP_functions namely,

    DISP_SetWriteBufferAtBeginning()

    and

    DISP_DrawImage(0, 0, &image, 0);
    DISP_UpdateFrame(true, false); //No need to wait for vysnc


    It is the DISP_DrawImage function that where each pixel from img to video frame-buffer of the sitara processor is copied.

    Sitara processor video o/p is linked to DLPC350 RGB Video port, so based on the how the DLPC350 is configured (like what frame-rate or sequence running) it will first copy the RGB video frame data coming from the Sitara video into it's frame-buffer first and then it gets displayed, so you will see the content on the DMD appear after one full frame delay.

    Regards,
    Sanjeev