portapack-mayhem/firmware/application
RocketGod 43a1bc0445
Jammer app add modes (#2659)
* Add new jammer modes

Overview

This PR enhances the PortaPack Jammer app by introducing eight new signal types, ported from my Flipper Zero RF Jammer app (https://github.com/RocketGod-git/flipper-zero-rf-jammer). These modes expand the app's capability to disrupt a wide range of RF communication protocols, from analog radios to modern digital systems. The implementation preserves the original app structure, resolves namespace conflicts, and ensures compatibility with the Mayhem firmware.

New Modes

The following modes have been added to the options_type in ui_jammer.hpp, with corresponding signal generation in proc_jammer.cpp:

Noise: Generates broadband white noise to interfere with analog and digital signals (e.g., Wi-Fi, Bluetooth, key fobs). Highly effective for overwhelming receivers across a frequency range.

Sine: Produces a continuous, unmodulated sine wave to jam narrowband receivers, ideal for analog FM/AM radios or telemetry systems.

Square: Emits a harmonic-rich square wave, disrupting digital protocols (e.g., OOK, ASK) and systems sensitive to sharp transitions, such as remote keyless entry.

Sawtooth (Experimental): Generates a sawtooth wave with a unique harmonic profile, useful for testing interference against PWM-based or niche analog systems.

Triangle (Experimental): Creates a triangle wave with minimal harmonics, suitable for exploratory jamming of narrowband systems or receiver linearity testing.

Chirp: Outputs a rapid frequency-sweeping chirp signal, effective against frequency-hopping and spread-spectrum systems (e.g., some Wi-Fi, Bluetooth, or military radios).

Gauss: Generates Gaussian noise to mimic natural interference, targeting digital systems like GPS or data links by degrading signal-to-noise ratios.

Brute (Experimental): Transmits a constant maximum-amplitude signal to saturate simple receiver front-ends, useful for brute-force jamming of basic analog devices.

* Add new jammer modes

Overview

This PR enhances the PortaPack Jammer app by introducing eight new signal types, ported from my Flipper Zero RF Jammer app (https://github.com/RocketGod-git/flipper-zero-rf-jammer). These modes expand the app's capability to disrupt a wide range of RF communication protocols, from analog radios to modern digital systems. The implementation preserves the original app structure, resolves namespace conflicts, and ensures compatibility with the Mayhem firmware.

New Modes

The following modes have been added to the options_type in ui_jammer.hpp, with corresponding signal generation in proc_jammer.cpp:

Noise: Generates broadband white noise to interfere with analog and digital signals (e.g., Wi-Fi, Bluetooth, key fobs). Highly effective for overwhelming receivers across a frequency range.

Sine: Produces a continuous, unmodulated sine wave to jam narrowband receivers, ideal for analog FM/AM radios or telemetry systems.

Square: Emits a harmonic-rich square wave, disrupting digital protocols (e.g., OOK, ASK) and systems sensitive to sharp transitions, such as remote keyless entry.

Sawtooth (Experimental): Generates a sawtooth wave with a unique harmonic profile, useful for testing interference against PWM-based or niche analog systems.

Triangle (Experimental): Creates a triangle wave with minimal harmonics, suitable for exploratory jamming of narrowband systems or receiver linearity testing.

Chirp: Outputs a rapid frequency-sweeping chirp signal, effective against frequency-hopping and spread-spectrum systems (e.g., some Wi-Fi, Bluetooth, or military radios).

Gauss: Generates Gaussian noise to mimic natural interference, targeting digital systems like GPS or data links by degrading signal-to-noise ratios.

Brute (Experimental): Transmits a constant maximum-amplitude signal to saturate simple receiver front-ends, useful for brute-force jamming of basic analog devices.
2025-05-19 19:16:28 +02:00
..
apps Improve_RF_sensitivity_NOAA_signal (#2654) 2025-05-18 12:49:24 +02:00
external Jammer app add modes (#2659) 2025-05-19 19:16:28 +02:00
hw
protocols
ui remove dead code (#2647) 2025-05-07 06:17:12 +02:00
app_settings.cpp
app_settings.hpp
audio.cpp
audio.hpp
baseband_api.cpp Noaa apt decoder (#2648) 2025-05-11 20:24:52 +02:00
baseband_api.hpp Noaa apt decoder (#2648) 2025-05-11 20:24:52 +02:00
binder.hpp
bitmap.hpp Noaa apt decoder (#2648) 2025-05-11 20:24:52 +02:00
capture_thread.cpp
capture_thread.hpp
chconf.h
clock_manager.cpp
clock_manager.hpp
CMakeLists.txt
config_mode.cpp
config_mode.hpp
core_control.cpp
core_control.hpp
database.cpp
database.hpp
debug.cpp
debug.hpp
demofont.hpp
dirty_registers.hpp
event_m0.cpp
event_m0.hpp
field_binder.hpp
file.cpp
file.hpp
file_path.cpp
file_path.hpp
file_reader.cpp
file_reader.hpp
file_wrapper.hpp
firmware_info.c
flipper_subfile.cpp
flipper_subfile.hpp
freqman.cpp
freqman.hpp Adding_WFM_AM_mode_to_Audio_App (#2644) 2025-05-05 17:48:01 +02:00
freqman_db.cpp Improve_RF_sensitivity_NOAA_signal (#2654) 2025-05-18 12:49:24 +02:00
freqman_db.hpp
gradient.cpp
gradient.hpp
halconf.h
i2c_device_to_host.c
i2c_device_to_host.h
io.hpp
io_convert.cpp
io_convert.hpp
io_file.cpp
io_file.hpp
io_wave.cpp
io_wave.hpp
iq_trim.cpp
iq_trim.hpp
irq_controls.cpp
irq_controls.hpp
irq_lcd_frame.cpp
irq_lcd_frame.hpp
irq_rtc.cpp
irq_rtc.hpp
log_file.cpp
log_file.hpp
lz4.h
lz4.S
main.cpp
mcuconf.h
metadata_file.cpp
metadata_file.hpp
ook_file.cpp
ook_file.hpp
portapack.cpp Support IPS screen & brightness set for IPS screen (#2629) 2025-04-17 07:40:28 +02:00
portapack.hpp
qrcodegen.cpp
qrcodegen.hpp
radio.cpp
radio.hpp
radio_state.hpp
receiver_model.cpp Improve_RF_sensitivity_NOAA_signal (#2654) 2025-05-18 12:49:24 +02:00
receiver_model.hpp Adding_WFM_AM_mode_to_Audio_App (#2644) 2025-05-05 17:48:01 +02:00
recent_entries.cpp
recent_entries.hpp
replay_thread.cpp
replay_thread.hpp
rf_path.cpp
rf_path.hpp
rfm69.cpp
rfm69.hpp
rtc_time.cpp
rtc_time.hpp
sd_card.cpp
sd_card.hpp
serializer.cpp
serializer.hpp
shell.cpp
shell.hpp
signal.hpp
spectrum_color_lut.cpp
spectrum_color_lut.hpp
string_format.cpp
string_format.hpp
temperature_logger.cpp
temperature_logger.hpp
theme.cpp
theme.hpp
tone_key.cpp
tone_key.hpp
touch.cpp
touch.hpp
transmitter_model.cpp
transmitter_model.hpp
tuning.cpp
tuning.hpp
ui_baseband_stats_view.cpp
ui_baseband_stats_view.hpp
ui_external_items_menu_loader.cpp
ui_external_items_menu_loader.hpp
ui_navigation.cpp Fix bug that created by PR "Added menu group for transceivers" (#2630) 2025-04-17 07:42:05 +02:00
ui_navigation.hpp
ui_record_view.cpp
ui_record_view.hpp
ui_sd_card_debug.cpp
ui_sd_card_debug.hpp
ui_sd_card_status_view.cpp
ui_sd_card_status_view.hpp
unistroke.hpp
usb_serial.cpp
usb_serial.hpp
usb_serial_asyncmsg.cpp
usb_serial_asyncmsg.hpp
usb_serial_cdc.c
usb_serial_cdc.h
usb_serial_descriptor.c
usb_serial_descriptor.h
usb_serial_device_to_host.c
usb_serial_device_to_host.h
usb_serial_endpoints.c
usb_serial_endpoints.h
usb_serial_event.cpp
usb_serial_event.hpp
usb_serial_host_to_device.cpp
usb_serial_host_to_device.hpp
usb_serial_shell.cpp
usb_serial_shell.hpp
usb_serial_shell_filesystem.cpp
usb_serial_shell_filesystem.hpp
usb_serial_thread.cpp
usb_serial_thread.hpp
view_factory.hpp
view_factory_base.cpp
view_factory_base.hpp
ymdata.hpp