Test that Codelab Works With Static Flatbuffers

Signed-off-by: Nikolai Sohmers <nikolai@sohmers.com>
Change-Id: I7cd831608c8fd37467cdff12e2e15fb51c3619a7
diff --git a/frc971/codelab/basic.cc b/frc971/codelab/basic.cc
index a78da41..9576e6b 100644
--- a/frc971/codelab/basic.cc
+++ b/frc971/codelab/basic.cc
@@ -3,12 +3,12 @@
 namespace frc971::codelab {
 
 Basic::Basic(::aos::EventLoop *event_loop, const ::std::string &name)
-    : frc971::controls::ControlLoop<Goal, Position, Status, Output>(event_loop,
-                                                                    name) {}
+    : frc971::controls::ControlLoop<Goal, Position, StatusStatic, OutputStatic>(
+          event_loop, name) {}
 
 void Basic::RunIteration(const Goal *goal, const Position *position,
-                         aos::Sender<Output>::Builder *output,
-                         aos::Sender<Status>::Builder *status) {
+                         aos::Sender<OutputStatic>::StaticBuilder *output,
+                         aos::Sender<StatusStatic>::StaticBuilder *status) {
   // FIX HERE: Set the intake_voltage to 12 Volts when
   // intake is requested (via intake in goal). Make sure not to set
   // the motor to anything but 0 V when the limit_sensor is pressed.
@@ -19,20 +19,18 @@
   (void)goal, (void)position;
 
   if (output != nullptr) {
-    Output::Builder builder = output->MakeBuilder<Output>();
-
     // FIX HERE: As of now, this sets the intake voltage to 0 in
     // all circumstances. Add to this code to output a different
     // intake voltage depending on the circumstances to make the
     // tests pass.
-    builder.add_intake_voltage(0.0);
+    output->get()->set_intake_voltage(0.0);
 
     // Ignore the return value of Send
-    (void)output->Send(builder.Finish());
+    (void)output->CheckOk(output->Send());
   }
 
   if (status != nullptr) {
-    Status::Builder builder = status->MakeBuilder<Status>();
+    (void)status;
     // FIX HERE: Fill out the Status message! In order to fill the
     // information in the message, use the add_<name of the field>() method
     // on the builder, just like we do with the Output message above.
@@ -40,7 +38,6 @@
     // the name of the field.
 
     // Ignore the return value of Send
-    (void)status->Send(builder.Finish());
   }
 }
 
diff --git a/frc971/codelab/basic.h b/frc971/codelab/basic.h
index 6439d84..3073012 100644
--- a/frc971/codelab/basic.h
+++ b/frc971/codelab/basic.h
@@ -3,23 +3,24 @@
 
 #include "aos/time/time.h"
 #include "frc971/codelab/basic_goal_generated.h"
-#include "frc971/codelab/basic_output_generated.h"
+#include "frc971/codelab/basic_output_static.h"
 #include "frc971/codelab/basic_position_generated.h"
-#include "frc971/codelab/basic_status_generated.h"
+#include "frc971/codelab/basic_status_static.h"
 #include "frc971/control_loops/control_loop.h"
 
 namespace frc971::codelab {
 
 class Basic
-    : public ::frc971::controls::ControlLoop<Goal, Position, Status, Output> {
+    : public ::frc971::controls::ControlLoop<Goal, Position, StatusStatic,
+                                             OutputStatic> {
  public:
   explicit Basic(::aos::EventLoop *event_loop,
                  const ::std::string &name = "/codelab");
 
  protected:
   void RunIteration(const Goal *goal, const Position *position,
-                    aos::Sender<Output>::Builder *output,
-                    aos::Sender<Status>::Builder *status) override;
+                    aos::Sender<OutputStatic>::StaticBuilder *output,
+                    aos::Sender<StatusStatic>::StaticBuilder *status) override;
 };
 
 }  // namespace frc971::codelab