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/crio/motor_server/OutputDevice.h b/aos/crio/motor_server/OutputDevice.h
new file mode 100644
index 0000000..0789a68
--- /dev/null
+++ b/aos/crio/motor_server/OutputDevice.h
@@ -0,0 +1,26 @@
+#ifndef __CRIO_MOTOR_SERVER_OUTPUT_DEVICE_H_
+#define __CRIO_MOTOR_SERVER_OUTPUT_DEVICE_H_
+
+#include <stdint.h>
+#include "aos/crio/shared_libs/ByteBuffer.h"
+
+namespace aos {
+
+class OutputDevice {
+ protected:
+ OutputDevice() {
+ }
+ public:
+ // Reads the value out of buff and stores it somewhere for SetValue to use.
+ // Returns whether or not it successfully read a whole value out of buff.
+ virtual bool ReadValue(ByteBuffer &buff) = 0;
+ // Actually sets the output device to the value saved by ReadValue.
+ virtual void SetValue() = 0;
+ // Gets called when no values come in for a while.
+ virtual void NoValue() = 0;
+};
+
+} // namespace aos
+
+#endif
+