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.

LightCrafter 4500 GUI for Linux and Mac

Dear Community,

with the release of the new LightCrafter 4500, a new GUI has been made available by TI on http://www.ti.com/tool/dlplcr4500evm . This new GUI establishes a connection by means of registering the projector as a HID device, as opposed to the RNDIS tcp over USB connection in the older LightCrafter 3500. 

For reasons beyond my imagination, the GUI is only made available for Windows. The package contains the source however, which are almost completely adapted to Linux and Mac. However, the last few platform specifics were apparently forgotten.

As I imagine, others would be interested, here is a patch to make it compilable under Ubuntu 13.04 and OS X 10.8 with Qt 5. On Ubuntu we found it necessary to install libudev-dev. On Ubuntu it seems to be necessary to add the current user to a specific group.

diff -r ./firmware.cpp ../GUI/./firmware.cpp
15c15,42
< #include <windows.h>
---
> 
> #ifdef _WIN32
>     #include <windows.h>
> #else
>     typedef short WORD;
>     typedef long LONG;
>     typedef uint32 DWORD;
>     typedef struct tagBITMAPFILEHEADER {
>         WORD bfType;
>         WORD bfSize;
>         WORD bfReserved1;
>         WORD bfReserved2;
>         WORD bfOffBits;
>     } BITMAPFILEHEADER, *PBITMAPFILEHEADER;
>     typedef struct tagBITMAPINFOHEADER {
>         DWORD biSize;
>         LONG  biWidth;
>         LONG  biHeight;
>         WORD  biPlanes;
>         WORD  biBitCount;
>         DWORD biCompression;
>         DWORD biSizeImage;
>         LONG  biXPelsPerMeter;
>         LONG  biYPelsPerMeter;
>         DWORD biClrUsed;
>         DWORD biClrImportant;
>     } BITMAPINFOHEADER, *PBITMAPINFOHEADER;
> #endif

diff -r ./LCr4500.pro ../GUI/./LCr4500.pro
52,53c52,53
< macx: LIBS += -L../GUI/hidapi-master/mac/ -lhidapi
< unix: !macx: LIBS += -L../GUI/hidapi-master/linux/ -lhidapi-hidraw
---
> macx: SOURCES += hidapi-master/mac/hid.c
> unix: !macx: SOURCES += hidapi-master/linux/hid.c
57c57
< unix: !macx: LIBS += -lusb-1.0
---
> unix: !macx: LIBS += -lusb-1.0 -ludev

2480.files.tar.gz

For your convenience, here are the binaries:

4375.LightCrafter4500GUILinux.tar.gz

0511.LightCrafter4500MacOSX.zip

  • Mr. Wilm,

    Thanks for taking the time to finish the compile/port and offer the Linux and Mac binaries of the GUI. We had planned to offer the Mac and Linux GUI binaries on our website, but delayed the release to the next version to add a few features to the GUI.

    Best regards,

      Pedro 

  • Addendum: to enable non-root users on Ubuntu systems to run the GUI and receive and send data, a udev rule must be installed.

    lsusb gives the vendor and product IDs of LC4500. With this information, a file can be created in /etc/udev/rules.d/ -- e.g. 10-lightcrafter.rules with the following content:

    SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="0451", ATTRS{idProduct}=="6401", GROUP="XXX"

    where XXX is substitued with the name of a group to which the current user belongs -- e.g. the group of the same name as the user.

  • hello, Jakob Wilm

    i am using lightcrafter 4500 on ubuntu.And I have compiled the gui program successfully. However ,the pc can't connect with the lightcrafter 4500 via USB.What is the problem with it?could you give some advice to solve the problem?I will appreciate it very much!

     

  • Hello Wei,

    your problem probably is in the udev configuration, which is necessary to allow userspace programs to access usb devices.

    You can compile the hidapi in a libusb or hidraw version, and I found libusb to work better:

    # using hidraw
    #unix: !macx: SOURCES += ../GUI/hidapi-master/linux/hid.c
    #CONFIG += link_pkgconfig
    #PKGCONFIG += libudev

    # using libusb
    unix: !macx: SOURCES += ../GUI/hidapi-master/libusb/hid.c
    CONFIG += link_pkgconfig
    PKGCONFIG += libusb-1.0

    My /etc/udev/rules.d/lightcrafter.rules looks like this:

    # for libusb, kernel v < 2.6.24
    SUBSYSTEM=="usb_device", ACTION=="add", ATTRS{idVendor}=="0451", ATTRS{idProduct}=="6401", GROUP="plugdev", MODE="0666"

    # for libusb, kernel v > 2.6.24
    SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="0451", ATTRS{idProduct}=="6401", GROUP="plugdev", MODE="0666"

    # for hidraw version of hidapi
    KERNEL=="hidraw*", ATTRS{busnum}=="1", ATTRS{idVendor}=="0451", ATTRS{idProduct}=="6401", GROUP="plugdev", MODE="0666"

    /Jakob

  • hello Jakob

    Thank you for your advice,Fortunately,I have solved the problem.

    best wishes

  • Hello, is there a Linux binary posted yet somewhere? I only see the Windows version.
  • To clarify, there is a non-TI linux binary above, but I cannot find qt source or a linux binary from TI itself.
  • Hi Andrew,

    We have not officially created the linux binary. We did try building the GUI and ran on Ubuntu. Qt source code and project can be extracted from the Windows GUI installer.

    Regards,
    Sanjeev