Modern embedded framework, using Rust and async.
This report summarizes scanner evidence for embassy-rs/embassy, a Rust project with 9,946 GitHub stars. SynthScan examined 562,820 lines of code across 2829 source files, recording 2207 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 4.7 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 2053 finding(s).
Are imports declared and package/API names verified? 2 finding(s).
Are wrappers, guards, and repeated structures necessary? 152 finding(s).
Which changes need focused human review? 2207 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 2207 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 |
|---|---|---|---|---|
| LOW | embassy-usb-driver/src/host.rs | 201 | /// fields on the controller struct. | COMMENT |
| LOW | embassy-usb-driver/src/host.rs | 221 | ) -> Result<Self::Pipe<T, D>, HostError>; | COMMENT |
| LOW | embassy-usb-driver/src/host.rs | 241 | type Allocator: UsbHostAllocator<'d>; | COMMENT |
| LOW | embassy-usb-driver/src/host.rs | 421 | /// ### NAK handling | COMMENT |
| LOW | embassy-usb-driver/src/host.rs | 461 | COMMENT | |
| LOW | embassy-usb-driver/src/lib.rs | 1 | #![no_std] | COMMENT |
| LOW | embassy-usb-driver/src/lib.rs | 41 | /// Host to device (OUT) | COMMENT |
| LOW | embassy-usb-driver/src/lib.rs | 141 | /// Implement this to add support for a new hardware platform. | COMMENT |
| LOW | embassy-usb-driver/src/lib.rs | 161 | /// * `interval_ms` - Polling interval parameter for interrupt endpoints. | COMMENT |
| LOW | embassy-usb-driver/src/lib.rs | 221 | /// | COMMENT |
| LOW | embassy-usb-driver/src/lib.rs | 241 | /// return it. See [`Event`] for the list of events this method should return. | COMMENT |
| LOW | embassy-usb-driver/src/lib.rs | 261 | /// | COMMENT |
| LOW | embassy-usb-driver/src/lib.rs | 281 | /// Get the endpoint address | COMMENT |
| LOW | embassy-usb-driver/src/lib.rs | 321 | /// trait allows the driver to handle it specially. | COMMENT |
| LOW | embassy-usb-driver/src/lib.rs | 341 | /// - control out with len != 0: | COMMENT |
| LOW | embassy-usb-driver/src/lib.rs | 361 | /// ... | COMMENT |
| LOW | embassy-usb-driver/src/lib.rs | 381 | /// the driver must immediately return (with `EndpointError::Disabled` from `data_in`, `data_out`) | COMMENT |
| LOW | embassy-usb-driver/src/lib.rs | 501 | Resume, | COMMENT |
| LOW | embassy-stm32/Cargo.toml | 301 | embassy-crypto-aes256-ctr = [] | COMMENT |
| LOW | embassy-stm32/src/jpeg.rs | 1 | //! JPEG hardware codec. | COMMENT |
| LOW | embassy-stm32/src/jpeg.rs | 261 | } | COMMENT |
| LOW | embassy-stm32/src/rng.rs | 21 | /// the infallible API surfaces by panicking, rather than spinning or recursing. | COMMENT |
| LOW | embassy-stm32/src/wait.rs | 1 | //! Helpers for waiting: timeouts and poll-until-true utilities. | COMMENT |
| LOW | embassy-stm32/src/cpu.rs | 1 | //! Multicore utilities. | COMMENT |
| LOW | embassy-stm32/src/csi.rs | 1 | //! CSI-2 Host controller. | COMMENT |
| LOW | embassy-stm32/src/csi.rs | 21 | //! The RM0486 §40.6 init sequence is applied in [`Csi::new`]: | COMMENT |
| LOW | embassy-stm32/src/csi.rs | 101 | /// CSI-2 Host error. | COMMENT |
| LOW | embassy-stm32/src/csi.rs | 121 | #[non_exhaustive] | COMMENT |
| LOW | embassy-stm32/src/crypto_driver.rs | 1 | //! `embassy-crypto` AES drivers, one per `embassy-crypto-aes*` feature, served | COMMENT |
| LOW | embassy-stm32/src/crypto_driver.rs | 1161 | #[cfg(feature = "embassy-crypto-aes256-cmac")] | COMMENT |
| LOW | embassy-stm32/src/crypto_driver.rs | 1181 | #[cfg(feature = "embassy-crypto-aes128-ccm")] | COMMENT |
| LOW | embassy-stm32/src/lcd.rs | 21 | #[non_exhaustive] | COMMENT |
| LOW | embassy-stm32/src/lcd.rs | 61 | /// Your LCD datasheet should tell you what to use. | COMMENT |
| LOW | embassy-stm32/src/lcd.rs | 121 | /// A short pulse leads to lower power consumption, but displays with high internal resistance | COMMENT |
| LOW | embassy-stm32/src/lib.rs | 301 | } | COMMENT |
| LOW | embassy-stm32/src/lib.rs | 321 | /// | COMMENT |
| LOW | embassy-stm32/src/lib.rs | 401 | pub use crate::pac::NVIC_PRIO_BITS; | COMMENT |
| LOW | embassy-stm32/src/lib.rs | 421 | #[cfg(dbgmcu)] | COMMENT |
| LOW | embassy-stm32/src/lib.rs | 441 | /// | COMMENT |
| LOW | embassy-stm32/src/lib.rs | 461 | /// | COMMENT |
| LOW | embassy-stm32/src/lib.rs | 501 | #[cfg(bdma)] | COMMENT |
| LOW | embassy-stm32/src/lib.rs | 621 | /// #[link_section = ".ram_d3"] | COMMENT |
| LOW | embassy-stm32/src/comp.rs | 21 | COMMENT | |
| LOW | embassy-stm32/src/comp.rs | 81 | } | COMMENT |
| LOW | embassy-stm32/src/comp.rs | 101 | InputPin, | COMMENT |
| LOW | embassy-stm32/src/comp.rs | 121 | #[cfg_attr(feature = "defmt", derive(defmt::Format))] | COMMENT |
| LOW | embassy-stm32/src/comp.rs | 141 | /// Timer blanking source 7 (check datasheet for specific timer mapping). | COMMENT |
| LOW | embassy-stm32/src/comp.rs | 161 | /// Window output mode for window comparisons. | COMMENT |
| LOW | embassy-stm32/src/comp.rs | 981 | // Channel numbers (INP0/INP1, INM0/INM1) come from data/extra/STM32G4.yaml | COMMENT |
| LOW | embassy-stm32/src/mdf.rs | 21 | /// Marker type for filter 3. | COMMENT |
| LOW | embassy-stm32/src/gpu2d.rs | 21 | static ERROR_HOOK: critical_section::Mutex<Cell<Option<fn()>>> = critical_section::Mutex::new(Cell::new(None)); | COMMENT |
| LOW | embassy-stm32/src/opamp.rs | 101 | w.set_vm_sel(vm_sel); | COMMENT |
| LOW | embassy-stm32/src/opamp.rs | 161 | } | COMMENT |
| LOW | embassy-stm32/src/opamp.rs | 381 | w.set_vm_sel(VmSel::from_bits(m_pin.channel())); | COMMENT |
| LOW | embassy-stm32/src/ucpd.rs | 1 | //! USB Type-C/USB Power Delivery Interface (UCPD) | COMMENT |
| LOW | embassy-stm32/src/executor.rs | 1 | //! STM32-specific `embassy-executor` platform. | COMMENT |
| LOW | embassy-stm32/src/executor.rs | 21 | //! let mut config = embassy_stm32::Config::default(); | COMMENT |
| LOW | embassy-stm32/src/executor.rs | 121 | /// The `init` closure is called with a [`Spawner`] that spawns tasks on | COMMENT |
| LOW | embassy-stm32/src/executor.rs | 181 | /// use case is to leave thread mode free for non-async tasks. Another use case is | COMMENT |
| LOW | embassy-stm32/src/executor.rs | 221 | let executor = unsafe { (&*self.executor.get()).assume_init_ref() }; | COMMENT |
| 1881 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | embassy-stm32/src/npu/cache.rs | 126 | // ── Cortex-M55 data-cache maintenance by address ──────────────────────────── | COMMENT |
| MEDIUM | embassy-stm32/src/npu/ecloader.rs | 98 | // ── blob ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-stm32/src/npu/ecloader.rs | 161 | // ── relocations ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-stm32/src/npu/ecloader.rs | 219 | // ── patches ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-stm32/src/dma/ringbuffer/tests/mod.rs | 351 | // ── read_latest tests ────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/trace.rs | 20 | //! ╔════▼════╗ (2) ┌─────────┐ (3) ┌─────────┐ │ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/trace.rs | 22 | //! ╚═════════╝ └─────────┘ └─────────┘ │ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/trace.rs | 27 | //! │ ┌──────┐ (5) │ │ ┌─────┐ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/trace.rs | 28 | //! │ IDLE │◀────────────────┘ └─▶│ END │ │ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/trace.rs | 29 | //! │ └──────┘ └─────┘ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/trace.rs | 30 | //! ┌──────────────────────┐ │ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/trace.rs | 32 | //! └──────────────────────┘ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/trace.rs | 52 | //! ╔═══▼══╗ (2) ┌────────────┐ (3) ┌─────────┐ │ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/trace.rs | 53 | //! │ ║ IDLE ║──────────▶│ SCHEDULING │──────▶│ POLLING │ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/trace.rs | 54 | //! ╚══════╝ └────────────┘ └─────────┘ │ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/trace.rs | 57 | //! │ └──────────────┘ └────────────┘ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/trace.rs | 58 | //! ┌──────────────────────────┐ │ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/trace.rs | 60 | //! └──────────────────────────┘ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/mod.rs | 83 | /// ┌────────────┐ ┌────────────────────────┐ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/mod.rs | 86 | /// └─────┬──────┘ └──────▲─────────────────┘ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/mod.rs | 88 | /// │ ┌────────────┘ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/mod.rs | 90 | /// ┌─────▼────┴─────────┐ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/mod.rs | 93 | /// └─────┬▲─────────────┘ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/mod.rs | 96 | /// ┌─────▼┴─────┐ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/mod.rs | 99 | /// └────────────┘ | COMMENT |
| MEDIUM | embassy-usb/src/host/control.rs | 353 | // ── ControlPipeExt ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | embassy-usb/src/class/gip/host.rs | 75 | // ── GIP USB interface identifiers ──────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | embassy-usb/src/class/gip/host.rs | 83 | // ── GIP message types (MS-GIPUSB §2.2) ────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | embassy-usb/src/class/gip/host.rs | 91 | // ── GIP flags ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb/src/class/gip/host.rs | 102 | // ── Public types ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb/src/class/gip/host.rs | 212 | // ── Descriptor discovery ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb/src/class/gip/host.rs | 282 | // ── Standard GIP parsing helpers ───────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb/src/class/gip/host.rs | 356 | // ── GipDevice trait ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb/src/class/gip/host.rs | 412 | // ── Xbox One S implementation ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb/src/class/gip/host.rs | 463 | // ── GipHost driver ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb/src/class/hid/host/hid_report.rs | 27 | // ── Usage page constants ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb/src/class/hid/host/hid_report.rs | 85 | // ── Input item flag constants ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb/src/class/hid/host/hid_report.rs | 102 | // ── Parsed report field ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb/src/class/hid/host/hid_report.rs | 220 | // ── Parsed descriptor ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb/src/class/hid/host/hid_report.rs | 260 | // ── Global items ────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb/src/class/hid/host/hid_report.rs | 290 | // ── Local items ─────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb/src/class/hid/host/hid_report.rs | 313 | // ── Main: Input ─────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb/src/class/hid/host/hid_report.rs | 397 | // ── Main: Output / Feature — advance offsets, ignore ────── | COMMENT |
| MEDIUM | embassy-usb/src/class/hid/host/hid_report.rs | 403 | // ── Main: Collection / End Collection ───────────────────── | COMMENT |
| MEDIUM | embassy-usb/src/class/hid/host/hid_report.rs | 479 | // ── Internal parsing state ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb/src/class/hid/host/hid_report.rs | 518 | // ── HID descriptor item iterator ────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb/src/class/hid/host/mod.rs | 23 | // ── Boot-protocol report structs ───────────────────────────────────────────── | COMMENT |
| MEDIUM | examples/stm32wba/src/bin/saes_ecb.rs | 47 | // ─── AES-128-ECB round-trip + NIST sanity check ────────────────────────── | COMMENT |
| MEDIUM | examples/stm32wba/src/bin/saes_ecb.rs | 95 | // ─── AES-256-ECB round-trip (device-specific ciphertext) ───────────────── | COMMENT |
| MEDIUM | examples/stm32wba/src/bin/saes_gcm.rs | 40 | // ─── GCM round-trip: no AAD, 16-byte plaintext ─────────────────────────── | COMMENT |
| MEDIUM | examples/stm32wba/src/bin/saes_gcm.rs | 96 | // ─── GCM round-trip: larger plaintext, no AAD ──────────────────────────── | COMMENT |
| MEDIUM | examples/stm32wba6/src/bin/ble_heart_rate.rs | 54 | // ── GATT UUIDs (Bluetooth SIG assigned) ────────────────────────────────────── | COMMENT |
| MEDIUM | examples/stm32wba6/src/bin/ble_heart_rate.rs | 116 | // ── Build GATT server ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | examples/stm32wba6/src/bin/ble_heart_rate.rs | 185 | // ── Advertising ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | examples/stm32wba6/src/bin/ble_heart_rate.rs | 204 | // ── Main loop: send HR notifications every 1 s ─────────────────────────── | COMMENT |
| MEDIUM | examples/stm32wba6/src/bin/ble_heart_rate.rs | 211 | // ── GAP events ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | examples/stm32wba6/src/bin/ble_heart_rate.rs | 236 | // ── GATT events ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | examples/stm32wba6/src/bin/ble_heart_rate.rs | 267 | // ── 1-second tick: update and send HRM notification ─────────── | COMMENT |
| MEDIUM | examples/stm32wba6/src/bin/ble_bonding.rs | 124 | // ── Security ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | examples/stm32wba6/src/bin/ble_bonding.rs | 166 | // ── GATT ────────────────────────────────────────────────────────────────── | COMMENT |
| 86 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | embassy-stm32/src/rcc/u5.rs | 321 | // If both MSIS and MSIK are enabled, we need to check if they are using the same internal source. | COMMENT |
| LOW | embassy-stm32/src/rcc/u3.rs | 342 | // If both MSIS and MSIK are enabled, we need to check if they are using the same internal source. | COMMENT |
| LOW | embassy-usb/src/host/mod.rs | 483 | // Step 4: Get configuration descriptor header (9 bytes). | COMMENT |
| LOW | embassy-usb/src/host/mod.rs | 516 | // Step 5: SET_CONFIGURATION. | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_keygen.rs | 131 | // Step 1: Compute Montgomery parameter R² mod n | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_keygen.rs | 153 | // Step 2: Verify n = p * q using arithmetic multiplication | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_keygen.rs | 179 | // Step 3: Validate that d < n (private exponent must be less than modulus) | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_keygen.rs | 197 | // Step 4: Test encryption/decryption to verify key pair | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_keygen.rs | 235 | // Step 5: Demonstrate modular inverse (useful for computing d from e) | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_keygen.rs | 256 | // Step 6: Demonstrate modular reduction | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_crt.rs | 181 | // Step 1: Encrypt with public key (standard RSA encryption) | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_crt.rs | 198 | // Step 2: Decrypt using standard RSA (for comparison) | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_crt.rs | 217 | // Step 3: Decrypt using RSA-CRT (faster!) | COMMENT |
| LOW⚡ | examples/stm32wba/src/bin/pka_rsa_crt.rs | 256 | // Step 4: Verify both methods produce the same result | COMMENT |
| LOW⚡ | examples/stm32wba/src/bin/pka_rsa_crt.rs | 265 | // Step 5: Multiple decryption demonstration | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa.rs | 112 | // Step 1: Compute Montgomery parameter for the modulus | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa.rs | 128 | // Step 2: Encrypt using public key (n, e) | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa.rs | 147 | // Step 3: Decrypt using private key d | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa.rs | 173 | // Step 4: Demonstrate fast decryption with pre-computed Montgomery parameter | COMMENT |
| LOW | examples/boot/application/nrf/src/bin/a.rs | 48 | // The following code block illustrates how to obtain a watchdog that is configured | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_keygen.rs | 111 | // Step 1: Compute Montgomery parameter R² mod n | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_keygen.rs | 133 | // Step 2: Verify n = p * q using arithmetic multiplication | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_keygen.rs | 159 | // Step 3: Validate that d < n (private exponent must be less than modulus) | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_keygen.rs | 177 | // Step 4: Test encryption/decryption to verify key pair | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_keygen.rs | 215 | // Step 5: Demonstrate modular inverse (useful for computing d from e) | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_keygen.rs | 236 | // Step 6: Demonstrate modular reduction | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_crt.rs | 161 | // Step 1: Encrypt with public key (standard RSA encryption) | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_crt.rs | 178 | // Step 2: Decrypt using standard RSA (for comparison) | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_crt.rs | 197 | // Step 3: Decrypt using RSA-CRT (faster!) | COMMENT |
| LOW⚡ | examples/stm32wba6/src/bin/pka_rsa_crt.rs | 236 | // Step 4: Verify both methods produce the same result | COMMENT |
| LOW⚡ | examples/stm32wba6/src/bin/pka_rsa_crt.rs | 245 | // Step 5: Multiple decryption demonstration | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa.rs | 92 | // Step 1: Compute Montgomery parameter for the modulus | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa.rs | 108 | // Step 2: Encrypt using public key (n, e) | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa.rs | 127 | // Step 3: Decrypt using private key d | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa.rs | 153 | // Step 4: Demonstrate fast decryption with pre-computed Montgomery parameter | COMMENT |
| LOW | embassy-mcxa/src/executor.rs | 149 | // Next, we need to check if any high-power peripherals exist that should | COMMENT |
| LOW⚡ | embassy-mcxa/src/i3c/controller.rs | 1630 | // Step 2: Pre-clear IBIWON in case it was already set, so AUTO_IBI doesn't return early. | COMMENT |
| LOW⚡ | embassy-mcxa/src/i3c/controller.rs | 1633 | // Step 3: Issue AUTO_IBI with ACK — hardware handles the IBI protocol handshake. | COMMENT |
| LOW⚡ | embassy-mcxa/src/i3c/controller.rs | 1639 | // Step 4: Wait for IBIWON — the IBI has been accepted and the address header received. | COMMENT |
| LOW⚡ | embassy-mcxa/src/i3c/controller.rs | 1707 | // Step 6: Wait for COMPLETE (marks end of IBI reception, state transitions to NORMACT). | COMMENT |
| LOW⚡ | embassy-mcxa/src/i3c/controller.rs | 1712 | // Step 7: Clear status flags and emit a STOP to terminate the IBI | COMMENT |
| LOW | embassy-mcxa/src/i3c/controller.rs | 1605 | // Step 1: Wait for SLVSTART (a target is asserting SDA low to request the bus). | COMMENT |
| LOW | embassy-mcxa/src/i3c/controller.rs | 1665 | // Step 5: For normal IBIs (not Hot-Join or Controller-Request), drain the RX FIFO payload. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | embassy-usb/src/host/mod.rs | 483 | // Step 4: Get configuration descriptor header (9 bytes). | COMMENT |
| LOW | embassy-usb/src/host/mod.rs | 516 | // Step 5: SET_CONFIGURATION. | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_keygen.rs | 131 | // Step 1: Compute Montgomery parameter R² mod n | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_keygen.rs | 153 | // Step 2: Verify n = p * q using arithmetic multiplication | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_keygen.rs | 179 | // Step 3: Validate that d < n (private exponent must be less than modulus) | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_keygen.rs | 197 | // Step 4: Test encryption/decryption to verify key pair | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_keygen.rs | 235 | // Step 5: Demonstrate modular inverse (useful for computing d from e) | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_keygen.rs | 256 | // Step 6: Demonstrate modular reduction | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_crt.rs | 181 | // Step 1: Encrypt with public key (standard RSA encryption) | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_crt.rs | 198 | // Step 2: Decrypt using standard RSA (for comparison) | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_crt.rs | 217 | // Step 3: Decrypt using RSA-CRT (faster!) | COMMENT |
| LOW⚡ | examples/stm32wba/src/bin/pka_rsa_crt.rs | 256 | // Step 4: Verify both methods produce the same result | COMMENT |
| LOW⚡ | examples/stm32wba/src/bin/pka_rsa_crt.rs | 265 | // Step 5: Multiple decryption demonstration | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa.rs | 112 | // Step 1: Compute Montgomery parameter for the modulus | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa.rs | 128 | // Step 2: Encrypt using public key (n, e) | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa.rs | 147 | // Step 3: Decrypt using private key d | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa.rs | 173 | // Step 4: Demonstrate fast decryption with pre-computed Montgomery parameter | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_keygen.rs | 111 | // Step 1: Compute Montgomery parameter R² mod n | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_keygen.rs | 133 | // Step 2: Verify n = p * q using arithmetic multiplication | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_keygen.rs | 159 | // Step 3: Validate that d < n (private exponent must be less than modulus) | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_keygen.rs | 177 | // Step 4: Test encryption/decryption to verify key pair | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_keygen.rs | 215 | // Step 5: Demonstrate modular inverse (useful for computing d from e) | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_keygen.rs | 236 | // Step 6: Demonstrate modular reduction | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_crt.rs | 161 | // Step 1: Encrypt with public key (standard RSA encryption) | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_crt.rs | 178 | // Step 2: Decrypt using standard RSA (for comparison) | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_crt.rs | 197 | // Step 3: Decrypt using RSA-CRT (faster!) | COMMENT |
| LOW⚡ | examples/stm32wba6/src/bin/pka_rsa_crt.rs | 236 | // Step 4: Verify both methods produce the same result | COMMENT |
| LOW⚡ | examples/stm32wba6/src/bin/pka_rsa_crt.rs | 245 | // Step 5: Multiple decryption demonstration | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa.rs | 92 | // Step 1: Compute Montgomery parameter for the modulus | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa.rs | 108 | // Step 2: Encrypt using public key (n, e) | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa.rs | 127 | // Step 3: Decrypt using private key d | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa.rs | 153 | // Step 4: Demonstrate fast decryption with pre-computed Montgomery parameter | COMMENT |
| LOW | embassy-mcxa/Cargo.toml | 107 | # WARNING: This WILL cause problems if you plan to use defmt over RTT, | COMMENT |
| LOW⚡ | embassy-mcxa/src/i3c/controller.rs | 1630 | // Step 2: Pre-clear IBIWON in case it was already set, so AUTO_IBI doesn't return early. | COMMENT |
| LOW⚡ | embassy-mcxa/src/i3c/controller.rs | 1633 | // Step 3: Issue AUTO_IBI with ACK — hardware handles the IBI protocol handshake. | COMMENT |
| LOW⚡ | embassy-mcxa/src/i3c/controller.rs | 1639 | // Step 4: Wait for IBIWON — the IBI has been accepted and the address header received. | COMMENT |
| LOW⚡ | embassy-mcxa/src/i3c/controller.rs | 1707 | // Step 6: Wait for COMPLETE (marks end of IBI reception, state transitions to NORMACT). | COMMENT |
| LOW⚡ | embassy-mcxa/src/i3c/controller.rs | 1712 | // Step 7: Clear status flags and emit a STOP to terminate the IBI | COMMENT |
| LOW | embassy-mcxa/src/i3c/controller.rs | 1605 | // Step 1: Wait for SLVSTART (a target is asserting SDA low to request the bus). | COMMENT |
| LOW | embassy-mcxa/src/i3c/controller.rs | 1665 | // Step 5: For normal IBIs (not Hot-Join or Controller-Request), drain the RX FIFO payload. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | embassy-rp/src/bootsel.rs | 6 | //! to utilize outside of the rom's bootloader. | COMMENT |
| MEDIUM | embassy-rp/src/rom_data/rp2040.rs | 154 | // can still utilize the cache, but we have to make sure it has | COMMENT |
| MEDIUM | embassy-sync/src/rpc_service.rs | 39 | // Fundamentally, we need some shared memory between the caller and the runner | COMMENT |
| MEDIUM | examples/std/src/bin/serial.rs | 23 | // Essentially, async_io::Async converts from AsRawFd+Read+Write to futures's AsyncRead+AsyncWrite | COMMENT |
| MEDIUM | embassy-stm32-wpan/src/net/commands.rs | 296 | /// MLME DPS Request allows the next higher layer to request that the PHY utilize a | COMMENT |
| MEDIUM | embassy-stm32-wpan/src/net/commands.rs | 305 | /// the number of symbols for which the transmitter and receiver will utilize the | COMMENT |
| MEDIUM | embassy-mcxa/src/lpuart/bbq.rs | 62 | /// Default mode, attempts to utilize the ring buffer as maximally as possible. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | examples/stm32n6/build.rs | 4 | //! ST Edge AI generated network so the `npu_mobilenet` example can run genuine | COMMENT |
| HIGH | embassy-stm32-wpan/src/wb/mod.rs | 87 | // this is an inlined version of TL_Init from the STM32WB firmware as requested by AN5289. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | embassy-rp/Cargo.toml | 119 | ## Have embassy-rp not provide the boot2 so you can use your own. | COMMENT |
| MEDIUM | embassy-rp/Cargo.toml | 140 | ## Have embassy-rp not provide the Image Definition so you can use your own. | COMMENT |
| MEDIUM | examples/stm32wba/src/bin/pka_rsa.rs | 17 | //! This example uses a small 512-bit key for demonstration purposes. | COMMENT |
| MEDIUM | examples/stm32wba6/src/bin/pka_rsa.rs | 17 | //! This example uses a small 512-bit key for demonstration purposes. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | embassy-usb-synopsys-otg/src/host.rs | 777 | let speed_code = self.instance.state.fields.port_speed.load(Ordering::Acquire); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | examples/stm32n6/eth-speedtest.py | 71 | except OSError: | CODE |
| HIGH | examples/stm32n6/eth-speedtest.py | 89 | except OSError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | embassy-stm32/src/hspi/mod.rs | 899 | // TODO: implement this using a LinkedList DMA to offload the whole transfer off the CPU. | COMMENT |
| LOW | embassy-stm32/src/usb/usb.rs | 833 | // TODO: implement VBUS detection. | COMMENT |
| LOW | embassy-stm32/src/xspi/mod.rs | 1848 | // TODO: implement this using a LinkedList DMA to offload the whole transfer off the CPU. | COMMENT |
| LOW | embassy-stm32/src/ospi/mod.rs | 1970 | // TODO: implement this using a LinkedList DMA to offload the whole transfer off the CPU. | COMMENT |
| LOW | embassy-stm32/src/ospi/mod.rs | 2045 | // TODO: implement this using a LinkedList DMA to offload the whole transfer off the CPU. | COMMENT |
| LOW | embassy-rp/src/usb/device.rs | 352 | // TODO: implement VBUS detection. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | embassy-time/Cargo.toml | 59 | ## Create a time driver for `std` environments. | COMMENT |
| MEDIUM | embassy-time/Cargo.toml | 61 | ## Create a time driver for WASM. | COMMENT |
| MEDIUM | embassy-hal-internal/Cargo.toml | 19 | # Define the number of NVIC priority bits. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | examples/stm32wba6/convert_wav.py | 26 | print("Error: only 16-bit WAV files are supported") | CODE |
| LOW | examples/stm32wba6/convert_wav.py | 52 | except Exception as exc: | CODE |
| MEDIUM | examples/stm32wba6/convert_wav.py | 53 | print(f"Error: {exc}") | CODE |
| MEDIUM | examples/stm32wba6/convert_wav.py | 66 | print(f"Error: input file '{input_file}' not found") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | embassy-rp/src/trng.rs | 152 | /// Usage example: | COMMENT |
| LOW | examples/stm32wb/firmware/run_fus_update.sh | 6 | # Usage: | COMMENT |
| LOW | embassy-mspm0/src/trng.rs | 148 | /// Usage example: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/stm32wba6/convert_wav.py | 9 | CODE | |
| LOW | examples/ambiq/sparkfun-artemis/tools/svl.py | 201 | CODE | |
| LOW | examples/ambiq/sparkfun-artemis/tools/svl.py | 291 | CODE | |
| LOW | examples/ambiq/sparkfun-artemis/tools/svl.py | 323 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | examples/stm32wba6/verify_rpa.py | 15 | hash = ah(IRK, prand) = AES-128(IRK, 0..0 || prand)[13..16] (lower 3 bytes) | STRING |