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

Status
Not open for further replies.
A

Anonymous

Guest
nice work joe..I am useing it with silverstone lc10-m case
all i need is to get epg going now...
cheers
pako
 

no_idea

Portal Member
September 19, 2004
15
0
Germany
Hey Joe,

again and again and again... a thousand thanks to support my "slow" HD44780 (-compatible) controller. 1.4 is great.
Sleep well. I´m tired, too.

no_idea.
 

Thomas

Portal Member
September 20, 2004
21
0
Germany
Hi JoeDalton,

on pressing Clear and Send Text I got an Error "Faulty file"

And here the only example I found with text output :

Code:
#LUIse104=100
#devnum= 0
Procedure OpenLUIse() 
  Protected result.l 
  result = OpenLibrary(#LUIse104, "LUIse.dll") 
  Debug "open LUIse.dll "+Str(result)
  If result = #False 
    LUIseAktiv = #False 
    MessageRequester("ERROR", "LUIse.dll wurde nicht gefunden oder ist korrupt.", 0) 
    End  
  EndIf 
  ProcedureReturn result 
EndProcedure 

Procedure closeluise() 
  result = CloseLibrary(#LUIse104) 
  ;;Debug "close LUIse.dll "+Str(Result)
  LUIseAktiv = #False 
  ProcedureReturn result
EndProcedure

OpenLUIse()

xGetDllVersion  = IsFunction(#LUIse104,"GetDllVersion")
Procedure XT_GetDllVersion()
  Shared xGetDllVersion
  ProcedureReturn CallFunctionFast(xGetDllVersion)
EndProcedure

xLUI_Text  = IsFunction(#LUIse104,"LUI_Text")

Procedure XT_LUI_Text(spalte,zeile,textpixelbreite,textpixelhoehe,transparenz,*fnt$,textbreitespace,texthoehespace,*text$)
  Shared xLUI_Text
  CallFunctionFast(xLUI_Text,#devnum,spalte,zeile,textpixelbreite,textpixelhoehe,transparenz,*fnt$,textbreitespace,texthoehespace,*text$)
EndProcedure

xLUI_ScreenRefreshControl  = IsFunction(#LUIse104,"LUI_ScreenRefreshControl")

Procedure XT_LUI_ScreenRefreshControl(gfxsreen0,gfxscreen1,txtscreen)
  Shared xLUI_ScreenRefreshControl
  CallFunctionFast(xLUI_ScreenRefreshControl,#devnum,gfxsreen0,gfxscreen1,txtscreen)
EndProcedure

xLUI_OpenDevice  = IsFunction(#LUIse104,"LUI_OpenDevice")

Procedure XT_LUI_OpenDevice()
  Shared xLUI_OpenDevice
  CallFunctionFast(xLUI_OpenDevice,#devnum)
EndProcedure

xLUI_CloseDevice  = IsFunction(#LUIse104,"LUI_CloseDevice")

Procedure XT_LUI_CloseDevice()
  Shared xLUI_CloseDevice
  CallFunctionFast(xLUI_CloseDevice,#devnum)
EndProcedure

Procedure lcdswap ()  
  XT_LUI_ScreenRefreshControl(1,1,1)
  XT_LUI_ScreenRefreshControl(0,0,0) 
EndProcedure

;########################################################
;#                                                      #
;#  oberhalb nichts ändern !                            #
;#                                                      #
;########################################################


XT_LUI_OpenDevice ()
version = XT_GetDllVersion()
If version <> 104:MessageRequester("Info","Falsche LuiSE Version "+Str(version)+" statt 1.0.4",#PB_MessageRequester_Ok):End:EndIf
XT_LUI_ScreenRefreshControl(0,0,0)
For i=0 To 8
  *fnt$="comic29x40.fnt"  ; eigenen font eintragen
  *txt$="Hallo Welt ;)"        ; text ändern
  XT_LUI_Text (i*20,i*24,320,40,1,*fnt$,1,1,*txt$)
; XT_LUI_Text (spalte,zeile,txtfeldbreite,txtfeldhoehe,tranparent ?,nicht ändern,fontzwischenraum,textbreitespace,texthoehespace,nicht ändern) 
Next
lcdswap() 
XT_LUI_CloseDevice ()
closeluise() 
End

Thanks for your great work.

Thomas
 

JoeDalton

Retired Team Member
  • Premium Supporter
  • September 27, 2004
    425
    18
    56
    Belgium
    Home Country
    Belgium Belgium
    mfo said:
    Thank you Joe, I understand that you must have a lot to do supporting different LCD/VFD and making your pluggin able to display all kind of info coming from MP.
    Correct me if I'm wrong but to support my serial-USB VFD you only have to send your data on the COM and not on the LPT or am I missing something ?
    mfo,

    It appears to be more difficult than that. The LPT port version uses some control lines to indicate the difference between instructions (for the controller) and data (for the display), but the serial port does not have these lines. So I guess I will need to send special commands that the USB controller recognises. Unfortunately I can't find any description of these commands.

    The links you provided aren't very usefull. Two of them point to the USB drivers for WinXP to create the virtual serial port, the other to some generic info about your display.

    I'm sorry but without this information I can't help you,

    **EDIT**
    You could try to run the program in this zip file: http://www.usbmicro.com/apps/app3.zip and see whether it detects your display. If it does than I can use the API provided with it.
    **/EDIT*

    **EDIT2**
    Did you try the iMON display type? I found on the net that the iMON has a Samsung 16T202DA1E controller. That controller is HD44780 compatible AND iMONs are connected by USB.
    **/EDIT2**

    Joe
     

    VincentD72

    Portal Member
    December 30, 2004
    23
    0
    Italy
    Hi, Joe
    finally your plugin was able to work on my PC, but whit more problem.
    First of all, you don't say what kind of LPT port is needed ( ex.: Normal , ECP, EPP, ECP+EPP....). I think it must be ECP (...from the .dll :D ).
    Second, in my display (setting whit timeout = 2), First row is shift of 5-6 character ( display is HD44780 compatible controller 16x2 , but if I setting so I lost the first 6 carachter .... :shock: ) and after a few time ( I think a complete cycle of the xml file) the row shift one time one character to left and immediately after back to previous... :shock:
    Third, if I want centered the row on the display how can I do?

    Sorry if I wasn't clear, but I hope You understand my problem.

    Thank You.
    :D
     

    JoeDalton

    Retired Team Member
  • Premium Supporter
  • September 27, 2004
    425
    18
    56
    Belgium
    Home Country
    Belgium Belgium
    VincentD72 said:
    Hi, Joe
    finally your plugin was able to work on my PC, but whit more problem.
    First of all, you don't say what kind of LPT port is needed ( ex.: Normal , ECP, EPP, ECP+EPP....). I think it must be ECP (...from the .dll :D ).
    Second, in my display (setting whit timeout = 2), First row is shift of 5-6 character ( display is HD44780 compatible controller 16x2 , but if I setting so I lost the first 6 carachter .... :shock: ) and after a few time ( I think a complete cycle of the xml file) the row shift one time one character to left and immediately after back to previous... :shock:
    Third, if I want centered the row on the display how can I do?
    Vincent,

    I think I said it in an earlier post. The parallel port should be set to EPP. ECP sometimes works but is often too slow. Maybe this causes your data to shift... Try to set your port to EPP and set the TimingMultiplier to 1 (2 is really slow :wink:). What DLL caused you to think you need ECP?

    What case do you have? Or did you build in the display yourself? I would like to keep track of cases or displays that cause troubles...

    Third, I'm sorry. Centering is not available right now. I'll put it on my todo list.

    Joe
     

    JoeDalton

    Retired Team Member
  • Premium Supporter
  • September 27, 2004
    425
    18
    56
    Belgium
    Home Country
    Belgium Belgium
    Thomas said:
    on pressing Clear and Send Text I got an Error "Faulty file"

    Thomas,
    I'm facing 2 problems:
    First, I need to pass a font to the LUI_Text API. The documentation says that passing an empty string the API would use its internal font, but that doesn't seem to be the case.

    Second, 2 have found 2 examples of the LUI_Text call. One passes a transparency parameter and the other does not. Even in the documentation the transparency parameter is described, but in the provided example it is not passed. Very confusing :?

    So I created a new test program with 2 changes:
    I provided a textbox where you can enter the font to use. The example I found here http://www.purebasicforums.com/german/viewtopic.php?t=2542&highlight=Arial
    (also no transparency parameter) passes the string "Arial", so I used that as default value.

    Next change is that I provided 2 Clear and SendText buttons.
    The ones on the left don't pass the transparancy parameter and the ones on the right still do.

    Can you please test again?
    Initialize
    Clear1 and Clear2
    SendText1 and SendText2

    Change font name (leave it blank)
    SendText1 and SendText2

    Looking forward to the results... Hope they will be better now :wink:

    Joe
     

    VincentD72

    Portal Member
    December 30, 2004
    23
    0
    Italy
    No way, Joe :oops:

    I've changed to EPP port, but nothing is changed on the display.

    The display is "hand made", isn't from a case; I've build it and link to lpt port. It work perfectly with LCDSmartie HD44780 settings.

    Sorry for the fact of .dll (ECP2....dll ...) it' s from the other LCD plugin. Is my mistake :oops:

    Other two things...
    1) My display have a backlight illumination but your plugin don't activate it;
    2) Like the fact that it "eat" the first 5 character, it consider the end of the row from 8-12 character ( I don't understand in function of what...)

    Is very strange :?

    THX... :)
     

    JoeDalton

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

    No other LCD software (or MP LCD plugin) is active, right?

    Did you try the HD44780 test program?
    http://users.skynet.be/fa303665/HD44780Test.zip

    Does that work OK? Shutdown MP and any other LCD program and try that first.

    Can you send your ExternalDisplay.xml config file in a PM?

    As for the backlight. To what LPT pin did you connect the backlight pin?
    I don't understand, because my code is practically identical to LCDSmartie now :cry:

    Joe
     

    Thomas

    Portal Member
    September 20, 2004
    21
    0
    Germany
    JoeDalton said:
    Thomas,
    I'm facing 2 problems:
    First, I need to pass a font to the LUI_Text API. The documentation says that passing an empty string the API would use its internal font, but that doesn't seem to be the case.

    Second, 2 have found 2 examples of the LUI_Text call. One passes a transparency parameter and the other does not. Even in the documentation the transparency parameter is described, but in the provided example it is not passed. Very confusing :?

    Hi Joe,

    good news :lol:

    i found a font file and i inserted the full path to the font file into your programm and it works with the buttonset 2 .

    And than I did stupid things, i have tested the purebasic example by myself 8)
    Code:
    ................
    XT_LUI_OpenDevice ()
    version = XT_GetDllVersion()
    If version <> 104:MessageRequester("Info","Falsche LuiSE Version "+Str(version)+" statt 1.0.4",#PB_MessageRequester_Ok):End:EndIf
    XT_LUI_ScreenRefreshControl(0,0,0)
    For i=0 To 8
      *fnt$="E:\SED133xTest\Test\f8x11.fnt"  ; eigenen font eintragen
      *txt$="Hallo Welt ;)"        ; text ändern
      XT_LUI_Text (i*20,i*24,320,40,1,*fnt$,1,1,*txt$)
    ; XT_LUI_Text (spalte,zeile,txtfeldbreite,txtfeldhoehe,tranparent ?,nicht ändern,fontzwischenraum,textbreitespace,texthoehespace,nicht ändern)
    Next
    lcdswap()
    XT_LUI_CloseDevice ()
    closeluise()
    End

    with this code everything works. You see, the transparency parameter is needed.

    You can find the font file here : http://ara.projekte-netz.de/SED133x/f8x11.fnt

    I found a Programm to create own fonts and other pb stuff for that Controller
    http://tilofranz.net/wbb2/board.php?boardid=47&sid=

    I hope that helps.

    Thanks for wasting your time with my problems. :wink:

    Thomas
     
    Status
    Not open for further replies.

    Users who are viewing this thread

    Top Bottom