Python 2.7 Zugriff andre Bits im Offset
Posted: 05 Jan 2018, 09:39
Hallo zusammen,
ich habe eine wahrscheinlich sehr einfache Frage zum Zugriff auf die Ein- und Ausgänge des ReviPI.
Ich habe mir die Videotutorials und auch die Downloads angesehen und folgendes Problem. Ich habe mir die folgende Funktion geschrieben (Python Python 2.7.9):
Ich möchte gern der Funktion die nötigen Parameter übergeben um die bspw. digitale Eingänge zu lesen.
Zum test habe ich die folgenden benannt und addressiert:
Man sieht ich kann beide korrekt mit -r Auslesen. Der erste digitale Input steht auf 1 der zweite auf 0.
Wenn ich der Funktion oben als Offset 100 gebe, erhalte ich immer den Wert des ersten Inputs. Auch wenn ich bspw. 100.1 oder 100.2 übergebe.
Wo liegt mein Fehler? Wie kann ich der Funtion sagen nimm bitte den Wert offset 100 2. Bit?
PS.: aktuell übergebe ich als pBit der Funktion immer eine 0. Das war noch ein Test..
Danke und viele Grüße
ich habe eine wahrscheinlich sehr einfache Frage zum Zugriff auf die Ein- und Ausgänge des ReviPI.
Ich habe mir die Videotutorials und auch die Downloads angesehen und folgendes Problem. Ich habe mir die folgende Funktion geschrieben (Python Python 2.7.9):
Code: Select all
#get Value from input or output
def getDriverValue(pOffset,pBit):
driver.seek(pOffset); #readValue offset 100
i = driver.read(2); #length 2
s = struct.unpack('<H',i) # this is the way which is possible with Python 2.7
print i
lValue = s[pBit] # because is is a list we have to restrict the access to the first element
return lValue
Zum test habe ich die folgenden benannt und addressiert:
Code: Select all
piTest -r Input1
Bit value: 1
Bit value: 1
piTest -v Input1
variable name: Input1
offset: 100
length: 1
bit: 0
piTest -r Input2
Bit value: 0
Bit value: 0
piTest -v Input2
variable name: Input2
offset: 100
length: 1
bit: 2
Wenn ich der Funktion oben als Offset 100 gebe, erhalte ich immer den Wert des ersten Inputs. Auch wenn ich bspw. 100.1 oder 100.2 übergebe.
Wo liegt mein Fehler? Wie kann ich der Funtion sagen nimm bitte den Wert offset 100 2. Bit?
PS.: aktuell übergebe ich als pBit der Funktion immer eine 0. Das war noch ein Test..
Danke und viele Grüße