Scots Army Knife for electronics
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.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 362 finding(s).
Are imports declared and package/API names verified? 289 finding(s).
Are wrappers, guards, and repeated structures necessary? 300 finding(s).
Which changes need focused human review? 903 finding(s).
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.
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.
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.
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.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | software/glasgow/applet/interface/analyzer2/__init__.py | 298 | m.d.comb += self.o_samples.p.meta.offset.eq(offset) | CODE |
| CRITICAL | software/glasgow/applet/interface/analyzer2/__init__.py | 333 | m.d.comb += self.o_samples.p.meta.marker.eq(marker) | CODE |
| CRITICAL | software/glasgow/applet/interface/analyzer2/__init__.py | 335 | m.d.comb += self.o_samples.p.meta.marker.eq(Marker.Trigger) | CODE |
| CRITICAL | software/glasgow/applet/interface/analyzer2/__init__.py | 363 | m.d.sync += self.o_samples.p.meta.marker.eq(Marker.Overflow) | CODE |
| CRITICAL | software/glasgow/applet/interface/analyzer2/__init__.py | 364 | m.d.sync += self.o_samples.p.meta.offset.eq(0) | CODE |
| CRITICAL | software/glasgow/applet/interface/analyzer2/__init__.py | 974 | request.i.p.meta.marker.eq(Marker.Overflow), | CODE |
| CRITICAL | software/glasgow/applet/interface/analyzer2/__init__.py | 1025 | request.i.p.meta.marker.eq(Marker.Complete), | CODE |
| CRITICAL | software/glasgow/applet/interface/swd_probe/__init__.py | 112 | ctrl.i_stream.p.hdr.ap_ndp.eq(i_command.arg.transfer.ap_ndp), | CODE |
| CRITICAL | software/glasgow/applet/interface/swd_probe/__init__.py | 113 | 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 | 50 | m.d.comb += self.frames.p.port.cs.oe.eq(1) | CODE |
| CRITICAL⚡ | software/glasgow/gateware/octoram.py | 59 | m.d.comb += self.frames.p.port.clk.oe.eq(1) | CODE |
| CRITICAL⚡ | software/glasgow/gateware/octoram.py | 67 | self.frames.p.port.dq.oe.eq(1), | CODE |
| CRITICAL⚡ | software/glasgow/gateware/octoram.py | 72 | self.frames.p.port.dqs.oe.eq(1), | CODE |
| CRITICAL⚡ | software/glasgow/gateware/octoram.py | 75 | m.d.comb += self.frames.p.meta.epoch.eq(self.octets.p.epoch) | CODE |
| CRITICAL⚡ | software/glasgow/gateware/octoram.py | 77 | m.d.comb += self.frames.p.meta.valid.eq(1) | CODE |
| CRITICAL | software/glasgow/gateware/iostream.py | 207 | m.d.comb += io_buffer.i.p.meta.valid.eq(1) | CODE |
| CRITICAL | software/glasgow/gateware/iostream.py | 216 | 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 | 34 | CODE | |
| LOW | software/glasgow/hardware/assembly.py | 9 | CODE | |
| LOW | software/glasgow/hardware/assembly.py | 24 | 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 | 6 | CODE | |
| LOW | software/glasgow/protocol/onfi.py | 7 | CODE | |
| LOW | software/glasgow/protocol/ymodem.py | 12 | 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 | 399 | 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 | software/glasgow/applet/interface/analyzer2/__init__.py | 66 | CODE | |
| LOW | software/glasgow/applet/interface/analyzer2/test.py | 3 | 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 | 7 | CODE | |
| LOW | software/glasgow/applet/interface/uart/__init__.py | 12 | 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 | |
| 172 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | software/glasgow/abstract.py | 92 | CODE | |
| LOW | software/glasgow/abstract.py | 131 | CODE | |
| LOW | software/glasgow/abstract.py | 201 | CODE | |
| LOW | software/glasgow/legacy.py | 154 | CODE | |
| LOW | software/glasgow/cli.py | 133 | CODE | |
| LOW | software/glasgow/cli.py | 634 | CODE | |
| LOW | software/glasgow/cli.py | 191 | CODE | |
| LOW | software/glasgow/cli.py | 226 | CODE | |
| LOW | software/glasgow/cli.py | 729 | CODE | |
| LOW | software/glasgow/cli.py | 228 | CODE | |
| LOW | software/glasgow/database/jedec.py | 6 | CODE | |
| LOW | software/glasgow/hardware/device.py | 128 | CODE | |
| LOW | software/glasgow/hardware/device.py | 271 | CODE | |
| LOW | software/glasgow/hardware/device.py | 481 | CODE | |
| LOW | software/glasgow/hardware/device.py | 483 | 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 | 144 | CODE | |
| LOW | software/glasgow/simulation/assembly.py | 151 | 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/ymodem.py | 531 | 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 | 351 | CODE | |
| LOW | software/glasgow/applet/__init__.py | 352 | CODE | |
| LOW | software/glasgow/applet/__init__.py | 355 | 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 | …ware/glasgow/applet/interface/spi_analyzer/__init__.py | 129 | CODE | |
| LOW | …re/glasgow/applet/interface/i2c_controller/__init__.py | 47 | CODE | |
| LOW | …re/glasgow/applet/interface/i2c_controller/__init__.py | 456 | 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 | software/glasgow/applet/interface/analyzer2/__init__.py | 281 | CODE | |
| LOW | software/glasgow/applet/interface/analyzer2/__init__.py | 352 | CODE | |
| LOW | software/glasgow/applet/interface/analyzer2/__init__.py | 534 | CODE | |
| LOW | software/glasgow/applet/interface/analyzer2/__init__.py | 637 | CODE | |
| LOW | software/glasgow/applet/interface/analyzer2/__init__.py | 834 | CODE | |
| LOW | software/glasgow/applet/interface/analyzer2/__init__.py | 1220 | CODE | |
| LOW | software/glasgow/applet/interface/analyzer2/__init__.py | 1415 | CODE | |
| LOW | software/glasgow/applet/interface/analyzer2/__init__.py | 1487 | CODE | |
| LOW | software/glasgow/applet/interface/analyzer2/__init__.py | 1569 | 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 | |
| 119 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/i2c/probe.py | 4 | __all__ = ["devices"] | 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 | 25 | __all__ = ["GlasgowDevice", "FX2BootloaderDevice"] | CODE |
| LOW | software/glasgow/hardware/device.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | software/glasgow/hardware/assembly.py | 33 | __all__ = ["HardwareAssembly"] | CODE |
| LOW | software/glasgow/hardware/assembly.py | 36 | 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 | 17 | __all__ = ["SimulationPipe", "SimulationRORegister", "SimulationRWRegister", "SimulationAssembly"] | CODE |
| LOW | software/glasgow/simulation/assembly.py | 20 | 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/ymodem.py | 30 | __all__ = [ | CODE |
| LOW | software/glasgow/protocol/ymodem.py | 36 | logger = logging.getLogger(__name__) | 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 | 22 | __all__ = ["I2CNotAcknowledged", "I2CControllerInterface", "PullState"] | CODE |
| LOW | …e/glasgow/applet/interface/qspi_controller/__init__.py | 17 | __all__ = ["QSPIControllerError", "QSPIControllerComponent", "QSPIControllerInterface"] | CODE |
| LOW | software/glasgow/applet/interface/analyzer2/__init__.py | 79 | __all__ = [ | 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/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 |
| 102 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | software/glasgow/cli.py | 93 | except OSError: | CODE |
| HIGH | software/glasgow/cli.py | 794 | except* SIGINTCaught: | CODE |
| HIGH | software/glasgow/cli.py | 1120 | except ErrorDisconnected: | CODE |
| HIGH | software/glasgow/cli.py | 879 | except* SIGINTCaught: | CODE |
| HIGH | software/glasgow/hardware/assembly.py | 683 | except ResourceError: | CODE |
| HIGH | software/glasgow/hardware/assembly.py | 824 | except ResourceError: | CODE |
| HIGH | software/glasgow/protocol/gdb_remote.py | 210 | except EOFError: | CODE |
| HIGH | software/glasgow/protocol/nbd.py | 276 | except EOFError: | CODE |
| HIGH | …are/glasgow/applet/interface/uart_analyzer/__init__.py | 224 | except OSError: | CODE |
| HIGH | …ware/glasgow/applet/interface/spi_analyzer/__init__.py | 276 | except OSError: | CODE |
| HIGH | …are/glasgow/applet/interface/qspi_analyzer/__init__.py | 262 | except OSError: | CODE |
| HIGH | …ftware/glasgow/applet/interface/i2c_controller/test.py | 73 | except I2CNotAcknowledged: | CODE |
| HIGH | …ftware/glasgow/applet/interface/i2c_controller/test.py | 89 | except I2CNotAcknowledged: | CODE |
| HIGH | …ftware/glasgow/applet/interface/i2c_controller/test.py | 118 | except I2CNotAcknowledged: | CODE |
| HIGH | …ftware/glasgow/applet/interface/i2c_controller/test.py | 158 | except I2CNotAcknowledged: | CODE |
| HIGH | …ftware/glasgow/applet/interface/jtag_probe/__init__.py | 1122 | except ValueError: | CODE |
| HIGH | software/glasgow/applet/interface/uart/__init__.py | 306 | except TimeoutError: | CODE |
| HIGH | software/glasgow/applet/interface/uart/__init__.py | 446 | except* EOFError: | CODE |
| HIGH | software/glasgow/applet/video/ws2812_output/__init__.py | 209 | except asyncio.CancelledError: | CODE |
| HIGH | software/glasgow/applet/bridge/jtag_openocd/__init__.py | 53 | except Exception: | CODE |
| HIGH | software/glasgow/applet/bridge/spi_flashrom/__init__.py | 161 | except EOFError: | CODE |
| HIGH | software/glasgow/applet/bridge/jtag_xvc/__init__.py | 271 | except EOFError: | CODE |
| HIGH | software/glasgow/applet/audio/yamaha_opx/__init__.py | 860 | except aiohttp.ClientConnectionResetError: | CODE |
| HIGH | software/glasgow/applet/program/ice40_sram/test.py | 37 | except ICE40SRAMError: | CODE |
| HIGH | software/glasgow/support/arepl.py | 77 | except FileNotFoundError: | CODE |
| HIGH | software/glasgow/support/os_network.py | 45 | except BlockingIOError: # write until the buffer is full | CODE |
| HIGH | software/glasgow/support/usb/libusb1.py | 245 | except usb1.USBErrorNotSupported: | CODE |
| HIGH | software/glasgow/support/usb/libusb1.py | 314 | except usb1.USBErrorNotFound: | CODE |
| HIGH | software/tests/protocol/test_ymodem.py | 42 | except StopIteration: | CODE |
| 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/stm32/main.c | 1 | // The STM32 firmware is written in a rather idiosyncratic manner. This is because of the harsh | COMMENT |
| LOW | firmware/stm32/main.c | 21 | #define RCC_IOPENR_GPIOAEN (1<<0) | COMMENT |
| LOW | firmware/stm32/main.c | 41 | #define GPIO_MODE_INPUT 0b00 | COMMENT |
| LOW | firmware/stm32/main.c | 61 | #define I2C_CR1(b) ((b)+0x00) | COMMENT |
| LOW | firmware/stm32/main.c | 81 | COMMENT | |
| LOW | firmware/stm32/main.c | 101 | #define SPI_SR(b) ((b)+0x08) | COMMENT |
| LOW | firmware/fx2/stm32.c | 1 | // Ref: Application note — Introduction to system memory boot mode on STM32 MCUs, §47 | COMMENT |
| 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 | // While the nALERT line is connected to an interrupt-capable pin, we do not handle the alert | 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/glasgow_mcu.h | 1 | //! This module implements secondary MCU management. | COMMENT |
| LOW | firmware/fx2/glasgow_mcu.h | 21 | /// Format: `S ADDR MCU_CMD_FPGA FLASH P`. | 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/nafe.c | 1 | // Ref: NAFE71388 Universal ±25 V 8-Input High Speed AFE Rev. 2 | 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 | } fpga_get; | COMMENT |
| LOW | firmware/fx2/glasgow_mgmt.h | 241 | /// These variables are implicit arguments for all management handlers. | 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 | # limitation was introduced in commit add1aaeabe6b08ed26381a2a06e505b2f09c3ba5, with | COMMENT |
| LOW | software/glasgow/hardware/assembly.py | 61 | _max_packets_per_ep = 4096 | COMMENT |
| LOW | software/glasgow/hardware/assembly.py | 341 | while self._out_inflight + len(self._out_buffer) >= self._out_buffer_size: | COMMENT |
| LOW | software/glasgow/hardware/assembly.py | 361 | # * We only submit a write automatically once the buffer level crosses the threshold of | 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 |
| 63 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | software/glasgow/cli.py | 163 | 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 | 140 | def _get_argparser_for_sphinx(cls, name): | CODE |
| LOW | software/glasgow/applet/__init__.py | 279 | def _get_argparser_for_sphinx(cls, name): | CODE |
| LOW | software/glasgow/applet/interface/analyzer2/test.py | 211 | def test_trigger_event_backpressure(self): | 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 | 587 | 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/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_ymodem.py | 129 | def test_recv_single_retransmit(self): | CODE |
| LOW | software/tests/protocol/test_ymodem.py | 248 | def test_send_single_quirk_xm_com(self): | CODE |
| LOW | software/tests/protocol/test_jtag_svf.py | 148 | def test_hir_sir_tir_hdr_sdr_tdr(self): | CODE |
| LOW | software/tests/support/test_bitstruct.py | 73 | def test_int_enum_definition_misuse(self): | CODE |
| LOW | software/tests/support/test_bitstruct.py | 158 | def test_postponed_annotation(self): | CODE |
| LOW | software/tests/gateware/test_iostream.py | 29 | async def destination_signal_driver_tb(ctx): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | software/glasgow/hardware/device.py | 292 | 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/glasgow/support/bitstruct.py | 91 | except Exception as error: | CODE |
| LOW | software/tests/gateware/test_swd.py | 97 | except Exception as exn: | 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 | 602 | # 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 |
|---|---|---|---|---|
| MEDIUM | firmware/fx2/docker.sh | 33 | # 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 | firmware/fx2/fpga.c | 531 | // TODO: implement revD NVM load | COMMENT |
| LOW | firmware/fx2/nvmem.c | 127 | // 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 | software/glasgow/applet/bridge/jtag_xvc/__init__.py | 196 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/boilerplate.py | 64 | async def do_something(self): | CODE |