refactor: improve function signatures and type safety in llcc68 definitions

- Removed unnecessary include of <cstddef>.
- Updated function signatures to use trailing return types and added [[nodiscard]] attribute for better safety and clarity.
- Standardized float literals to use uppercase 'F' for consistency.
- Simplified the valid_ldr_optimize function for improved readability.
This commit is contained in:
2025-06-05 16:31:44 +08:00
parent dbeab21efa
commit fca2e8cc47

View File

@ -4,7 +4,6 @@
#ifndef LLCC68_DEFINITIONS_H #ifndef LLCC68_DEFINITIONS_H
#define LLCC68_DEFINITIONS_H #define LLCC68_DEFINITIONS_H
#include <cstddef>
#include <cstdint> #include <cstdint>
#include <optional> #include <optional>
#include <string> #include <string>
@ -112,7 +111,8 @@ struct modulation_params_t {
}; };
} }
std::string to_string() const { [[nodiscard]]
auto to_string() const -> std::string {
return std::format("mod_params: bw={}, sf={}, cr={}, ldr_optimize={}", return std::format("mod_params: bw={}, sf={}, cr={}, ldr_optimize={}",
bw_to_string(static_cast<LoRaBandwidth>(bw)), bw_to_string(static_cast<LoRaBandwidth>(bw)),
sf, sf,
@ -256,16 +256,19 @@ struct __attribute__((packed)) lora_packet_status_t {
// Actual Rssi in dB = -SignalRssiPkt/2 // Actual Rssi in dB = -SignalRssiPkt/2
uint8_t signal_rssi_pkt; uint8_t signal_rssi_pkt;
float rssi_pkt_dbm() const { [[nodiscard]]
return -rssi_pkt / 2.0f; auto rssi_pkt_dbm() const -> float {
return -rssi_pkt / 2.0F;
} }
float snr_pkt_db() const { [[nodiscard]]
return snr_pkt / 4.0f; auto snr_pkt_db() const -> float {
return snr_pkt / 4.0F;
} }
float signal_rssi_pkt_dbm() const { [[nodiscard]]
return -signal_rssi_pkt / 2.0f; auto signal_rssi_pkt_dbm() const -> float {
return -signal_rssi_pkt / 2.0F;
} }
}; };
@ -344,10 +347,7 @@ cr_to_ratio(const uint8_t cr) {
} }
constexpr bool valid_ldr_optimize(const uint8_t ldr_optimize) { constexpr bool valid_ldr_optimize(const uint8_t ldr_optimize) {
if (ldr_optimize > RADIOLIB_SX126X_LORA_LOW_DATA_RATE_OPTIMIZE_ON) { return static_cast<bool>(ldr_optimize <= RADIOLIB_SX126X_LORA_LOW_DATA_RATE_OPTIMIZE_ON);
return false;
}
return true;
} }
constexpr bool valid_bw(const uint8_t bw) { constexpr bool valid_bw(const uint8_t bw) {
@ -372,25 +372,25 @@ using bw_t = float;
constexpr bw_t bw_khz(const uint8_t bw) { constexpr bw_t bw_khz(const uint8_t bw) {
switch (bw) { switch (bw) {
case RADIOLIB_SX126X_LORA_BW_7_8: case RADIOLIB_SX126X_LORA_BW_7_8:
return bw_t{7.8f}; return bw_t{7.8F};
case RADIOLIB_SX126X_LORA_BW_10_4: case RADIOLIB_SX126X_LORA_BW_10_4:
return bw_t{10.4f}; return bw_t{10.4F};
case RADIOLIB_SX126X_LORA_BW_15_6: case RADIOLIB_SX126X_LORA_BW_15_6:
return bw_t{15.6f}; return bw_t{15.6F};
case RADIOLIB_SX126X_LORA_BW_20_8: case RADIOLIB_SX126X_LORA_BW_20_8:
return bw_t{20.8f}; return bw_t{20.8F};
case RADIOLIB_SX126X_LORA_BW_31_25: case RADIOLIB_SX126X_LORA_BW_31_25:
return bw_t{31.25f}; return bw_t{31.25F};
case RADIOLIB_SX126X_LORA_BW_41_7: case RADIOLIB_SX126X_LORA_BW_41_7:
return bw_t{41.7f}; return bw_t{41.7F};
case RADIOLIB_SX126X_LORA_BW_62_5: case RADIOLIB_SX126X_LORA_BW_62_5:
return bw_t{62.5f}; return bw_t{62.5F};
case RADIOLIB_SX126X_LORA_BW_125_0: case RADIOLIB_SX126X_LORA_BW_125_0:
return bw_t{125.0f}; return bw_t{125.0F};
case RADIOLIB_SX126X_LORA_BW_250_0: case RADIOLIB_SX126X_LORA_BW_250_0:
return bw_t{250.0f}; return bw_t{250.0F};
case RADIOLIB_SX126X_LORA_BW_500_0: case RADIOLIB_SX126X_LORA_BW_500_0:
return bw_t{500.0f}; return bw_t{500.0F};
default: default:
return bw_t{0}; return bw_t{0};
} }