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