blob: e577455d95b8d56518933e11734cea9f6f60498a [file] [log] [blame]
Nikolai Sohmers3cc1fc22024-05-04 12:27:58 -07001#ifndef Y2024_SWERVE_SWERVE_PUBLISHER_H_
2#define Y2024_SWERVE_SWERVE_PUBLISHER_H_
Maxwell Hendersonf63a0d92023-06-24 14:49:51 -07003
4#include "gflags/gflags.h"
5#include "glog/logging.h"
6
7#include "aos/events/event_loop.h"
8#include "aos/flatbuffer_merge.h"
9#include "aos/init.h"
10#include "aos/json_to_flatbuffer.h"
James Kuszmauld938d332024-05-15 20:47:19 -070011#include "frc971/control_loops/swerve/swerve_drivetrain_output_generated.h"
Maxwell Hendersonf63a0d92023-06-24 14:49:51 -070012
Nikolai Sohmers3cc1fc22024-05-04 12:27:58 -070013namespace y2024_swerve {
Maxwell Hendersonf63a0d92023-06-24 14:49:51 -070014
Maxwell Hendersonf63a0d92023-06-24 14:49:51 -070015class SwervePublisher {
16 public:
17 SwervePublisher(aos::EventLoop *event_loop, aos::ExitHandle *exit_handle,
18 const std::string &filename, double duration);
19
20 private:
Nikolai Sohmers3f2a5072024-06-08 14:05:59 -070021 aos::Sender<frc971::control_loops::swerve::Output> drivetrain_output_sender_;
Maxwell Hendersonf63a0d92023-06-24 14:49:51 -070022};
23
Nikolai Sohmers3cc1fc22024-05-04 12:27:58 -070024} // namespace y2024_swerve
Maxwell Hendersonf63a0d92023-06-24 14:49:51 -070025
Nikolai Sohmers3cc1fc22024-05-04 12:27:58 -070026#endif // Y2024_SWERVE_SWERVE_PUBLISHER_H_