40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
import serial
|
|
from time import sleep
|
|
from LectureReception import lire_message
|
|
|
|
|
|
def ping(ser: serial.Serial):
|
|
# lecture de 1 octet à l'adresse 0.
|
|
if ser.in_waiting:
|
|
ser.read(ser.in_waiting) # On vide le tampon
|
|
|
|
# On teste la carte actionneur
|
|
ser.write(b'?')
|
|
sleep(0.01)
|
|
if ser.in_waiting:
|
|
message = ser.read(ser.in_waiting) # On vide le tampon
|
|
if(message[0] == b'A'[0]):
|
|
print("Carte Actionneur")
|
|
else:
|
|
print("Carte inconue : " + str(message))
|
|
return
|
|
|
|
# On teste les cartes au protocole "com_v2" (détection, propulsion)
|
|
ser.write(b'\xFF\xFF\x05dD\x00\x01\x00')
|
|
sleep(0.01)
|
|
messages, tmp = lire_message(ser, b'')
|
|
if messages is not []:
|
|
if messages[0][0] == b'D'[0]:
|
|
print("Carte de détection")
|
|
return
|
|
if messages[0][0] == b'P'[0]:
|
|
print("Carte de propulsion")
|
|
return
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
ser = serial.Serial('/dev/ttyACM0' , 115200)
|
|
while(1):
|
|
ping(ser)
|
|
sleep(1) |