aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Shvetsov <maxim.shvetsov@airdog.com>2014-12-04 18:01:29 +0200
committerMax Shvetsov <maxim.shvetsov@airdog.com>2014-12-04 18:01:44 +0200
commit60fe6505685e416df024e1e249a3dbcd541cad90 (patch)
tree465ad9509da956197f075809a3114fe7aebc1a16
parent207968715a03572a3bd006741fcfc3e4fe8a60ed (diff)
downloadpx4-firmware-60fe6505685e416df024e1e249a3dbcd541cad90.tar.gz
px4-firmware-60fe6505685e416df024e1e249a3dbcd541cad90.tar.bz2
px4-firmware-60fe6505685e416df024e1e249a3dbcd541cad90.zip
Added downloading all micro SD contents
-rwxr-xr-xTools/fileman/gui.py21
1 files changed, 20 insertions, 1 deletions
diff --git a/Tools/fileman/gui.py b/Tools/fileman/gui.py
index 23a882110..d5112ce14 100755
--- a/Tools/fileman/gui.py
+++ b/Tools/fileman/gui.py
@@ -1,6 +1,7 @@
#!/usr/bin/env python
from Tkinter import *
import Tkinter as tk
+import zipfile #For file zipping
import tkFileDialog as tkFile
import re
import subprocess
@@ -42,14 +43,17 @@ class Application(tk.Frame):
command=self.savedir)
self.flashButton = tk.Button(self, text="Flash firmware",
command=self.flash)
+ self.getallButton = tk.Button(self, text="Get all SD",
+ command=self.get_all_files, state=DISABLED)
# == place objects in places ==
self.connectButton.grid(row=0, column=0, sticky="nesw")
self.flashButton.grid( row=0, column=1, sticky="nesw")
self.listButton.grid( row=1, column=0, sticky="nesw")
self.getButton.grid( row=1, column=1, sticky="nesw")
self.lastButton.grid( row=2, column=0, columnspan=2, sticky="nesw")
+ self.getallButton.grid( row=3, column=0, columnspan=2, sticky="nesw")
#self.saveDirButton.grid(row=2, column=1, sticky="nesw")
- self.loglist.grid(row=3, column=0, columnspan=2, sticky="nesw")
+ self.loglist.grid(row=4, column=0, columnspan=2, sticky="nesw")
self.grid(sticky="nesw")
self.grid_rowconfigure(0, weight=1)
self.grid_columnconfigure(0, weight=1)
@@ -73,6 +77,7 @@ class Application(tk.Frame):
self.getButton.config(state=ACTIVE)
self.lastButton.config(state=ACTIVE)
self.flashButton.config(state=DISABLED)
+ self.getallButton.config(state=ACTIVE)
except:
print "Cannot connect to device"
@@ -87,6 +92,20 @@ class Application(tk.Frame):
self.loglist.see(END)
self.loglist.select_anchor(END)
+ def get_all_files(self):
+ # Get all files from MicroSD
+ self.savedir()
+ zipf = zipfile.ZipFile(self.dir_to_save+"/SD_contents.zip", 'w');
+ #print self.nsh.get_all_files("/fs/microsd")
+ for file in self.nsh.get_all_files("/fs/microsd"):
+ if file.find("/.") == -1:
+ print file
+ #with open(file, "wb") as f:
+ data = self.nsh.download_file("/fs/microsd"+file)
+ print("Writing buffer to file..")
+ zipf.writestr(file, data)
+ print("Success.")
+
def getlog(self):
selected = self.loglist.curselection()