@@ -38,62 +38,66 @@ def set_vitesse_m_ms(vit):
3838 global vitesse_m
3939 vitesse_m = vit
4040
41- ###################################################
42- # Init pygame + manette
43- ###################################################
44- pygame .init ()
45- pygame .joystick .init ()
46-
47- if pygame .joystick .get_count () == 0 :
48- print ("Aucune manette détectée" )
49- exit (1 )
50-
51- joy = pygame .joystick .Joystick (0 )
52- joy .init ()
53- print ("Manette détectée:" , joy .get_name ())
5441
55- ###################################################
56- # Boucle principale
57- ###################################################
58- Thread (target = envoie_donnee , daemon = True ).start ()
59-
60- try :
61- while True :
62- pygame .event .pump ()
63-
64- # Axes :
65- # Pour Xbox/PS4 USB :
66- # L2 = axis 2 (souvent 0..1)
67- # R2 = axis 5 (souvent 0..1)
68- # Stick gauche horizontal = axis 0 (-1..1)
69-
70- axis_lx = joy .get_axis (0 ) # Gauche droite
71- axis_l2 = joy .get_axis (2 ) # Accélération inverse
72- axis_r2 = joy .get_axis (5 ) # Accélération
73-
74- # Direction
75- direction = map_range (axis_lx , - 1 , 1 , - angle_degre_max , angle_degre_max )
76- set_direction_degre (round (direction ))
77-
78- # Accélération
79- accel = (axis_r2 + 1 )/ 2
80- brake = (axis_l2 + 1 )/ 2
81-
82- # Certaines manettes vont de -1..1, d'autres 0..1
83-
84- # Avant
85- if accel > 0.05 :
86- vit = accel * vitesse_max_m_s_soft * 1000
87- set_vitesse_m_ms (round (vit ))
88-
89- # Arrière
90- elif brake > 0.05 :
91- vit = brake * vitesse_min_m_s_soft * 1000
92- set_vitesse_m_ms (round (vit ))
93- else :
94- set_vitesse_m_ms (0 )
95- time .sleep (0.01 )
96-
97- except KeyboardInterrupt :
98- print ("Fin du programme." )
99- pygame .quit ()
42+ if __name__ == "__main__" :
43+
44+
45+ ###################################################
46+ # Init pygame + manette
47+ ###################################################
48+ pygame .init ()
49+ pygame .joystick .init ()
50+
51+ if pygame .joystick .get_count () == 0 :
52+ print ("Aucune manette détectée" )
53+ exit (1 )
54+
55+ joy = pygame .joystick .Joystick (0 )
56+ joy .init ()
57+ print ("Manette détectée:" , joy .get_name ())
58+
59+ ###################################################
60+ # Boucle principale
61+ ###################################################
62+ Thread (target = envoie_donnee , daemon = True ).start ()
63+
64+ try :
65+ while True :
66+ pygame .event .pump ()
67+
68+ # Axes :
69+ # Pour Xbox/PS4 USB :
70+ # L2 = axis 2 (souvent 0..1)
71+ # R2 = axis 5 (souvent 0..1)
72+ # Stick gauche horizontal = axis 0 (-1..1)
73+
74+ axis_lx = joy .get_axis (0 ) # Gauche droite
75+ axis_l2 = joy .get_axis (2 ) # Accélération inverse
76+ axis_r2 = joy .get_axis (5 ) # Accélération
77+
78+ # Direction
79+ direction = map_range (axis_lx , - 1 , 1 , - angle_degre_max , angle_degre_max )
80+ set_direction_degre (round (direction ))
81+
82+ # Accélération
83+ accel = (axis_r2 + 1 )/ 2
84+ brake = (axis_l2 + 1 )/ 2
85+
86+ # Certaines manettes vont de -1..1, d'autres 0..1
87+
88+ # Avant
89+ if accel > 0.05 :
90+ vit = accel * vitesse_max_m_s_soft * 1000
91+ set_vitesse_m_ms (round (vit ))
92+
93+ # Arrière
94+ elif brake > 0.05 :
95+ vit = brake * vitesse_min_m_s_soft * 1000
96+ set_vitesse_m_ms (round (vit ))
97+ else :
98+ set_vitesse_m_ms (0 )
99+ time .sleep (0.01 )
100+
101+ except KeyboardInterrupt :
102+ print ("Fin du programme." )
103+ pygame .quit ()
0 commit comments