hätte mal wieder eine Frage.
Folgenden Hex hätte ich im Angebot
b'@B\x00\x01,\xc8\xe7'
Ich weiß, das sich das Ding aus 4 Segmente (Hex-Werte) zusammen setzt.
Nun erhalte ich wenn etwas nicht funktioniet statt diesem langen HEX nur einen kurzen.
b'@B\x0c
0c is der Fehlercode, mit dem ich was anfangen kann.
Wie kann ich die Länge des Hex ermitteln.
Code: Alles auswählen
sick_string = "FF 42"
def status(sick_string):
data = bytearray.fromhex(sick_string)
data.append(ChecksumXor8.calc(data))
ser.reset_input_buffer()
ser.reset_output_buffer()
time.sleep(0.01) #give the serial port sometime to receive the data
ser.write(data)
time.sleep(0.01)
response = ser.read(7)
print(response)
if .....wenn der Hex zu kurz kommt ....:
fehlermeldung=''.join(format(byte, '02x') for byte in response[2:3])
fehlerspeicher = sick_error.srm_errors(fehlermeldung)
data = 0
else:
fehlerspeicher = ""
data = int.from_bytes(response[2:6],'big',signed=False)
return data, fehlerspeicher
test = status(sick_string)
print(test[0])
print(test[1])
