WPILibC++ 2027.0.0-alpha-4
Loading...
Searching...
No Matches
ControlData.h
Go to the documentation of this file.
1// Copyright (c) FIRST and other WPILib contributors.
2// Open Source Software; you can modify and/or share it under the terms of
3// the WPILib BSD license file in the root directory of this project.
4
5#pragma once
6
7#include <stdint.h>
8
9#include "MrcComm.npb.h"
10#include "mrc/NetComm.h"
12
13template <>
14struct wpi::util::Protobuf<mrc::ControlData> {
15 using MessageStruct = mrc_proto_ProtobufControlData;
18 static std::optional<mrc::ControlData> Unpack(InputStream& Stream);
19 static bool Pack(OutputStream& Stream, const mrc::ControlData& Value);
20};
21
22template <>
24 using MessageStruct = mrc_proto_ProtobufJoystickData;
27 static std::optional<mrc::Joystick> Unpack(InputStream& Stream);
28 static bool Pack(OutputStream& Stream, const mrc::Joystick& Value);
29};
30
31template <>
32struct wpi::util::Protobuf<mrc::TouchpadFinger> {
33 using MessageStruct = mrc_proto_ProtobufFingerData;
36 static std::optional<mrc::TouchpadFinger> Unpack(InputStream& Stream);
37 static bool Pack(OutputStream& Stream, const mrc::TouchpadFinger& Value);
38};
39
40template <>
41struct wpi::util::Protobuf<mrc::Touchpad> {
42 using MessageStruct = mrc_proto_ProtobufTouchpadData;
45 static std::optional<mrc::Touchpad> Unpack(InputStream& Stream);
46 static bool Pack(OutputStream& Stream, const mrc::Touchpad& Value);
47};
Handle input from standard Joysticks connected to the Driver Station.
Definition Joystick.hpp:22
Class for wrapping a nanopb istream.
Definition Protobuf.hpp:55
Class for wrapping a nanopb ostream.
Definition Protobuf.hpp:119
Definition NetComm.h:19
Definition NetComm.h:251
Definition NetComm.h:244
Definition NetComm.h:195
Definition NetComm.h:201
static std::optional< mrc::ControlData > Unpack(InputStream &Stream)
wpi::util::ProtoOutputStream< mrc::ControlData > OutputStream
Definition ControlData.h:17
static bool Pack(OutputStream &Stream, const mrc::ControlData &Value)
mrc_proto_ProtobufControlData MessageStruct
Definition ControlData.h:15
wpi::util::ProtoInputStream< mrc::ControlData > InputStream
Definition ControlData.h:16
wpi::util::ProtoOutputStream< mrc::Joystick > OutputStream
Definition ControlData.h:26
wpi::util::ProtoInputStream< mrc::Joystick > InputStream
Definition ControlData.h:25
static bool Pack(OutputStream &Stream, const mrc::Joystick &Value)
static std::optional< mrc::Joystick > Unpack(InputStream &Stream)
mrc_proto_ProtobufJoystickData MessageStruct
Definition ControlData.h:24
wpi::util::ProtoOutputStream< mrc::Touchpad > OutputStream
Definition ControlData.h:44
static std::optional< mrc::Touchpad > Unpack(InputStream &Stream)
mrc_proto_ProtobufTouchpadData MessageStruct
Definition ControlData.h:42
wpi::util::ProtoInputStream< mrc::Touchpad > InputStream
Definition ControlData.h:43
static bool Pack(OutputStream &Stream, const mrc::Touchpad &Value)
wpi::util::ProtoOutputStream< mrc::TouchpadFinger > OutputStream
Definition ControlData.h:35
wpi::util::ProtoInputStream< mrc::TouchpadFinger > InputStream
Definition ControlData.h:34
static std::optional< mrc::TouchpadFinger > Unpack(InputStream &Stream)
mrc_proto_ProtobufFingerData MessageStruct
Definition ControlData.h:33
static bool Pack(OutputStream &Stream, const mrc::TouchpadFinger &Value)
Protobuf serialization template.
Definition Protobuf.hpp:36