def generateHeaders(XML_FILE): filename = XML_FILE.split("/")[-1][:-4] outputpath = OUTPUT_FOLDER + filename + "/mavlink.h" #print os.path.getmtime(outputpath) #print os.path.getmtime(XML_FILE) #try: # if os.path.getmtime(XML_FILE) < os.path.getmtime(outputpath): # print "NOTHING TO BE DONE FOR: " + XML_FILE + " already generated newer version" # return 0 #except OSError: # pass # Generate headers opts = MavgenOptions(LANGUAGE, PROTOCOL, OUTPUT_FOLDER, ERROR_LIMIT); args = [XML_FILE] try: mavgen(opts,args) except Exception as ex: exStr = formatErrorMessage(str(ex)); print exStr return 1 return 0
def generateHeaders(self): # Verify settings rex = re.compile(".*\\.xml$", re.IGNORECASE) if not self.xml_value.get(): tkinter.messagebox.showerror('Error Generating Headers','An XML message defintion file must be specified.') return if not self.out_value.get(): tkinter.messagebox.showerror('Error Generating Headers', 'An output directory must be specified.') return if os.path.isdir(self.out_value.get()): if not tkinter.messagebox.askokcancel('Overwrite Headers?','The output directory \'{0}\' already exists. Headers may be overwritten if they already exist.'.format(self.out_value.get())): return # Verify XML file with schema (or do this in mavgen) # TODO write XML schema (XDS) # Generate headers opts = MavgenOptions(self.language_value.get(), self.protocol_value.get()[1:], self.out_value.get()); args = [self.xml_value.get()] if DEBUG: print("Generating headers") self.pp.pprint(opts) self.pp.pprint(args) try: mavgen(opts,args) tkinter.messagebox.showinfo('Successfully Generated Headers', 'Headers generated succesfully.') except Exception as ex: if DEBUG: print('An occurred while generating headers:\n\t{0!s}'.format(ex)) tkinter.messagebox.showerror('Error Generating Headers','An error occurred in mavgen: {0!s}'.format(ex)) return
def generateHeaders(self): # Verify settings rex = re.compile(".*\\.xml$", re.IGNORECASE) if not self.xml_value.get(): tkinter.messagebox.showerror( 'Error Generating Headers', 'An XML message defintion file must be specified.') return if not self.out_value.get(): tkinter.messagebox.showerror( 'Error Generating Headers', 'An output directory must be specified.') return if os.path.isdir(self.out_value.get()): if not tkinter.messagebox.askokcancel( 'Overwrite Headers?', 'The output directory \'{0}\' already exists. Headers may be overwritten if they already exist.' .format(self.out_value.get())): return # Verify XML file with schema (or do this in mavgen) # TODO write XML schema (XDS) # Generate headers opts = MavgenOptions(self.language_value.get(), self.protocol_value.get()[1:], self.out_value.get(), error_limit) args = [self.xml_value.get()] if DEBUG: print("Generating headers") self.pp.pprint(opts) self.pp.pprint(args) try: mavgen(opts, args) tkinter.messagebox.showinfo('Successfully Generated Headers', 'Headers generated succesfully.') except Exception as ex: exStr = formatErrorMessage(str(ex)) if DEBUG: print('An occurred while generating headers:\n\t{0!s}'.format( ex)) tkinter.messagebox.showerror('Error Generating Headers', '{0!s}'.format(exStr)) return
import tkinter.filedialog import tkinter.messagebox except ImportError as ex: # Must be using Python 2.x, import and rename from Tkinter import * import tkFileDialog import tkMessageBox tkinter.filedialog = tkFileDialog del tkFileDialog tkinter.messagebox = tkMessageBox del tkMessageBox sys.path.append(os.path.join('pymavlink', 'generator')) from mavgen import * class MavgenOptions: def __init__(self, language, protocol, output, error_limit): self.language = language self.wire_protocol = protocol self.output = output self.error_limit = error_limit if __name__ == '__main__': # Generate headers opts = MavgenOptions('Java', '1.0', '../src/com/MAVLink/Messages', '200') args = ['./message_definitions/ardupilotmega.xml'] mavgen(opts, args)
from tkinter import * import tkinter.filedialog import tkinter.messagebox except ImportError as ex: # Must be using Python 2.x, import and rename from Tkinter import * import tkFileDialog import tkMessageBox tkinter.filedialog = tkFileDialog del tkFileDialog tkinter.messagebox = tkMessageBox del tkMessageBox sys.path.append(os.path.join('pymavlink','generator')) from mavgen import * class MavgenOptions: def __init__(self,language,protocol,output,error_limit): self.language = language self.wire_protocol = protocol self.output = output self.error_limit = error_limit; if __name__ == '__main__': # Generate headers opts = MavgenOptions('Java', '1.0', '../src/com/MAVLink/Messages', '200'); args = ['./message_definitions/ardupilotmega.xml'] mavgen(opts,args)