mirror of
https://github.com/portapack-mayhem/mayhem-firmware.git
synced 2026-09-10 16:49:36 +00:00
Make better use of range_t methods.
This commit is contained in:
@@ -31,8 +31,6 @@
|
||||
namespace portapack {
|
||||
namespace persistent_memory {
|
||||
|
||||
using tuned_frequency_range_t = range_t<rf::Frequency>;
|
||||
constexpr tuned_frequency_range_t tuned_frequency_range { rf::tuning_range.min, rf::tuning_range.max };
|
||||
constexpr rf::Frequency tuned_frequency_reset_value { 858750000 };
|
||||
|
||||
using ppb_range_t = range_t<ppb_t>;
|
||||
@@ -50,12 +48,12 @@ static_assert(sizeof(data_t) <= 0x100, "Persistent memory structure too large fo
|
||||
static data_t* const data = reinterpret_cast<data_t*>(LPC_BACKUP_REG_BASE);
|
||||
|
||||
rf::Frequency tuned_frequency() {
|
||||
tuned_frequency_range.reset_if_outside(data->tuned_frequency, tuned_frequency_reset_value);
|
||||
rf::tuning_range.reset_if_outside(data->tuned_frequency, tuned_frequency_reset_value);
|
||||
return data->tuned_frequency;
|
||||
}
|
||||
|
||||
void set_tuned_frequency(const rf::Frequency new_value) {
|
||||
data->tuned_frequency = tuned_frequency_range.clip(new_value);
|
||||
data->tuned_frequency = rf::tuning_range.clip(new_value);
|
||||
}
|
||||
|
||||
ppb_t correction_ppb() {
|
||||
|
||||
@@ -86,6 +86,20 @@ struct range_t {
|
||||
value = reset_value;
|
||||
}
|
||||
}
|
||||
|
||||
bool below_range(const T& value) const {
|
||||
return value < minimum;
|
||||
}
|
||||
|
||||
bool contains(const T& value) const {
|
||||
// TODO: Subtle gotcha here! Range test doesn't include maximum!
|
||||
return (value >= minimum) && (value < maximum);
|
||||
}
|
||||
|
||||
bool out_of_range(const T& value) const {
|
||||
// TODO: Subtle gotcha here! Range test in contains() doesn't include maximum!
|
||||
return !contains(value);
|
||||
}
|
||||
};
|
||||
|
||||
namespace std {
|
||||
|
||||
Reference in New Issue
Block a user