diff options
Diffstat (limited to 'mavlink-library/src')
4 files changed, 15 insertions, 5 deletions
diff --git a/mavlink-library/src/main/scala/com/github/jodersky/mavlink/Context.scala b/mavlink-library/src/main/scala/com/github/jodersky/mavlink/Context.scala index 7986b62..5905014 100644 --- a/mavlink-library/src/main/scala/com/github/jodersky/mavlink/Context.scala +++ b/mavlink-library/src/main/scala/com/github/jodersky/mavlink/Context.scala @@ -2,5 +2,6 @@ package com.github.jodersky.mavlink /** Represents the context under which MAVLink scala code was generated. */ case class Context( - version: Option[String] + version: Option[String], + name: String )
\ No newline at end of file diff --git a/mavlink-library/src/main/scala/com/github/jodersky/mavlink/Generator.scala b/mavlink-library/src/main/scala/com/github/jodersky/mavlink/Generator.scala index ff7970d..71e0f54 100644 --- a/mavlink-library/src/main/scala/com/github/jodersky/mavlink/Generator.scala +++ b/mavlink-library/src/main/scala/com/github/jodersky/mavlink/Generator.scala @@ -10,8 +10,9 @@ import trees._ /** * Generates Scala code implementing the MAVLink protocol. * @param dialect a specific MAVLink dialect for which to generate code + * @param name name of the dialect */ -class Generator(dialect: Dialect) { +class Generator(dialect: Dialect, name: String) { import Generator._ lazy val maxPayloadLength = dialect.messages.map(_.length).max @@ -29,7 +30,10 @@ class Generator(dialect: Dialect) { case class Target(path: String, generate: () => String) def targets: List[Target] = { - val context = Context(dialect.version) + val context = Context( + dialect.version, + name + ) List( Target(targetFiles(0), () => org.mavlink.txt.Assembler(context).body), Target(targetFiles(1), () => org.mavlink.txt.Crc(context).body), diff --git a/mavlink-library/src/main/twirl/org/mavlink/_header.scala.txt b/mavlink-library/src/main/twirl/org/mavlink/_header.scala.txt index 3fd5da9..7dfb1c9 100644 --- a/mavlink-library/src/main/twirl/org/mavlink/_header.scala.txt +++ b/mavlink-library/src/main/twirl/org/mavlink/_header.scala.txt @@ -1,5 +1,10 @@ @(__context: Context)/* * MAVLink Abstraction Layer for Scala. * - * This file was automatically generated. + * Protocol version: 1.0 + * + * Dialect name: "@__context.name" + * Dialect version: @__context.version.getOrElse("<unspecified>") + * + * This file was automatically generated on @{(new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(new java.util.Date)} */
\ No newline at end of file diff --git a/mavlink-library/src/test/scala/com/github/jodersky/mavlink/MainTest.scala b/mavlink-library/src/test/scala/com/github/jodersky/mavlink/MainTest.scala index be46212..de3b632 100644 --- a/mavlink-library/src/test/scala/com/github/jodersky/mavlink/MainTest.scala +++ b/mavlink-library/src/test/scala/com/github/jodersky/mavlink/MainTest.scala @@ -8,7 +8,7 @@ object MainTest { val parser: Parser = new Parser(StandardReporter) val dialectDefinitionFile: File = new File("mavlink-library/src/test/resources/including.xml") val dialect = parser.parseDialect(dialectDefinitionFile) - val generator = new Generator(dialect) + val generator = new Generator(dialect, "test") println(generator.targets.map(_.generate()).mkString("\n\n")) } |