ArDrone SDK 1.8 added
[mardrone] / mardrone / ARDrone_SDK_Version_1_8_20110726 / Examples / iPhone / FreeFlight / Ressources / Updater / updater_fsm.xml
1 <?xml version="1.0"?>
2 <fsm>
3         <states>
4                 <state name="WAITING CONNECTION" enter-callback="enterWaitingConnection:" quit-callback="quitWaitingConnection:" object="Trying to connect to AR.Drone" />
5                 <state name="NOT CONNECTED" enter-callback="enterNotConnected:"  object="Wifi not available, please connect your %@ to your AR.Drone" />
6                 <state name="REPAIR" enter-callback="enterRepair:" quit-callback="quitRepair:" object="Checking/Updating bootloader" />
7                 <state name="NOT REPAIRED" enter-callback="enterNotRepaired:"  object="Wifi not available, please connect your %@ to your AR.Drone" />
8                 <state name="CHECK VERSION" enter-callback="enterCheckVersion:" quit-callback="quitCheckVersion:" object="AR.Drone firmware %@\n%@\n%@" />
9                 <state name="UPDATE FREEFLIGHT" enter-callback="enterUpdateFreeflight:"  object="" />
10                 <state name="LAUNCH FREEFLIGHT" enter-callback="enterLaunchFreeflight:"  object="" />
11                 <state name="UPDATE FIRMWARE" enter-callback="enterUpdateFirmware:" quit-callback="quitUpdateFirmware:" object="Sending file" />
12                 <state name="NOT UPDATED" enter-callback="enterNotUpdated:" object="Wifi not available, please connect your %@ to your AR.Drone" />
13                 <state name="RESTART DRONE" enter-callback="enterRestartDrone:" quit-callback="quitRestartDrone:" object="Update file sent succesfully\nPlease restart the AR.Drone" />
14                 <state name="INSTALLING FIRMWARE" enter-callback="enterInstallingFirmware:" object="If AR.Drone led is green, reset the Wifi connection." />
15         </states>
16         <actions>
17                 <action name="FAIL" />
18                 <action name="SUCCESS" />
19                 <action name="ASK FOR FREEGLIGHT UPDATE" />
20         </actions>
21         <associations>
22         <association from-state="WAITING CONNECTION" action="SUCCESS" to-state="REPAIR" />
23         <association from-state="WAITING CONNECTION" action="FAIL" to-state="NOT CONNECTED" />
24                 
25         <association from-state="NOT CONNECTED" action="FAIL" to-state="NOT CONNECTED" />
26         <association from-state="NOT CONNECTED" action="SUCCESS" to-state="NOT CONNECTED" />
27                 
28         <association from-state="REPAIR" action="FAIL" to-state="NOT REPAIRED" />
29         <association from-state="REPAIR" action="SUCCESS" to-state="CHECK VERSION" />
30                 
31         <association from-state="NOT REPAIRED" action="FAIL" to-state="NOT REPAIRED" />
32         <association from-state="NOT REPAIRED" action="SUCCESS" to-state="NOT REPAIRED" />
33                 
34         <association from-state="CHECK VERSION" action="FAIL" to-state="UPDATE FIRMWARE" />
35         <association from-state="CHECK VERSION" action="SUCCESS" to-state="LAUNCH FREEFLIGHT" />
36         <association from-state="CHECK VERSION" action="ASK FOR FREEGLIGHT UPDATE" to-state="UPDATE FREEFLIGHT" />
37                 
38         <association from-state="UPDATE FIRMWARE" action="FAIL" to-state="NOT UPDATED" />
39         <association from-state="UPDATE FIRMWARE" action="SUCCESS" to-state="RESTART DRONE" />
40                 
41         <association from-state="NOT UPDATED" action="FAIL" to-state="NOT UPDATED" />
42         <association from-state="NOT UPDATED" action="SUCCESS" to-state="NOT UPDATED" />
43                 
44         <association from-state="RESTART DRONE" action="SUCCESS" to-state="INSTALLING FIRMWARE" />
45         </associations>
46 </fsm>