From c110b180fd479f7671c68f06b6ccafb21e7fe770 Mon Sep 17 00:00:00 2001 From: Andy Piper Date: Mon, 19 Feb 2024 18:43:24 +0000 Subject: [PATCH] SITL: squash static_assert warnings --- libraries/SITL/SIM_GPS_Trimble.cpp | 20 ++++++++++---------- libraries/SITL/SIM_InertialLabs.cpp | 2 +- libraries/SITL/SIM_Loweheiser.h | 6 ------ libraries/SITL/SIM_QMC5883L.h | 4 +--- 4 files changed, 12 insertions(+), 20 deletions(-) diff --git a/libraries/SITL/SIM_GPS_Trimble.cpp b/libraries/SITL/SIM_GPS_Trimble.cpp index 9ddaf64027..1e1726b333 100644 --- a/libraries/SITL/SIM_GPS_Trimble.cpp +++ b/libraries/SITL/SIM_GPS_Trimble.cpp @@ -98,7 +98,7 @@ void GPS_Trimble::publish(const GPS_Data *d) pos_flags_2, bootcount }; - static_assert(sizeof(gsof_pos_time) - (sizeof(gsof_pos_time::OUTPUT_RECORD_TYPE) + sizeof(gsof_pos_time::RECORD_LEN)) == GSOF_POS_TIME_LEN); + static_assert(sizeof(gsof_pos_time) - (sizeof(gsof_pos_time::OUTPUT_RECORD_TYPE) + sizeof(gsof_pos_time::RECORD_LEN)) == GSOF_POS_TIME_LEN, "Trimble size check failed"); payload_sz += sizeof(pos_time); memcpy(&buf[offset], &pos_time, sizeof(pos_time)); @@ -127,7 +127,7 @@ void GPS_Trimble::publish(const GPS_Data *d) gsof_pack_double(d->longitude * DEG_TO_RAD_DOUBLE), gsof_pack_double(static_cast(d->altitude)) }; - static_assert(sizeof(gsof_pos) - (sizeof(gsof_pos::OUTPUT_RECORD_TYPE) + sizeof(gsof_pos::RECORD_LEN)) == GSOF_POS_LEN); + static_assert(sizeof(gsof_pos) - (sizeof(gsof_pos::OUTPUT_RECORD_TYPE) + sizeof(gsof_pos::RECORD_LEN)) == GSOF_POS_LEN, "Trimble size check failed"); payload_sz += sizeof(pos); memcpy(&buf[offset], &pos, sizeof(pos)); @@ -180,7 +180,7 @@ void GPS_Trimble::publish(const GPS_Data *d) // Intentionally narrow from double. gsof_pack_float(static_cast(d->speedD)) }; - static_assert(sizeof(gsof_vel) - (sizeof(gsof_vel::OUTPUT_RECORD_TYPE) + sizeof(gsof_vel::RECORD_LEN)) == GSOF_VEL_LEN); + static_assert(sizeof(gsof_vel) - (sizeof(gsof_vel::OUTPUT_RECORD_TYPE) + sizeof(gsof_vel::RECORD_LEN)) == GSOF_VEL_LEN, "Trimble size check failed"); payload_sz += sizeof(vel); memcpy(&buf[offset], &vel, sizeof(vel)); @@ -204,13 +204,13 @@ void GPS_Trimble::publish(const GPS_Data *d) } dop {}; // Check the payload size calculation in the compiler constexpr auto dop_size = sizeof(gsof_dop); - static_assert(dop_size == 18); + static_assert(dop_size == 18, "gsof_dop must be 8 bytes"); constexpr auto dop_record_type_size = sizeof(gsof_dop::OUTPUT_RECORD_TYPE); - static_assert(dop_record_type_size == 1); + static_assert(dop_record_type_size == 1, "gsof_dop::OUTPUT_RECORD_TYPE must be 1 byte"); constexpr auto len_size = sizeof(gsof_dop::RECORD_LEN); - static_assert(len_size == 1); + static_assert(len_size == 1, "gsof_dop::RECORD_LEN must be 1 bytes"); constexpr auto dop_payload_size = dop_size - (dop_record_type_size + len_size); - static_assert(dop_payload_size == GSOF_DOP_LEN); + static_assert(dop_payload_size == GSOF_DOP_LEN, "dop_payload_size must be GSOF_DOP_LEN bytes"); payload_sz += sizeof(dop); memcpy(&buf[offset], &dop, sizeof(dop)); @@ -237,7 +237,7 @@ void GPS_Trimble::publish(const GPS_Data *d) uint32_t unit_variance = htobe32(0); uint16_t n_epocs = htobe32(1); // Always 1 for kinematic. } pos_sigma {}; - static_assert(sizeof(gsof_pos_sigma) - (sizeof(gsof_pos_sigma::OUTPUT_RECORD_TYPE) + sizeof(gsof_pos_sigma::RECORD_LEN)) == GSOF_POS_SIGMA_LEN); + static_assert(sizeof(gsof_pos_sigma) - (sizeof(gsof_pos_sigma::OUTPUT_RECORD_TYPE) + sizeof(gsof_pos_sigma::RECORD_LEN)) == GSOF_POS_SIGMA_LEN, "Trimble size check failed"); payload_sz += sizeof(pos_sigma); memcpy(&buf[offset], &pos_sigma, sizeof(pos_sigma)); offset += sizeof(pos_sigma); @@ -536,7 +536,7 @@ void GPS_Trimble::send_gsof(const uint8_t *buf, const uint16_t size) uint64_t GPS_Trimble::gsof_pack_double(const double& src) { uint64_t dst; - static_assert(sizeof(src) == sizeof(dst)); + static_assert(sizeof(src) == sizeof(dst), "src and dst must have equal size"); memcpy(&dst, &src, sizeof(dst)); dst = htobe64(dst); return dst; @@ -545,7 +545,7 @@ uint64_t GPS_Trimble::gsof_pack_double(const double& src) uint32_t GPS_Trimble::gsof_pack_float(const float& src) { uint32_t dst; - static_assert(sizeof(src) == sizeof(dst)); + static_assert(sizeof(src) == sizeof(dst), "src and dst must have equal size"); memcpy(&dst, &src, sizeof(dst)); dst = htobe32(dst); return dst; diff --git a/libraries/SITL/SIM_InertialLabs.cpp b/libraries/SITL/SIM_InertialLabs.cpp index 728c7934f9..edaadf0b87 100644 --- a/libraries/SITL/SIM_InertialLabs.cpp +++ b/libraries/SITL/SIM_InertialLabs.cpp @@ -93,7 +93,7 @@ void InertialLabs::send_packet(void) pkt.gnss_extended_info.fix_type = 2; } - pkt.differential_pressure = 0.5*sq(fdm.airspeed+fabsf(rand_float()*0.25))*1.0e4; + pkt.differential_pressure = 0.5*sq(fdm.airspeed+fabsF(rand_float()*0.25))*1.0e4; pkt.supply_voltage = 12.3*100; pkt.temperature = 23.4*10; diff --git a/libraries/SITL/SIM_Loweheiser.h b/libraries/SITL/SIM_Loweheiser.h index ae4f28cdd7..edad99a556 100644 --- a/libraries/SITL/SIM_Loweheiser.h +++ b/libraries/SITL/SIM_Loweheiser.h @@ -117,12 +117,6 @@ private: const float max_current = 50.0f; const float base_supply_voltage = 50.0; - // we share channels with the ArduPilot binary! - // Beware: the mavlink rangefinder and other stuff shares this channel. - const mavlink_channel_t mavlink_ch = (mavlink_channel_t)(MAVLINK_COMM_0+5); - - class SIM *_sitl; - uint32_t last_sent_ms; void update_receive(); diff --git a/libraries/SITL/SIM_QMC5883L.h b/libraries/SITL/SIM_QMC5883L.h index 10aa171965..52346250b3 100644 --- a/libraries/SITL/SIM_QMC5883L.h +++ b/libraries/SITL/SIM_QMC5883L.h @@ -41,13 +41,11 @@ private: } registers; // 256 1-byte registers: - assert_storage_size assert_storage_size_registers_reg; + assert_storage_size assert_storage_size_registers_reg UNUSED_PRIVATE_MEMBER; Bitmask<256> writable_registers; void reset(); - - uint32_t cmd_take_reading_received_ms; }; } // namespace SITL