Skip to content

Commit 0352d97

Browse files
committed
Round frequency value to KHz (299999990Hz to 300000000Hz)
1 parent e35f640 commit 0352d97

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

applications/subghz/views/subghz_frequency_analyzer.c

+15-1
Original file line numberDiff line numberDiff line change
@@ -189,9 +189,22 @@ bool subghz_frequency_analyzer_input(InputEvent* event, void* context) {
189189
return true;
190190
}
191191

192+
uint32_t round_int(uint32_t value, uint8_t n) {
193+
// Round value
194+
uint8_t on = n;
195+
while(n--) {
196+
uint8_t i = value % 10;
197+
value /= 10;
198+
if(i >= 5) value++;
199+
}
200+
while(on--) value *= 10;
201+
return value;
202+
}
203+
192204
void subghz_frequency_analyzer_pair_callback(void* context, uint32_t frequency, float rssi) {
193205
furi_assert(context);
194206
SubGhzFrequencyAnalyzer* instance = context;
207+
195208
if((rssi == 0.f) && (instance->locked)) {
196209
if(instance->callback) {
197210
instance->callback(SubGhzCustomEventSceneAnalyzerUnlock, instance->context);
@@ -207,7 +220,8 @@ void subghz_frequency_analyzer_pair_callback(void* context, uint32_t frequency,
207220

208221
if((rssi != 0.f) && (frequency != 0)) {
209222
// Threre is some signal
210-
FURI_LOG_I(TAG, "rssi = %.2f, frequency = %d", (double)rssi, frequency);
223+
FURI_LOG_I(TAG, "rssi = %.2f, frequency = %d Hz", (double)rssi, frequency);
224+
frequency = round_int(frequency, 3); // Round 299999990Hz to 300000000Hz
211225
if(!instance->triggered &&
212226
((instance->trigger <= TRIGGER_MIN) || (rssi >= instance->trigger))) {
213227
// Triggered!

0 commit comments

Comments
 (0)