Scots Army Knife for electronics
This report presents the forensic synthetic code analysis of GlasgowEmbedded/glasgow, a Python project with 2,190 GitHub stars. SynthScan v2.0 examined 70,924 lines of code across 357 source files, recording 843 pattern matches distributed across 14 syntactic categories. The overall adjusted score of 22.5 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 843 distinct pattern matches across 14 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | software/glasgow/applet/interface/swd_probe/__init__.py | 111 | ctrl.i_stream.p.hdr.ap_ndp.eq(i_command.arg.transfer.ap_ndp), | CODE |
| CRITICAL | software/glasgow/applet/interface/swd_probe/__init__.py | 112 | ctrl.i_stream.p.hdr.r_nw.eq(i_command.arg.transfer.r_nw), | CODE |
| CRITICAL⚡ | software/glasgow/applet/bridge/jtag_xvc/__init__.py | 56 | io_streamer.i.p.port.tck.oe.eq(1), | CODE |
| CRITICAL⚡ | software/glasgow/applet/bridge/jtag_xvc/__init__.py | 57 | io_streamer.i.p.port.tck.o.eq(phase[0]), | CODE |
| CRITICAL⚡ | software/glasgow/applet/bridge/jtag_xvc/__init__.py | 58 | io_streamer.i.p.port.tms.oe.eq(1), | CODE |
| CRITICAL⚡ | software/glasgow/applet/bridge/jtag_xvc/__init__.py | 59 | 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__.py | 60 | io_streamer.i.p.port.tdi.oe.eq(1), | CODE |
| CRITICAL⚡ | software/glasgow/applet/bridge/jtag_xvc/__init__.py | 61 | io_streamer.i.p.port.tdi.o.eq(self.i_stream.p.tdi.bit_select(phase[1:], 1)), | CODE |
| CRITICAL | software/glasgow/applet/internal/memtest/__init__.py | 98 | m.d.comb += self._bus.commands.p.addr.eq(curr_addr) | CODE |
| CRITICAL | software/glasgow/applet/internal/memtest/__init__.py | 99 | m.d.comb += self._bus.commands.p.size.eq(self.block_size >> 1) | CODE |
| CRITICAL | software/glasgow/applet/internal/memtest/__init__.py | 119 | m.d.comb += self._bus.commands.p.type.eq(octoram.Command.GlobalReset) | CODE |
| CRITICAL | software/glasgow/applet/internal/memtest/__init__.py | 132 | m.d.comb += self._bus.commands.p.type.eq(octoram.Command.WriteMemRow) | CODE |
| CRITICAL | software/glasgow/applet/internal/memtest/__init__.py | 153 | m.d.comb += self._bus.commands.p.type.eq(octoram.Command.ReadMemRow) | CODE |
| CRITICAL⚡ | software/glasgow/gateware/octoram.py | 48 | m.d.comb += self.frames.p.port.cs.oe.eq(1) | CODE |
| CRITICAL⚡ | software/glasgow/gateware/octoram.py | 57 | m.d.comb += self.frames.p.port.clk.oe.eq(1) | CODE |
| CRITICAL⚡ | software/glasgow/gateware/octoram.py | 65 | self.frames.p.port.dq.oe.eq(1), | CODE |
| CRITICAL⚡ | software/glasgow/gateware/octoram.py | 70 | self.frames.p.port.dqs.oe.eq(1), | CODE |
| CRITICAL⚡ | software/glasgow/gateware/octoram.py | 73 | m.d.comb += self.frames.p.meta.epoch.eq(self.octets.p.epoch) | CODE |
| CRITICAL⚡ | software/glasgow/gateware/octoram.py | 75 | m.d.comb += self.frames.p.meta.valid.eq(1) | CODE |
| CRITICAL | software/glasgow/gateware/iostream.py | 205 | m.d.comb += io_buffer.i.p.meta.valid.eq(1) | CODE |
| CRITICAL | software/glasgow/gateware/iostream.py | 213 | m.d.comb += io_buffer.i.p.meta.data.eq(self.i.p.meta) | CODE |
| CRITICAL⚡ | software/glasgow/gateware/mdio.py | 61 | self.frames.p.port.mdc.o.eq(phase[0]), | CODE |
| CRITICAL⚡ | software/glasgow/gateware/mdio.py | 62 | self.frames.p.port.mdc.oe.eq(1), | CODE |
| CRITICAL⚡ | software/glasgow/gateware/mdio.py | 63 | self.frames.p.port.mdio.o.eq(seq_o.bit_select(phase[1:], 1)), | CODE |
| CRITICAL⚡ | software/glasgow/gateware/mdio.py | 64 | self.frames.p.port.mdio.oe.eq(seq_oe.bit_select(phase[1:], 1)), | CODE |
| CRITICAL⚡ | software/glasgow/gateware/swd.py | 117 | self.frames.p.port.swclk.oe.eq(1), | CODE |
| CRITICAL⚡ | software/glasgow/gateware/swd.py | 118 | self.frames.p.port.swdio.o.eq(seq_o.bit_select(bitno, 1).replicate(2)), | CODE |
| CRITICAL⚡ | software/glasgow/gateware/swd.py | 119 | self.frames.p.port.swdio.oe.eq(seq_oe.bit_select(bitno, 1)), | CODE |
| CRITICAL⚡ | software/glasgow/gateware/swd.py | 122 | m.d.comb += self.frames.p.meta.type.eq(self.words.p.type) | CODE |
| CRITICAL⚡ | software/glasgow/gateware/swd.py | 123 | m.d.comb += self.frames.p.meta.half.eq(~self.divisor[0]) | CODE |
| CRITICAL⚡ | software/glasgow/gateware/qspi.py | 48 | m.d.comb += self.frames.p.port.cs.oe.eq(1) | CODE |
| CRITICAL⚡ | software/glasgow/gateware/qspi.py | 55 | m.d.comb += self.frames.p.port.io0.oe.eq(0b1) | CODE |
| CRITICAL⚡ | software/glasgow/gateware/qspi.py | 57 | m.d.comb += self.frames.p.port.io0.oe.eq(0b1) | CODE |
| CRITICAL⚡ | software/glasgow/gateware/qspi.py | 84 | m.d.comb += self.frames.p.port.sck.oe.eq(1) | CODE |
| CRITICAL⚡ | software/glasgow/gateware/qspi.py | 89 | m.d.comb += self.frames.p.meta.oper.eq(self.octets.p.oper) | CODE |
| CRITICAL⚡ | software/glasgow/gateware/qspi.py | 90 | m.d.comb += self.frames.p.meta.half.eq(~self.divisor[0]) | CODE |
| CRITICAL | software/glasgow/gateware/spi.py | 92 | m.d.comb += self.frames.p.port.cs.oe.eq(1) | CODE |
| CRITICAL⚡ | software/glasgow/gateware/spi.py | 103 | m.d.comb += self.frames.p.port.sck.oe.eq(1) | CODE |
| CRITICAL⚡ | software/glasgow/gateware/spi.py | 111 | m.d.comb += self.frames.p.port.copi.oe.eq(0b1) | CODE |
| CRITICAL⚡ | software/glasgow/gateware/spi.py | 113 | m.d.comb += self.frames.p.port.copi.oe.eq(0b1) | CODE |
| CRITICAL⚡ | software/glasgow/gateware/spi.py | 118 | m.d.comb += self.frames.p.meta.oper.eq(self.octets.p.oper) | CODE |
| CRITICAL⚡ | software/glasgow/gateware/spi.py | 119 | m.d.comb += self.frames.p.meta.half.eq(~self.divisor[0]) | CODE |
| CRITICAL⚡ | software/glasgow/gateware/jtag/probe.py | 43 | m.d.comb += self.frames.p.port.tck.oe.eq(1) | CODE |
| CRITICAL⚡ | software/glasgow/gateware/jtag/probe.py | 44 | m.d.comb += self.frames.p.port.tck.o.eq(phase[-1]) | CODE |
| CRITICAL⚡ | software/glasgow/gateware/jtag/probe.py | 46 | m.d.comb += self.frames.p.port.tms.oe.eq(1) | CODE |
| CRITICAL⚡ | software/glasgow/gateware/jtag/probe.py | 48 | 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.py | 50 | m.d.comb += self.frames.p.port.tms.o.eq(self.words.p.last & last) | CODE |
| CRITICAL⚡ | software/glasgow/gateware/jtag/probe.py | 52 | m.d.comb += self.frames.p.port.tdi.oe.eq(1) | CODE |
| CRITICAL⚡ | software/glasgow/gateware/jtag/probe.py | 54 | 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.py | 59 | m.d.comb += self.frames.p.port.tdi.o.eq(1) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/manual/src/conf.py | 5 | CODE | |
| LOW | software/glasgow/abstract.py | 1 | CODE | |
| LOW | software/glasgow/abstract.py | 11 | CODE | |
| LOW | software/glasgow/legacy.py | 1 | CODE | |
| LOW | software/glasgow/cli.py | 22 | CODE | |
| LOW | software/glasgow/cli.py | 33 | CODE | |
| LOW | software/glasgow/hardware/assembly.py | 8 | CODE | |
| LOW | software/glasgow/hardware/assembly.py | 23 | CODE | |
| LOW | software/glasgow/hardware/platform/rev_c.py | 1 | CODE | |
| LOW | software/glasgow/hardware/platform/rev_c.py | 3 | CODE | |
| LOW | software/glasgow/hardware/platform/__init__.py | 4 | CODE | |
| LOW | software/glasgow/hardware/platform/ice40.py | 1 | CODE | |
| LOW | software/glasgow/hardware/platform/ecp5.py | 3 | CODE | |
| LOW | software/glasgow/hardware/platform/rev_d.py | 1 | CODE | |
| LOW | software/glasgow/hardware/platform/rev_d.py | 3 | CODE | |
| LOW | software/glasgow/hardware/platform/rev_ab.py | 1 | CODE | |
| LOW | software/glasgow/hardware/platform/rev_ab.py | 3 | CODE | |
| LOW | software/glasgow/simulation/assembly.py | 5 | CODE | |
| LOW | software/glasgow/protocol/onfi.py | 7 | CODE | |
| LOW | software/glasgow/protocol/sfdp.py | 10 | CODE | |
| LOW | software/glasgow/protocol/nbd.py | 10 | CODE | |
| LOW | software/glasgow/applet/__init__.py | 18 | CODE | |
| LOW | software/glasgow/applet/__init__.py | 398 | CODE | |
| LOW | …/applet/interface/i2c_initiator_deprecated/__init__.py | 4 | CODE | |
| LOW | …/applet/interface/i2c_initiator_deprecated/__init__.py | 8 | CODE | |
| LOW | …sgow/applet/interface/i2c_initiator_deprecated/test.py | 1 | CODE | |
| LOW | …are/glasgow/applet/interface/uart_analyzer/__init__.py | 5 | CODE | |
| LOW | …ware/glasgow/applet/interface/spi_analyzer/__init__.py | 3 | CODE | |
| LOW | software/glasgow/applet/interface/spi_analyzer/test.py | 1 | CODE | |
| LOW | …are/glasgow/applet/interface/qspi_analyzer/__init__.py | 4 | CODE | |
| LOW | software/glasgow/applet/interface/qspi_analyzer/test.py | 3 | CODE | |
| LOW | …re/glasgow/applet/interface/i2c_controller/__init__.py | 9 | CODE | |
| LOW | …re/glasgow/applet/interface/i2c_controller/__init__.py | 15 | CODE | |
| LOW | …ftware/glasgow/applet/interface/i2c_controller/test.py | 1 | CODE | |
| LOW | software/glasgow/applet/interface/ps2_host/__init__.py | 62 | CODE | |
| LOW | software/glasgow/applet/interface/ps2_host/__init__.py | 67 | CODE | |
| LOW | software/glasgow/applet/interface/ps2_host/test.py | 1 | CODE | |
| LOW | …e/glasgow/applet/interface/qspi_controller/__init__.py | 5 | CODE | |
| LOW | …tware/glasgow/applet/interface/qspi_controller/test.py | 1 | CODE | |
| LOW | …tware/glasgow/applet/interface/jtag_pinout/__init__.py | 8 | CODE | |
| LOW | software/glasgow/applet/interface/sbw_probe/__init__.py | 4 | CODE | |
| LOW | …ftware/glasgow/applet/interface/jtag_probe/__init__.py | 24 | CODE | |
| LOW | software/glasgow/applet/interface/jtag_probe/test.py | 3 | CODE | |
| LOW | software/glasgow/applet/interface/swd_probe/__init__.py | 15 | CODE | |
| LOW | software/glasgow/applet/interface/swd_probe/__init__.py | 22 | CODE | |
| LOW | software/glasgow/applet/interface/swd_probe/__init__.py | 23 | CODE | |
| LOW | …re/glasgow/applet/interface/spi_controller/__init__.py | 6 | CODE | |
| LOW | …ftware/glasgow/applet/interface/spi_controller/test.py | 1 | CODE | |
| LOW | software/glasgow/applet/interface/analyzer/__init__.py | 4 | CODE | |
| LOW | software/glasgow/applet/interface/analyzer/__init__.py | 9 | CODE | |
| LOW | software/glasgow/applet/interface/analyzer/__init__.py | 10 | CODE | |
| LOW | software/glasgow/applet/interface/analyzer/test.py | 1 | CODE | |
| LOW | …ftware/glasgow/applet/interface/i2c_target/__init__.py | 4 | CODE | |
| LOW | …ftware/glasgow/applet/interface/i2c_target/__init__.py | 8 | CODE | |
| LOW | software/glasgow/applet/interface/i2c_target/test.py | 1 | CODE | |
| LOW | software/glasgow/applet/interface/uart/__init__.py | 6 | CODE | |
| LOW | software/glasgow/applet/interface/uart/__init__.py | 11 | CODE | |
| LOW | software/glasgow/applet/interface/uart/test.py | 1 | CODE | |
| LOW | software/glasgow/applet/interface/uart/test.py | 3 | CODE | |
| LOW | software/glasgow/applet/video/hub75_output/__init__.py | 1 | CODE | |
| 184 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | software/glasgow/abstract.py | 79 | CODE | |
| LOW | software/glasgow/abstract.py | 118 | CODE | |
| LOW | software/glasgow/legacy.py | 154 | CODE | |
| LOW | software/glasgow/cli.py | 132 | CODE | |
| LOW | software/glasgow/cli.py | 624 | CODE | |
| LOW | software/glasgow/cli.py | 190 | CODE | |
| LOW | software/glasgow/cli.py | 225 | CODE | |
| LOW | software/glasgow/cli.py | 719 | CODE | |
| LOW | software/glasgow/cli.py | 227 | CODE | |
| LOW | software/glasgow/database/jedec.py | 6 | CODE | |
| LOW | software/glasgow/hardware/device.py | 99 | CODE | |
| LOW | software/glasgow/hardware/device.py | 242 | CODE | |
| LOW | software/glasgow/hardware/device.py | 448 | CODE | |
| LOW | software/glasgow/hardware/device.py | 450 | CODE | |
| LOW | software/glasgow/hardware/toolchain.py | 182 | CODE | |
| LOW | software/glasgow/hardware/toolchain.py | 322 | CODE | |
| LOW | software/glasgow/hardware/platform/__init__.py | 99 | CODE | |
| LOW | software/glasgow/hardware/platform/ecp5.py | 40 | CODE | |
| LOW | software/glasgow/simulation/assembly.py | 139 | CODE | |
| LOW | software/glasgow/simulation/assembly.py | 146 | CODE | |
| LOW | software/glasgow/protocol/vgm.py | 161 | CODE | |
| LOW | software/glasgow/protocol/jtag_svf.py | 101 | CODE | |
| LOW | software/glasgow/protocol/jtag_svf.py | 182 | CODE | |
| LOW | software/glasgow/protocol/jtag_svf.py | 216 | CODE | |
| LOW | software/glasgow/protocol/jtag_svf.py | 266 | CODE | |
| LOW | software/glasgow/protocol/jesd3.py | 88 | CODE | |
| LOW | software/glasgow/protocol/gdb_remote.py | 121 | CODE | |
| LOW | software/glasgow/protocol/nbd.py | 205 | CODE | |
| LOW | software/glasgow/applet/__init__.py | 350 | CODE | |
| LOW | software/glasgow/applet/__init__.py | 351 | CODE | |
| LOW | software/glasgow/applet/__init__.py | 354 | CODE | |
| LOW | software/glasgow/applet/_legacy.py | 197 | CODE | |
| LOW | software/glasgow/applet/_legacy.py | 198 | CODE | |
| LOW | software/glasgow/applet/_legacy.py | 200 | CODE | |
| LOW | …/applet/interface/i2c_initiator_deprecated/__init__.py | 25 | CODE | |
| LOW | …/applet/interface/i2c_initiator_deprecated/__init__.py | 329 | CODE | |
| LOW | …ware/glasgow/applet/interface/spi_analyzer/__init__.py | 130 | CODE | |
| LOW | …re/glasgow/applet/interface/i2c_controller/__init__.py | 45 | CODE | |
| LOW | …re/glasgow/applet/interface/i2c_controller/__init__.py | 416 | CODE | |
| LOW | software/glasgow/applet/interface/ps2_host/__init__.py | 153 | CODE | |
| LOW | software/glasgow/applet/interface/ps2_host/__init__.py | 235 | CODE | |
| LOW | …e/glasgow/applet/interface/qspi_controller/__init__.py | 44 | CODE | |
| LOW | …tware/glasgow/applet/interface/jtag_pinout/__init__.py | 35 | CODE | |
| LOW | …tware/glasgow/applet/interface/jtag_pinout/__init__.py | 303 | CODE | |
| LOW | software/glasgow/applet/interface/sbw_probe/__init__.py | 87 | CODE | |
| LOW | software/glasgow/applet/interface/sbw_probe/__init__.py | 220 | CODE | |
| LOW | …ftware/glasgow/applet/interface/jtag_probe/__init__.py | 118 | CODE | |
| LOW | …ftware/glasgow/applet/interface/jtag_probe/__init__.py | 508 | CODE | |
| LOW | …ftware/glasgow/applet/interface/jtag_probe/__init__.py | 538 | CODE | |
| LOW | …ftware/glasgow/applet/interface/jtag_probe/__init__.py | 592 | CODE | |
| LOW | …ftware/glasgow/applet/interface/jtag_probe/__init__.py | 757 | CODE | |
| LOW | …ftware/glasgow/applet/interface/jtag_probe/__init__.py | 833 | CODE | |
| LOW | …ftware/glasgow/applet/interface/jtag_probe/__init__.py | 867 | CODE | |
| LOW | …ftware/glasgow/applet/interface/jtag_probe/__init__.py | 1205 | CODE | |
| LOW | software/glasgow/applet/interface/swd_probe/__init__.py | 96 | CODE | |
| LOW | software/glasgow/applet/interface/jtag_svf/__init__.py | 64 | CODE | |
| LOW | software/glasgow/applet/interface/jtag_svf/__init__.py | 92 | CODE | |
| LOW | …re/glasgow/applet/interface/spi_controller/__init__.py | 45 | CODE | |
| LOW | software/glasgow/applet/interface/analyzer/__init__.py | 105 | CODE | |
| LOW | …ftware/glasgow/applet/interface/i2c_target/__init__.py | 126 | CODE | |
| 106 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | software/glasgow/abstract.py | 19 | __all__ = [ | CODE |
| LOW | software/glasgow/legacy.py | 8 | __all__ = [ | CODE |
| LOW | software/glasgow/database/arc.py | 4 | __all__ = ["devices"] | CODE |
| LOW | software/glasgow/database/jedec.py | 3 | __all__ = ["jedec_mfg_name_from_bytes", "jedec_mfg_name_from_bank_num"] | CODE |
| LOW | software/glasgow/database/xilinx/xc9500.py | 4 | __all__ = ["devices", "devices_by_idcode", "devices_by_name"] | CODE |
| LOW | software/glasgow/database/xilinx/xpla3.py | 3 | __all__ = ["devices", "devices_by_idcode", "devices_by_name"] | CODE |
| LOW | software/glasgow/database/xilinx/xc6s.py | 4 | __all__ = ["devices", "devices_by_idcode", "devices_by_name"] | CODE |
| LOW | software/glasgow/database/xilinx/xc9500xl.py | 4 | __all__ = ["devices", "devices_by_idcode", "devices_by_name"] | CODE |
| LOW | software/glasgow/database/microchip/avr.py | 4 | __all__ = ["devices", "devices_by_signature"] | CODE |
| LOW | software/glasgow/database/ti/msp430.py | 5 | __all__ = ["devices", "devices_by_ids"] | CODE |
| LOW | software/glasgow/hardware/build_plan.py | 17 | __all__ = ["GlasgowBuildPlan"] | CODE |
| LOW | software/glasgow/hardware/build_plan.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | software/glasgow/hardware/device.py | 24 | __all__ = ["GlasgowDevice", "FX2BootloaderDevice"] | CODE |
| LOW | software/glasgow/hardware/device.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | software/glasgow/hardware/assembly.py | 32 | __all__ = ["HardwareAssembly"] | CODE |
| LOW | software/glasgow/hardware/assembly.py | 35 | logger = logging.getLogger(__name__) | CODE |
| LOW | software/glasgow/hardware/toolchain.py | 20 | __all__ = ["ToolchainNotFound", "ToolOutOfDate", "Toolchain", "find_toolchain"] | CODE |
| LOW | software/glasgow/hardware/toolchain.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | software/glasgow/hardware/platform/rev_c.py | 6 | __all__ = ["GlasgowRevC0Platform", "GlasgowRevC123Platform"] | CODE |
| LOW | software/glasgow/hardware/platform/__init__.py | 8 | __all__ = ["GlasgowPlatformPort", "GlasgowPlatform"] | CODE |
| LOW | software/glasgow/hardware/platform/ice40.py | 7 | __all__ = ["GlasgowICE40Platform"] | CODE |
| LOW | software/glasgow/hardware/platform/ecp5.py | 11 | __all__ = ["GlasgowECP5Platform"] | CODE |
| LOW | software/glasgow/hardware/platform/rev_d.py | 6 | __all__ = ["GlasgowRevD0Platform"] | CODE |
| LOW | software/glasgow/hardware/platform/rev_ab.py | 6 | __all__ = ["GlasgowRevABPlatform"] | CODE |
| LOW | software/glasgow/simulation/assembly.py | 16 | __all__ = ["SimulationPipe", "SimulationRORegister", "SimulationRWRegister", "SimulationAssembly"] | CODE |
| LOW | software/glasgow/simulation/assembly.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | software/glasgow/protocol/bsdl.py | 27 | __all__ = ["BSDLParseError", "BSDLPortInfo", "BSDLScanCell", "BSDLDevice", "BSDLEntity"] | CODE |
| LOW | software/glasgow/protocol/snoop.py | 9 | __all__ = ["SnoopDatalinkType", "SnoopPacket", "SnoopWriter", "SnoopReader"] | CODE |
| LOW | software/glasgow/protocol/flashrom.py | 4 | __all__ = ["SerprogCommand", "SerprogBus"] | CODE |
| LOW | software/glasgow/protocol/onfi.py | 10 | __all__ = ["ONFIParameters", "ONFIParameterError"] | CODE |
| LOW | software/glasgow/protocol/vgm.py | 7 | __all__ = ["VGMStreamPlayer", "VGMStreamReader"] | CODE |
| LOW | software/glasgow/protocol/jtag_svf.py | 12 | __all__ = ["SVFParser", "SVFEventHandler"] | CODE |
| LOW | software/glasgow/protocol/jesd3.py | 8 | __all__ = ["JESD3Parser", "JESD3ParsingError", "JESD3Emitter"] | CODE |
| LOW | software/glasgow/protocol/gdb_remote.py | 13 | __all__ = ["GDBRemote", "GDBRemoteError"] | CODE |
| LOW | software/glasgow/protocol/sfdp.py | 21 | __all__ = ["SFDPCollection", "SFDPJEDECFlashParametersTable"] | CODE |
| LOW | software/glasgow/protocol/nbd.py | 13 | __all__ = ["NBDServer"] | CODE |
| LOW | software/glasgow/applet/__init__.py | 21 | __all__ = [ | CODE |
| LOW | software/glasgow/applet/_legacy.py | 21 | __all__ = [ | CODE |
| LOW | …are/glasgow/applet/interface/uart_analyzer/__init__.py | 17 | __all__ = ["UARTAnalyzerError", "UARTAnalyzerInterface"] | CODE |
| LOW | …ware/glasgow/applet/interface/spi_analyzer/__init__.py | 15 | __all__ = ["SPIAnalyzerOverflow", "SPIAnalyzerComponent", "SPIAnalyzerApplet"] | CODE |
| LOW | software/glasgow/applet/interface/spi_analyzer/test.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | …are/glasgow/applet/interface/qspi_analyzer/__init__.py | 16 | __all__ = ["QSPIAnalyzerOverflow", "QSPIAnalyzerComponent", "QSPIAnalyzerApplet"] | CODE |
| LOW | software/glasgow/applet/interface/qspi_analyzer/test.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | …re/glasgow/applet/interface/i2c_controller/__init__.py | 20 | __all__ = ["I2CNotAcknowledged", "I2CControllerInterface", "PullState"] | CODE |
| LOW | …e/glasgow/applet/interface/qspi_controller/__init__.py | 17 | __all__ = ["QSPIControllerError", "QSPIControllerComponent", "QSPIControllerInterface"] | CODE |
| LOW | …ftware/glasgow/applet/interface/jtag_probe/__init__.py | 37 | __all__ = ["JTAGProbeDriver", "JTAGState", "JTAGProbeError", "JTAGProbeStateTransitionError", | CODE |
| LOW | software/glasgow/applet/interface/swd_probe/__init__.py | 30 | __all__ = ["SWDProbeException", "SWDProbeComponent", "SWDProbeInterface"] | CODE |
| LOW | …re/glasgow/applet/interface/spi_controller/__init__.py | 17 | __all__ = ["SPIControllerError", "SPIControllerComponent", "SPIControllerInterface"] | CODE |
| LOW | software/glasgow/applet/radio/nrf24l01/__init__.py | 17 | __all__ = ["RadioNRF24L01Error", "RadioNRF24L01Interface"] | CODE |
| LOW | software/glasgow/applet/memory/_25q/__init__.py | 19 | __all__ = ["Memory25QError", "Memory25QVerifyError", "Memory25QInterface"] | CODE |
| LOW | software/glasgow/applet/memory/_25q/decode.py | 18 | __all__ = ["MemoryImage", "Memory25QDecoder"] | CODE |
| LOW | software/glasgow/applet/memory/_25x/__init__.py | 21 | __all__ = ["Memory25xError", "Memory25xInterface"] | CODE |
| LOW | software/glasgow/applet/memory/_25x/decode.py | 15 | __all__ = ["MemoryImage", "Memory25xDecoder"] | CODE |
| LOW | software/glasgow/applet/memory/floppy/mfm.py | 4 | __all__ = ["SoftwareMFMDecoder"] | CODE |
| LOW | software/glasgow/applet/memory/_24x/__init__.py | 18 | __all__ = ["Memory24xInterface", "I2CNotAcknowledged"] | CODE |
| LOW | software/glasgow/applet/bridge/jtag_openocd/__init__.py | 10 | __all__ = [] | CODE |
| LOW | software/glasgow/applet/bridge/probe_rs/__init__.py | 21 | __all__ = ["StreamBuffer"] | CODE |
| LOW | software/glasgow/applet/bridge/spi_flashrom/__init__.py | 8 | __all__ = [] | CODE |
| LOW | software/glasgow/applet/bridge/jtag_xvc/__init__.py | 16 | __all__ = ["JTAGXVCComponent", "JTAGXVCInterface"] | CODE |
| LOW | software/glasgow/applet/internal/memtest/__init__.py | 14 | __all__ = [] | CODE |
| 92 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | software/glasgow/applet/interface/ps2_host/__init__.py | 7 | # ------------------- | COMMENT |
| MEDIUM | software/glasgow/applet/interface/ps2_host/__init__.py | 18 | # --------------------- | COMMENT |
| MEDIUM | software/glasgow/applet/interface/ps2_host/__init__.py | 53 | # ----------------------- | COMMENT |
| MEDIUM | …ftware/glasgow/applet/interface/jtag_probe/__init__.py | 5 | # ---------------- | COMMENT |
| MEDIUM | …ftware/glasgow/applet/interface/jtag_probe/__init__.py | 13 | # ---------------- | COMMENT |
| MEDIUM | software/glasgow/applet/memory/prom/__init__.py | 825 | # ------------------------------------------------------------------------------------------------- | STRING |
| MEDIUM | software/glasgow/applet/memory/onfi/__init__.py | 2 | # ------------------- | COMMENT |
| MEDIUM | software/glasgow/applet/memory/floppy/__init__.py | 18 | # ---------------------- | COMMENT |
| MEDIUM | software/glasgow/applet/memory/floppy/__init__.py | 41 | # ------------------------ | COMMENT |
| MEDIUM | software/glasgow/applet/memory/floppy/__init__.py | 51 | # ------------------------ | COMMENT |
| MEDIUM | software/glasgow/applet/memory/floppy/__init__.py | 107 | # ---------------------- | COMMENT |
| MEDIUM | software/glasgow/applet/memory/floppy/__init__.py | 118 | # ----------------------------- | COMMENT |
| MEDIUM | software/glasgow/applet/memory/floppy/__init__.py | 138 | # --------------------- | COMMENT |
| MEDIUM | software/glasgow/applet/memory/floppy/__init__.py | 217 | # ------------ | COMMENT |
| MEDIUM | software/glasgow/applet/memory/floppy/__init__.py | 234 | # ------------ | COMMENT |
| MEDIUM | software/glasgow/applet/memory/floppy/__init__.py | 742 | # ------------------------------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | software/glasgow/applet/audio/yamaha_opx/__init__.py | 100 | # ------------ | COMMENT |
| MEDIUM⚡ | software/glasgow/applet/audio/yamaha_opx/__init__.py | 108 | # ------------ | COMMENT |
| MEDIUM⚡ | software/glasgow/applet/audio/yamaha_opx/__init__.py | 117 | # ---------- | COMMENT |
| MEDIUM | software/glasgow/applet/audio/yamaha_opx/__init__.py | 9 | # ----------------- | COMMENT |
| MEDIUM | software/glasgow/applet/audio/yamaha_opx/__init__.py | 27 | # ---------------- | COMMENT |
| MEDIUM | software/glasgow/applet/audio/yamaha_opx/__init__.py | 49 | # ---------- | COMMENT |
| MEDIUM | software/glasgow/applet/audio/yamaha_opx/__init__.py | 61 | # ---------------------- | COMMENT |
| MEDIUM | software/glasgow/applet/audio/yamaha_opx/__init__.py | 76 | # ---------------- | COMMENT |
| MEDIUM | software/glasgow/applet/audio/yamaha_opx/__init__.py | 87 | # -------------------- | COMMENT |
| MEDIUM | software/glasgow/applet/program/xc9500/__init__.py | 503 | # ------------------------------------------------------------------------------------------------- | STRING |
| MEDIUM | software/glasgow/applet/program/xc9500xl/__init__.py | 15 | # ---------------- | COMMENT |
| MEDIUM | software/glasgow/applet/program/xc9500xl/__init__.py | 45 | # ------------------- | COMMENT |
| MEDIUM | software/glasgow/applet/program/xc9500xl/__init__.py | 110 | # ----------------------------------- | COMMENT |
| MEDIUM | software/glasgow/applet/program/xc9500xl/__init__.py | 125 | # --------------------------- | COMMENT |
| MEDIUM | software/glasgow/applet/program/xc9500xl/__init__.py | 161 | # ----------------------------------------- | COMMENT |
| MEDIUM | software/glasgow/applet/program/xc9500xl/__init__.py | 170 | # ------------------------------ | COMMENT |
| MEDIUM | software/glasgow/applet/program/xc9500xl/__init__.py | 214 | # ----------- | COMMENT |
| MEDIUM | software/glasgow/applet/program/xc9500xl/__init__.py | 718 | # ------------------------------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | software/glasgow/applet/measure/prn_noise/__init__.py | 47 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | software/glasgow/applet/measure/prn_noise/__init__.py | 49 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | software/glasgow/arch/lpc.py | 9 | # ------------- | COMMENT |
| MEDIUM⚡ | software/glasgow/arch/lpc.py | 21 | # --------------- | COMMENT |
| MEDIUM⚡ | software/glasgow/arch/lpc.py | 28 | # ---------- | COMMENT |
| MEDIUM⚡ | software/glasgow/arch/lpc.py | 35 | # ----------------- | COMMENT |
| MEDIUM | software/glasgow/gateware/fx2_crossbar.py | 11 | # ------------- | COMMENT |
| MEDIUM | software/glasgow/gateware/fx2_crossbar.py | 51 | # ------------------- | COMMENT |
| MEDIUM | software/glasgow/gateware/fx2_crossbar.py | 83 | # ---------------------- | COMMENT |
| MEDIUM | software/glasgow/gateware/fx2_crossbar.py | 119 | # ---------------------------------------------- | COMMENT |
| MEDIUM | software/tests/protocol/test_jtag_svf.py | 364 | # ------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | examples/boilerplate.py | 119 | # ------------------------------------------------------------------------------------------------- | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | firmware/fx2/fpga.c | 1 | // Ref: iCE40 Programming and Configuration Technical Note | COMMENT |
| LOW | firmware/fx2/glasgow_port.h | 1 | //! This module implements analog IO port features (Vsupply/Ialert/Vsense(alert) configuration, | COMMENT |
| LOW | firmware/fx2/glasgow_port.h | 21 | /// of pull resistor GPIO expanders. The latter three actions involve I2C requests and may fail, | COMMENT |
| LOW | firmware/fx2/glasgow_i2c.h | 1 | //! This module contains FX2 I2C address table. | COMMENT |
| LOW | firmware/fx2/nvmem.c | 1 | // Ref: CAT24C256 EEPROM Serial 256-Kb I2C CAT24C256 | COMMENT |
| LOW | firmware/fx2/glasgow_fpga.h | 1 | //! This module contains all FPGA related functionality. This includes FPGA volatile and | COMMENT |
| LOW | firmware/fx2/glasgow_fpga.h | 21 | enum fpga_reg { | COMMENT |
| LOW | firmware/fx2/glasgow_fpga.h | 41 | FPGA_REG_ALERTS = 0x02, | COMMENT |
| LOW | firmware/fx2/glasgow_fpga.h | 61 | /// memory is prepared for writing. Requires other interfaces to be in `EP_MODE_OFF`. | COMMENT |
| LOW | firmware/fx2/glasgow_fpga.h | 81 | COMMENT | |
| LOW | firmware/fx2/main.c | 1 | // Ref: CY7C68013A EZ-USB® FX2LP™ USB Microcontroller High-Speed USB Peripheral Controller | COMMENT |
| LOW | firmware/fx2/main.c | 541 | fpga_poll_cfg(); | COMMENT |
| LOW | firmware/fx2/glasgow_config.h | 1 | //! This module handles board configuration: factory, non-volatile, and volatile. All other modules | COMMENT |
| LOW | firmware/fx2/glasgow_config.h | 41 | /// Size of the manufacturer name field. | COMMENT |
| LOW | firmware/fx2/glasgow_config.h | 61 | CONFIG_FLAG_ADVERTISE_WEBUSB = 0b00000100, | COMMENT |
| LOW | firmware/fx2/glasgow_config.h | 81 | uint32_t bitstream_size; | COMMENT |
| LOW | firmware/fx2/glasgow_config.h | 101 | /// Manufacturer name. Set during factory flashing. Copied into USB string descriptors. | COMMENT |
| LOW | firmware/fx2/glasgow_config.h | 121 | /// fails during the operation. | COMMENT |
| LOW | firmware/fx2/port.c | 1 | // Ref: DAC081C08x 8-Bit Micro Power Digital-to-Analog Converter With An I2C-Compatible Interface | COMMENT |
| LOW | firmware/fx2/port.c | 21 | COMMENT | |
| LOW | firmware/fx2/glasgow_smbus.h | 1 | //! This module implements the SMBus microcode engine. | COMMENT |
| LOW | firmware/fx2/glasgow_smbus.h | 41 | /// will attempt to initialize every field of a union, erasing the values of all but the last field | COMMENT |
| LOW | firmware/fx2/glasgow_smbus.h | 61 | /// `SM_XFRM_WORD(func)` has to be used again if this is desired. | COMMENT |
| LOW | firmware/fx2/glasgow_smbus.h | 81 | COMMENT | |
| LOW | firmware/fx2/glasgow_smbus.h | 101 | /// | COMMENT |
| LOW | firmware/fx2/glasgow_mgmt.h | 1 | //! This module implements the USB EP1 management protocol. This is the protocol used for all | COMMENT |
| LOW | firmware/fx2/glasgow_mgmt.h | 21 | //! - `dd`: request data (opcode-specific) | COMMENT |
| LOW | firmware/fx2/glasgow_mgmt.h | 141 | // REQ_SET_VSUPPLY | COMMENT |
| LOW | firmware/fx2/glasgow_mgmt.h | 201 | uint16_t smbus_read_data; | COMMENT |
| LOW | firmware/fx2/glasgow_mgmt.h | 221 | /// result will be sent, and [alert_pending] is cleared. | COMMENT |
| LOW | firmware/fx2/glasgow.h | 1 | //! The Glasgow Interface Explorer firmware is composed of multiple semi-independent modules, all | COMMENT |
| LOW | firmware/fx2/glasgow.h | 21 | //! cannot and do not make them fully independent (see [fpga_configure] for an explanation of | COMMENT |
| LOW | firmware/fx2/glasgow.h | 41 | //! written in maximum length (512-byte) packets, except the last packet may be shorter. | COMMENT |
| LOW | firmware/fx2/glasgow.h | 61 | #define PID_FX2 0x8613 | COMMENT |
| LOW | firmware/fx2/glasgow.h | 101 | /// GPIO definitions | COMMENT |
| LOW | firmware/fx2/glasgow_gpio.h | 1 | //! This module contains FX2 GPIO related functionality. Mainly, it defines the FX2 GPIO | COMMENT |
| LOW | firmware/fx2/glasgow_gpio.h | 21 | #define PINA_FPGA_nRESET_REVCD 1 | COMMENT |
| LOW | firmware/fx2/glasgow_gpio.h | 41 | /// IO SFR bit definitions, exactly mirroring the table above. | COMMENT |
| LOW | firmware/fx2/glasgow_gpio.h | 61 | #define IO_nOEQ_REVAB IO_D(PIND_nOEQ_REVAB) | COMMENT |
| LOW | software/pyproject.toml | 21 | requires-python = ">=3.13, <4" | COMMENT |
| LOW | software/pyproject.toml | 41 | # `fx2` is effectively maintained together with Glasgow. It uses SemVer, and keeps backward | COMMENT |
| LOW | software/glasgow/hardware/assembly.py | 41 | # the following (bullshit) justification: | COMMENT |
| LOW | software/glasgow/hardware/assembly.py | 61 | COMMENT | |
| LOW | software/glasgow/hardware/assembly.py | 341 | self._logger.trace(f"OUT pipe {self._out_interface}: write pushback") | COMMENT |
| LOW | software/glasgow/hardware/assembly.py | 361 | # `_out_packet_size * _packets_per_xfer`. In this case, _slice_packet always returns | COMMENT |
| LOW | software/glasgow/hardware/toolchain_nix.txt | 1 | # When configured, this mechanism skips the "load Yosys/nextpnr and all of their data files" | COMMENT |
| LOW | software/glasgow/protocol/bsdl.py | 1 | # Ref: IEEE 1149.1-2013 - IEEE Standard for Test Access Port and Boundary-Scan Architecture | COMMENT |
| LOW | software/glasgow/protocol/gdb_remote.py | 221 | # | COMMENT |
| LOW | software/glasgow/protocol/gdb_remote.py | 301 | COMMENT | |
| LOW | software/glasgow/protocol/nbd.py | 201 | await self._send32(status) | COMMENT |
| LOW | …are/glasgow/applet/interface/qspi_analyzer/__init__.py | 41 | m.submodules.io_buffer = io_buffer = io.Buffer("i", self._ports.io) | COMMENT |
| LOW | software/glasgow/applet/interface/ps2_host/__init__.py | 1 | # Ref: IBM PS/2 Hardware Technical Reference - Keyboard and Auxiliary Device Controller | COMMENT |
| LOW | software/glasgow/applet/interface/ps2_host/__init__.py | 21 | # that the protocol is byte-oriented. This is, essentially, false. The protocol is packet-oriented, | COMMENT |
| LOW | software/glasgow/applet/interface/ps2_host/__init__.py | 41 | # similar hacks. | COMMENT |
| LOW | …ftware/glasgow/applet/interface/jtag_probe/__init__.py | 1 | # Ref: IEEE Std 1149.1-2001 | COMMENT |
| LOW | software/glasgow/applet/memory/onfi/__init__.py | 1 | # Memory organization | COMMENT |
| LOW | software/glasgow/applet/memory/onfi/__init__.py | 21 | # | COMMENT |
| LOW | software/glasgow/applet/memory/onfi/__init__.py | 41 | # The row address bits can be separated, from least to most significant, into page index, block | COMMENT |
| LOW | software/glasgow/applet/memory/onfi/__init__.py | 61 | # | COMMENT |
| LOW | software/glasgow/applet/memory/floppy/__init__.py | 1 | # Ref: INTEL 82077AA CHMOS SINGLE-CHIP FLOPPY DISK CONTROLLER | COMMENT |
| 50 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | software/glasgow/cli.py | 162 | def parse_known_intermixed_args(self, args=None, namespace=None): | CODE |
| LOW | software/glasgow/database/jedec.py | 6 | def jedec_mfg_name_from_bytes(mfg_ids): | CODE |
| LOW | software/glasgow/database/jedec.py | 21 | def jedec_mfg_name_from_bank_num(bank, mfg_num): | CODE |
| LOW | software/glasgow/database/jedec.py | 1993 | def _jedec_update_mfg_from_pdf(): | CODE |
| LOW | software/glasgow/protocol/gdb_remote.py | 88 | async def target_set_software_breakpt(self, address: int, kind: int): | CODE |
| LOW | software/glasgow/protocol/gdb_remote.py | 97 | async def target_clear_software_breakpt(self, address: int, kind: int): | CODE |
| LOW | software/glasgow/protocol/gdb_remote.py | 114 | async def target_clear_instr_breakpt(self, address: int, kind: int): | CODE |
| LOW | software/glasgow/protocol/nbd.py | 152 | async def _fixed_newstyle_negotiation(self): | CODE |
| LOW | software/glasgow/applet/__init__.py | 139 | def _get_argparser_for_sphinx(cls, name): | CODE |
| LOW | software/glasgow/applet/__init__.py | 278 | def _get_argparser_for_sphinx(cls, name): | CODE |
| LOW | software/glasgow/applet/memory/_25q/__init__.py | 162 | async def _execute_data_operation_prologue(self, address: int): | CODE |
| LOW | software/glasgow/applet/memory/_25q/__init__.py | 559 | def __add_initialize_arguments(cls, parser): | STRING |
| LOW | software/glasgow/applet/memory/_25q/test.py | 100 | async def test_api_program_data_aligned(self, applet: Memory25QApplet): | CODE |
| LOW | software/glasgow/applet/memory/_25q/test.py | 109 | async def test_api_program_data_unaligned(self, applet: Memory25QApplet): | CODE |
| LOW | software/glasgow/applet/memory/_25x/__init__.py | 78 | async def read_manufacturer_device_id(self): | CODE |
| LOW | software/glasgow/applet/memory/_25x/__init__.py | 83 | async def read_manufacturer_long_device_id(self): | CODE |
| LOW | software/glasgow/applet/sensor/scd30/__init__.py | 132 | async def get_auto_self_calibration(self) -> bool: | CODE |
| LOW | software/glasgow/applet/sensor/scd30/__init__.py | 137 | async def set_auto_self_calibration(self, enabled: bool): | CODE |
| LOW | software/glasgow/applet/sensor/scd30/__init__.py | 163 | async def get_altitude_compensation(self) -> int: | CODE |
| LOW | software/glasgow/applet/sensor/scd30/__init__.py | 168 | async def set_altitude_compensation(self, altitude_m: int): | CODE |
| LOW⚡ | software/glasgow/applet/program/avr/__init__.py | 96 | async def read_program_memory_range(self, addresses): | CODE |
| LOW⚡ | software/glasgow/applet/program/avr/__init__.py | 104 | async def write_program_memory_page(self, address): | CODE |
| LOW⚡ | software/glasgow/applet/program/avr/__init__.py | 107 | async def write_program_memory_range(self, address, chunk, page_size): | CODE |
| LOW | software/glasgow/applet/program/avr/spi/__init__.py | 142 | async def load_extended_address_byte(self, address): | CODE |
| LOW | software/glasgow/applet/program/avr/spi/__init__.py | 169 | async def write_program_memory_page(self, address): | CODE |
| LOW | software/glasgow/applet/program/ice40_sram/test.py | 26 | async def test_hardware_without_done(self, applet: ProgramICE40SRAMApplet): | CODE |
| LOW | software/glasgow/applet/program/mec16xx/__init__.py | 195 | async def _flash_wait_for_data_not_full(self, fail_msg="Failure detected"): | CODE |
| LOW | software/glasgow/applet/program/mec16xx/__init__.py | 327 | async def _eeprom_wait_for_not_busy(self, fail_msg="Failure detected"): | CODE |
| LOW | software/glasgow/applet/program/mec16xx/__init__.py | 338 | async def _eeprom_wait_for_data_not_full(self, fail_msg="Failure detected"): | CODE |
| LOW | software/glasgow/applet/debug/mips/__init__.py | 227 | async def _check_for_debug_interrupt(self): | CODE |
| LOW | software/glasgow/applet/debug/mips/__init__.py | 715 | async def target_set_software_breakpt(self, address, kind): | CODE |
| LOW | software/glasgow/applet/debug/mips/__init__.py | 728 | async def target_clear_software_breakpt(self, address, kind): | CODE |
| LOW | software/glasgow/applet/debug/mips/__init__.py | 748 | async def target_clear_instr_breakpt(self, address, kind): | CODE |
| LOW | software/glasgow/applet/debug/arm/arm7/__init__.py | 1276 | async def target_set_software_breakpt(self, address: int, kind: int): | STRING |
| LOW | software/glasgow/applet/debug/arm/arm7/__init__.py | 1282 | async def target_clear_software_breakpt(self, address: int, kind: int): | STRING |
| LOW | software/glasgow/applet/debug/arm/arm7/__init__.py | 1294 | async def target_clear_instr_breakpt(self, address: int, kind: int): | STRING |
| LOW | software/glasgow/support/plugin.py | 16 | def _requirements_for_optional_dependencies(distribution, depencencies): | CODE |
| LOW | software/glasgow/support/plugin.py | 45 | def _install_command_for_requirements(requirements): | CODE |
| LOW | software/glasgow/support/usb/webusb.py | 109 | def _process_disconnect_event(self, event): | CODE |
| LOW | software/glasgow/support/usb/webusb.py | 171 | async def select_alternate_interface(self, interface: int, setting: int): | CODE |
| LOW | software/glasgow/support/usb/__init__.py | 189 | async def select_alternate_interface(self, interface: int, setting: int): | CODE |
| LOW | software/glasgow/support/usb/libusb1.py | 259 | async def select_alternate_interface(self, interface: int, setting: int): | CODE |
| LOW | software/tests/protocol/test_jtag_svf.py | 148 | def test_hir_sir_tir_hdr_sdr_tdr(self): | CODE |
| LOW | software/tests/gateware/test_iostream.py | 29 | async def destination_signal_driver_tb(ctx): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | software/glasgow/hardware/toolchain.py | 307 | # version metadata. This is less robust than hashing every tool component, but it's not | COMMENT |
| MEDIUM | software/glasgow/protocol/gdb_remote.py | 315 | # require that and we want debugging to be as seamless as possible. | COMMENT |
| MEDIUM | software/glasgow/applet/interface/ps2_host/__init__.py | 32 | # problem, but are not completely robust when combined with variable length responses and packets | COMMENT |
| MEDIUM | software/glasgow/applet/memory/_25q/__init__.py | 574 | # in a background of poor signal integrity (e.g. a SOIC clip plus the official harness). | STRING |
| MEDIUM | software/glasgow/applet/audio/yamaha_opx/__init__.py | 688 | # result in robust playback. It appears that 36 is the real latency number. | COMMENT |
| MEDIUM | software/glasgow/gateware/fx2_crossbar.py | 75 | # enable writes to the FPGA-side FIFO. Essentially, the FPGA-side FIFO should be driven by | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | software/glasgow/hardware/device.py | 263 | except Exception as e: | CODE |
| LOW | software/glasgow/protocol/gdb_remote.py | 459 | except Exception as e: | CODE |
| LOW | software/glasgow/applet/_legacy.py | 225 | except Exception as e: | CODE |
| MEDIUM | software/glasgow/applet/_legacy.py | 217 | def run_test(): | CODE |
| LOW | software/glasgow/applet/bridge/jtag_openocd/__init__.py | 53 | except Exception: | CODE |
| LOW | software/glasgow/applet/audio/yamaha_opx/__init__.py | 958 | except Exception as error: | CODE |
| LOW | software/glasgow/applet/debug/arm/arm7/test.py | 214 | except Exception as e: | CODE |
| LOW | software/glasgow/support/bits.py | 214 | except Exception: | CODE |
| LOW | software/glasgow/support/bits.py | 476 | except Exception: | CODE |
| LOW | software/glasgow/support/bits.py | 524 | except Exception: | CODE |
| LOW | software/glasgow/support/asyncio.py | 15 | except Exception as exn: | CODE |
| LOW | software/glasgow/support/plugin.py | 125 | except Exception as exn: | CODE |
| LOW | software/glasgow/support/os_network.py | 66 | except Exception as exc: | CODE |
| LOW | software/tests/gateware/test_swd.py | 97 | except Exception as exn: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | firmware/fx2/docker.sh | 29 | # Create a user and a group with the UID/GID of the caller. | COMMENT |
| MEDIUM | software/glasgow/hardware/platform/__init__.py | 107 | # Create an inner buffer of the same type driving `io_port`. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | software/glasgow/applet/bridge/jtag_xvc/__init__.py | 196 | CODE | |
| LOW | …tware/glasgow/applet/program/stusb4500_nvm/__init__.py | 73 | CODE | |
| LOW | …tware/glasgow/applet/program/stusb4500_nvm/__init__.py | 78 | CODE | |
| LOW | …tware/glasgow/applet/program/stusb4500_nvm/__init__.py | 84 | CODE | |
| LOW | …tware/glasgow/applet/program/stusb4500_nvm/__init__.py | 96 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | firmware/fx2/fpga.c | 531 | // TODO: implement revD NVM load | COMMENT |
| LOW | firmware/fx2/nvmem.c | 126 | // TODO: implement revD bitstream write | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | software/glasgow/hardware/toolchain.py | 230 | # Check if we're dealing with an installed Yosys binary, where the share files | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/boilerplate.py | 64 | async def do_something(self): | CODE |