Repository navigation
Add the six registry parts the Class A I2C sensor node needs - #322
Conversation
SammyOina
left a comment
There was a problem hiding this comment.
Changes requested: the registry entries parse and CI passes, but the six parts are not electrically complete enough for the Class-A board.
-
Restore functional pin capabilities. The new entries leave protocol capabilities empty:
24lc256_soic8has noi2c_sda/i2c_scland declares SCL as input rather than bidirectional;bme680_lga8has no I2C capabilities and claims SPI support without SPI capabilities;ch340chas no UART TX/RX capabilities; andstm32g030f6p6has no GPIO, I2C, UART, reset, or other alternate-function capabilities. Please cross-check each pin against the datasheet/KiCad symbol and add the complete capability sets. Otherwise interface/ERC checks cannot recognize these buses and incorrect connections can pass. -
Declare required electrical metadata. Every pin is currently
required = false, including power, ground, reset, and communication pins. All six parts also omit operating conditions and required decoupling. This lets a board omit supply/ground connections, bypass capacitors, or voltage/current constraints without a diagnostic. Mark the required pins and add the appropriate[operating_conditions]and[[required_decoupling]]records, following the existing reviewed parts such as24lc256_eeprom,bme680_env, andstm32f103c8. -
Do not promote unreviewed agent output as complete seed data. All six entries have
source = "authored"and an emptyreviewed_by. Please independently verify the pin maps, footprint dimensions, electrical metadata, and procurement identity, then record the reviewer metadata; or keep these entries in the Tier-2/user registry until that review is complete. The structural registry test and CI do not catch these semantic omissions.
Please update the entries and add focused integrity tests that assert the required capabilities and power metadata, not only that the TOML loads.
8e7f26e to
19c4c96
Compare
|
@SammyOina Fixed in 19c4c96: bus capabilities, required pins, operating ranges, decoupling and tests added; reviewed_by awaits human attestation (#51). |
19c4c96 to
e3f7625
Compare
A CH340C USB-UART bridge, an STM32G030F6P6, a BME680 in LGA-8, a 24LC256 in SOIC-8 and two pin headers, written through synth_author_part and synth_import_part during the run. They are copied from the agent's user registry unedited; each carries the footprint_dimensions the tool now writes, and each is unreviewed. header_1x5 is the same part the irrigation controller's agent wrote, in the same bytes, so the two boards can merge in either order.
…ired pins, operating range and decoupling 24lc256_soic8 gains i2c_sda/i2c_scl (SCL bidirectional), required address, write-protect and supply pins, 2.5-5.5 V and 100 nF on vcc. bme680_lga8 gains I2C and SPI capabilities on sda/scl/csb/sdo, required supply, ground and mode pins, 1.71-3.6 V and 100 nF on vdd and vddio. ch340c gains uart_tx/uart_rx, required vcc/gnd/v3/USB pins, 3.0-5.3 V and 100 nF on vcc. stm32g030f6p6 gains gpio, uart, i2c and spi alternate functions per pin, reset on nrst, boot_mode on the BOOT0 pin, required vdd/vss/nrst, 1.7-3.6 V and 100 nF plus 4.7 uF on vdd. class_a_i2c_parts.rs asserts all of it, not only that the TOML loads.
e3f7625 to
a4a59bd
Compare
reviewed_by and reviewed_at are set on each part's provenance, from the review done on 2026-10-28, so a design built from them no longer raises W-SYNTH-PART-UNVERIFIED. The shipped seed parts are not covered; that stays with absmach#51.
SammyOina
left a comment
There was a problem hiding this comment.
Changes requested — CI passes, but the registry data has correctness and provenance problems that affect the dependent board in #268.
[P1] Correct the STM32 operating range. registry/parts/mcus/stm32g030f6p6.synth.toml sets min_voltage_v = 1.7, but ST specifies a 2.0–3.6 V operating VDD range for this device. Set the registry minimum to 2.0; do not encode the VBAT or I/O limits as the main VDD operating range. See the ST datasheet.
[P1] Consolidate the duplicate EEPROM definition. Main already contains registry/parts/memory/24lc256_eeprom.synth.toml with the same 24LC256-I/SN, symbol, footprint, and LCSC number. This PR adds 24lc256_soic8 as a second identity for the same physical part. The existing entry also has a different pin and voltage model, so the registry now exposes two competing definitions and an agent can select the unsafe one. Correct or deprecate the existing entry and keep one canonical part ID, then update the dependent board to use it.
[P1] Complete the provenance required for shipped parts. All six new parts have reviewed_by and reviewed_at, but none has a datasheet_url. Issue #51 requires the reviewer, review date, and datasheet URL for shipped parts. Add the source datasheet URL for every new part and ensure synth registry qualify validates that requirement.
[P2] Document CH340C V3’s supply-mode condition. The metadata only declares decoupling on vcc, while CH340C’s V3 connection is supply-mode dependent. The dependent board ties V3 to 3.3 V, which is valid for that mode, but the part definition should document this condition or model the required V3 decoupling explicitly so a future 5 V design cannot silently omit it.
STM32G030 operating range is 2.0-3.6 V per DS12991, one canonical 24LC256 part (the older entry is obsolete and points at it), datasheet URLs under [provenance], and the CH340C V3 supply-mode note, with tests.
|
@SammyOina Fixed in da12d0e: STM32 min 2.0 V, one canonical EEPROM, datasheet URLs, CH340C V3 note; tests added. |
SammyOina
left a comment
There was a problem hiding this comment.
Approved. The current head resolves the blocking registry correctness findings. Follow-up issue opened for the remaining metadata and obsolete-part handling hardening.
What type of PR is this?
This is a feature
What does this do?
Adds
stm32g030f6p6,bme680_lga8,24lc256_soic8,ch340c,header_1x12andheader_1x5, with bus capabilities, required pins and decoupling.Which issue(s) does this PR fix/relate to?
Have you included tests for your changes?
Yes,
class_a_i2c_parts.rsasserts capabilities, required pins, operating range and decoupling for four parts.Did you document any new/modified features?
No, each part's TOML describes its pins and footprint.
Notes
reviewed_byset to JeffMboya, 28 Oct; #51 covers the shipped parts. #268 is stacked on this.