GamepadCodec Arduino Lib 1.0.1
Loading...
Searching...
No Matches
gamepad_codec_encoder.cpp
Go to the documentation of this file.
2
3#include <string.h>
4
5/**
6 * @file gamepad_codec_encoder.cpp
7 */
8
9namespace gamepad::codec {
10ByteBuffer Encode(const gamepad::input::State &state) noexcept {
11 uint8_t data[kGamepadInputStatePayloadSize] = {0};
12 data[0] = static_cast<uint8_t>(DataType::kGamepadInputState);
13 memcpy(&data[1], &state, sizeof(state));
14
15 return robust_frame::Serialize(data, sizeof(data));
16}
17
18void Encode(const gamepad::input::State &state, Stream &stream) noexcept {
19 uint8_t data[kGamepadInputStatePayloadSize] = {0};
20 data[0] = static_cast<uint8_t>(DataType::kGamepadInputState);
21 memcpy(&data[1], &state, sizeof(state));
22
23 robust_frame::Serialize(data, sizeof(data), stream);
24}
25
26} // namespace gamepad::codec
@ kGamepadInputState
Gamepad input state (buttons + axes).
ByteBuffer Encode(const gamepad::input::State &state) noexcept
Encode a gamepad::input::State into a RobustFrame.