Bebop fw3.2.0 fix (#1745)

* Fix motor order bebop firmware 3.2, and check for firmware version during upload

* Also apply to other TUDelft airframes

* Give user feedback in case of problems during upload to bebop
This commit is contained in:
kevindehecker
2016-06-20 16:02:41 +02:00
committed by Felix Ruess
parent acfab3a668
commit 1da2da57dd
7 changed files with 38 additions and 30 deletions
@@ -55,10 +55,10 @@
</commands> </commands>
<servos driver="Default"> <servos driver="Default">
<servo name="TOP_RIGHT" no="0" min="3000" neutral="3000" max="12000"/> <servo name="TOP_LEFT" no="0" min="3000" neutral="3000" max="12000"/>
<servo name="TOP_LEFT" no="1" min="3000" neutral="3000" max="12000"/> <servo name="TOP_RIGHT" no="1" min="3000" neutral="3000" max="12000"/>
<servo name="BOTTOM_LEFT" no="2" min="3000" neutral="3000" max="12000"/> <servo name="BOTTOM_RIGHT" no="2" min="3000" neutral="3000" max="12000"/>
<servo name="BOTTOM_RIGHT" no="3" min="3000" neutral="3000" max="12000"/> <servo name="BOTTOM_LEFT" no="3" min="3000" neutral="3000" max="12000"/>
</servos> </servos>
<section name="MIXING" prefix="MOTOR_MIXING_"> <section name="MIXING" prefix="MOTOR_MIXING_">
@@ -46,10 +46,10 @@
</commands> </commands>
<servos driver="Default"> <servos driver="Default">
<servo name="TOP_RIGHT" no="0" min="3000" neutral="3000" max="12000"/> <servo name="TOP_LEFT" no="0" min="3000" neutral="3000" max="12000"/>
<servo name="TOP_LEFT" no="1" min="3000" neutral="3000" max="12000"/> <servo name="TOP_RIGHT" no="1" min="3000" neutral="3000" max="12000"/>
<servo name="BOTTOM_LEFT" no="2" min="3000" neutral="3000" max="12000"/> <servo name="BOTTOM_RIGHT" no="2" min="3000" neutral="3000" max="12000"/>
<servo name="BOTTOM_RIGHT" no="3" min="3000" neutral="3000" max="12000"/> <servo name="BOTTOM_LEFT" no="3" min="3000" neutral="3000" max="12000"/>
</servos> </servos>
<section name="MIXING" prefix="MOTOR_MIXING_"> <section name="MIXING" prefix="MOTOR_MIXING_">
@@ -78,10 +78,10 @@
</commands> </commands>
<servos driver="Default"> <servos driver="Default">
<servo name="TOP_RIGHT" no="0" min="3000" neutral="3000" max="12000"/> <servo name="TOP_LEFT" no="0" min="3000" neutral="3000" max="12000"/>
<servo name="TOP_LEFT" no="1" min="3000" neutral="3000" max="12000"/> <servo name="TOP_RIGHT" no="1" min="3000" neutral="3000" max="12000"/>
<servo name="BOTTOM_LEFT" no="2" min="3000" neutral="3000" max="12000"/> <servo name="BOTTOM_RIGHT" no="2" min="3000" neutral="3000" max="12000"/>
<servo name="BOTTOM_RIGHT" no="3" min="3000" neutral="3000" max="12000"/> <servo name="BOTTOM_LEFT" no="3" min="3000" neutral="3000" max="12000"/>
</servos> </servos>
<section name="MIXING" prefix="MOTOR_MIXING_"> <section name="MIXING" prefix="MOTOR_MIXING_">
@@ -56,10 +56,10 @@
</commands> </commands>
<servos driver="Default"> <servos driver="Default">
<servo name="TOP_RIGHT" no="0" min="3000" neutral="3000" max="12000"/> <servo name="TOP_LEFT" no="0" min="3000" neutral="3000" max="12000"/>
<servo name="TOP_LEFT" no="1" min="3000" neutral="3000" max="12000"/> <servo name="TOP_RIGHT" no="1" min="3000" neutral="3000" max="12000"/>
<servo name="BOTTOM_LEFT" no="2" min="3000" neutral="3000" max="12000"/> <servo name="BOTTOM_RIGHT" no="2" min="3000" neutral="3000" max="12000"/>
<servo name="BOTTOM_RIGHT" no="3" min="3000" neutral="3000" max="12000"/> <servo name="BOTTOM_LEFT" no="3" min="3000" neutral="3000" max="12000"/>
</servos> </servos>
<section name="MIXING" prefix="MOTOR_MIXING_"> <section name="MIXING" prefix="MOTOR_MIXING_">
+4 -4
View File
@@ -49,10 +49,10 @@
</commands> </commands>
<servos driver="Default"> <servos driver="Default">
<servo name="TOP_RIGHT" no="0" min="3000" neutral="3000" max="12000"/> <servo name="TOP_LEFT" no="0" min="3000" neutral="3000" max="12000"/>
<servo name="TOP_LEFT" no="1" min="3000" neutral="3000" max="12000"/> <servo name="TOP_RIGHT" no="1" min="3000" neutral="3000" max="12000"/>
<servo name="BOTTOM_LEFT" no="2" min="3000" neutral="3000" max="12000"/> <servo name="BOTTOM_RIGHT" no="2" min="3000" neutral="3000" max="12000"/>
<servo name="BOTTOM_RIGHT" no="3" min="3000" neutral="3000" max="12000"/> <servo name="BOTTOM_LEFT" no="3" min="3000" neutral="3000" max="12000"/>
</servos> </servos>
<section name="MIXING" prefix="MOTOR_MIXING_"> <section name="MIXING" prefix="MOTOR_MIXING_">
+16 -10
View File
@@ -122,16 +122,22 @@ elif args.command == 'upload_file_and_run':
# Split filename and path # Split filename and path
f = parrot_utils.split_into_path_and_file(args.file) f = parrot_utils.split_into_path_and_file(args.file)
print("Kill running " + f[1] + " and make folder " + args.folder) #check firmware version
parrot_utils.execute_command(tn,"killall -9 " + f[1]) v = parrot_utils.check_version(tn, '').strip()
sleep(1) print("Checking Bebop firmware version... " + v )
parrot_utils.execute_command(tn, "mkdir -p /data/ftp/" + args.folder) if v != '3.2.0':
print('Uploading \'' + f[1] + "\' from " + f[0] + " to " + args.folder) print("Error: please upgrade your Bebop firmware to version 3.2.0!")
parrot_utils.uploadfile(ftp, args.folder + "/" + f[1], file(args.file, "rb")) else:
sleep(0.5) print("Kill running " + f[1] + " and make folder " + args.folder)
parrot_utils.execute_command(tn, "chmod 777 /data/ftp/" + args.folder + "/" + f[1]) parrot_utils.execute_command(tn,"killall -9 " + f[1])
parrot_utils.execute_command(tn, "/data/ftp/" + args.folder + "/" + f[1] + " > /dev/null 2>&1 &") sleep(1)
print("#pragma message: Upload and Start of ap.elf to Bebop succesful !") parrot_utils.execute_command(tn, "mkdir -p /data/ftp/" + args.folder)
print('Uploading \'' + f[1] + "\' from " + f[0] + " to " + args.folder)
parrot_utils.uploadfile(ftp, args.folder + "/" + f[1], file(args.file, "rb"))
sleep(0.5)
parrot_utils.execute_command(tn, "chmod 777 /data/ftp/" + args.folder + "/" + f[1])
parrot_utils.execute_command(tn, "/data/ftp/" + args.folder + "/" + f[1] + " > /dev/null 2>&1 &")
print("#pragma message: Upload and Start of ap.elf to Bebop succesful !")
elif args.command == 'upload_file': elif args.command == 'upload_file':
# Split filename and path # Split filename and path
+2
View File
@@ -96,6 +96,8 @@ def connect(host):
return tn, ftp return tn, ftp
except: except:
print('Could not connect to Parrot UAV (host: ' + host + ')') print('Could not connect to Parrot UAV (host: ' + host + ')')
if host == '192.168.42.1':
print("Check whether your WiFi is connected and don't forget pressing the power button 4 times after the Bebop has booted!")
exit(2) exit(2)
# Close the telnet and ftp # Close the telnet and ftp