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:
@ -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};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user