copied everything over from 2012 and removed all of the actual robot code except the drivetrain stuff


git-svn-id: https://robotics.mvla.net/svn/frc971/2013/trunk/src@4078 f308d9b7-e957-4cde-b6ac-9a88185e7312
diff --git a/aos/common/queue.cc b/aos/common/queue.cc
new file mode 100644
index 0000000..7e7f2a1
--- /dev/null
+++ b/aos/common/queue.cc
@@ -0,0 +1,37 @@
+#include "aos/common/queue.h"
+
+#include "aos/common/byteorder.h"
+#include "aos/common/inttypes.h"
+
+namespace aos {
+
+void Message::Zero() {
+  sent_time.set_sec(0);
+  sent_time.set_nsec(0);
+}
+
+size_t Message::Deserialize(const char *buffer) {
+  int32_t sec;
+  int32_t nsec;
+  to_host(&buffer[0], &sec);
+  to_host(&buffer[4], &nsec);
+  sent_time.set_sec(sec);
+  sent_time.set_nsec(nsec);
+  return Size();
+}
+// Serializes the common fields into the buffer.
+size_t Message::Serialize(char *buffer) const {
+  // TODO(aschuh): to_network shouldn't need a pointer.
+  int32_t sec = sent_time.sec();
+  int32_t nsec = sent_time.nsec();
+  to_network(&sec, &buffer[0]);
+  to_network(&nsec, &buffer[4]);
+  return Size();
+}
+
+size_t Message::Print(char *buffer, int length) const {
+  return snprintf(buffer, length, "%"PRId32".%09"PRId32"s",
+                  sent_time.sec(), sent_time.nsec());
+}
+
+}  // namespace aos