LCD plugin supporting more than 70 display types (now with full graphics support!!!) (1 Viewer)

Status
Not open for further replies.
A

Anonymous

Guest
JoeDalton said:
@Patric and Aurora13,

I'm sorry it didn't work :-(
I guess what I feared is correct: The USB device is also for the IR part, and not only for the VFD.

No problem, I'm already glad you are trying to help us!

JoeDalton said:
In the meantime I have learned that every USB device has one or more endpoints. The test program you tried only sends data to endpoint 0. I have made a new version (same link) that tries endpoints 0 -> 15.
I hope this one works better...

Too bad, all the 16 entries didn't display anything

JoeDalton said:
<EDIT>As you installed the USBLIB-Win32 drivers. Can you also send me the output of the Test Program that is included with it?
You should be able to find it in your start menu in the LibUSB-Win32 group.</EDIT>

Joe


  • DLL version: 0.1.10.1
    Driver version: 0.1.10.1

    bus/device idVendor/idProduct
    bus-0/\\.\libusb0-0000--0x1002-0x4347 1002/4347
    wTotalLength: 25
    bNumInterfaces: 1
    bConfigurationValue: 35
    iConfiguration: 0
    bmAttributes: 40h
    MaxPower: 0
    bInterfaceNumber: 0
    bAlternateSetting: 0
    bNumEndpoints: 1
    bInterfaceClass: 9
    bInterfaceSubClass: 1
    bInterfaceProtocol: 0
    iInterface: 0
    bEndpointAddress: 81h
    bmAttributes: 03h
    wMaxPacketSize: 8
    bInterval: 10
    bRefresh: 0
    bSynchAddress: 0
    bus-0/\\.\libusb0-0003--0x11ba-0x0101 11BA/0101
    - Manufacturer : Sasem
    - Product : Sasem Remote Controller V1.1
    - Serial Number: Serial #0001
    wTotalLength: 32
    bNumInterfaces: 1
    bConfigurationValue: 1
    iConfiguration: 4
    bmAttributes: a0h
    MaxPower: 50
    bInterfaceNumber: 0
    bAlternateSetting: 0
    bNumEndpoints: 2
    bInterfaceClass: 0
    bInterfaceSubClass: 0
    bInterfaceProtocol: 0
    iInterface: 0
    bEndpointAddress: 81h
    bmAttributes: 03h
    wMaxPacketSize: 8
    bInterval: 50
    bRefresh: 0
    bSynchAddress: 0
    bEndpointAddress: 02h
    bmAttributes: 03h
    wMaxPacketSize: 8
    bInterval: 50
    bRefresh: 0
    bSynchAddress: 0

Thanks!

Aurora13
 
A

Anonymous

Guest
Hi JoeDalton,

just a question:
Why don't you just interface to LCDHype instead of reprogramming LCDHype's plugin interface?

If you made your MP plugin an LCDHype plugin
- you would allow your users to use graphic LCDs
- you would allow your users to use a scripting language
- you would allow your users to use every existing LCDHype plugin

Sorry if this question is stupid, but I can't see the advantages of your approach.

Harald
 

JoeDalton

Retired Team Member
  • Premium Supporter
  • September 27, 2004
    425
    18
    56
    Belgium
    Home Country
    Belgium Belgium
    HdWagner,

    Good questions!
    Let me tell you the story if my plugin, then maybe you'll understand:

    First of all, the idea behind MediaPortal is to be able to have a dedicated PC in your living room that replaces the VCR, DVD player, HD recorder, Radio tuner etc... The idea is that this PC is only used for that. At least that is how I use it. Not as some super-MediaPlayer that is started occasionally on my PC when I want to see a movie or so.

    My HTPC case has a text-mode only VFD (HD44780) that I wanted to show meaningfull information about what mediaportal is doing, just like the displays of the devices it replaces. That means showing what TV channel you are watching, what music you are listening to, etc... The LCD programs I tried (LCDHype, LCDSmartie) had no way to extract this information from MediaPortal.

    So I was left with 2 options:
    Either create a plugin for an LCD program, or create a MP plugin. After some investigations, I learned that there needed to be some work done in MP itself to allow external programs access that information, so if I wanted to go with the first option, I had to write 2 plugins: 1 for the LCD program and 1 for MP. Second problem was that those LCD programs are written Delphi or C++ and it has been over 3 years now since I used those languages.

    Since I have experience in communication with external devices via COM or LPT ports I made the choice to write a plugin for MediaPortal and let MediaPortal itself drive the display.

    As soon as I put it online I got requests from other users to support their displays too, and that is how this plugin got born.

    Since the beginning of my plugin I'm in contact with the mediaportal developers. They liked the fact that my plugin didn't need an external program to control the display, that it was extendable, and that it wasn't very complicated to set up using all kinds of scripts and stuff like that. So they decided to make my plugin part of MediaPortal itself.

    So for me there is no question anymore whether I should continue this plugin or not. I know it will never live up to all expectations from all users. It will never be as good as or have all the features of (fill-in the name of your favourite LCD program) but it also has a number of benefits:

    1) we are in complete control
    2) I support more LCD display types than any other LCD program I've encountered.
    3) no need to create and maintain plugins for other programs
    4) no need to mess with configurations and scripts to get some basic functionality.

    So, if anybody else wants to create a plugin for his/her favourite LCD program I will gladly help him/her to get the information they need, but don't expect me to do it....

    Joe
     

    JoeDalton

    Retired Team Member
  • Premium Supporter
  • September 27, 2004
    425
    18
    56
    Belgium
    Home Country
    Belgium Belgium
    Patric, Aurora13

    I see in the output of the usblib test tool that the Sasem device uses 2 endpoints: 0h and 81h

    My test program only tries 0->15, so I uploaded a new version (same link) that explicitly tests endpoint 81h (129 decimal)

    Please try again with this version...

    Joe
     

    Patric

    Portal Pro
    August 27, 2004
    84
    2
    Home Country
    Germany Germany
    Morning Joe :)

    JoeDalton said:
    Please try again with this version...

    I'm sorry, but it still doesn't produce any output...

    Code:
    found 3 busses
    Found Sasem VFD IR
    Device opened successfully
    Trying to send data to endpoint 81h
    Display should be showing something now
    
    
    
    Press return to end

    The Port95-driver is only needed for displays attached to the parallel port, isn't it?

    Cheers

    Patric
     

    AllenConquest

    Portal Pro
    January 9, 2005
    232
    0
    London, UK
    JoeDalton said:
    So, if anybody else wants to create a plugin for his/her favourite LCD program I will gladly help him/her to get the information they need, but don't expect me to do it....
    Joe
    As Joe knows, there is already a plugin for LCDSmartie that I wrote. I have looked at doing one for LCDHype and if I can figure out how to interface with MP via COM then I'll do one for that.

    Allen
     

    JoeDalton

    Retired Team Member
  • Premium Supporter
  • September 27, 2004
    425
    18
    56
    Belgium
    Home Country
    Belgium Belgium
    Hi Allen,

    I may have an alternative to COM.
    I have written a wrapper class in .NET for memory mapped files.
    This allows (one-way per file) communication between 2 independent processes using a piece of shared memory. Both processes can access that memory at the same time.

    See the CreateFileMapping, OpenFileMapping and MapViewOfFile API functions.

    I was thinking of creating a display type in my plugin that writes the display contents it generates to such a memory mapped file or to dump all the GUIPropertyManager properties in that file. The latter may required some work in MP because not all needed information is available in the properties...

    Joe
     

    JoeDalton

    Retired Team Member
  • Premium Supporter
  • September 27, 2004
    425
    18
    56
    Belgium
    Home Country
    Belgium Belgium
    Another option may be the MCE display plugin I'm also working on. This plugin emulates the same mechanism the Windows XP Media Center Edition uses to communicate to its displays.

    If anyone wishes to use another LCD program to drive his display and there is a plugin available for that LCD program to extract information from MCE, this new plugin may be an option.

    This plugin is still under construction and is not released to the public yet, but some functionalities are already working. Contact me by messenger or PM if you want to discuss the technical aspects of this plugin...

    Joe
     

    Casper

    Portal Member
    October 20, 2004
    17
    0
    Gothenburg, Sweden
    I tried the plugin for the first time today and I must say it works very well indeed and it's a great feature to have.

    I just have one requests though. I use a VFD type display and these are prone to phosphor burn out if left on for too long displaying the same message. My Noritake Itron display for instance should not be left on for more than 5 hours at a time according to the data sheet. So I would like to have an option to have nothing displayed instead of MediaPortal and the time when MP is idle, just to prevent my VFD from getting damaged.

    EDIT: SORRY, should have RTFMed before I posted, I just found out from the Wiki how to do this.

    Also, there a small problem with it. The swedish characters ÅÄÖ aren't display correctly on my display, other characters are displayed instead like a greek sigma.
     
    Status
    Not open for further replies.

    Users who are viewing this thread

    Top Bottom