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
#define LLCC68_DEFINITIONS_H
#include <cstddef>
#include <cstdint>
#include <optional>
#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={}",
bw_to_string(static_cast<LoRaBandwidth>(bw)),
sf,
@ -256,16 +256,19 @@ struct __attribute__((packed)) lora_packet_status_t {
// Actual Rssi in dB = -SignalRssiPkt/2
uint8_t signal_rssi_pkt;
float rssi_pkt_dbm() const {
return -rssi_pkt / 2.0f;
[[nodiscard]]
auto rssi_pkt_dbm() const -> float {
return -rssi_pkt / 2.0F;
}
float snr_pkt_db() const {
return snr_pkt / 4.0f;
[[nodiscard]]
auto snr_pkt_db() const -> float {
return snr_pkt / 4.0F;
}
float signal_rssi_pkt_dbm() const {
return -signal_rssi_pkt / 2.0f;
[[nodiscard]]
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) {
if (ldr_optimize > RADIOLIB_SX126X_LORA_LOW_DATA_RATE_OPTIMIZE_ON) {
return false;
}
return true;
return static_cast<bool>(ldr_optimize <= RADIOLIB_SX126X_LORA_LOW_DATA_RATE_OPTIMIZE_ON);
}
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) {
switch (bw) {
case RADIOLIB_SX126X_LORA_BW_7_8:
return bw_t{7.8f};
return bw_t{7.8F};
case RADIOLIB_SX126X_LORA_BW_10_4:
return bw_t{10.4f};
return bw_t{10.4F};
case RADIOLIB_SX126X_LORA_BW_15_6:
return bw_t{15.6f};
return bw_t{15.6F};
case RADIOLIB_SX126X_LORA_BW_20_8:
return bw_t{20.8f};
return bw_t{20.8F};
case RADIOLIB_SX126X_LORA_BW_31_25:
return bw_t{31.25f};
return bw_t{31.25F};
case RADIOLIB_SX126X_LORA_BW_41_7:
return bw_t{41.7f};
return bw_t{41.7F};
case RADIOLIB_SX126X_LORA_BW_62_5:
return bw_t{62.5f};
return bw_t{62.5F};
case RADIOLIB_SX126X_LORA_BW_125_0:
return bw_t{125.0f};
return bw_t{125.0F};
case RADIOLIB_SX126X_LORA_BW_250_0:
return bw_t{250.0f};
return bw_t{250.0F};
case RADIOLIB_SX126X_LORA_BW_500_0:
return bw_t{500.0f};
return bw_t{500.0F};
default:
return bw_t{0};
}