mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-27 02:01:42 +00:00
Use std::bit_cast (#7567)
Backport #7492 Co-authored-by: Tyler Veness <calcmogul@gmail.com>
This commit is contained in:
@@ -4,11 +4,11 @@
|
||||
|
||||
#include "XRP.h"
|
||||
|
||||
#include <bit>
|
||||
#include <string>
|
||||
|
||||
#include <fmt/format.h>
|
||||
#include <wpi/Endian.h>
|
||||
#include <wpi/MathExtras.h>
|
||||
#include <wpi/json.h>
|
||||
|
||||
using namespace wpilibxrp;
|
||||
@@ -245,7 +245,7 @@ void XRP::SetupMotorTag(wpi::raw_uv_ostream& buf) {
|
||||
|
||||
// Convert the value
|
||||
wpi::support::endian::write32be(value,
|
||||
wpi::bit_cast<uint32_t>(motor.second));
|
||||
std::bit_cast<uint32_t>(motor.second));
|
||||
buf << value[0] << value[1] << value[2] << value[3];
|
||||
}
|
||||
}
|
||||
@@ -261,7 +261,7 @@ void XRP::SetupServoTag(wpi::raw_uv_ostream& buf) {
|
||||
|
||||
// Convert the value
|
||||
wpi::support::endian::write32be(value,
|
||||
wpi::bit_cast<uint32_t>(servo.second));
|
||||
std::bit_cast<uint32_t>(servo.second));
|
||||
buf << value[0] << value[1] << value[2] << value[3];
|
||||
}
|
||||
}
|
||||
@@ -283,17 +283,17 @@ void XRP::ReadGyroTag(std::span<const uint8_t> packet) {
|
||||
|
||||
packet = packet.subspan(2); // Skip past the size and tag
|
||||
float rate_x =
|
||||
wpi::bit_cast<float>(wpi::support::endian::read32be(&packet[0]));
|
||||
std::bit_cast<float>(wpi::support::endian::read32be(&packet[0]));
|
||||
float rate_y =
|
||||
wpi::bit_cast<float>(wpi::support::endian::read32be(&packet[4]));
|
||||
std::bit_cast<float>(wpi::support::endian::read32be(&packet[4]));
|
||||
float rate_z =
|
||||
wpi::bit_cast<float>(wpi::support::endian::read32be(&packet[8]));
|
||||
std::bit_cast<float>(wpi::support::endian::read32be(&packet[8]));
|
||||
float angle_x =
|
||||
wpi::bit_cast<float>(wpi::support::endian::read32be(&packet[12]));
|
||||
std::bit_cast<float>(wpi::support::endian::read32be(&packet[12]));
|
||||
float angle_y =
|
||||
wpi::bit_cast<float>(wpi::support::endian::read32be(&packet[16]));
|
||||
std::bit_cast<float>(wpi::support::endian::read32be(&packet[16]));
|
||||
float angle_z =
|
||||
wpi::bit_cast<float>(wpi::support::endian::read32be(&packet[20]));
|
||||
std::bit_cast<float>(wpi::support::endian::read32be(&packet[20]));
|
||||
|
||||
// Make the json object
|
||||
wpi::json gyroJson;
|
||||
@@ -314,11 +314,11 @@ void XRP::ReadAccelTag(std::span<const uint8_t> packet) {
|
||||
|
||||
packet = packet.subspan(2); // Skip past the size and tag
|
||||
float accel_x =
|
||||
wpi::bit_cast<float>(wpi::support::endian::read32be(&packet[0]));
|
||||
std::bit_cast<float>(wpi::support::endian::read32be(&packet[0]));
|
||||
float accel_y =
|
||||
wpi::bit_cast<float>(wpi::support::endian::read32be(&packet[4]));
|
||||
std::bit_cast<float>(wpi::support::endian::read32be(&packet[4]));
|
||||
float accel_z =
|
||||
wpi::bit_cast<float>(wpi::support::endian::read32be(&packet[8]));
|
||||
std::bit_cast<float>(wpi::support::endian::read32be(&packet[8]));
|
||||
|
||||
wpi::json accelJson;
|
||||
accelJson["type"] = "Accel";
|
||||
@@ -409,7 +409,7 @@ void XRP::ReadAnalogTag(std::span<const uint8_t> packet) {
|
||||
|
||||
packet = packet.subspan(3);
|
||||
float voltage =
|
||||
wpi::bit_cast<float>(wpi::support::endian::read32be(&packet[0]));
|
||||
std::bit_cast<float>(wpi::support::endian::read32be(&packet[0]));
|
||||
|
||||
wpi::json analogJson;
|
||||
analogJson["type"] = "AI";
|
||||
|
||||
Reference in New Issue
Block a user