aboutsummaryrefslogtreecommitdiff
path: root/project/mavlink-library/src/main/twirl/org/mavlink/messages/Message.scala.txt
diff options
context:
space:
mode:
Diffstat (limited to 'project/mavlink-library/src/main/twirl/org/mavlink/messages/Message.scala.txt')
-rw-r--r--project/mavlink-library/src/main/twirl/org/mavlink/messages/Message.scala.txt70
1 files changed, 0 insertions, 70 deletions
diff --git a/project/mavlink-library/src/main/twirl/org/mavlink/messages/Message.scala.txt b/project/mavlink-library/src/main/twirl/org/mavlink/messages/Message.scala.txt
deleted file mode 100644
index f1d6334..0000000
--- a/project/mavlink-library/src/main/twirl/org/mavlink/messages/Message.scala.txt
+++ /dev/null
@@ -1,70 +0,0 @@
-@(messages: Seq[parsing.Message])
-
-@extract(field: parsing.Field, offset: Int) = {
- @field.tpe.width match {
- case 1 => {payload(@offset)}
- case 2 => {((payload(@offset) & 0xff) | ((payload(@{offset+1}) & 0xff) << 8)).toShort}
- case 4 => {(payload(@offset) & 0xff) | ((payload(@{offset+1}) & 0xff) << 8) | ((payload(@{offset+2}) & 0xff) << 16) | ((payload(@{offset+3}) & 0xff) << 24)}
- case 8 => {(payload(@offset) & 0xffl) |
- ((payload(@{offset+2}) & 0xffl) << 8) |
- ((payload(@{offset+3}) & 0xffl) << 16) |
- ((payload(@{offset+4}) & 0xffl) << 24) |
- ((payload(@{offset+5}) & 0xffl) << 32) |
- ((payload(@{offset+6}) & 0xffl) << 40) |
- ((payload(@{offset+7}) & 0xffl) << 48) |
- ((payload(@{offset+8}) & 0xffl) << 56)}
- }
-}
-
-@insert(field: parsing.Field, offset: Int) = {
- @defining("m." + field.scalaName) { attr =>
- @if(field.tpe.width >= 1) { arr(@offset) = (@attr & 0xff).toByte }
- @if(field.tpe.width >= 2) { arr(@{offset+1}) = ((@attr >> 8) & 0xff).toByte }
- @if(field.tpe.width >= 3) { arr(@{offset+2}) = ((@attr >> 16) & 0xff).toByte }
- @if(field.tpe.width >= 4) { arr(@{offset+3}) = ((@attr >> 24) & 0xff).toByte }
- @if(field.tpe.width >= 5) { arr(@{offset+4}) = ((@attr >> 32) & 0xff).toByte }
- @if(field.tpe.width >= 6) { arr(@{offset+5}) = ((@attr >> 40) & 0xff).toByte }
- @if(field.tpe.width >= 7) { arr(@{offset+6}) = ((@attr >> 48) & 0xff).toByte }
- @if(field.tpe.width >= 8) { arr(@{offset+7}) = ((@attr >> 56) & 0xff).toByte }
- }
-}
-
-@org.mavlink.txt._header()
-
-package org.mavlink.messages
-
-sealed trait Message
-@for(message <- messages) {
- @_message_class(message)
-}
-case class Unknown(id: Byte, payload: Seq[Byte]) extends Message
-
-object Message {
- def unpack(id: Byte, payload: Seq[Byte]): Message = id match {
- @for(message <- messages) {
- case @message.id =>
- @defining(message.orderedFields){ ordered =>
- @defining(ordered.map(_.tpe.width).scanLeft(0)(_ + _)){ offsets =>
- @for((field, offset) <- ordered zip offsets) {
- val @field.scalaName: @field.tpe.scalaType = @extract(field, offset)
- }}}
- @{message.scalaName}@message.fields.map(_.scalaName).mkString("(", ", ", ")")
- }
-
- case id => Unknown(id, payload)
- }
-
- def pack(message: Message): (Byte, Seq[Byte]) = message match {
- @for(message <- messages) {
- case m: @message.scalaName =>
- val arr = new Array[Byte](@message.fields.map(_.tpe.width).sum)
- @defining(message.orderedFields) { ordered =>
- @defining(ordered.map(_.tpe.width).scanLeft(0)(_ + _)){ offsets =>
- @for((field, offset) <- ordered zip offsets) {
- @insert(field, offset)
- }
- (@message.id, arr)
- }}}
- case u: Unknown => (u.id, u.payload)
- }
-} \ No newline at end of file