Add support for serializing and deserializing the other SPI messages

Change-Id: I7d39e286f72aff0d773c948d34d1dc2354dd2c34
diff --git a/y2019/jevois/spi.h b/y2019/jevois/spi.h
index e0c4d90..7c14a57 100644
--- a/y2019/jevois/spi.h
+++ b/y2019/jevois/spi.h
@@ -5,6 +5,7 @@
 
 #include <array>
 
+#include "third_party/GSL/include/gsl/gsl"
 #include "third_party/optional/tl/optional.hpp"
 #include "y2019/jevois/structures.h"
 
@@ -26,7 +27,11 @@
 using SpiTransfer = std::array<char, spi_transfer_size()>;
 
 SpiTransfer SpiPackToRoborio(const TeensyToRoborio &message);
-tl::optional<TeensyToRoborio> SpiUnpackToRoborio(const SpiTransfer &transfer);
+tl::optional<TeensyToRoborio> SpiUnpackToRoborio(
+    gsl::span<const char, spi_transfer_size()> transfer);
+SpiTransfer SpiPackToTeensy(const RoborioToTeensy &message);
+tl::optional<RoborioToTeensy> SpiUnpackToTeensy(
+    gsl::span<const char, spi_transfer_size()> transfer);
 
 }  // namespace jevois
 }  // namespace frc971