Parport unter Linux

Hardware- und Elektronikbasteleien, Ansteuerung von Schnittstellen und Peripherie.
Fragen zu "Consumer"-Problemen kommen in Offtopic.
Dristar
Beiträge: 72
Registriert: 13.09.2004 12:46

Parport unter Linux

Beitrag von Dristar »

Hallo Zusammen

Ich habe Ubuntu 8.10 und PureBasic 4.3 (linux) und die Linux Parport Userlib.
Mein Kleines Test Programm

Code: Alles auswählen

fd.l     
If OpenWindow(0, 300, 90, 400, 150, "ParPort List", #PB_Window_MinimizeGadget)
     StringGadget (0,  20, 10, 200, 25, "")
     StringGadget (1,  20, 45, 200, 25, "")
     ButtonGadget(2, 130, 80, 90, 30, "Eingabe")  
     ButtonGadget(3,20,80,90,30,"zu")
     ButtonGadget(4,20,120,90,30,"auf")
     ButtonGadget(5,130,120,90,30,"test")
     EndIf
   x = WindowMouseX(0) 
   y = WindowMouseY(0)  
         Debug x
       Debug y
fd = parport_open("/dev/parport0")
If fd
      regval.b = r_datareg(fd.l)
     SetGadgetText(0,RSet(Bin( regval.b), 16, "0") )
     parport_relese(fd) 
EndIf

StartTime = ElapsedMilliseconds() 

Repeat
    EventID = WindowEvent() 
    ElapsedTime = ElapsedMilliseconds()-StartTime
     If EventID = #PB_Event_Gadget
       Select EventGadget()
        Case 2
        portwert$= GetGadgetText(1)
        portwert.b= Val(portwert$)
        fd = parport_open("/dev/parport0")
        s_datareg_mode(fd,1)
        s_datareg(fd,portwert)
        SetGadgetText(0,RSet(Bin( portwert), 16) )
        parport_relese(fd) 
        Case 3
           fd = parport_open("/dev/parport0")
           s_datareg_mode(fd,1)
           s_datareg(fd,1)
           parport_relese(fd) 
        Case 4
           fd = parport_open("/dev/parport0")
           s_datareg_mode(fd,1) 
           s_datareg(fd,2)
           parport_relese(fd) 
        Case 5
           fd = parport_open("/dev/parport0")
           s_datareg_mode(fd,1) 
           s_datareg(fd,1)
           Delay(100)
           s_datareg(fd,2)
           parport_relese(fd) 
        EndSelect
      EndIf
 If ElapsedTime>2500
       ElapsedTime=0
       fd = parport_open("/dev/parport0")
       regval.b= r_datareg(fd.l)
       SetGadgetText(0,RSet(Bin(regval),16,"0") )
     parport_relese(fd) 
 EndIf  
Delay(5);
Until EventID = #PB_Event_CloseWindow

und nun zu meinen Problemen :mrgreen:
1) Beim Hochfahren von Linux wird auf dem Parport ein Wert geschrieben der eins
meiner Relais anzieht. Was muss ich unter Linux machen das er den Parport ignoriert ?

2) Ich möchte mein Test Programm so erweitern das der Parport als Grafik dargestelt wird
und der Zustand der Eingänge und Ausgänge mit roten und grünen Lampen dargestellt werden. Nur weiss ich nicht wie ich das am besten mache. Beispiele wären sehr hilfreich

3) Ich glaube auch das mein Test Programm noch nicht Optimal ist.

ich bitte um Hilfe und Anregungen

:allright:
PB 4.61 Beta 1 , Linux Ubuntu 11.10 ...
Dristar
Beiträge: 72
Registriert: 13.09.2004 12:46

LINUX

Beitrag von Dristar »

Hallo ,

Ich bin jetzt ein wenig weiter und brauche eure Hilfe.
Ich bekomme den status der Pins 1,14,16 und 17 nicht abgefragt oder besser
ich mach da was falsch. Kann sich das mal jemand unter Linux ansehen ?

http://rapidshare.com/files/244028621/parport0.zip

Danke :)
PB 4.61 Beta 1 , Linux Ubuntu 11.10 ...
Antworten