[Global] (RF) Implementation of support for parsed protocol .sub files
Right now, we can only use RAW (And I think a few others.. maybe? Have to check) protocol in .sub files. This request comes in 2 parts, one is covered in another issue #192.
- The first part is processing of a .sub file to transmit that contains a parsed protocol option (Megacode as an example)
- The second part is capturing, identifying, parsing, and processing of a signal during capture/receive and then saving that signal in its parsed format as a .sub file.
This issue is a stub for now.
@eadmaster Are you still around and are you still working on your port?
There is also tons of room for improvement on signal capture all together. At the moment I have to be really close to the device to capture a signal and it is usually pretty mangled and unusable.
I scanned the TX outputs from EvilCrow V2 and the protocols read using T-Embed CC1101 were like:
| Rc-Switch | Protocol |
|---|---|
| 1 | Princeton |
| 11 | CAME |
| 11 | Holtek HT12X |
| 11 | CAME |
| 11 | SMC5326 |
| 11 | Nice FLO |
| 11 | GateTX |
which I added here in this secction https://github.com/pr3y/Bruce/blob/7ba77cad1057cf3e38908caffe300b339bf03443/src/modules/rf/rf.cpp#L1144-L1155
I believe there might have differences between them and rc-switch lib couldn't be reading well.. but nothing that couldn't be enhanced
https://github.com/bmorcelli/rc-switch/blob/13c3aaf0da8d5fe2a568f1e0a38c69cb23c87ea0/RCSwitch.cpp#L80-L104
Other thing that must be enhanced, is the RAW capture, that is using the same logic of the decoder, but saving the signal even if it can´t decode:
https://github.com/bmorcelli/rc-switch/blob/13c3aaf0da8d5fe2a568f1e0a38c69cb23c87ea0/RCSwitch.cpp#L701-L762
I made this changes because it was detecting a lot of noise (signals with timings <25us, mostly from 3 to 15us), so I tried to ignore the first burst, waiting the first "RCSwitch::nSeparationLimit" (4300us) to validate the reading.. when using M5 RF433R module, we don´t have RSSI to validade it, so the noise triggers the interruptions quite often..
This request comes in 2 parts, one is covered in another issue https://github.com/pr3y/Bruce/issues/192.
Sensors decoding with rtl_433_ESP is a completely different feature, not related to generic RF signals dumping/replaying.
At the moment I have to be really close to the device to capture a signal and it is usually pretty mangled and unusable.
If the signal gets decoded by the RCSwitch lib, it should be more reliable than a RAW capture. To get a better range you may need to replace the antenna, or reduce environment noise.
This request comes in 2 parts, one is covered in another issue #192.
Sensors decoding with rtl_433_ESP is a completely different feature, not related to generic RF signals dumping/replaying.
I understand that and I sort of slipped something in there I am half hoping to achieve here at a later point. It would require generation of a sub file from a whole new process itself.
At the moment I have to be really close to the device to capture a signal and it is usually pretty mangled and unusable. If the signal gets decoded by the RCSwitch lib, it should be more reliable than a RAW capture. To get a better range you may need to replace the antenna, or reduce environment noise.
Alright. Ill adjust my testing accordingly. I did slap on a new antenna myself but have found the SMA connector has some loss. Ill play with that later.
Heres some funny results of my testing so far anyways.
What it was vs what it shouldve been:
These graphics are from what? HackRF? Rtl-SDR?
I want to buy one for me as a Christmas gift, need advices
These screenshots are from universal radio hacker (urh) app. With URH you can record, decode, analyze signals. To be able to do this you also need SDR modul. Something like RTL-SDR, HackRF, Airspy. These modules usually only support Rx. I am using Airspy mini with URH sw and gqrx sw for analyzing RF data. If you need more features and mobility go with HackRF with portapack. If not, either RTLSDR or Airspy will be fine and also a lot cheaper. Such tools realy helps at learning and understanding actual RF transsmisions.