Repository navigation
Generate CC2340 SysConfig from existing circuit pin attributes - #255
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
ShiboSoftwareDev
approved these changes
Oct 6, 2026
Contributor
|
Thank you for your contribution! 🎉 PR Rating: ⭐ Track your contributions and see the leaderboard at: tscircuit Contribution Tracker |
1 similar comment
Contributor
|
Thank you for your contribution! 🎉 PR Rating: ⭐ Track your contributions and see the leaderboard at: tscircuit Contribution Tracker |
This branch had an error being deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ti generate-sysconfigcurrently fails after a successful circuit build unless a separate request JSON exists. For supported CC2340 circuits, derive GPIO/I2C settings from existing Circuit JSON pin attributes instead.Before:
After:
Use the converter's resolved declarations for native validation, including recognized LF crystal ownership. Reject absent MCU pin records and traces referencing missing source ports rather than producing partial SysConfig. Missing-function errors identify the MCU, physical pins and existing TSX attributes to supply. Do not force NoRTOS or invent startup, interrupt or bitrate requirements. Continue validating physical GPIO/I2C pins, direction, selected pulls, declared clock and explicit choices against TI output. Existing explicit CC2340/AM2434 requests remain available via
--config; implicit sidecar files are no longer loaded. Add--componentfor multiple MCUs.Pin the converter to
cc3e6f3fa7fbfab99bf60db1c19ca1858995bdd0from tscircuit/circuit-json-to-sysconfig#8. Update tscircuit/core/props development dependencies and npm peer minimums: the old runtime reproducibly drops required TSX pin flags, and props 0.0.685 lacks an export required by current core. No new Props/Circuit JSON fields or board firmware preset is added.Discover standalone SysConfig, CCS-bundled SysConfig and SDK installations in standard TI folders automatically.
ti check-sysconfig ./index.circuit.tsxrequires no exported TI variables when one compatible installation is found. Select SDKs by product metadata and tools by their actual--version; print the selected versions and paths. Keep the three existing environment variables as optional overrides for custom locations or ambiguity. Invalid or incompatible explicit paths are never replaced. Deduplicate symlinks and fail with candidate details when multiple compatible installations exist. Search only the TI roots and known CCS utils folders.Reject malformed project
tscircuitinstallations, missing entrypoints and missingcli.mjsfiles instead of silently using another runtime. Retain the CLI-installed peer only when the project has no tscircuit copy. Report broken discovered TI installations when another compatible installation is selected. Remove an unused NoRTOS profile value and stale converter revision constant.Make TI setup failures actionable: explain missing tools and searched folders, report invalid configured paths, explain the separate SDK installation, and show corrective steps for unsupported versions or a CLI launch failure.
check-sysconfig --helplinks to official downloads and lists the supported tool/SDK versions. Standalone SysConfig is sufficient; full CCS is optional. Generation remains available without TI tools.Validation:
index.circuit.tsxon macOS using automatic CCS SysConfig/Node discovery and only aTI_SDK_ROOToverride for the SDK's custom workspace location (7 generated files). The audit changes were retested with clean local/global npm installs, all 59 CLI tests and the real packaged check of that published fork (7 generated files). Both fixed profiles' 12 GPIO package-pin mappings were independently compared with TI SysConfig's CC2340R5RGE device database and match. Converter PR8's 215 tests, typecheck and formatting also passed. Native installations on Windows/Linux were not tested.The pedometer proof uses documented local pin declarations, not the untouched registry package. Omitted SDK defaults do not establish correct application behavior. Firmware build/hardware testing were not performed.
The fixed target metadata describes verified chip identities, package pins and tool versions; it is not a firmware preset. Request-free I2C support remains limited to the validated CC2340 SDA pin 3 / SCL pin 19 route. Broader TI target/mux support is not implemented.
Keep this PR in draft and unmerged while the converter dependency is reviewed.