AI Slop Code RIsk Monitor

GlasgowEmbedded/glasgow

Scots Army Knife for electronics

24.2 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for GlasgowEmbedded/glasgow, a Python project with 2,225 GitHub stars. SynthScan examined 75,613 lines of code across 369 source files, recording 903 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 24.2 (Elevated 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.

24.2
Adjusted Signal
24.2
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
2.2K
Stars
Python
Language
75.6K
Lines of Code
369
Files
903
Pattern Hits
2026-10-12
Scan Date
0.23
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 21.7/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 48.3/100 · MEDIUM

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

Agent Over-Engineering Ratio 28.7/100 · MEDIUM

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

PR Review Velocity Impact 66.9/100 · HIGH

Which changes need focused human review? 903 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 57HIGH 29MEDIUM 55LOW 762

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 903 distinct pattern matches across 15 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.

Hallucination Indicators57 hits · 770 pts
SeverityFileLineSnippetContext
CRITICALsoftware/glasgow/applet/interface/analyzer2/__init__.py298 m.d.comb += self.o_samples.p.meta.offset.eq(offset)CODE
CRITICALsoftware/glasgow/applet/interface/analyzer2/__init__.py333 m.d.comb += self.o_samples.p.meta.marker.eq(marker)CODE
CRITICALsoftware/glasgow/applet/interface/analyzer2/__init__.py335 m.d.comb += self.o_samples.p.meta.marker.eq(Marker.Trigger)CODE
CRITICALsoftware/glasgow/applet/interface/analyzer2/__init__.py363 m.d.sync += self.o_samples.p.meta.marker.eq(Marker.Overflow)CODE
CRITICALsoftware/glasgow/applet/interface/analyzer2/__init__.py364 m.d.sync += self.o_samples.p.meta.offset.eq(0)CODE
CRITICALsoftware/glasgow/applet/interface/analyzer2/__init__.py974 request.i.p.meta.marker.eq(Marker.Overflow),CODE
CRITICALsoftware/glasgow/applet/interface/analyzer2/__init__.py1025 request.i.p.meta.marker.eq(Marker.Complete),CODE
CRITICALsoftware/glasgow/applet/interface/swd_probe/__init__.py112 ctrl.i_stream.p.hdr.ap_ndp.eq(i_command.arg.transfer.ap_ndp),CODE
CRITICALsoftware/glasgow/applet/interface/swd_probe/__init__.py113 ctrl.i_stream.p.hdr.r_nw.eq(i_command.arg.transfer.r_nw),CODE
CRITICAL⚡software/glasgow/applet/bridge/jtag_xvc/__init__.py56 io_streamer.i.p.port.tck.oe.eq(1),CODE
CRITICAL⚡software/glasgow/applet/bridge/jtag_xvc/__init__.py57 io_streamer.i.p.port.tck.o.eq(phase[0]),CODE
CRITICAL⚡software/glasgow/applet/bridge/jtag_xvc/__init__.py58 io_streamer.i.p.port.tms.oe.eq(1),CODE
CRITICAL⚡software/glasgow/applet/bridge/jtag_xvc/__init__.py59 io_streamer.i.p.port.tms.o.eq(self.i_stream.p.tms.bit_select(phase[1:], 1)),CODE
CRITICAL⚡software/glasgow/applet/bridge/jtag_xvc/__init__.py60 io_streamer.i.p.port.tdi.oe.eq(1),CODE
CRITICAL⚡software/glasgow/applet/bridge/jtag_xvc/__init__.py61 io_streamer.i.p.port.tdi.o.eq(self.i_stream.p.tdi.bit_select(phase[1:], 1)),CODE
CRITICALsoftware/glasgow/applet/internal/memtest/__init__.py98 m.d.comb += self._bus.commands.p.addr.eq(curr_addr)CODE
CRITICALsoftware/glasgow/applet/internal/memtest/__init__.py99 m.d.comb += self._bus.commands.p.size.eq(self.block_size >> 1)CODE
CRITICALsoftware/glasgow/applet/internal/memtest/__init__.py119 m.d.comb += self._bus.commands.p.type.eq(octoram.Command.GlobalReset)CODE
CRITICALsoftware/glasgow/applet/internal/memtest/__init__.py132 m.d.comb += self._bus.commands.p.type.eq(octoram.Command.WriteMemRow)CODE
CRITICALsoftware/glasgow/applet/internal/memtest/__init__.py153 m.d.comb += self._bus.commands.p.type.eq(octoram.Command.ReadMemRow)CODE
CRITICAL⚡software/glasgow/gateware/octoram.py50 m.d.comb += self.frames.p.port.cs.oe.eq(1)CODE
CRITICAL⚡software/glasgow/gateware/octoram.py59 m.d.comb += self.frames.p.port.clk.oe.eq(1)CODE
CRITICAL⚡software/glasgow/gateware/octoram.py67 self.frames.p.port.dq.oe.eq(1),CODE
CRITICAL⚡software/glasgow/gateware/octoram.py72 self.frames.p.port.dqs.oe.eq(1),CODE
CRITICAL⚡software/glasgow/gateware/octoram.py75 m.d.comb += self.frames.p.meta.epoch.eq(self.octets.p.epoch)CODE
CRITICAL⚡software/glasgow/gateware/octoram.py77 m.d.comb += self.frames.p.meta.valid.eq(1)CODE
CRITICALsoftware/glasgow/gateware/iostream.py207 m.d.comb += io_buffer.i.p.meta.valid.eq(1)CODE
CRITICALsoftware/glasgow/gateware/iostream.py216 m.d.comb += io_buffer.i.p.meta.data.eq(self.i.p.meta)CODE
CRITICAL⚡software/glasgow/gateware/mdio.py61 self.frames.p.port.mdc.o.eq(phase[0]),CODE
CRITICAL⚡software/glasgow/gateware/mdio.py62 self.frames.p.port.mdc.oe.eq(1),CODE
CRITICAL⚡software/glasgow/gateware/mdio.py63 self.frames.p.port.mdio.o.eq(seq_o.bit_select(phase[1:], 1)),CODE
CRITICAL⚡software/glasgow/gateware/mdio.py64 self.frames.p.port.mdio.oe.eq(seq_oe.bit_select(phase[1:], 1)),CODE
CRITICAL⚡software/glasgow/gateware/swd.py117 self.frames.p.port.swclk.oe.eq(1),CODE
CRITICAL⚡software/glasgow/gateware/swd.py118 self.frames.p.port.swdio.o.eq(seq_o.bit_select(bitno, 1).replicate(2)),CODE
CRITICAL⚡software/glasgow/gateware/swd.py119 self.frames.p.port.swdio.oe.eq(seq_oe.bit_select(bitno, 1)),CODE
CRITICAL⚡software/glasgow/gateware/swd.py122 m.d.comb += self.frames.p.meta.type.eq(self.words.p.type)CODE
CRITICAL⚡software/glasgow/gateware/swd.py123 m.d.comb += self.frames.p.meta.half.eq(~self.divisor[0])CODE
CRITICAL⚡software/glasgow/gateware/qspi.py48 m.d.comb += self.frames.p.port.cs.oe.eq(1)CODE
CRITICAL⚡software/glasgow/gateware/qspi.py55 m.d.comb += self.frames.p.port.io0.oe.eq(0b1)CODE
CRITICAL⚡software/glasgow/gateware/qspi.py57 m.d.comb += self.frames.p.port.io0.oe.eq(0b1)CODE
CRITICAL⚡software/glasgow/gateware/qspi.py84 m.d.comb += self.frames.p.port.sck.oe.eq(1)CODE
CRITICAL⚡software/glasgow/gateware/qspi.py89 m.d.comb += self.frames.p.meta.oper.eq(self.octets.p.oper)CODE
CRITICAL⚡software/glasgow/gateware/qspi.py90 m.d.comb += self.frames.p.meta.half.eq(~self.divisor[0])CODE
CRITICALsoftware/glasgow/gateware/spi.py92 m.d.comb += self.frames.p.port.cs.oe.eq(1)CODE
CRITICAL⚡software/glasgow/gateware/spi.py103 m.d.comb += self.frames.p.port.sck.oe.eq(1)CODE
CRITICAL⚡software/glasgow/gateware/spi.py111 m.d.comb += self.frames.p.port.copi.oe.eq(0b1)CODE
CRITICAL⚡software/glasgow/gateware/spi.py113 m.d.comb += self.frames.p.port.copi.oe.eq(0b1)CODE
CRITICAL⚡software/glasgow/gateware/spi.py118 m.d.comb += self.frames.p.meta.oper.eq(self.octets.p.oper)CODE
CRITICAL⚡software/glasgow/gateware/spi.py119 m.d.comb += self.frames.p.meta.half.eq(~self.divisor[0])CODE
CRITICAL⚡software/glasgow/gateware/jtag/probe.py43 m.d.comb += self.frames.p.port.tck.oe.eq(1)CODE
CRITICAL⚡software/glasgow/gateware/jtag/probe.py44 m.d.comb += self.frames.p.port.tck.o.eq(phase[-1])CODE
CRITICAL⚡software/glasgow/gateware/jtag/probe.py46 m.d.comb += self.frames.p.port.tms.oe.eq(1)CODE
CRITICAL⚡software/glasgow/gateware/jtag/probe.py48 m.d.comb += self.frames.p.port.tms.o.eq(self.words.p.data.bit_select(offset, 1))CODE
CRITICAL⚡software/glasgow/gateware/jtag/probe.py50 m.d.comb += self.frames.p.port.tms.o.eq(self.words.p.last & last)CODE
CRITICAL⚡software/glasgow/gateware/jtag/probe.py52 m.d.comb += self.frames.p.port.tdi.oe.eq(1)CODE
CRITICAL⚡software/glasgow/gateware/jtag/probe.py54 m.d.comb += self.frames.p.port.tdi.o.eq(self.words.p.data.bit_select(offset, 1))CODE
CRITICAL⚡software/glasgow/gateware/jtag/probe.py59 m.d.comb += self.frames.p.port.tdi.o.eq(1)CODE
Unused Imports232 hits · 228 pts
SeverityFileLineSnippetContext
LOWdocs/manual/src/conf.py5CODE
LOWsoftware/glasgow/abstract.py1CODE
LOWsoftware/glasgow/abstract.py11CODE
LOWsoftware/glasgow/legacy.py1CODE
LOWsoftware/glasgow/cli.py22CODE
LOWsoftware/glasgow/cli.py34CODE
LOWsoftware/glasgow/hardware/assembly.py9CODE
LOWsoftware/glasgow/hardware/assembly.py24CODE
LOWsoftware/glasgow/hardware/platform/rev_c.py1CODE
LOWsoftware/glasgow/hardware/platform/rev_c.py3CODE
LOWsoftware/glasgow/hardware/platform/__init__.py4CODE
LOWsoftware/glasgow/hardware/platform/ice40.py1CODE
LOWsoftware/glasgow/hardware/platform/ecp5.py3CODE
LOWsoftware/glasgow/hardware/platform/rev_d.py1CODE
LOWsoftware/glasgow/hardware/platform/rev_d.py3CODE
LOWsoftware/glasgow/hardware/platform/rev_ab.py1CODE
LOWsoftware/glasgow/hardware/platform/rev_ab.py3CODE
LOWsoftware/glasgow/simulation/assembly.py6CODE
LOWsoftware/glasgow/protocol/onfi.py7CODE
LOWsoftware/glasgow/protocol/ymodem.py12CODE
LOWsoftware/glasgow/protocol/sfdp.py10CODE
LOWsoftware/glasgow/protocol/nbd.py10CODE
LOWsoftware/glasgow/applet/__init__.py18CODE
LOWsoftware/glasgow/applet/__init__.py399CODE
LOW…are/glasgow/applet/interface/uart_analyzer/__init__.py5CODE
LOW…ware/glasgow/applet/interface/spi_analyzer/__init__.py3CODE
LOWsoftware/glasgow/applet/interface/spi_analyzer/test.py1CODE
LOW…are/glasgow/applet/interface/qspi_analyzer/__init__.py4CODE
LOWsoftware/glasgow/applet/interface/qspi_analyzer/test.py3CODE
LOW…re/glasgow/applet/interface/i2c_controller/__init__.py9CODE
LOW…re/glasgow/applet/interface/i2c_controller/__init__.py15CODE
LOW…ftware/glasgow/applet/interface/i2c_controller/test.py1CODE
LOWsoftware/glasgow/applet/interface/ps2_host/__init__.py62CODE
LOWsoftware/glasgow/applet/interface/ps2_host/__init__.py67CODE
LOWsoftware/glasgow/applet/interface/ps2_host/test.py1CODE
LOW…e/glasgow/applet/interface/qspi_controller/__init__.py5CODE
LOW…tware/glasgow/applet/interface/qspi_controller/test.py1CODE
LOW…tware/glasgow/applet/interface/jtag_pinout/__init__.py8CODE
LOWsoftware/glasgow/applet/interface/sbw_probe/__init__.py4CODE
LOWsoftware/glasgow/applet/interface/analyzer2/__init__.py66CODE
LOWsoftware/glasgow/applet/interface/analyzer2/test.py3CODE
LOW…ftware/glasgow/applet/interface/jtag_probe/__init__.py24CODE
LOWsoftware/glasgow/applet/interface/jtag_probe/test.py3CODE
LOWsoftware/glasgow/applet/interface/swd_probe/__init__.py15CODE
LOWsoftware/glasgow/applet/interface/swd_probe/__init__.py22CODE
LOWsoftware/glasgow/applet/interface/swd_probe/__init__.py23CODE
LOW…re/glasgow/applet/interface/spi_controller/__init__.py6CODE
LOW…ftware/glasgow/applet/interface/spi_controller/test.py1CODE
LOWsoftware/glasgow/applet/interface/analyzer/__init__.py4CODE
LOWsoftware/glasgow/applet/interface/analyzer/__init__.py9CODE
LOWsoftware/glasgow/applet/interface/analyzer/__init__.py10CODE
LOWsoftware/glasgow/applet/interface/analyzer/test.py1CODE
LOW…ftware/glasgow/applet/interface/i2c_target/__init__.py4CODE
LOW…ftware/glasgow/applet/interface/i2c_target/__init__.py8CODE
LOWsoftware/glasgow/applet/interface/i2c_target/test.py1CODE
LOWsoftware/glasgow/applet/interface/uart/__init__.py7CODE
LOWsoftware/glasgow/applet/interface/uart/__init__.py12CODE
LOWsoftware/glasgow/applet/interface/uart/test.py1CODE
LOWsoftware/glasgow/applet/interface/uart/test.py3CODE
LOWsoftware/glasgow/applet/video/hub75_output/__init__.py1CODE
172 more matches not shown…
Deep Nesting179 hits · 174 pts
SeverityFileLineSnippetContext
LOWsoftware/glasgow/abstract.py92CODE
LOWsoftware/glasgow/abstract.py131CODE
LOWsoftware/glasgow/abstract.py201CODE
LOWsoftware/glasgow/legacy.py154CODE
LOWsoftware/glasgow/cli.py133CODE
LOWsoftware/glasgow/cli.py634CODE
LOWsoftware/glasgow/cli.py191CODE
LOWsoftware/glasgow/cli.py226CODE
LOWsoftware/glasgow/cli.py729CODE
LOWsoftware/glasgow/cli.py228CODE
LOWsoftware/glasgow/database/jedec.py6CODE
LOWsoftware/glasgow/hardware/device.py128CODE
LOWsoftware/glasgow/hardware/device.py271CODE
LOWsoftware/glasgow/hardware/device.py481CODE
LOWsoftware/glasgow/hardware/device.py483CODE
LOWsoftware/glasgow/hardware/toolchain.py182CODE
LOWsoftware/glasgow/hardware/toolchain.py322CODE
LOWsoftware/glasgow/hardware/platform/__init__.py99CODE
LOWsoftware/glasgow/hardware/platform/ecp5.py40CODE
LOWsoftware/glasgow/simulation/assembly.py144CODE
LOWsoftware/glasgow/simulation/assembly.py151CODE
LOWsoftware/glasgow/protocol/vgm.py161CODE
LOWsoftware/glasgow/protocol/jtag_svf.py101CODE
LOWsoftware/glasgow/protocol/jtag_svf.py182CODE
LOWsoftware/glasgow/protocol/jtag_svf.py216CODE
LOWsoftware/glasgow/protocol/jtag_svf.py266CODE
LOWsoftware/glasgow/protocol/ymodem.py531CODE
LOWsoftware/glasgow/protocol/jesd3.py88CODE
LOWsoftware/glasgow/protocol/gdb_remote.py121CODE
LOWsoftware/glasgow/protocol/nbd.py205CODE
LOWsoftware/glasgow/applet/__init__.py351CODE
LOWsoftware/glasgow/applet/__init__.py352CODE
LOWsoftware/glasgow/applet/__init__.py355CODE
LOWsoftware/glasgow/applet/_legacy.py197CODE
LOWsoftware/glasgow/applet/_legacy.py198CODE
LOWsoftware/glasgow/applet/_legacy.py200CODE
LOW…ware/glasgow/applet/interface/spi_analyzer/__init__.py129CODE
LOW…re/glasgow/applet/interface/i2c_controller/__init__.py47CODE
LOW…re/glasgow/applet/interface/i2c_controller/__init__.py456CODE
LOWsoftware/glasgow/applet/interface/ps2_host/__init__.py153CODE
LOWsoftware/glasgow/applet/interface/ps2_host/__init__.py235CODE
LOW…e/glasgow/applet/interface/qspi_controller/__init__.py44CODE
LOW…tware/glasgow/applet/interface/jtag_pinout/__init__.py35CODE
LOW…tware/glasgow/applet/interface/jtag_pinout/__init__.py303CODE
LOWsoftware/glasgow/applet/interface/sbw_probe/__init__.py87CODE
LOWsoftware/glasgow/applet/interface/sbw_probe/__init__.py220CODE
LOWsoftware/glasgow/applet/interface/analyzer2/__init__.py281CODE
LOWsoftware/glasgow/applet/interface/analyzer2/__init__.py352CODE
LOWsoftware/glasgow/applet/interface/analyzer2/__init__.py534CODE
LOWsoftware/glasgow/applet/interface/analyzer2/__init__.py637CODE
LOWsoftware/glasgow/applet/interface/analyzer2/__init__.py834CODE
LOWsoftware/glasgow/applet/interface/analyzer2/__init__.py1220CODE
LOWsoftware/glasgow/applet/interface/analyzer2/__init__.py1415CODE
LOWsoftware/glasgow/applet/interface/analyzer2/__init__.py1487CODE
LOWsoftware/glasgow/applet/interface/analyzer2/__init__.py1569CODE
LOW…ftware/glasgow/applet/interface/jtag_probe/__init__.py118CODE
LOW…ftware/glasgow/applet/interface/jtag_probe/__init__.py508CODE
LOW…ftware/glasgow/applet/interface/jtag_probe/__init__.py538CODE
LOW…ftware/glasgow/applet/interface/jtag_probe/__init__.py592CODE
LOW…ftware/glasgow/applet/interface/jtag_probe/__init__.py757CODE
119 more matches not shown…
Modern Structural Boilerplate162 hits · 162 pts
SeverityFileLineSnippetContext
LOWsoftware/glasgow/abstract.py19__all__ = [CODE
LOWsoftware/glasgow/legacy.py8__all__ = [CODE
LOWsoftware/glasgow/database/arc.py4__all__ = ["devices"]CODE
LOWsoftware/glasgow/database/jedec.py3__all__ = ["jedec_mfg_name_from_bytes", "jedec_mfg_name_from_bank_num"]CODE
LOWsoftware/glasgow/database/xilinx/xc9500.py4__all__ = ["devices", "devices_by_idcode", "devices_by_name"]CODE
LOWsoftware/glasgow/database/xilinx/xpla3.py3__all__ = ["devices", "devices_by_idcode", "devices_by_name"]CODE
LOWsoftware/glasgow/database/xilinx/xc6s.py4__all__ = ["devices", "devices_by_idcode", "devices_by_name"]CODE
LOWsoftware/glasgow/database/xilinx/xc9500xl.py4__all__ = ["devices", "devices_by_idcode", "devices_by_name"]CODE
LOWsoftware/glasgow/database/i2c/probe.py4__all__ = ["devices"]CODE
LOWsoftware/glasgow/database/microchip/avr.py4__all__ = ["devices", "devices_by_signature"]CODE
LOWsoftware/glasgow/database/ti/msp430.py5__all__ = ["devices", "devices_by_ids"]CODE
LOWsoftware/glasgow/hardware/build_plan.py17__all__ = ["GlasgowBuildPlan"]CODE
LOWsoftware/glasgow/hardware/build_plan.py20logger = logging.getLogger(__name__)CODE
LOWsoftware/glasgow/hardware/device.py25__all__ = ["GlasgowDevice", "FX2BootloaderDevice"]CODE
LOWsoftware/glasgow/hardware/device.py28logger = logging.getLogger(__name__)CODE
LOWsoftware/glasgow/hardware/assembly.py33__all__ = ["HardwareAssembly"]CODE
LOWsoftware/glasgow/hardware/assembly.py36logger = logging.getLogger(__name__)CODE
LOWsoftware/glasgow/hardware/toolchain.py20__all__ = ["ToolchainNotFound", "ToolOutOfDate", "Toolchain", "find_toolchain"]CODE
LOWsoftware/glasgow/hardware/toolchain.py23logger = logging.getLogger(__name__)CODE
LOWsoftware/glasgow/hardware/platform/rev_c.py6__all__ = ["GlasgowRevC0Platform", "GlasgowRevC123Platform"]CODE
LOWsoftware/glasgow/hardware/platform/__init__.py8__all__ = ["GlasgowPlatformPort", "GlasgowPlatform"]CODE
LOWsoftware/glasgow/hardware/platform/ice40.py7__all__ = ["GlasgowICE40Platform"]CODE
LOWsoftware/glasgow/hardware/platform/ecp5.py11__all__ = ["GlasgowECP5Platform"]CODE
LOWsoftware/glasgow/hardware/platform/rev_d.py6__all__ = ["GlasgowRevD0Platform"]CODE
LOWsoftware/glasgow/hardware/platform/rev_ab.py6__all__ = ["GlasgowRevABPlatform"]CODE
LOWsoftware/glasgow/simulation/assembly.py17__all__ = ["SimulationPipe", "SimulationRORegister", "SimulationRWRegister", "SimulationAssembly"]CODE
LOWsoftware/glasgow/simulation/assembly.py20logger = logging.getLogger(__name__)CODE
LOWsoftware/glasgow/protocol/bsdl.py27__all__ = ["BSDLParseError", "BSDLPortInfo", "BSDLScanCell", "BSDLDevice", "BSDLEntity"]CODE
LOWsoftware/glasgow/protocol/snoop.py9__all__ = ["SnoopDatalinkType", "SnoopPacket", "SnoopWriter", "SnoopReader"]CODE
LOWsoftware/glasgow/protocol/flashrom.py4__all__ = ["SerprogCommand", "SerprogBus"]CODE
LOWsoftware/glasgow/protocol/onfi.py10__all__ = ["ONFIParameters", "ONFIParameterError"]CODE
LOWsoftware/glasgow/protocol/vgm.py7__all__ = ["VGMStreamPlayer", "VGMStreamReader"]CODE
LOWsoftware/glasgow/protocol/jtag_svf.py12__all__ = ["SVFParser", "SVFEventHandler"]CODE
LOWsoftware/glasgow/protocol/ymodem.py30__all__ = [CODE
LOWsoftware/glasgow/protocol/ymodem.py36logger = logging.getLogger(__name__)CODE
LOWsoftware/glasgow/protocol/jesd3.py8__all__ = ["JESD3Parser", "JESD3ParsingError", "JESD3Emitter"]CODE
LOWsoftware/glasgow/protocol/gdb_remote.py13__all__ = ["GDBRemote", "GDBRemoteError"]CODE
LOWsoftware/glasgow/protocol/sfdp.py21__all__ = ["SFDPCollection", "SFDPJEDECFlashParametersTable"]CODE
LOWsoftware/glasgow/protocol/nbd.py13__all__ = ["NBDServer"]CODE
LOWsoftware/glasgow/applet/__init__.py21__all__ = [CODE
LOWsoftware/glasgow/applet/_legacy.py21__all__ = [CODE
LOW…are/glasgow/applet/interface/uart_analyzer/__init__.py17__all__ = ["UARTAnalyzerError", "UARTAnalyzerInterface"]CODE
LOW…ware/glasgow/applet/interface/spi_analyzer/__init__.py15__all__ = ["SPIAnalyzerOverflow", "SPIAnalyzerComponent", "SPIAnalyzerApplet"]CODE
LOWsoftware/glasgow/applet/interface/spi_analyzer/test.py13logger = logging.getLogger(__name__)CODE
LOW…are/glasgow/applet/interface/qspi_analyzer/__init__.py16__all__ = ["QSPIAnalyzerOverflow", "QSPIAnalyzerComponent", "QSPIAnalyzerApplet"]CODE
LOWsoftware/glasgow/applet/interface/qspi_analyzer/test.py15logger = logging.getLogger(__name__)CODE
LOW…re/glasgow/applet/interface/i2c_controller/__init__.py22__all__ = ["I2CNotAcknowledged", "I2CControllerInterface", "PullState"]CODE
LOW…e/glasgow/applet/interface/qspi_controller/__init__.py17__all__ = ["QSPIControllerError", "QSPIControllerComponent", "QSPIControllerInterface"]CODE
LOWsoftware/glasgow/applet/interface/analyzer2/__init__.py79__all__ = [CODE
LOW…ftware/glasgow/applet/interface/jtag_probe/__init__.py37__all__ = ["JTAGProbeDriver", "JTAGState", "JTAGProbeError", "JTAGProbeStateTransitionError",CODE
LOWsoftware/glasgow/applet/interface/swd_probe/__init__.py30__all__ = ["SWDProbeException", "SWDProbeComponent", "SWDProbeInterface"]CODE
LOW…re/glasgow/applet/interface/spi_controller/__init__.py17__all__ = ["SPIControllerError", "SPIControllerComponent", "SPIControllerInterface"]CODE
LOWsoftware/glasgow/applet/radio/nrf24l01/__init__.py17__all__ = ["RadioNRF24L01Error", "RadioNRF24L01Interface"]CODE
LOWsoftware/glasgow/applet/memory/_25q/__init__.py19__all__ = ["Memory25QError", "Memory25QVerifyError", "Memory25QInterface"]CODE
LOWsoftware/glasgow/applet/memory/_25q/decode.py18__all__ = ["MemoryImage", "Memory25QDecoder"]CODE
LOWsoftware/glasgow/applet/memory/floppy/mfm.py4__all__ = ["SoftwareMFMDecoder"]CODE
LOWsoftware/glasgow/applet/memory/_24x/__init__.py18__all__ = ["Memory24xInterface", "I2CNotAcknowledged"]CODE
LOWsoftware/glasgow/applet/bridge/jtag_openocd/__init__.py10__all__ = []CODE
LOWsoftware/glasgow/applet/bridge/probe_rs/__init__.py21__all__ = ["StreamBuffer"]CODE
LOWsoftware/glasgow/applet/bridge/spi_flashrom/__init__.py8__all__ = []CODE
102 more matches not shown…
Empty Error Handlers29 hits · 145 pts
SeverityFileLineSnippetContext
HIGHsoftware/glasgow/cli.py93except OSError:CODE
HIGHsoftware/glasgow/cli.py794except* SIGINTCaught:CODE
HIGHsoftware/glasgow/cli.py1120except ErrorDisconnected:CODE
HIGHsoftware/glasgow/cli.py879except* SIGINTCaught:CODE
HIGHsoftware/glasgow/hardware/assembly.py683except ResourceError:CODE
HIGHsoftware/glasgow/hardware/assembly.py824except ResourceError:CODE
HIGHsoftware/glasgow/protocol/gdb_remote.py210except EOFError:CODE
HIGHsoftware/glasgow/protocol/nbd.py276except EOFError:CODE
HIGH…are/glasgow/applet/interface/uart_analyzer/__init__.py224except OSError:CODE
HIGH…ware/glasgow/applet/interface/spi_analyzer/__init__.py276except OSError:CODE
HIGH…are/glasgow/applet/interface/qspi_analyzer/__init__.py262except OSError:CODE
HIGH…ftware/glasgow/applet/interface/i2c_controller/test.py73except I2CNotAcknowledged:CODE
HIGH…ftware/glasgow/applet/interface/i2c_controller/test.py89except I2CNotAcknowledged:CODE
HIGH…ftware/glasgow/applet/interface/i2c_controller/test.py118except I2CNotAcknowledged:CODE
HIGH…ftware/glasgow/applet/interface/i2c_controller/test.py158except I2CNotAcknowledged:CODE
HIGH…ftware/glasgow/applet/interface/jtag_probe/__init__.py1122except ValueError:CODE
HIGHsoftware/glasgow/applet/interface/uart/__init__.py306except TimeoutError:CODE
HIGHsoftware/glasgow/applet/interface/uart/__init__.py446except* EOFError:CODE
HIGHsoftware/glasgow/applet/video/ws2812_output/__init__.py209except asyncio.CancelledError:CODE
HIGHsoftware/glasgow/applet/bridge/jtag_openocd/__init__.py53except Exception:CODE
HIGHsoftware/glasgow/applet/bridge/spi_flashrom/__init__.py161except EOFError:CODE
HIGHsoftware/glasgow/applet/bridge/jtag_xvc/__init__.py271except EOFError:CODE
HIGHsoftware/glasgow/applet/audio/yamaha_opx/__init__.py860except aiohttp.ClientConnectionResetError:CODE
HIGHsoftware/glasgow/applet/program/ice40_sram/test.py37except ICE40SRAMError:CODE
HIGHsoftware/glasgow/support/arepl.py77except FileNotFoundError:CODE
HIGHsoftware/glasgow/support/os_network.py45except BlockingIOError: # write until the buffer is fullCODE
HIGHsoftware/glasgow/support/usb/libusb1.py245except usb1.USBErrorNotSupported:CODE
HIGHsoftware/glasgow/support/usb/libusb1.py314except usb1.USBErrorNotFound:CODE
HIGHsoftware/tests/protocol/test_ymodem.py42except StopIteration:CODE
Decorative Section Separators46 hits · 140 pts
SeverityFileLineSnippetContext
MEDIUMsoftware/glasgow/applet/interface/ps2_host/__init__.py7# -------------------COMMENT
MEDIUMsoftware/glasgow/applet/interface/ps2_host/__init__.py18# ---------------------COMMENT
MEDIUMsoftware/glasgow/applet/interface/ps2_host/__init__.py53# -----------------------COMMENT
MEDIUM…ftware/glasgow/applet/interface/jtag_probe/__init__.py5# ----------------COMMENT
MEDIUM…ftware/glasgow/applet/interface/jtag_probe/__init__.py13# ----------------COMMENT
MEDIUMsoftware/glasgow/applet/memory/prom/__init__.py825# -------------------------------------------------------------------------------------------------STRING
MEDIUMsoftware/glasgow/applet/memory/onfi/__init__.py2# -------------------COMMENT
MEDIUMsoftware/glasgow/applet/memory/floppy/__init__.py18# ----------------------COMMENT
MEDIUMsoftware/glasgow/applet/memory/floppy/__init__.py41# ------------------------COMMENT
MEDIUMsoftware/glasgow/applet/memory/floppy/__init__.py51# ------------------------COMMENT
MEDIUMsoftware/glasgow/applet/memory/floppy/__init__.py107# ----------------------COMMENT
MEDIUMsoftware/glasgow/applet/memory/floppy/__init__.py118# -----------------------------COMMENT
MEDIUMsoftware/glasgow/applet/memory/floppy/__init__.py138# ---------------------COMMENT
MEDIUMsoftware/glasgow/applet/memory/floppy/__init__.py217# ------------COMMENT
MEDIUMsoftware/glasgow/applet/memory/floppy/__init__.py234# ------------COMMENT
MEDIUMsoftware/glasgow/applet/memory/floppy/__init__.py742# -------------------------------------------------------------------------------------------------STRING
MEDIUM⚡software/glasgow/applet/audio/yamaha_opx/__init__.py100# ------------COMMENT
MEDIUM⚡software/glasgow/applet/audio/yamaha_opx/__init__.py108# ------------COMMENT
MEDIUM⚡software/glasgow/applet/audio/yamaha_opx/__init__.py117# ----------COMMENT
MEDIUMsoftware/glasgow/applet/audio/yamaha_opx/__init__.py9# -----------------COMMENT
MEDIUMsoftware/glasgow/applet/audio/yamaha_opx/__init__.py27# ----------------COMMENT
MEDIUMsoftware/glasgow/applet/audio/yamaha_opx/__init__.py49# ----------COMMENT
MEDIUMsoftware/glasgow/applet/audio/yamaha_opx/__init__.py61# ----------------------COMMENT
MEDIUMsoftware/glasgow/applet/audio/yamaha_opx/__init__.py76# ----------------COMMENT
MEDIUMsoftware/glasgow/applet/audio/yamaha_opx/__init__.py87# --------------------COMMENT
MEDIUMsoftware/glasgow/applet/program/xc9500/__init__.py503# -------------------------------------------------------------------------------------------------STRING
MEDIUMsoftware/glasgow/applet/program/xc9500xl/__init__.py15# ----------------COMMENT
MEDIUMsoftware/glasgow/applet/program/xc9500xl/__init__.py45# -------------------COMMENT
MEDIUMsoftware/glasgow/applet/program/xc9500xl/__init__.py110# -----------------------------------COMMENT
MEDIUMsoftware/glasgow/applet/program/xc9500xl/__init__.py125# ---------------------------COMMENT
MEDIUMsoftware/glasgow/applet/program/xc9500xl/__init__.py161# -----------------------------------------COMMENT
MEDIUMsoftware/glasgow/applet/program/xc9500xl/__init__.py170# ------------------------------COMMENT
MEDIUMsoftware/glasgow/applet/program/xc9500xl/__init__.py214# -----------COMMENT
MEDIUMsoftware/glasgow/applet/program/xc9500xl/__init__.py718# -------------------------------------------------------------------------------------------------STRING
MEDIUM⚡software/glasgow/applet/measure/prn_noise/__init__.py47# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡software/glasgow/applet/measure/prn_noise/__init__.py49# ---------------------------------------------------------------------------COMMENT
MEDIUMsoftware/glasgow/arch/lpc.py9# -------------COMMENT
MEDIUM⚡software/glasgow/arch/lpc.py21# ---------------COMMENT
MEDIUM⚡software/glasgow/arch/lpc.py28# ----------COMMENT
MEDIUM⚡software/glasgow/arch/lpc.py35# -----------------COMMENT
MEDIUMsoftware/glasgow/gateware/fx2_crossbar.py11# -------------COMMENT
MEDIUMsoftware/glasgow/gateware/fx2_crossbar.py51# -------------------COMMENT
MEDIUMsoftware/glasgow/gateware/fx2_crossbar.py83# ----------------------COMMENT
MEDIUMsoftware/glasgow/gateware/fx2_crossbar.py119# ----------------------------------------------COMMENT
MEDIUMsoftware/tests/protocol/test_jtag_svf.py364# -------------------------------------------------------------------------------------------------COMMENT
MEDIUMexamples/boilerplate.py119# -------------------------------------------------------------------------------------------------STRING
Over-Commented Block123 hits · 121 pts
SeverityFileLineSnippetContext
LOWfirmware/stm32/main.c1// The STM32 firmware is written in a rather idiosyncratic manner. This is because of the harshCOMMENT
LOWfirmware/stm32/main.c21#define RCC_IOPENR_GPIOAEN (1<<0)COMMENT
LOWfirmware/stm32/main.c41#define GPIO_MODE_INPUT 0b00COMMENT
LOWfirmware/stm32/main.c61#define I2C_CR1(b) ((b)+0x00)COMMENT
LOWfirmware/stm32/main.c81COMMENT
LOWfirmware/stm32/main.c101#define SPI_SR(b) ((b)+0x08)COMMENT
LOWfirmware/fx2/stm32.c1// Ref: Application note — Introduction to system memory boot mode on STM32 MCUs, §47COMMENT
LOWfirmware/fx2/fpga.c1// Ref: iCE40 Programming and Configuration Technical NoteCOMMENT
LOWfirmware/fx2/glasgow_port.h1//! This module implements analog IO port features (Vsupply/Ialert/Vsense(alert) configuration,COMMENT
LOWfirmware/fx2/glasgow_port.h21/// of pull resistor GPIO expanders. The latter three actions involve I2C requests and may fail,COMMENT
LOWfirmware/fx2/glasgow_i2c.h1//! This module contains FX2 I2C address table.COMMENT
LOWfirmware/fx2/nvmem.c1// Ref: CAT24C256 EEPROM Serial 256-Kb I2C CAT24C256COMMENT
LOWfirmware/fx2/glasgow_fpga.h1//! This module contains all FPGA related functionality. This includes FPGA volatile andCOMMENT
LOWfirmware/fx2/glasgow_fpga.h21enum fpga_reg {COMMENT
LOWfirmware/fx2/glasgow_fpga.h41 FPGA_REG_ALERTS = 0x02,COMMENT
LOWfirmware/fx2/glasgow_fpga.h61/// memory is prepared for writing. Requires other interfaces to be in `EP_MODE_OFF`.COMMENT
LOWfirmware/fx2/glasgow_fpga.h81COMMENT
LOWfirmware/fx2/main.c1// Ref: CY7C68013A EZ-USB® FX2LP™ USB Microcontroller High-Speed USB Peripheral ControllerCOMMENT
LOWfirmware/fx2/main.c541 // While the nALERT line is connected to an interrupt-capable pin, we do not handle the alertCOMMENT
LOWfirmware/fx2/glasgow_config.h1//! This module handles board configuration: factory, non-volatile, and volatile. All other modulesCOMMENT
LOWfirmware/fx2/glasgow_config.h41 /// Size of the manufacturer name field.COMMENT
LOWfirmware/fx2/glasgow_config.h61 CONFIG_FLAG_ADVERTISE_WEBUSB = 0b00000100,COMMENT
LOWfirmware/fx2/glasgow_config.h81 uint32_t bitstream_size;COMMENT
LOWfirmware/fx2/glasgow_config.h101 /// Manufacturer name. Set during factory flashing. Copied into USB string descriptors.COMMENT
LOWfirmware/fx2/glasgow_config.h121/// fails during the operation.COMMENT
LOWfirmware/fx2/glasgow_mcu.h1//! This module implements secondary MCU management.COMMENT
LOWfirmware/fx2/glasgow_mcu.h21 /// Format: `S ADDR MCU_CMD_FPGA FLASH P`.COMMENT
LOWfirmware/fx2/port.c1// Ref: DAC081C08x 8-Bit Micro Power Digital-to-Analog Converter With An I2C-Compatible InterfaceCOMMENT
LOWfirmware/fx2/port.c21COMMENT
LOWfirmware/fx2/glasgow_smbus.h1//! This module implements the SMBus microcode engine.COMMENT
LOWfirmware/fx2/glasgow_smbus.h41/// will attempt to initialize every field of a union, erasing the values of all but the last fieldCOMMENT
LOWfirmware/fx2/glasgow_smbus.h61/// `SM_XFRM_WORD(func)` has to be used again if this is desired.COMMENT
LOWfirmware/fx2/glasgow_smbus.h81COMMENT
LOWfirmware/fx2/glasgow_smbus.h101///COMMENT
LOWfirmware/fx2/nafe.c1// Ref: NAFE71388 Universal ±25 V 8-Input High Speed AFE Rev. 2COMMENT
LOWfirmware/fx2/glasgow_mgmt.h1//! This module implements the USB EP1 management protocol. This is the protocol used for allCOMMENT
LOWfirmware/fx2/glasgow_mgmt.h21//! - `dd`: request data (opcode-specific)COMMENT
LOWfirmware/fx2/glasgow_mgmt.h141 } fpga_get;COMMENT
LOWfirmware/fx2/glasgow_mgmt.h241/// These variables are implicit arguments for all management handlers.COMMENT
LOWfirmware/fx2/glasgow.h1//! The Glasgow Interface Explorer firmware is composed of multiple semi-independent modules, allCOMMENT
LOWfirmware/fx2/glasgow.h21//! cannot and do not make them fully independent (see [fpga_configure] for an explanation ofCOMMENT
LOWfirmware/fx2/glasgow.h41//! written in maximum length (512-byte) packets, except the last packet may be shorter.COMMENT
LOWfirmware/fx2/glasgow.h61#define PID_FX2 0x8613COMMENT
LOWfirmware/fx2/glasgow.h101/// GPIO definitionsCOMMENT
LOWfirmware/fx2/glasgow_gpio.h1//! This module contains FX2 GPIO related functionality. Mainly, it defines the FX2 GPIOCOMMENT
LOWfirmware/fx2/glasgow_gpio.h21#define PINA_FPGA_nRESET_REVCD 1COMMENT
LOWfirmware/fx2/glasgow_gpio.h41/// IO SFR bit definitions, exactly mirroring the table above.COMMENT
LOWfirmware/fx2/glasgow_gpio.h61#define IO_nOEQ_REVAB IO_D(PIND_nOEQ_REVAB)COMMENT
LOWsoftware/pyproject.toml21requires-python = ">=3.13, <4"COMMENT
LOWsoftware/pyproject.toml41 # `fx2` is effectively maintained together with Glasgow. It uses SemVer, and keeps backwardCOMMENT
LOWsoftware/glasgow/hardware/assembly.py41# limitation was introduced in commit add1aaeabe6b08ed26381a2a06e505b2f09c3ba5, withCOMMENT
LOWsoftware/glasgow/hardware/assembly.py61_max_packets_per_ep = 4096COMMENT
LOWsoftware/glasgow/hardware/assembly.py341 while self._out_inflight + len(self._out_buffer) >= self._out_buffer_size:COMMENT
LOWsoftware/glasgow/hardware/assembly.py361 # * We only submit a write automatically once the buffer level crosses the threshold ofCOMMENT
LOWsoftware/glasgow/hardware/toolchain_nix.txt1# When configured, this mechanism skips the "load Yosys/nextpnr and all of their data files"COMMENT
LOWsoftware/glasgow/protocol/bsdl.py1# Ref: IEEE 1149.1-2013 - IEEE Standard for Test Access Port and Boundary-Scan ArchitectureCOMMENT
LOWsoftware/glasgow/protocol/gdb_remote.py221 #COMMENT
LOWsoftware/glasgow/protocol/gdb_remote.py301COMMENT
LOWsoftware/glasgow/protocol/nbd.py201 await self._send32(status)COMMENT
LOW…are/glasgow/applet/interface/qspi_analyzer/__init__.py41 m.submodules.io_buffer = io_buffer = io.Buffer("i", self._ports.io)COMMENT
63 more matches not shown…
Hyper-Verbose Identifiers47 hits · 46 pts
SeverityFileLineSnippetContext
LOWsoftware/glasgow/cli.py163 def parse_known_intermixed_args(self, args=None, namespace=None):CODE
LOWsoftware/glasgow/database/jedec.py6def jedec_mfg_name_from_bytes(mfg_ids):CODE
LOWsoftware/glasgow/database/jedec.py21def jedec_mfg_name_from_bank_num(bank, mfg_num):CODE
LOWsoftware/glasgow/database/jedec.py1993def _jedec_update_mfg_from_pdf():CODE
LOWsoftware/glasgow/protocol/gdb_remote.py88 async def target_set_software_breakpt(self, address: int, kind: int):CODE
LOWsoftware/glasgow/protocol/gdb_remote.py97 async def target_clear_software_breakpt(self, address: int, kind: int):CODE
LOWsoftware/glasgow/protocol/gdb_remote.py114 async def target_clear_instr_breakpt(self, address: int, kind: int):CODE
LOWsoftware/glasgow/protocol/nbd.py152 async def _fixed_newstyle_negotiation(self):CODE
LOWsoftware/glasgow/applet/__init__.py140 def _get_argparser_for_sphinx(cls, name):CODE
LOWsoftware/glasgow/applet/__init__.py279 def _get_argparser_for_sphinx(cls, name):CODE
LOWsoftware/glasgow/applet/interface/analyzer2/test.py211 def test_trigger_event_backpressure(self):CODE
LOWsoftware/glasgow/applet/memory/_25q/__init__.py162 async def _execute_data_operation_prologue(self, address: int):CODE
LOWsoftware/glasgow/applet/memory/_25q/__init__.py587 def __add_initialize_arguments(cls, parser):STRING
LOWsoftware/glasgow/applet/memory/_25q/test.py100 async def test_api_program_data_aligned(self, applet: Memory25QApplet):CODE
LOWsoftware/glasgow/applet/memory/_25q/test.py109 async def test_api_program_data_unaligned(self, applet: Memory25QApplet):CODE
LOWsoftware/glasgow/applet/sensor/scd30/__init__.py132 async def get_auto_self_calibration(self) -> bool:CODE
LOWsoftware/glasgow/applet/sensor/scd30/__init__.py137 async def set_auto_self_calibration(self, enabled: bool):CODE
LOWsoftware/glasgow/applet/sensor/scd30/__init__.py163 async def get_altitude_compensation(self) -> int:CODE
LOWsoftware/glasgow/applet/sensor/scd30/__init__.py168 async def set_altitude_compensation(self, altitude_m: int):CODE
LOW⚡software/glasgow/applet/program/avr/__init__.py96 async def read_program_memory_range(self, addresses):CODE
LOW⚡software/glasgow/applet/program/avr/__init__.py104 async def write_program_memory_page(self, address):CODE
LOW⚡software/glasgow/applet/program/avr/__init__.py107 async def write_program_memory_range(self, address, chunk, page_size):CODE
LOWsoftware/glasgow/applet/program/avr/spi/__init__.py142 async def load_extended_address_byte(self, address):CODE
LOWsoftware/glasgow/applet/program/avr/spi/__init__.py169 async def write_program_memory_page(self, address):CODE
LOWsoftware/glasgow/applet/program/ice40_sram/test.py26 async def test_hardware_without_done(self, applet: ProgramICE40SRAMApplet):CODE
LOWsoftware/glasgow/applet/program/mec16xx/__init__.py195 async def _flash_wait_for_data_not_full(self, fail_msg="Failure detected"):CODE
LOWsoftware/glasgow/applet/program/mec16xx/__init__.py327 async def _eeprom_wait_for_not_busy(self, fail_msg="Failure detected"):CODE
LOWsoftware/glasgow/applet/program/mec16xx/__init__.py338 async def _eeprom_wait_for_data_not_full(self, fail_msg="Failure detected"):CODE
LOWsoftware/glasgow/applet/debug/mips/__init__.py227 async def _check_for_debug_interrupt(self):CODE
LOWsoftware/glasgow/applet/debug/mips/__init__.py715 async def target_set_software_breakpt(self, address, kind):CODE
LOWsoftware/glasgow/applet/debug/mips/__init__.py728 async def target_clear_software_breakpt(self, address, kind):CODE
LOWsoftware/glasgow/applet/debug/mips/__init__.py748 async def target_clear_instr_breakpt(self, address, kind):CODE
LOWsoftware/glasgow/applet/debug/arm/arm7/__init__.py1276 async def target_set_software_breakpt(self, address: int, kind: int):STRING
LOWsoftware/glasgow/applet/debug/arm/arm7/__init__.py1282 async def target_clear_software_breakpt(self, address: int, kind: int):STRING
LOWsoftware/glasgow/applet/debug/arm/arm7/__init__.py1294 async def target_clear_instr_breakpt(self, address: int, kind: int):STRING
LOWsoftware/glasgow/support/plugin.py16def _requirements_for_optional_dependencies(distribution, depencencies):CODE
LOWsoftware/glasgow/support/plugin.py45def _install_command_for_requirements(requirements):CODE
LOWsoftware/glasgow/support/usb/webusb.py109 def _process_disconnect_event(self, event):CODE
LOWsoftware/glasgow/support/usb/webusb.py171 async def select_alternate_interface(self, interface: int, setting: int):CODE
LOWsoftware/glasgow/support/usb/__init__.py189 async def select_alternate_interface(self, interface: int, setting: int):CODE
LOWsoftware/glasgow/support/usb/libusb1.py259 async def select_alternate_interface(self, interface: int, setting: int):CODE
LOWsoftware/tests/protocol/test_ymodem.py129 def test_recv_single_retransmit(self):CODE
LOWsoftware/tests/protocol/test_ymodem.py248 def test_send_single_quirk_xm_com(self):CODE
LOWsoftware/tests/protocol/test_jtag_svf.py148 def test_hir_sir_tir_hdr_sdr_tdr(self):CODE
LOWsoftware/tests/support/test_bitstruct.py73 def test_int_enum_definition_misuse(self):CODE
LOWsoftware/tests/support/test_bitstruct.py158 def test_postponed_annotation(self):CODE
LOWsoftware/tests/gateware/test_iostream.py29 async def destination_signal_driver_tb(ctx):CODE
Excessive Try-Catch Wrapping15 hits · 16 pts
SeverityFileLineSnippetContext
LOWsoftware/glasgow/hardware/device.py292 except Exception as e:CODE
LOWsoftware/glasgow/protocol/gdb_remote.py459 except Exception as e:CODE
LOWsoftware/glasgow/applet/_legacy.py225 except Exception as e:CODE
MEDIUMsoftware/glasgow/applet/_legacy.py217def run_test():CODE
LOWsoftware/glasgow/applet/bridge/jtag_openocd/__init__.py53 except Exception:CODE
LOWsoftware/glasgow/applet/audio/yamaha_opx/__init__.py958 except Exception as error:CODE
LOWsoftware/glasgow/applet/debug/arm/arm7/test.py214 except Exception as e:CODE
LOWsoftware/glasgow/support/bits.py214 except Exception:CODE
LOWsoftware/glasgow/support/bits.py476 except Exception:CODE
LOWsoftware/glasgow/support/bits.py524 except Exception:CODE
LOWsoftware/glasgow/support/asyncio.py15 except Exception as exn:CODE
LOWsoftware/glasgow/support/plugin.py125 except Exception as exn:CODE
LOWsoftware/glasgow/support/os_network.py66 except Exception as exc:CODE
LOWsoftware/glasgow/support/bitstruct.py91 except Exception as error:CODE
LOWsoftware/tests/gateware/test_swd.py97 except Exception as exn:CODE
AI Slop Vocabulary6 hits · 16 pts
SeverityFileLineSnippetContext
MEDIUMsoftware/glasgow/hardware/toolchain.py307 # version metadata. This is less robust than hashing every tool component, but it's notCOMMENT
MEDIUMsoftware/glasgow/protocol/gdb_remote.py315 # require that and we want debugging to be as seamless as possible.COMMENT
MEDIUMsoftware/glasgow/applet/interface/ps2_host/__init__.py32# problem, but are not completely robust when combined with variable length responses and packetsCOMMENT
MEDIUMsoftware/glasgow/applet/memory/_25q/__init__.py602 # in a background of poor signal integrity (e.g. a SOIC clip plus the official harness).STRING
MEDIUMsoftware/glasgow/applet/audio/yamaha_opx/__init__.py688 # result in robust playback. It appears that 36 is the real latency number.COMMENT
MEDIUMsoftware/glasgow/gateware/fx2_crossbar.py75# enable writes to the FPGA-side FIFO. Essentially, the FPGA-side FIFO should be driven byCOMMENT
Self-Referential Comments2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMfirmware/fx2/docker.sh33 # Create a user and a group with the UID/GID of the caller.COMMENT
MEDIUMsoftware/glasgow/hardware/platform/__init__.py107 # Create an inner buffer of the same type driving `io_port`.COMMENT
TODO Padding2 hits · 3 pts
SeverityFileLineSnippetContext
LOWfirmware/fx2/fpga.c531 // TODO: implement revD NVM loadCOMMENT
LOWfirmware/fx2/nvmem.c127 // TODO: implement revD bitstream writeCOMMENT
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWsoftware/glasgow/hardware/toolchain.py230 # Check if we're dealing with an installed Yosys binary, where the share filesCOMMENT
AI Structural Patterns1 hit · 1 pts
SeverityFileLineSnippetContext
LOWsoftware/glasgow/applet/bridge/jtag_xvc/__init__.py196CODE
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWexamples/boilerplate.py64 async def do_something(self):CODE