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.

DLP programming for control of micro-mirror array

Hello I am a new fresh student still trying to learn more about programming the DLP Pico 2.0 kit.  I have a beagleboard to communicate with the DLP projector and I am mostly interested in learning how to get the 8-bit monochrome setting, and eventually I will want to be able to manipulate the micro-mirror array.  I am hoping someone can lead me in the right direction or provide me with any guides online.  Please forgive me for my lack of searching the web, I have done some research and am reading through Programmer's Guide and the Application report: Using the DLP Pico 2.0 kit for structured Light Applications.

Again any help would be most helpful and I thank you for your time and patience in dealing with a "newbie" like me.

-Alonzo Espinoza

  • Alonzo,

    Welcome to the TI DLP&MEMS E2E forum.

    You have already found the two most helpful documents - http://www.ti.com/litv/pdf/dlpu002a and http://www.ti.com/litv/pdf/dlpa021a - the Programmer's Guide and the Structured Light App Report. There have also been a lot of questions asked and answers given on this forum. Search, or browse the forum.

    Also, there are lots of resources (forums, websites, etc.) about the BeagleBoard which can be very helpful.

    Perhaps others on the forum who have already climbed up the learning curve will be willing to share some tips with you.

    Best regards,

    Pascal

  • Thank you very much, I will definitely search around some more and see if I can dig up more information.

  • Actually I have a few questions.  I have installed Angstrom v2012.05 Kernel 3.0.17 and I have ran an opkg update and opkg upgrade.

    when I type in 

    root@beagleboard:/dev# uname -a

    I get:  Linux beagleboard 3.0.17+ #1 Wed Jan 25 16:33:50 CET 2012 armv71 GNU/Linux

    and when I check for the i2c 

    root@beagleboard:/dev# ls i2c*

    I get: i2c-1 i2c-3

    so when I type in a command for the pico kit v2 like 

    root@beagleboard:/dev# bus3-i2c 0x1b wb4 0x04 0x00000001

    all that is returned is: -sh: bus3-i2c: command not found


    I have tried reading multiple forums and posts, but I am still confused on what is going wrong.

  • Alonzo,

    Are you sure that you have installed i2c-tools ?

    See: http://www.lm-sensors.org/wiki/I2CTools

    However, you will need to install the package for Angstrom Linux.

    If it is already installed, do you have /usr/bin in your path? The command is located at /usr/bin/bus3-i2c

    Best regards,

    Pascal

  • Right so I tried looking and looking around and couldn't solve my situation, so I decided to start over.

    So I have a Beagleboard Rev C4

    I got a 4gb SD, and I partitioned the SD properly

    as for the files I put in

    I put in the first partition

    MLO   
    u-boot.img 
    uImage 
    
    
    Then in the second partition I put in
    Angstrom-Beagleboard-demo-image-glibc-ipk-2011.1-beagleboard.rootfs.tar.bz2  
    and properly untar the image as well as delete the .tar.bz2 file
    
    
    Then I inserted my SD card into the BB and angstrom loaded up properly.  I opened up terminal and typed in
    >> opkg update
    >> opkg install i2c-tools
    >> opkg install i2c-tools-dev
    
    
    I still cannot access bus3-i2c comands from terminal.
    
    
    Did I do something wrong?  I need the bus3-i2c terminal control so I can control my pico dlp projector kit
  • Alonzo,

    I'm very sorry. I thought that the bus3-i2c command was included in the Angstrom Linux build, and that it was included in i2c-tools package. Apparently not.

    I have attached a BeagleBoard binary (executable) of bus3-i2c in a zip file.4377.bus3-i2c.zip. Put this in your BB Linux, and unzip it into /usr/bin. Make sure that you are "root", or use "sudo". Make the file executable by issuing the command: chmod +x bus3-i2c. This should make it available for use.

    Best regards,

    Pascal

  • Ah yes thank you very much, this solved everything now.  I truly appreciate the helpfulness and speed on answering this question.

  • Alonzo,

    That's great to hear.

    I hope your your development/evaluation with the Pico Kit v2 goes well. If you have further questions or problems, please ask.

    Best regards,

    Pascal

  • Hello it is me again, I want to setup an external pattern, specifically 8-bit monochrome.  We I want to do eventually is get my own patterns sent through.

    1) Now for the setup would this shell script work:

    # setting up external pattern
    bus3-i2c 0x1b wb4 0x04 0x00000000 # Select Parallel RGB input source
    bus3-i2c 0x1b wb4 0x05 0x00000007 # VGA landscape
    bus3-i2c 0x1b wb4 0x24 0x00000001 # External vertical sync

    # Reduce LED current to about 350mA
    bus3-i2c 0x1b wb4 0x0E 0x00000287 # Red
    bus3-i2c 0x1b wb4 0x0F 0x00000287 # Green
    bus3-i2c 0x1b wb4 0x10 0x00000287 # Blue

    # Disable non-linear pixel processing
    bus3-i2c 0x1b wb4 0x82 0x00000006 # Automatic Gain Control off
    bus3-i2c 0x1b wb4 0x92 0x00000000 # Color Coordinate adjustment off
    bus3-i2c 0x1b wb4 0x26 0x00000000 # Video/graphics enhancements off
    bus3-i2c 0x1b wb4 0x62 0x00000000 # Non-linear processing inhibit

    # Display Mode select
    bus3-i2c 0x1b wb4 0x1F 0x00000004 # 8-bit monchrome

    2) And from there what would be a good way to start getting different patterns setup?

  • 2) For the patterns I was thinking of using python to get the specific patterns I wanted, does that sound right?

  • I'd suggest using processing.org as to create your patterns. We have done a with realtime 1440 fps mode on the pico 2, and have written software using processing, which naturally lends itself to this kind of thing.

    Its based around java, and there are lots of example of how to manipulate color values for pixels which is very important.

    For 1440 fps mode, we have an array of bit masks, which we cycle though and use the logical &s to combine them together to create 'colorspace multiplexed' values for each pixel. Its sounds complcated, but it actaully quite simple.

    There are thousands of example programs for processing on the web and lots of libraries for differnent types of input/output methods.

    Have fun.

  • Though now I have ran into another problem.  The Angstrom Demo, after I tried an opkg install pygame and pygtk and pycairo for certain imaging programs, when I tried to import pygame and the others I kept on getting an error that atexit module was missing, can anyone help me with that?

  • Alonzo,

    Sorry for the long delay in responding. Did you find a resolution for your question?

    I can not offer much help with this type of question. I suggest that you try a support group for Angstrom Distribution (http://www.angstrom-distribution.org/). Perhaps the Angstrom Users mailing list could be useful: http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/angstrom-distro-users

    Also, Google searches could turn up others who have grappled with the same problems, and what they found as solutions.

    Best regards,

    Pascal