// Copyright (c) FIRST and other WPILib contributors. // Open Source Software; you can modify and/or share it under the terms of // the WPILib BSD license file in the root directory of this project. #include "frc/kinematics/proto/MecanumDriveKinematicsProto.h" #include #include "kinematics.pb.h" google::protobuf::Message* wpi::Protobuf::New( google::protobuf::Arena* arena) { return wpi::CreateMessage(arena); } frc::MecanumDriveKinematics wpi::Protobuf::Unpack( const google::protobuf::Message& msg) { auto m = static_cast(&msg); return frc::MecanumDriveKinematics{ wpi::UnpackProtobuf(m->front_left()), wpi::UnpackProtobuf(m->front_right()), wpi::UnpackProtobuf(m->rear_left()), wpi::UnpackProtobuf(m->rear_right()), }; } void wpi::Protobuf::Pack( google::protobuf::Message* msg, const frc::MecanumDriveKinematics& value) { auto m = static_cast(msg); wpi::PackProtobuf(m->mutable_front_left(), value.GetFrontLeft()); wpi::PackProtobuf(m->mutable_front_right(), value.GetFrontRight()); wpi::PackProtobuf(m->mutable_rear_left(), value.GetRearLeft()); wpi::PackProtobuf(m->mutable_rear_right(), value.GetRearRight()); }