aboutsummaryrefslogtreecommitdiff
path: root/mavlink/share/pyshared/pymavlink/generator/mavtestgen.py
diff options
context:
space:
mode:
Diffstat (limited to 'mavlink/share/pyshared/pymavlink/generator/mavtestgen.py')
-rw-r--r--mavlink/share/pyshared/pymavlink/generator/mavtestgen.py142
1 files changed, 0 insertions, 142 deletions
diff --git a/mavlink/share/pyshared/pymavlink/generator/mavtestgen.py b/mavlink/share/pyshared/pymavlink/generator/mavtestgen.py
deleted file mode 100644
index faffa1c19..000000000
--- a/mavlink/share/pyshared/pymavlink/generator/mavtestgen.py
+++ /dev/null
@@ -1,142 +0,0 @@
-#!/usr/bin/env python
-'''
-generate a MAVLink test suite
-
-Copyright Andrew Tridgell 2011
-Released under GNU GPL version 3 or later
-'''
-
-import sys, textwrap
-from optparse import OptionParser
-
-# mavparse is up a directory level
-sys.path.append('..')
-import mavparse
-
-def gen_value(f, i, language):
- '''generate a test value for the ith field of a message'''
- type = f.type
-
- # could be an array
- if type.find("[") != -1:
- aidx = type.find("[")
- basetype = type[0:aidx]
- if basetype == "array":
- basetype = "int8_t"
- if language == 'C':
- return '(const %s *)"%s%u"' % (basetype, f.name, i)
- return '"%s%u"' % (f.name, i)
-
- if type == 'float':
- return 17.0 + i*7
- if type == 'char':
- return 'A' + i
- if type == 'int8_t':
- return 5 + i
- if type in ['int8_t', 'uint8_t']:
- return 5 + i
- if type in ['uint8_t_mavlink_version']:
- return 2
- if type in ['int16_t', 'uint16_t']:
- return 17235 + i*52
- if type in ['int32_t', 'uint32_t']:
- v = 963497464 + i*52
- if language == 'C':
- return "%sL" % v
- return v
- if type in ['int64_t', 'uint64_t']:
- v = 9223372036854775807 + i*63
- if language == 'C':
- return "%sLL" % v
- return v
-
-
-
-def generate_methods_python(outf, msgs):
- outf.write("""
-'''
-MAVLink protocol test implementation (auto-generated by mavtestgen.py)
-
-Generated from: %s
-
-Note: this file has been auto-generated. DO NOT EDIT
-'''
-
-import mavlink
-
-def generate_outputs(mav):
- '''generate all message types as outputs'''
-""")
- for m in msgs:
- if m.name == "HEARTBEAT": continue
- outf.write("\tmav.%s_send(" % m.name.lower())
- for i in range(0, len(m.fields)):
- f = m.fields[i]
- outf.write("%s=%s" % (f.name, gen_value(f, i, 'py')))
- if i != len(m.fields)-1:
- outf.write(",")
- outf.write(")\n")
-
-
-def generate_methods_C(outf, msgs):
- outf.write("""
-/*
-MAVLink protocol test implementation (auto-generated by mavtestgen.py)
-
-Generated from: %s
-
-Note: this file has been auto-generated. DO NOT EDIT
-*/
-
-static void mavtest_generate_outputs(mavlink_channel_t chan)
-{
-""")
- for m in msgs:
- if m.name == "HEARTBEAT": continue
- outf.write("\tmavlink_msg_%s_send(chan," % m.name.lower())
- for i in range(0, len(m.fields)):
- f = m.fields[i]
- outf.write("%s" % gen_value(f, i, 'C'))
- if i != len(m.fields)-1:
- outf.write(",")
- outf.write(");\n")
- outf.write("}\n")
-
-
-
-######################################################################
-'''main program'''
-
-parser = OptionParser("%prog [options] <XML files>")
-parser.add_option("-o", "--output", dest="output", default="mavtest", help="output folder [default: %default]")
-(opts, args) = parser.parse_args()
-
-if len(args) < 1:
- parser.error("You must supply at least one MAVLink XML protocol definition")
-
-
-msgs = []
-enums = []
-
-for fname in args:
- (m, e) = mavparse.parse_mavlink_xml(fname)
- msgs.extend(m)
- enums.extend(e)
-
-
-if mavparse.check_duplicates(msgs):
- sys.exit(1)
-
-print("Found %u MAVLink message types" % len(msgs))
-
-print("Generating python %s" % (opts.output+'.py'))
-outf = open(opts.output + '.py', "w")
-generate_methods_python(outf, msgs)
-outf.close()
-
-print("Generating C %s" % (opts.output+'.h'))
-outf = open(opts.output + '.h', "w")
-generate_methods_C(outf, msgs)
-outf.close()
-
-print("Generated %s OK" % opts.output)