Identification des ports séries
This commit is contained in:
parent
f1a4a5c7cd
commit
8cd572fbe1
@ -1,4 +1,6 @@
|
|||||||
import serial
|
import serial
|
||||||
|
import serial.tools
|
||||||
|
import serial.tools.list_ports
|
||||||
from time import sleep
|
from time import sleep
|
||||||
from LectureReception import lire_message
|
from LectureReception import lire_message
|
||||||
|
|
||||||
@ -15,26 +17,44 @@ def ping(ser: serial.Serial):
|
|||||||
message = ser.read(ser.in_waiting) # On vide le tampon
|
message = ser.read(ser.in_waiting) # On vide le tampon
|
||||||
if(message[0] == b'A'[0]):
|
if(message[0] == b'A'[0]):
|
||||||
print("Carte Actionneur")
|
print("Carte Actionneur")
|
||||||
|
return "Actionneur"
|
||||||
else:
|
else:
|
||||||
print("Carte inconue : " + str(message))
|
print("Carte inconnue : " + str(message))
|
||||||
|
return None
|
||||||
return
|
return
|
||||||
|
|
||||||
# On teste les cartes au protocole "com_v2" (détection, propulsion)
|
# On teste les cartes au protocole "com_v2" (détection, propulsion)
|
||||||
ser.write(b'\xFF\xFF\x05dD\x00\x01\x00')
|
ser.write(b'\xFF\xFF\x05dD\x00\x01\x00')
|
||||||
sleep(0.01)
|
sleep(0.01)
|
||||||
messages, tmp = lire_message(ser, b'')
|
messages, tmp = lire_message(ser, b'')
|
||||||
if messages is not []:
|
print(messages)
|
||||||
|
if messages != []:
|
||||||
if messages[0][0] == b'D'[0]:
|
if messages[0][0] == b'D'[0]:
|
||||||
print("Carte de détection")
|
print("Carte de détection")
|
||||||
return
|
return "Detection"
|
||||||
if messages[0][0] == b'P'[0]:
|
if messages[0][0] == b'P'[0]:
|
||||||
print("Carte de propulsion")
|
print("Carte de propulsion")
|
||||||
return
|
return "Propulsion"
|
||||||
|
|
||||||
|
def identifie_liaison_serie():
|
||||||
|
serial_actionneur = None
|
||||||
|
serial_detection = None
|
||||||
|
serial_propulsion = None
|
||||||
|
for comport in serial.tools.list_ports.comports():
|
||||||
|
print(comport.device)
|
||||||
|
ser = serial.Serial(comport.device , 115200)
|
||||||
|
nom_liaison = ping(ser)
|
||||||
|
if nom_liaison == "Actionneur":
|
||||||
|
serial_actionneur = ser
|
||||||
|
elif nom_liaison == "Detection":
|
||||||
|
serial_actionneur = ser
|
||||||
|
elif nom_liaison == "Propulsion":
|
||||||
|
serial_propulsion = ser
|
||||||
|
return [serial_propulsion, serial_detection, serial_actionneur]
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
ser = serial.Serial('/dev/ttyACM0' , 115200)
|
print(identifie_liaison_serie())
|
||||||
while(1):
|
# ser = serial.Serial('/dev/ttyACM0' , 115200)
|
||||||
ping(ser)
|
# while(1):
|
||||||
sleep(1)
|
# ping(ser)
|
||||||
|
# sleep(1)
|
||||||
Loading…
Reference in New Issue
Block a user