AI Slop Code RIsk Monitor

portapack-mayhem/mayhem-firmware

The firmware for the HackRF+PortaPack H1/H2/H4/H4M

4.9 Low pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for portapack-mayhem/mayhem-firmware, a C project with 5,467 GitHub stars. SynthScan examined 809,496 lines of code across 3087 source files, recording 4998 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 4.9 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

4.9
Adjusted Signal
4.9
Raw Pattern Score
100%
Time Factor
2026-10-11
Last Push
5.5K
Stars
C
Language
809.5K
Lines of Code
3.1K
Files
5.0K
Pattern Hits
2026-10-12
Scan Date
0.00
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 21.0/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 4937 finding(s).

Hallucinated Dependency & Supply Chain Risk 0.1/100 · LOW

Are imports declared and package/API names verified? 8 finding(s).

Agent Over-Engineering Ratio 0.8/100 · LOW

Are wrappers, guards, and repeated structures necessary? 60 finding(s).

PR Review Velocity Impact 27.1/100 · MEDIUM

Which changes need focused human review? 4998 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 5MEDIUM 52LOW 4941

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 4998 distinct pattern matches across 13 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Over-Commented Block4835 hits · 3632 pts
SeverityFileLineSnippetContext
LOWCMakeLists.txt1# Copyright 2016 Jared Boone <jared@sharebrained.com>COMMENT
LOWdockerize.sh1#!/bin/bashCOMMENT
LOWdockerize.sh21# Change the default build directory: ./dockerize.sh -B build-altCOMMENT
LOWdockerize.sh41#COMMENT
LOWsdcard/LOOKINGGLASS/DECT.TXT1# INI,END,DESCRIPTIONCOMMENT
LOWsdcard/LOOKINGGLASS/MICS.TXT1# INI,END,DESCRIPTIONCOMMENT
LOWsdcard/LOOKINGGLASS/MARINE_BAND.TXT1# INI,END,DESCRIPTIONCOMMENT
LOWsdcard/LOOKINGGLASS/MULTI_USE_RADIO_SERVICE_MURS.TXT1# INI,END,DESCRIPTIONCOMMENT
LOWsdcard/LOOKINGGLASS/WIFI.TXT1# INI,END,DESCRIPTIONCOMMENT
LOWsdcard/LOOKINGGLASS/433_MHz_BAND.TXT1# INI,END,DESCRIPTIONCOMMENT
LOWsdcard/LOOKINGGLASS/AUS_UHF_CB.TXT1# INI,END,DESCRIPTIONCOMMENT
LOWsdcard/LOOKINGGLASS/RAILROAD.TXT1# INI,END,DESCRIPTIONCOMMENT
LOWsdcard/LOOKINGGLASS/RADIOSONDES.TXT1# INI,END,DESCRIPTIONCOMMENT
LOWsdcard/LOOKINGGLASS/COMMON_PUBLIC_SERVICE_BANDS.TXT1# INI,END,DESCRIPTIONCOMMENT
LOWsdcard/LOOKINGGLASS/FULL.TXT1# INI,END,DESCRIPTIONCOMMENT
LOWsdcard/LOOKINGGLASS/CITIZENS_BAND_RADIO.TXT1# INI,END,DESCRIPTIONCOMMENT
LOWsdcard/LOOKINGGLASS/NOAA_WEATHER_RADIO.TXT1# INI,END,DESCRIPTIONCOMMENT
LOWsdcard/LOOKINGGLASS/WATER_METERS.TXT1# INI,END,DESCRIPTIONCOMMENT
LOWsdcard/LOOKINGGLASS/FRSGMRS.TXT1# INI,END,DESCRIPTIONCOMMENT
LOWsdcard/LOOKINGGLASS/CubeSats.TXT1# INI,END,DESCRIPTIONCOMMENT
LOWfirmware/CMakeLists.txt1# Copyright 2016 Jared Boone <jared@sharebrained.com>COMMENT
LOWfirmware/chibios/test/test.h41COMMENT
LOWfirmware/chibios/test/test.c21 * @addtogroup testCOMMENT
LOWfirmware/chibios/testhal/SPC560Pxx/PWM-ICU/mcuconf.h141#define SPC5_ME_LP_PC5_BITS (SPC5_ME_LP_PC_HALT0 | \COMMENT
LOWfirmware/chibios/testhal/SPC560Pxx/PWM-ICU/mcuconf.h161#define SPC5_SERIAL_LINFLEX1_START_PCTL (SPC5_ME_PCTL_RUN(1) | \COMMENT
LOWfirmware/chibios/testhal/SPC560Pxx/PWM-ICU/mcuconf.h181COMMENT
LOWfirmware/chibios/testhal/SPC560Pxx/PWM-ICU/mcuconf.h201#define SPC5_ICU_USE_SMOD10 FALSECOMMENT
LOWfirmware/chibios/testhal/SPC563Mxx/ADC/mcuconf.h41 BIUCR_MASTER0_PREFETCH | \COMMENT
LOWfirmware/chibios/testhal/SPC563Mxx/ADC/mcuconf.h81#define SPC5_USE_ESCIA TRUECOMMENT
LOWfirmware/chibios/testhal/LPC13xx/IRQ_STORM/main.c21COMMENT
LOWfirmware/chibios/testhal/LPC13xx/IRQ_STORM/mcuconf.h61/*COMMENT
LOWfirmware/chibios/testhal/STM32F0xx/PWM-ICU/mcuconf.h41#define STM32_LSI_ENABLED TRUECOMMENT
LOWfirmware/chibios/testhal/STM32F0xx/PWM-ICU/mcuconf.h81#define STM32_GPT_USE_TIM2 FALSECOMMENT
LOWfirmware/chibios/testhal/STM32F0xx/PWM-ICU/mcuconf.h101 * ICU driver system settings.COMMENT
LOWfirmware/chibios/testhal/STM32F0xx/PWM-ICU/mcuconf.h121/*COMMENT
LOWfirmware/chibios/testhal/STM32F0xx/PWM-ICU/mcuconf.h141 * UART driver system settings.COMMENT
LOWfirmware/chibios/testhal/STM32F0xx/EXT/mcuconf.h41#define STM32_LSI_ENABLED TRUECOMMENT
LOWfirmware/chibios/testhal/STM32F0xx/EXT/mcuconf.h81#define STM32_GPT_USE_TIM2 FALSECOMMENT
LOWfirmware/chibios/testhal/STM32F0xx/EXT/mcuconf.h101 * ICU driver system settings.COMMENT
LOWfirmware/chibios/testhal/STM32F0xx/EXT/mcuconf.h121/*COMMENT
LOWfirmware/chibios/testhal/STM32F0xx/EXT/mcuconf.h141 * UART driver system settings.COMMENT
LOWfirmware/chibios/testhal/STM32F0xx/IRQ_STORM/main.c21COMMENT
LOWfirmware/chibios/testhal/STM32F0xx/IRQ_STORM/mcuconf.h41#define STM32_LSI_ENABLED TRUECOMMENT
LOWfirmware/chibios/testhal/STM32F0xx/IRQ_STORM/mcuconf.h81#define STM32_GPT_USE_TIM2 TRUECOMMENT
LOWfirmware/chibios/testhal/STM32F0xx/IRQ_STORM/mcuconf.h101 * ICU driver system settings.COMMENT
LOWfirmware/chibios/testhal/STM32F0xx/IRQ_STORM/mcuconf.h121/*COMMENT
LOWfirmware/chibios/testhal/STM32F0xx/IRQ_STORM/mcuconf.h141 * UART driver system settings.COMMENT
LOWfirmware/chibios/testhal/STM32F0xx/SPI/mcuconf.h41#define STM32_LSI_ENABLED TRUECOMMENT
LOWfirmware/chibios/testhal/STM32F0xx/SPI/mcuconf.h81#define STM32_GPT_USE_TIM2 FALSECOMMENT
LOWfirmware/chibios/testhal/STM32F0xx/SPI/mcuconf.h101 * ICU driver system settings.COMMENT
LOWfirmware/chibios/testhal/STM32F0xx/SPI/mcuconf.h121/*COMMENT
LOWfirmware/chibios/testhal/STM32F0xx/SPI/mcuconf.h141 * UART driver system settings.COMMENT
LOWfirmware/chibios/testhal/STM32F0xx/ADC/mcuconf.h41#define STM32_LSI_ENABLED TRUECOMMENT
LOWfirmware/chibios/testhal/STM32F0xx/ADC/mcuconf.h81#define STM32_GPT_USE_TIM2 FALSECOMMENT
LOWfirmware/chibios/testhal/STM32F0xx/ADC/mcuconf.h101 * ICU driver system settings.COMMENT
LOWfirmware/chibios/testhal/STM32F0xx/ADC/mcuconf.h121/*COMMENT
LOWfirmware/chibios/testhal/STM32F0xx/ADC/mcuconf.h141 * UART driver system settings.COMMENT
LOWfirmware/chibios/testhal/STM32F0xx/UART/mcuconf.h41#define STM32_LSI_ENABLED TRUECOMMENT
LOWfirmware/chibios/testhal/STM32F0xx/UART/mcuconf.h81#define STM32_GPT_USE_TIM2 FALSECOMMENT
LOWfirmware/chibios/testhal/STM32F0xx/UART/mcuconf.h101 * ICU driver system settings.COMMENT
4775 more matches not shown…
Decorative Section Separators21 hits · 63 pts
SeverityFileLineSnippetContext
MEDIUM…/chibios/demos/ARMCM0P-LPC812-LPCXPRESSO/lpc8xx_isp.py5#=========================================================COMMENT
MEDIUM…/chibios/demos/ARMCM0P-LPC812-LPCXPRESSO/lpc8xx_isp.py14#=========================================================COMMENT
MEDIUM…/chibios/demos/ARMCM0P-LPC812-LPCXPRESSO/lpc8xx_isp.py28#=========================================================COMMENT
MEDIUM…/chibios/demos/ARMCM0P-LPC812-LPCXPRESSO/lpc8xx_isp.py44#=========================================================COMMENT
MEDIUM…/chibios/demos/ARMCM0P-LPC812-LPCXPRESSO/lpc8xx_isp.py102#=========================================================COMMENT
MEDIUM…/chibios/demos/ARMCM0P-LPC812-LPCXPRESSO/lpc8xx_isp.py137#=========================================================COMMENT
MEDIUM…/chibios/demos/ARMCM0P-LPC812-LPCXPRESSO/lpc8xx_isp.py138#=========================================================COMMENT
MEDIUMfirmware/tools/make_macaddress_db/make_macaddress_db.py19# -------------------------------------------------------------------------------------COMMENT
MEDIUMfirmware/tools/make_macaddress_db/make_macaddress_db.py22# -------------------------------------------------------------------------------------COMMENT
MEDIUMfirmware/tools/make_airlines_db/make_airlines_db.py20# -------------------------------------------------------------------------------------COMMENT
MEDIUMfirmware/tools/make_airlines_db/make_airlines_db.py24# -------------------------------------------------------------------------------------COMMENT
MEDIUMfirmware/tools/make_icao24_db/make_icao24_db.py22# -------------------------------------------------------------------------------------COMMENT
MEDIUMfirmware/tools/make_icao24_db/make_icao24_db.py26# -------------------------------------------------------------------------------------COMMENT
MEDIUMfirmware/tools/make_mids_db/make_mid_db.py21# -------------------------------------------------------------------------------------COMMENT
MEDIUMfirmware/tools/make_mids_db/make_mid_db.py27# -------------------------------------------------------------------------------------COMMENT
MEDIUM…re/application/external/two_tone_rx/ui_two_tone_rx.hpp102 // ── Two-tone detection state machine ─────────────────────────────────────COMMENT
MEDIUM…re/application/external/two_tone_rx/ui_two_tone_rx.hpp138 // ── Row 0: frequency + RF controls ───────────────────────────────────────COMMENT
MEDIUM…re/application/external/two_tone_rx/ui_two_tone_rx.hpp154 // ── Row 1: CTCSS / Squelch / Start+Stop / Clear ──────────────────────────COMMENT
MEDIUM…re/application/external/two_tone_rx/ui_two_tone_rx.hpp181 // ── Row 2: live status (active tone in progress) + Bias-T toggle ─────────COMMENT
MEDIUM…re/application/external/two_tone_rx/ui_two_tone_rx.hpp198 // ── Waterfall (rest of screen) ────────────────────────────────────────────COMMENT
MEDIUM…re/application/external/two_tone_rx/ui_two_tone_rx.hpp202 // ── Message handler ───────────────────────────────────────────────────────COMMENT
Verbosity Indicators36 hits · 58 pts
SeverityFileLineSnippetContext
LOWfirmware/chibios/os/hal/platforms/Posix/pal_lld.h151 * @details The purpose of this function is to read back the latched outputCOMMENT
LOWfirmware/chibios/os/hal/platforms/LPC11Uxx/pal_lld.h140 * @details The purpose of this function is to read back the latched outputCOMMENT
LOWfirmware/chibios/os/hal/platforms/AVR/pal_lld.h240 * @details The purpose of this function is to read back the latched outputCOMMENT
LOWfirmware/chibios/os/hal/platforms/LPC8xx/pal_lld.h129 * @details The purpose of this function is to read back the latched outputCOMMENT
LOW…ware/chibios/os/hal/platforms/SPC5xx/SIUL_v1/pal_lld.h248 * @details The purpose of this function is to read back the latched outputCOMMENT
LOW…mware/chibios/os/hal/platforms/SPC5xx/SIU_v1/pal_lld.h242 * @details The purpose of this function is to read back the latched outputCOMMENT
LOWfirmware/chibios/os/hal/platforms/LPC13xx/pal_lld.h156 * @details The purpose of this function is to read back the latched outputCOMMENT
LOWfirmware/chibios/os/hal/platforms/LPC122x/pal_lld.h151 * @details The purpose of this function is to read back the latched outputCOMMENT
LOWfirmware/chibios/os/hal/platforms/Win32/pal_lld.h151 * @details The purpose of this function is to read back the latched outputCOMMENT
LOWfirmware/chibios/os/hal/platforms/LPC11xx/pal_lld.h156 * @details The purpose of this function is to read back the latched outputCOMMENT
LOWfirmware/chibios/os/hal/include/pal.h236 * @details The purpose of this function is to read back the latched outputCOMMENT
LOWfirmware/chibios/os/hal/templates/pal_lld.h117 * @details The purpose of this function is to read back the latched outputCOMMENT
LOW⚡firmware/common/utility.cpp97 // Step 1: Normalize IQ values (convert 8-bit signed to -1.0 to +1.0)COMMENT
LOW⚡firmware/common/utility.cpp101 // Step 2: Compute the magnitude squared (I^2 + Q^2)COMMENT
LOW⚡firmware/common/utility.cpp104 // Step 3: Convert the magnitude squared to actual power (in watts)COMMENT
LOW⚡firmware/common/utility.cpp108 // Step 4: Convert the power to dBm (multiply by 1000 to convert watts to milliwatts)COMMENT
LOW⚡firmware/application/apps/ui_debug.cpp1203 // Step 1: InitCOMMENT
LOW⚡firmware/application/apps/ui_debug.cpp1208 // Step 2: Set sample rate (configures Si5351 clocks!)COMMENT
LOW⚡firmware/application/apps/ui_debug.cpp1212 // Step 3: RX modeCOMMENT
LOW⚡firmware/application/apps/ui_debug.cpp1216 // Step 4: Frequency - use 2437 MHz (WiFi ch6) which is in MAX2831 rangeCOMMENT
LOW⚡firmware/application/apps/ui_debug.cpp1222 // Step 5: Configure SGPIO outputs with correct DISABLE sequenceCOMMENT
LOW⚡firmware/application/apps/ui_debug.cpp1469 // Step 7: Enable slice A counter (keep slice D enabled) - still with DISABLE=HIGHCOMMENT
LOW⚡firmware/application/apps/ui_debug.cpp1479 // Step 8: Enable streaming (DISABLE=LOW) - THIS IS THE CRITICAL TESTCOMMENT
LOW⚡firmware/application/apps/ui_debug.cpp2965 // Step 1: Read current valueCOMMENT
LOW⚡firmware/application/apps/ui_debug.cpp2968 // Step 2: Write a different value (change ENBL bit to toggle)COMMENT
LOW⚡firmware/application/apps/ui_debug.cpp2972 // Step 3: Read backCOMMENT
LOW⚡firmware/application/apps/ui_debug.cpp2975 // Step 4: Restore originalCOMMENT
LOWfirmware/application/apps/ui_debug.cpp1237 // Step 6: Check raw GPIO pinsCOMMENT
LOWfirmware/application/apps/ui_debug.cpp1311 // Step 0: Baseline with DISABLE=HIGH firstCOMMENT
LOWfirmware/application/apps/ui_debug.cpp1336 // Step 1: OUT_MUX_CFG data pins - test individuallyCOMMENT
LOWfirmware/application/apps/ui_debug.cpp1360 // Step 2: OUT_MUX_CFG control pins - SKIP PIN 10 (HOST_DISABLE)COMMENT
LOWfirmware/application/apps/ui_debug.cpp1394 // Step 3: Set GPIO_OENREG for RXCOMMENT
LOWfirmware/application/apps/ui_debug.cpp1429 // Step 4: SGPIO_MUX_CFG slice ACOMMENT
LOWfirmware/application/apps/ui_debug.cpp1441 // Step 5: SLICE_MUX_CFG slice ACOMMENT
LOWfirmware/application/apps/ui_debug.cpp1453 // Step 6: Slice A registersCOMMENT
LOW…e/chibios-portapack/os/hal/platforms/LPC43xx/pal_lld.h176 * @details The purpose of this function is to read back the latched outputCOMMENT
Self-Referential Comments19 hits · 57 pts
SeverityFileLineSnippetContext
MEDIUMdockerize.sh40# This file is part of PortaPack.COMMENT
MEDIUMfirmware/tools/export_external_apps.py7# This file is part of PortaPack.COMMENT
MEDIUMfirmware/tools/guru_lookup.py6# This file is part of PortaPack.COMMENT
MEDIUMfirmware/tools/simple_checksum.py6# This file is part of PortaPack.COMMENT
MEDIUMfirmware/tools/copy_external_apps.sh6# This file is part of PortaPack.COMMENT
MEDIUM…ware/tools/check_external_app_linker_script_correct.py6# This file is part of PortaPack.COMMENT
MEDIUMfirmware/tools/extract_cpld_data.py6# This file is part of PortaPack.COMMENT
MEDIUMfirmware/tools/make_spi_image.py8# This file is part of PortaPack.COMMENT
MEDIUMfirmware/tools/check_gcc_version_from_elf.py6# This file is part of PortaPack.COMMENT
MEDIUMfirmware/tools/fast_flash_pp_and_copy_apps.py3# This file is part of PortaPack.COMMENT
MEDIUMfirmware/tools/docker-entrypoint.sh6# This file is part of PortaPack.COMMENT
MEDIUMfirmware/tools/check_external_symbol_placement.py6# This file is part of PortaPack.COMMENT
MEDIUMfirmware/tools/make_image_chunk.py6# This file is part of PortaPack.COMMENT
MEDIUMfirmware/tools/stack_usage.py6# This file is part of PortaPack.COMMENT
MEDIUMfirmware/tools/widget_preview.py4# This file is part of PortaPack.COMMENT
MEDIUMfirmware/tools/elf_info.py6# This file is part of PortaPack.COMMENT
MEDIUMfirmware/tools/enter_mode.sh6# This file is part of PortaPack.COMMENT
MEDIUMfirmware/tools/external_app_info.py6# This file is part of PortaPack.COMMENT
MEDIUM…rmware/tools/bitmap_tools/bitmap_arr_reverse_decode.py6# This file is part of PortaPack.COMMENT
Excessive Try-Catch Wrapping27 hits · 42 pts
SeverityFileLineSnippetContext
LOW…ware/tools/check_external_app_linker_script_correct.py125 except Exception as e:CODE
LOWfirmware/tools/make_spi_image.py216except Exception as e:STRING
LOWfirmware/tools/fast_flash_pp_and_copy_apps.py55 except Exception as e:CODE
LOWfirmware/tools/fast_flash_pp_and_copy_apps.py78 except Exception as e:CODE
LOWfirmware/tools/fast_flash_pp_and_copy_apps.py255 except Exception as e:CODE
LOWfirmware/tools/fast_flash_pp_and_copy_apps.py268 except Exception as e:CODE
MEDIUMfirmware/tools/fast_flash_pp_and_copy_apps.py129def get_pp_device_linux():CODE
LOWfirmware/tools/make_macaddress_db/make_macaddress_db.py164 except Exception as e:CODE
MEDIUMfirmware/tools/make_macaddress_db/make_macaddress_db.py165 print(f"Error creating MAC address database: {e}")CODE
LOWfirmware/tools/make_airlines_db/make_airlines_db.py73 except Exception as e:CODE
MEDIUMfirmware/tools/make_airlines_db/make_airlines_db.py74 print(f"Error downloading airline codes file: {e}")CODE
LOWfirmware/tools/make_airlines_db/make_airlines_db.py113 except Exception as e:CODE
LOWfirmware/tools/make_airlines_db/make_airlines_db.py270 except Exception as e:CODE
MEDIUMfirmware/tools/make_airlines_db/make_airlines_db.py271 print(f"Error creating airline database: {e}")CODE
MEDIUMfirmware/tools/bmp_tools/hex_cpp_arr_to_bmp.py30 print("Error: No hex data found.")CODE
LOW⚡firmware/tools/make_icao24_db/make_icao24_db.py85 except Exception as e:CODE
MEDIUM⚡firmware/tools/make_icao24_db/make_icao24_db.py86 print(f"Error downloading aircraft database file: {e}")CODE
LOWfirmware/tools/make_icao24_db/make_icao24_db.py130 except Exception as e:CODE
LOWfirmware/tools/make_icao24_db/make_icao24_db.py292 except Exception as e:CODE
MEDIUMfirmware/tools/make_icao24_db/make_icao24_db.py293 print(f"Error creating ICAO24 database: {e}")CODE
MEDIUMfirmware/tools/bitmap_tools/pp_png2hpp.py208 print(f"Error: {hpp_file_path} is not a valid file.")STRING
LOW⚡hardware/portapack_h2m/fonts/_get_font_info.py32 except Exception as e:CODE
MEDIUM⚡hardware/portapack_h2m/fonts/_get_font_info.py33 print(f"Error reading copyright info from {font_file}: {e}")CODE
LOW⚡hardware/portapack_h2m/fonts/_get_font_info.py43 except Exception as e:CODE
MEDIUM⚡hardware/portapack_h2m/fonts/_get_font_info.py44 print(f"Error writing license file for {font_file}: {e}")CODE
MEDIUMhardware/portapack_h2m/fonts/_get_font_info.py19def read_copyright_info(font_file):CODE
MEDIUMhardware/portapack_h2m/fonts/_get_font_info.py36def write_license_file(font_file, copyright_info):CODE
Structural Annotation Overuse23 hits · 39 pts
SeverityFileLineSnippetContext
LOW⚡firmware/common/utility.cpp97 // Step 1: Normalize IQ values (convert 8-bit signed to -1.0 to +1.0)COMMENT
LOW⚡firmware/common/utility.cpp101 // Step 2: Compute the magnitude squared (I^2 + Q^2)COMMENT
LOW⚡firmware/common/utility.cpp104 // Step 3: Convert the magnitude squared to actual power (in watts)COMMENT
LOW⚡firmware/common/utility.cpp108 // Step 4: Convert the power to dBm (multiply by 1000 to convert watts to milliwatts)COMMENT
LOW⚡firmware/application/apps/ui_debug.cpp1203 // Step 1: InitCOMMENT
LOW⚡firmware/application/apps/ui_debug.cpp1208 // Step 2: Set sample rate (configures Si5351 clocks!)COMMENT
LOW⚡firmware/application/apps/ui_debug.cpp1212 // Step 3: RX modeCOMMENT
LOW⚡firmware/application/apps/ui_debug.cpp1216 // Step 4: Frequency - use 2437 MHz (WiFi ch6) which is in MAX2831 rangeCOMMENT
LOW⚡firmware/application/apps/ui_debug.cpp1222 // Step 5: Configure SGPIO outputs with correct DISABLE sequenceCOMMENT
LOW⚡firmware/application/apps/ui_debug.cpp1469 // Step 7: Enable slice A counter (keep slice D enabled) - still with DISABLE=HIGHCOMMENT
LOW⚡firmware/application/apps/ui_debug.cpp1479 // Step 8: Enable streaming (DISABLE=LOW) - THIS IS THE CRITICAL TESTCOMMENT
LOW⚡firmware/application/apps/ui_debug.cpp2965 // Step 1: Read current valueCOMMENT
LOW⚡firmware/application/apps/ui_debug.cpp2968 // Step 2: Write a different value (change ENBL bit to toggle)COMMENT
LOW⚡firmware/application/apps/ui_debug.cpp2972 // Step 3: Read backCOMMENT
LOW⚡firmware/application/apps/ui_debug.cpp2975 // Step 4: Restore originalCOMMENT
LOWfirmware/application/apps/ui_debug.cpp1237 // Step 6: Check raw GPIO pinsCOMMENT
LOWfirmware/application/apps/ui_debug.cpp1311 // Step 0: Baseline with DISABLE=HIGH firstCOMMENT
LOWfirmware/application/apps/ui_debug.cpp1336 // Step 1: OUT_MUX_CFG data pins - test individuallyCOMMENT
LOWfirmware/application/apps/ui_debug.cpp1360 // Step 2: OUT_MUX_CFG control pins - SKIP PIN 10 (HOST_DISABLE)COMMENT
LOWfirmware/application/apps/ui_debug.cpp1394 // Step 3: Set GPIO_OENREG for RXCOMMENT
LOWfirmware/application/apps/ui_debug.cpp1429 // Step 4: SGPIO_MUX_CFG slice ACOMMENT
LOWfirmware/application/apps/ui_debug.cpp1441 // Step 5: SLICE_MUX_CFG slice ACOMMENT
LOWfirmware/application/apps/ui_debug.cpp1453 // Step 6: Slice A registersCOMMENT
Empty Error Handlers5 hits · 25 pts
SeverityFileLineSnippetContext
HIGHfirmware/tools/guru_lookup.py98except (OSError, struct.error):CODE
HIGHfirmware/tools/fast_flash_pp_and_copy_apps.py262except:CODE
HIGHfirmware/tools/widget_preview.py151except IndexError:CODE
HIGHfirmware/tools/generate_ui-about-simple.cpp.py122except:CODE
HIGHhardware/portapack_h2m/fonts/_get_font_info.py12except UnicodeDecodeError:CODE
Deep Nesting12 hits · 12 pts
SeverityFileLineSnippetContext
LOWfirmware/tools/fast_flash_pp_and_copy_apps.py40CODE
LOWfirmware/tools/fast_flash_pp_and_copy_apps.py129CODE
LOWfirmware/tools/fast_flash_pp_and_copy_apps.py166CODE
LOWfirmware/tools/stack_usage.py95CODE
LOWfirmware/tools/stack_usage.py155CODE
LOWfirmware/tools/widget_preview.py135CODE
LOWfirmware/tools/make_macaddress_db/make_macaddress_db.py74CODE
LOWfirmware/tools/make_airlines_db/make_airlines_db.py78CODE
LOWfirmware/tools/make_airlines_db/make_airlines_db.py175CODE
LOWfirmware/tools/make_icao24_db/make_icao24_db.py90CODE
LOWtools/list_baseband_images.py194CODE
LOWtools/update_external_tier_ld.py138CODE
Unused Imports8 hits · 8 pts
SeverityFileLineSnippetContext
LOWfirmware/tools/append_fpga_bitstream.py12CODE
LOWfirmware/tools/make_dcs.py23CODE
LOWfirmware/tools/make_dcs.py24CODE
LOWfirmware/tools/simple_checksum.py25CODE
LOWfirmware/tools/generate_world_map.bin.py21CODE
LOWfirmware/tools/generate_world_map.bin.py22CODE
LOWfirmware/tools/bitmap_tools/make_bitmap2.py22CODE
LOWfirmware/tools/bitmap_tools/make_bitmap.py22CODE
Hyper-Verbose Identifiers7 hits · 6 pts
SeverityFileLineSnippetContext
LOWfirmware/tools/make_spi_image.py152def get_gcc_version_from_elf_files_in_giving_path_or_filename_s_path(path):STRING
LOWfirmware/tools/make_spi_image.py257def report_external_app_references(readelf, elf_path):STRING
LOWfirmware/tools/generate_ui-about-simple.cpp.py161def pp_create_ui_about_simple_cpp(cpp_file, cppheader, cppcontent, cppfooter):STRING
LOWfirmware/tools/generate_ui-about-simple.cpp.py173def pp_change_ui_about_simple_cpp(cpp_file, cppcontent):STRING
LOWfirmware/tools/external_app_info.py46def read_external_apps_address_end(application_binary_dir):CODE
LOWfirmware/tools/external_app_info.py63def read_external_app_sections(application_binary_dir):CODE
LOW⚡firmware/tools/make_icao24_db/make_icao24_db.py78def download_aircraft_database() -> None:CODE
TODO Padding2 hits · 3 pts
SeverityFileLineSnippetContext
LOWfirmware/application/ui_external_items_menu_loader.cpp387// TODO: implement baseband image supportCOMMENT
LOWfirmware/application/ui_external_items_menu_loader.cpp423// TODO: implement baseband image supportCOMMENT
Slop Phrases2 hits · 2 pts
SeverityFileLineSnippetContext
LOWfirmware/common/i2cdevmanager.hpp47 void set_update_interval(uint8_t interval); // sets the device's update interval in sec. if you change it, don't foCODE
LOWfirmware/baseband/proc_bint_stream_tx.hpp23 For usage check the FlipperTX app. Don't forget to "close" the tx by sending 42069, 613379 values at the end of the CODE
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOW.github/workflows/changelog.py37 # Check if the request was successful (status code 200)COMMENT