Modern embedded framework, using Rust and async.
This report presents the forensic synthetic code analysis of embassy-rs/embassy, a Rust project with 9,532 GitHub stars. SynthScan v2.0 examined 459,817 lines of code across 2444 source files, recording 1772 pattern matches distributed across 14 syntactic categories. The overall adjusted score of 4.8 places this repository in the Likely human-written 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).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
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 1772 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 |
|---|---|---|---|---|
| LOW | embassy-usb-driver/src/host.rs | 141 | pub trait UsbHostAllocator<'d>: Sized + Clone { | COMMENT |
| LOW | embassy-usb-driver/src/host.rs | 161 | } | COMMENT |
| LOW | embassy-usb-driver/src/host.rs | 181 | /// Wait for a root-port attach/detach. | COMMENT |
| LOW | embassy-usb-driver/src/host.rs | 341 | } | COMMENT |
| LOW | embassy-usb-driver/src/host.rs | 401 | /// | 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 | 201 | /// This trait provides methods that act on the whole bus. It is kept owned by | COMMENT |
| LOW | embassy-usb-driver/src/lib.rs | 221 | /// If the endpoint is an OUT endpoint, it should be prepared to receive data again. | COMMENT |
| LOW | embassy-usb-driver/src/lib.rs | 241 | /// | COMMENT |
| LOW | embassy-usb-driver/src/lib.rs | 281 | } | COMMENT |
| LOW | embassy-usb-driver/src/lib.rs | 301 | /// (...processing...) | COMMENT |
| LOW | embassy-usb-driver/src/lib.rs | 321 | /// data_out(first=false, last=true) | COMMENT |
| LOW | embassy-usb-driver/src/lib.rs | 341 | /// ```not_rust | COMMENT |
| LOW | embassy-usb-driver/src/lib.rs | 361 | /// Read a single setup packet from the endpoint. | COMMENT |
| LOW | embassy-usb-driver/src/lib.rs | 481 | COMMENT | |
| LOW | embassy-stm32/src/jpeg.rs | 1 | //! JPEG hardware codec. | COMMENT |
| LOW | embassy-stm32/src/jpeg.rs | 261 | } | 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/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 | 141 | // Limited to N6 for now — on H7 the metapac entry for JPEG has `rcc: None` | COMMENT |
| LOW | embassy-stm32/src/lib.rs | 221 | /// | COMMENT |
| LOW | embassy-stm32/src/lib.rs | 241 | /// I2C2_3 => i2c::EventInterruptHandler<peripherals::I2C2>, i2c::ErrorInterruptHandler<peripherals::I2C2>, | COMMENT |
| LOW | embassy-stm32/src/lib.rs | 361 | /// `embassy-stm32` global configuration. | COMMENT |
| LOW | embassy-stm32/src/lib.rs | 381 | COMMENT | |
| LOW | embassy-stm32/src/lib.rs | 401 | #[cfg(stm32wba)] | COMMENT |
| LOW | embassy-stm32/src/lib.rs | 421 | #[cfg(stm32wba)] | COMMENT |
| LOW | embassy-stm32/src/lib.rs | 441 | /// | COMMENT |
| LOW | embassy-stm32/src/lib.rs | 521 | COMMENT | |
| LOW | embassy-stm32/src/lib.rs | 541 | #[repr(C)] | COMMENT |
| LOW | embassy-stm32/src/comp.rs | 21 | /// Power mode for the comparator. | COMMENT |
| LOW | embassy-stm32/src/comp.rs | 41 | /// Low hysteresis. | COMMENT |
| LOW | embassy-stm32/src/comp.rs | 81 | COMMENT | |
| LOW | embassy-stm32/src/comp.rs | 101 | #[cfg(any(comp_v1, comp_v2))] | COMMENT |
| LOW | embassy-stm32/src/comp.rs | 121 | Blank2, | COMMENT |
| LOW | embassy-stm32/src/comp.rs | 141 | /// is within a voltage window defined by the two comparators' thresholds. | COMMENT |
| LOW | embassy-stm32/src/comp.rs | 801 | 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 | 81 | COMMENT | |
| LOW | embassy-stm32/src/executor.rs | 121 | /// This function requires `&'static mut self`. This means you have to store the | COMMENT |
| LOW | embassy-stm32/src/executor.rs | 161 | COMMENT | |
| LOW | embassy-stm32/src/executor.rs | 221 | /// | COMMENT |
| LOW | embassy-stm32/src/i2s.rs | 41 | /// I2C standard | COMMENT |
| LOW | embassy-stm32/src/i2s.rs | 201 | /// Reset the ring buffer to its initial state. | COMMENT |
| LOW | embassy-stm32/src/i2s.rs | 681 | // 2. Select the CKPOL bit to define the steady level for the communication clock. Set the | COMMENT |
| LOW | embassy-stm32/src/i2s.rs | 821 | // Fs = i2s_clock / [(channel_length * 2) * ((2 * div) + odd)]` when master clock is disabled | COMMENT |
| LOW | embassy-stm32/src/low_power.rs | 1 | //! Low-power support. | COMMENT |
| 1439 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | embassy-stm32/src/dma/ringbuffer/tests/mod.rs | 216 | // ── read_latest tests ────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/trace.rs | 31 | //! ╔════▼════╗ (2) ┌─────────┐ (3) ┌─────────┐ │ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/trace.rs | 33 | //! ╚═════════╝ └─────────┘ └─────────┘ │ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/trace.rs | 38 | //! │ ┌──────┐ (5) │ │ ┌─────┐ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/trace.rs | 39 | //! │ IDLE │◀────────────────┘ └─▶│ END │ │ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/trace.rs | 40 | //! │ └──────┘ └─────┘ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/trace.rs | 41 | //! ┌──────────────────────┐ │ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/trace.rs | 43 | //! └──────────────────────┘ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/trace.rs | 63 | //! ╔═══▼══╗ (2) ┌────────────┐ (3) ┌─────────┐ │ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/trace.rs | 64 | //! │ ║ IDLE ║──────────▶│ SCHEDULING │──────▶│ POLLING │ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/trace.rs | 65 | //! ╚══════╝ └────────────┘ └─────────┘ │ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/trace.rs | 68 | //! │ └──────────────┘ └────────────┘ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/trace.rs | 69 | //! ┌──────────────────────────┐ │ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/trace.rs | 71 | //! └──────────────────────────┘ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/mod.rs | 79 | /// ┌────────────┐ ┌────────────────────────┐ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/mod.rs | 82 | /// └─────┬──────┘ └──────▲─────────────────┘ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/mod.rs | 84 | /// │ ┌────────────┘ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/mod.rs | 86 | /// ┌─────▼────┴─────────┐ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/mod.rs | 89 | /// └─────┬▲─────────────┘ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/mod.rs | 92 | /// ┌─────▼┴─────┐ | COMMENT |
| MEDIUM⚡ | embassy-executor/src/raw/mod.rs | 95 | /// └────────────┘ | COMMENT |
| MEDIUM | embassy-usb-host/src/control.rs | 338 | // ── ControlPipeExt ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb-host/src/class/hid.rs | 30 | // ── Boot-protocol report structs ───────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | embassy-usb-host/src/class/gip.rs | 75 | // ── GIP USB interface identifiers ──────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | embassy-usb-host/src/class/gip.rs | 83 | // ── GIP message types (MS-GIPUSB §2.2) ────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | embassy-usb-host/src/class/gip.rs | 91 | // ── GIP flags ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb-host/src/class/gip.rs | 102 | // ── Public types ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb-host/src/class/gip.rs | 212 | // ── Descriptor discovery ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb-host/src/class/gip.rs | 282 | // ── Standard GIP parsing helpers ───────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb-host/src/class/gip.rs | 356 | // ── GipDevice trait ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb-host/src/class/gip.rs | 412 | // ── Xbox One S implementation ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb-host/src/class/gip.rs | 463 | // ── GipHost driver ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb-host/src/class/hid_report.rs | 26 | // ── Usage page constants ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb-host/src/class/hid_report.rs | 84 | // ── Input item flag constants ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb-host/src/class/hid_report.rs | 101 | // ── Parsed report field ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb-host/src/class/hid_report.rs | 219 | // ── Parsed descriptor ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb-host/src/class/hid_report.rs | 259 | // ── Global items ────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb-host/src/class/hid_report.rs | 289 | // ── Local items ─────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb-host/src/class/hid_report.rs | 312 | // ── Main: Input ─────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb-host/src/class/hid_report.rs | 396 | // ── Main: Output / Feature — advance offsets, ignore ────── | COMMENT |
| MEDIUM | embassy-usb-host/src/class/hid_report.rs | 402 | // ── Main: Collection / End Collection ───────────────────── | COMMENT |
| MEDIUM | embassy-usb-host/src/class/hid_report.rs | 478 | // ── Internal parsing state ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | embassy-usb-host/src/class/hid_report.rs | 528 | // ── HID descriptor item iterator ────────────────────────────────────────────── | COMMENT |
| MEDIUM | examples/stm32wba/src/bin/saes_ecb.rs | 46 | // ─── AES-128-ECB round-trip + NIST sanity check ────────────────────────── | COMMENT |
| MEDIUM | examples/stm32wba/src/bin/saes_ecb.rs | 94 | // ─── AES-256-ECB round-trip (device-specific ciphertext) ───────────────── | COMMENT |
| MEDIUM | examples/stm32wba/src/bin/saes_gcm.rs | 39 | // ─── GCM round-trip: no AAD, 16-byte plaintext ─────────────────────────── | COMMENT |
| MEDIUM | examples/stm32wba/src/bin/saes_gcm.rs | 95 | // ─── GCM round-trip: larger plaintext, no AAD ──────────────────────────── | COMMENT |
| MEDIUM | examples/stm32wba6/src/bin/ble_heart_rate.rs | 60 | // ── GATT UUIDs (Bluetooth SIG assigned) ────────────────────────────────────── | COMMENT |
| MEDIUM | examples/stm32wba6/src/bin/ble_heart_rate.rs | 127 | // ── Build GATT server ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | examples/stm32wba6/src/bin/ble_heart_rate.rs | 196 | // ── Advertising ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | examples/stm32wba6/src/bin/ble_heart_rate.rs | 215 | // ── Main loop: send HR notifications every 1 s ─────────────────────────── | COMMENT |
| MEDIUM | examples/stm32wba6/src/bin/ble_heart_rate.rs | 221 | // ── GAP events ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | examples/stm32wba6/src/bin/ble_heart_rate.rs | 246 | // ── GATT events ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | examples/stm32wba6/src/bin/ble_heart_rate.rs | 277 | // ── 1-second tick: update and send HRM notification ─────────── | COMMENT |
| MEDIUM | examples/stm32wba6/src/bin/ble_bonding.rs | 131 | // ── Security ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | examples/stm32wba6/src/bin/ble_bonding.rs | 173 | // ── GATT ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | examples/stm32wba6/src/bin/ble_bonding.rs | 199 | // ── Advertising ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | examples/stm32wba6/src/bin/ble_bonding.rs | 219 | // ── Event loop ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | examples/stm32wba6/src/bin/ble_bonding.rs | 256 | // ── Numeric comparison (LE SC path — the normal iOS path) ─────── | COMMENT |
| MEDIUM | examples/stm32wba6/src/bin/ble_bonding.rs | 271 | // ── Pairing result ────────────────────────────────────────────── | COMMENT |
| 78 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-stm32/src/aes/mod.rs | 397 | // Step 2: Set MODE to key derivation (MODE[1:0] = 0x1) | COMMENT |
| LOW⚡ | embassy-stm32/src/aes/mod.rs | 399 | // Step 5: Enable AES - peripheral starts key preparation | COMMENT |
| LOW⚡ | embassy-stm32/src/aes/mod.rs | 401 | // Step 6: Wait for CCF flag | COMMENT |
| LOW⚡ | embassy-stm32/src/aes/mod.rs | 403 | // Step 7: Clear CCF flag - AES disables automatically | COMMENT |
| LOW⚡ | embassy-stm32/src/aes/mod.rs | 454 | // Step 2: Set MODE to key derivation (MODE[1:0] = 0x1) | COMMENT |
| LOW⚡ | embassy-stm32/src/aes/mod.rs | 456 | // Step 5: Enable AES - peripheral starts key preparation | COMMENT |
| LOW⚡ | embassy-stm32/src/aes/mod.rs | 458 | // Step 6: Wait for CCF flag | COMMENT |
| LOW⚡ | embassy-stm32/src/aes/mod.rs | 460 | // Step 7: Clear CCF flag - AES disables automatically | COMMENT |
| LOW⚡ | embassy-stm32/src/aes/mod.rs | 979 | // Step 8: Select cipher mode and decryption mode (keep other params) | COMMENT |
| LOW⚡ | embassy-stm32/src/aes/mod.rs | 984 | // Step 9: Write IV (for CBC decryption, AFTER key preparation) | COMMENT |
| LOW | embassy-usb/src/class/uac1/source.rs | 547 | // We need to check if the request is for our feedback endpoint and return the appropriate data. | COMMENT |
| LOW | embassy-usb-host/src/lib.rs | 369 | // Step 4: Get configuration descriptor header (9 bytes). | COMMENT |
| LOW | embassy-usb-host/src/lib.rs | 402 | // Step 5: SET_CONFIGURATION. | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_keygen.rs | 130 | // Step 1: Compute Montgomery parameter R² mod n | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_keygen.rs | 152 | // Step 2: Verify n = p * q using arithmetic multiplication | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_keygen.rs | 178 | // Step 3: Validate that d < n (private exponent must be less than modulus) | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_keygen.rs | 196 | // Step 4: Test encryption/decryption to verify key pair | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_keygen.rs | 234 | // Step 5: Demonstrate modular inverse (useful for computing d from e) | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_keygen.rs | 255 | // Step 6: Demonstrate modular reduction | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_crt.rs | 180 | // Step 1: Encrypt with public key (standard RSA encryption) | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_crt.rs | 197 | // Step 2: Decrypt using standard RSA (for comparison) | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_crt.rs | 216 | // Step 3: Decrypt using RSA-CRT (faster!) | COMMENT |
| LOW⚡ | examples/stm32wba/src/bin/pka_rsa_crt.rs | 255 | // Step 4: Verify both methods produce the same result | COMMENT |
| LOW⚡ | examples/stm32wba/src/bin/pka_rsa_crt.rs | 264 | // Step 5: Multiple decryption demonstration | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa.rs | 111 | // Step 1: Compute Montgomery parameter for the modulus | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa.rs | 127 | // Step 2: Encrypt using public key (n, e) | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa.rs | 146 | // Step 3: Decrypt using private key d | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa.rs | 172 | // 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 | 110 | // Step 1: Compute Montgomery parameter R² mod n | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_keygen.rs | 132 | // Step 2: Verify n = p * q using arithmetic multiplication | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_keygen.rs | 158 | // Step 3: Validate that d < n (private exponent must be less than modulus) | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_keygen.rs | 176 | // Step 4: Test encryption/decryption to verify key pair | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_keygen.rs | 214 | // Step 5: Demonstrate modular inverse (useful for computing d from e) | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_keygen.rs | 235 | // Step 6: Demonstrate modular reduction | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_crt.rs | 160 | // Step 1: Encrypt with public key (standard RSA encryption) | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_crt.rs | 177 | // Step 2: Decrypt using standard RSA (for comparison) | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_crt.rs | 196 | // Step 3: Decrypt using RSA-CRT (faster!) | COMMENT |
| LOW⚡ | examples/stm32wba6/src/bin/pka_rsa_crt.rs | 235 | // Step 4: Verify both methods produce the same result | COMMENT |
| LOW⚡ | examples/stm32wba6/src/bin/pka_rsa_crt.rs | 244 | // Step 5: Multiple decryption demonstration | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa.rs | 91 | // Step 1: Compute Montgomery parameter for the modulus | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa.rs | 107 | // Step 2: Encrypt using public key (n, e) | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa.rs | 126 | // Step 3: Decrypt using private key d | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa.rs | 152 | // Step 4: Demonstrate fast decryption with pre-computed Montgomery parameter | COMMENT |
| LOW | embassy-mcxa/src/executor.rs | 142 | // Next, we need to check if any high-power peripherals exist that should | COMMENT |
| LOW⚡ | embassy-mcxa/src/i3c/controller.rs | 1569 | // 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 | 1572 | // Step 3: Issue AUTO_IBI with ACK — hardware handles the IBI protocol handshake. | COMMENT |
| LOW⚡ | embassy-mcxa/src/i3c/controller.rs | 1578 | // Step 4: Wait for IBIWON — the IBI has been accepted and the address header received. | COMMENT |
| LOW⚡ | embassy-mcxa/src/i3c/controller.rs | 1640 | // Step 6: Wait for COMPLETE (marks end of IBI reception, state transitions to NORMACT). | COMMENT |
| LOW⚡ | embassy-mcxa/src/i3c/controller.rs | 1645 | // Step 7: Clear status flags and emit a STOP to terminate the IBI | COMMENT |
| LOW | embassy-mcxa/src/i3c/controller.rs | 1544 | // Step 1: Wait for SLVSTART (a target is asserting SDA low to request the bus). | COMMENT |
| LOW | embassy-mcxa/src/i3c/controller.rs | 1598 | // Step 5: For normal IBIs (not Hot-Join or Controller-Request), drain the RX FIFO payload. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | embassy-stm32/src/aes/mod.rs | 397 | // Step 2: Set MODE to key derivation (MODE[1:0] = 0x1) | COMMENT |
| LOW⚡ | embassy-stm32/src/aes/mod.rs | 399 | // Step 5: Enable AES - peripheral starts key preparation | COMMENT |
| LOW⚡ | embassy-stm32/src/aes/mod.rs | 401 | // Step 6: Wait for CCF flag | COMMENT |
| LOW⚡ | embassy-stm32/src/aes/mod.rs | 403 | // Step 7: Clear CCF flag - AES disables automatically | COMMENT |
| LOW⚡ | embassy-stm32/src/aes/mod.rs | 454 | // Step 2: Set MODE to key derivation (MODE[1:0] = 0x1) | COMMENT |
| LOW⚡ | embassy-stm32/src/aes/mod.rs | 456 | // Step 5: Enable AES - peripheral starts key preparation | COMMENT |
| LOW⚡ | embassy-stm32/src/aes/mod.rs | 458 | // Step 6: Wait for CCF flag | COMMENT |
| LOW⚡ | embassy-stm32/src/aes/mod.rs | 460 | // Step 7: Clear CCF flag - AES disables automatically | COMMENT |
| LOW⚡ | embassy-stm32/src/aes/mod.rs | 979 | // Step 8: Select cipher mode and decryption mode (keep other params) | COMMENT |
| LOW⚡ | embassy-stm32/src/aes/mod.rs | 984 | // Step 9: Write IV (for CBC decryption, AFTER key preparation) | COMMENT |
| LOW | embassy-usb-host/src/lib.rs | 369 | // Step 4: Get configuration descriptor header (9 bytes). | COMMENT |
| LOW | embassy-usb-host/src/lib.rs | 402 | // Step 5: SET_CONFIGURATION. | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_keygen.rs | 130 | // Step 1: Compute Montgomery parameter R² mod n | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_keygen.rs | 152 | // Step 2: Verify n = p * q using arithmetic multiplication | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_keygen.rs | 178 | // Step 3: Validate that d < n (private exponent must be less than modulus) | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_keygen.rs | 196 | // Step 4: Test encryption/decryption to verify key pair | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_keygen.rs | 234 | // Step 5: Demonstrate modular inverse (useful for computing d from e) | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_keygen.rs | 255 | // Step 6: Demonstrate modular reduction | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_crt.rs | 180 | // Step 1: Encrypt with public key (standard RSA encryption) | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_crt.rs | 197 | // Step 2: Decrypt using standard RSA (for comparison) | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa_crt.rs | 216 | // Step 3: Decrypt using RSA-CRT (faster!) | COMMENT |
| LOW⚡ | examples/stm32wba/src/bin/pka_rsa_crt.rs | 255 | // Step 4: Verify both methods produce the same result | COMMENT |
| LOW⚡ | examples/stm32wba/src/bin/pka_rsa_crt.rs | 264 | // Step 5: Multiple decryption demonstration | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa.rs | 111 | // Step 1: Compute Montgomery parameter for the modulus | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa.rs | 127 | // Step 2: Encrypt using public key (n, e) | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa.rs | 146 | // Step 3: Decrypt using private key d | COMMENT |
| LOW | examples/stm32wba/src/bin/pka_rsa.rs | 172 | // Step 4: Demonstrate fast decryption with pre-computed Montgomery parameter | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_keygen.rs | 110 | // Step 1: Compute Montgomery parameter R² mod n | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_keygen.rs | 132 | // Step 2: Verify n = p * q using arithmetic multiplication | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_keygen.rs | 158 | // Step 3: Validate that d < n (private exponent must be less than modulus) | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_keygen.rs | 176 | // Step 4: Test encryption/decryption to verify key pair | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_keygen.rs | 214 | // Step 5: Demonstrate modular inverse (useful for computing d from e) | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_keygen.rs | 235 | // Step 6: Demonstrate modular reduction | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_crt.rs | 160 | // Step 1: Encrypt with public key (standard RSA encryption) | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_crt.rs | 177 | // Step 2: Decrypt using standard RSA (for comparison) | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa_crt.rs | 196 | // Step 3: Decrypt using RSA-CRT (faster!) | COMMENT |
| LOW⚡ | examples/stm32wba6/src/bin/pka_rsa_crt.rs | 235 | // Step 4: Verify both methods produce the same result | COMMENT |
| LOW⚡ | examples/stm32wba6/src/bin/pka_rsa_crt.rs | 244 | // Step 5: Multiple decryption demonstration | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa.rs | 91 | // Step 1: Compute Montgomery parameter for the modulus | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa.rs | 107 | // Step 2: Encrypt using public key (n, e) | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa.rs | 126 | // Step 3: Decrypt using private key d | COMMENT |
| LOW | examples/stm32wba6/src/bin/pka_rsa.rs | 152 | // Step 4: Demonstrate fast decryption with pre-computed Montgomery parameter | COMMENT |
| LOW | embassy-mcxa/Cargo.toml | 106 | # WARNING: This WILL cause problems if you plan to use defmt over RTT, | COMMENT |
| LOW⚡ | embassy-mcxa/src/i3c/controller.rs | 1569 | // 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 | 1572 | // Step 3: Issue AUTO_IBI with ACK — hardware handles the IBI protocol handshake. | COMMENT |
| LOW⚡ | embassy-mcxa/src/i3c/controller.rs | 1578 | // Step 4: Wait for IBIWON — the IBI has been accepted and the address header received. | COMMENT |
| LOW⚡ | embassy-mcxa/src/i3c/controller.rs | 1640 | // Step 6: Wait for COMPLETE (marks end of IBI reception, state transitions to NORMACT). | COMMENT |
| LOW⚡ | embassy-mcxa/src/i3c/controller.rs | 1645 | // Step 7: Clear status flags and emit a STOP to terminate the IBI | COMMENT |
| LOW | embassy-mcxa/src/i3c/controller.rs | 1544 | // Step 1: Wait for SLVSTART (a target is asserting SDA low to request the bus). | COMMENT |
| LOW | embassy-mcxa/src/i3c/controller.rs | 1598 | // 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 | 53 | /// Default mode, attempts to utilize the ring buffer as maximally as possible. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | embassy-rp/Cargo.toml | 114 | ## Have embassy-rp not provide the boot2 so you can use your own. | COMMENT |
| MEDIUM | embassy-rp/Cargo.toml | 135 | ## 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 | 709 | let speed_code = self.instance.state.fields.port_speed.load(Ordering::Acquire); | 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 | 584 | // TODO: implement VBUS detection. | COMMENT |
| LOW | embassy-stm32/src/xspi/mod.rs | 1845 | // TODO: implement this using a LinkedList DMA to offload the whole transfer off the CPU. | COMMENT |
| LOW | embassy-stm32/src/ospi/mod.rs | 1913 | // TODO: implement this using a LinkedList DMA to offload the whole transfer off the CPU. | COMMENT |
| LOW | embassy-stm32/src/ospi/mod.rs | 1988 | // 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 |
|---|---|---|---|---|
| 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 | 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 | 129 | /// Usage example: | COMMENT |
| LOW | embassy-mspm0/src/trng.rs | 148 | /// Usage example: | COMMENT |
| 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 |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | embassy-executor/gen_config.py | 10 | CODE | |
| LOW | examples/stm32wba6/convert_wav.py | 9 | CODE |