Files
CARIA-AUTOMOTIVE/WebControl/tests/lidar_module.py
ccunatbrule 2ddf2360e6 CARIA.2.2
Update for the final presentation
huge change with previous version
2024-09-03 12:17:44 +02:00

50 lines
1.6 KiB
Python

import time
import sys
sys.path.append('/home/christian/WebControl/modules/')
from AlphaBot import AlphaBot
Ab = AlphaBot()
# Variable de statut pour indiquer le bon fonctionnement
status = "initialization"
# Durée limite d'exécution en secondes
time_limit = 7
start_time = time.time()
try:
while True:
# Vérification si le temps limite est dépassé
if time.time() - start_time > time_limit:
break
if Ab.LIDAR_MODULE.in_waiting >= 9:
if b'Y' == Ab.LIDAR_MODULE.read() and b'Y' == Ab.LIDAR_MODULE.read():
Dist_L = Ab.LIDAR_MODULE.read()
Dist_H = Ab.LIDAR_MODULE.read()
Dist_Total = (Dist_H[0] * 256) + Dist_L[0]
for i in range(0, 5):
Ab.LIDAR_MODULE.read() # Lecture et ignore des octets supplémentaires
print("Distance à l'avant du véhicule:", Dist_Total, "cm")
status = "measurement successful"
time.sleep(1)
Ab.LIDAR_MODULE.reset_input_buffer()
except KeyboardInterrupt:
print("Interruption par l'utilisateur.")
status = "interrupted"
except Exception as e:
print(f"Erreur lors de l'exécution: {e}")
status = "error"
finally:
Ab.LIDAR_MODULE.close() # Fermeture propre du port série
Ab.cleanup()
# Vérification finale et affichage du statut
if status in ["measurement successful"]:
print("Le composant fonctionne correctement.")
fonctionnement_ok = True
else:
print(f"Le composant a rencontré un problème: {status}.")
fonctionnement_ok = False
Ab.enregistrer_resultats(sys.argv[0], fonctionnement_ok, status)