Next-Flip / Momentum-Firmware

🐬 Feature-rich, stable and customizable Flipper Firmware
https://momentum-fw.dev
GNU General Public License v3.0
4.41k stars 172 forks source link

SubGhz: ignore frequencies temporarily /permanently #43

Open Zarcolio opened 6 months ago

Zarcolio commented 6 months ago

Describe the enhancement you're suggesting.

In my neighborhood a couple of frequencies are captured every couple of seconds. Of course it's possible to use RSSI to tweak what strength of signals to capture. But it would be so much easier to just temporarily or (semi) permanently ignore a frequency.

Anything else?

As I said before, love this fw 😁

Sil333033 commented 6 months ago

How did you determine this behaviour? with an proper SDR or the Frequency Analyzer on the Flipper?

Zarcolio commented 6 months ago

How did you determine this behaviour? with an proper SDR or the Frequency Analyzer on the Flipper?

I constantly see 2 frequencies in the Frequency Analyzer adding up the the number of times it has been captured.

Willy-JL commented 6 months ago

this idea needs some more fleshing out as to how it could be implemented UI wise. but it would be a nice addition, yes

Willy-JL commented 4 months ago

Now that I think about it, you might be able to do this via Momentum > Protocols > SubGhz freqs.

Frequency analyzer uses the same list of frequencies as read does, as far as I know. So you could set Use Defaults to off, then add the frequencies you want to check inside the Static Freqs > Add static freq

X3r0C00L commented 4 months ago

Hey Willy, This sort of works I am able to have it not pick up transmissions on certain frequencies with this method, but the issue is lets say I turn off defaults and force the flipper to use my statics. If I add a frequency 467.950 for example,, that frequency will be picked up by the frequency analyzer but once the frequency analyzer goes to add the frequency to the list on the screen it will change it to 464.000 which is one of the defaults.

X3r0C00L commented 4 months ago

The Default frequency values are stored in the subghz_setting.c file. I havent traversed the rest of the files in the build to see where the original call is made to this c file to get the defaults. But I assume that when using the frequency analyzer it simply runs maybe a while loop or some type of loop and loops through the defaults list so many times per second until something kicks it out of the loop such as an increase in RSSI on a certain frequency. Since this app can also read from the Static frequencies that are manually added, couldnt an almost identical menu item be created in protocols as the static frequencies that would allow a user to input frequencies to skip. Then just add some if/then to the original loop in the frequency analyzer to check each scanned frequency to see if it is in the skip list/array and ignore it. Please dont bash me, I have only looked at the single file as of this moment and have not looked at the rest of the code. So at this point I am only speculating on current function.

Edit: It looks as if the Frequency analyzer is not an app itself, but a view of the Subghz app. And the /subghz_frequency_analyzer.c file also stores the defaults which it looks likt it loads up into an array. Guess Im going to have to just sit down and look through all of the code to see if I can get an understanding of how it all works. First time looking today. Phew there is a lot.