Votre fichier doit s’appeller par exemple: FSM_comm_colors.aesl
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
var state[2] = [0,0] var new_state[2] = [0,0] call prox.comm.enable(1) # # activer l'envoi et la reception de donnees call leds.bottom.left(0,0,0) call leds.bottom.right(0,0,0) call leds.circle(0,0,0,0,0,0,0,0) # on va utiliser un timer pour mesurer les 5 secondes pendant lesquels le robot va afficher une couleur timer.period[0]=0 onevent prox if prox.horizontal[2] > 2500 then # il y a t-il un autre robot à proximité ? prox.comm.tx = 3 # transmettre une donnée, peu importe la valeur à transmettre else prox.comm.tx = 0 end onevent prox.comm if prox.comm.rx == 3 then #est-ce qu'on détecte la valeur transmisse par un autre robot ? # votre machine d'état est décrite ici timer.period[0]=5000 # démarrer un timer qui dure 5000 ms. end onevent timer0 # quand le timer est arrivé au bout, mettre à jour l'état de la machine et ne rien afficher call leds.top(0,0,0) call math.copy(state, new_state) |