Skip to content

Add ATECC608#1496

Open
Ellerbach wants to merge 10 commits into
mainfrom
add-ATECC608
Open

Add ATECC608#1496
Ellerbach wants to merge 10 commits into
mainfrom
add-ATECC608

Conversation

@Ellerbach

@Ellerbach Ellerbach commented Mar 14, 2026

Copy link
Copy Markdown
Member

Description

Add ATECC608

Motivation and Context

How Has This Been Tested?

To be tested

Screenshots

Types of changes

  • Improvement (non-breaking change that improves a feature, code or algorithm)
  • Bug fix (non-breaking change which fixes an issue with code or algorithm)
  • New feature (non-breaking change which adds functionality to code)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Config and build (change in the configuration and build system, has no impact on code or features)
  • Dependencies (update dependencies and changes associated, has no impact on code or features)
  • Unit Tests (add new Unit Test(s) or improved existing one(s), has no impact on code or features)
  • Documentation (changes or updates in the documentation, has no impact on code or features)

Checklist:

  • My code follows the code style of this project (only if there are changes in source code).
  • My changes require an update to the documentation (there are changes that require the docs website to be updated).
  • I have updated the documentation accordingly (the changes require an update on the docs in this repo).
  • I have read the CONTRIBUTING document.
  • I have tested everything locally and all new and existing tests passed (only if there are changes in source code).
  • I have added new tests to cover my changes.

Summary by CodeRabbit

  • Chores
    • Added a package dependency lock file capturing exact dependency versions for the .NET nanoFramework components, including resolved versions and integrity hashes to improve reproducibility.
    • Added a versioning configuration that sets the project version, semantic versioning rules, release branch refs, and CI-related version variables for automated releases.

@Ellerbach Ellerbach requested a review from Copilot March 14, 2026 11:45
@nfbot nfbot added Type: enhancement New feature or request Type: Documentation Improvements or additions to documentation labels Mar 14, 2026
@coderabbitai

coderabbitai Bot commented Mar 14, 2026

Copy link
Copy Markdown

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (4)
  • devices/Atecc608/Atecc608.nuspec is excluded by none and included by none
  • devices/Atecc608/Atecc608Device.cs is excluded by none and included by none
  • devices/Atecc608/README.md is excluded by !**/*.md and included by none
  • devices/Atecc608/samples/Program.cs is excluded by none and included by none

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 1b933e23-935d-475a-9ae3-81cbdc45b324

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Walkthrough

Added two configuration files under devices/Atecc608: a NuGet-style package lock (packages.lock.json) listing five resolved .NET nanoFramework v1.0 dependencies with content hashes, and a Nerdbank.GitVersioning config (version.json) specifying versioning and release/build settings.

Changes

Cohort / File(s) Summary
Configuration files
devices/Atecc608/packages.lock.json, devices/Atecc608/version.json
Added package lock with five direct dependencies and resolved versions/contentHashes for target .NETnanoFramework,Version=v1.0. Added Nerdbank.GitVersioning config: version: 1.0, semVer1NumericIdentifierPadding: 3, nuGetPackageVersion.semVer: 2.0, publicReleaseRefSpec entries for refs/heads/develop, refs/heads/main, refs/tags/v*.*, and cloudBuild.setAllVariables: true.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Add ATECC608' directly relates to the main change, which adds ATECC608 support and configuration files to the repository.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch add-ATECC608

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Tip

You can generate walkthrough in a markdown collapsible section to save space.

Enable the reviews.collapse_walkthrough setting to generate walkthrough in a markdown collapsible section.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@devices/Atecc608/packages.lock.json`:
- Around line 5-10: The lock file currently pins nanoFramework.CoreLibrary to
1.17.11 while Atecc608.nfproj references 1.17.12, causing
RestorePackagesWithLockFile failures; fix by aligning versions—preferably update
the packages.lock.json entry for "nanoFramework.CoreLibrary" to 1.17.12 (update
"requested" and "resolved" to "[1.17.12, 1.17.12]" and "1.17.12" and refresh the
contentHash) or alternatively change the Atecc608.nfproj reference back to
1.17.11 so the package ID nanoFramework.CoreLibrary is consistent with the lock
file and then regenerate/restore packages.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 784db220-ba51-4a3d-b403-8e24ba2cf86f

📥 Commits

Reviewing files that changed from the base of the PR and between dbd63dc and 80c5887.

⛔ Files ignored due to path filters (17)
  • .github/agents/nanoframework.agent.md is excluded by !**/*.md and included by none
  • devices/Atecc608/Atecc608.nfproj is excluded by none and included by none
  • devices/Atecc608/Atecc608.nuspec is excluded by none and included by none
  • devices/Atecc608/Atecc608.sln is excluded by none and included by none
  • devices/Atecc608/Atecc608Command.cs is excluded by none and included by none
  • devices/Atecc608/Atecc608Device.cs is excluded by none and included by none
  • devices/Atecc608/Atecc608SlotConfig.cs is excluded by none and included by none
  • devices/Atecc608/Atecc608Status.cs is excluded by none and included by none
  • devices/Atecc608/Atecc608Zone.cs is excluded by none and included by none
  • devices/Atecc608/Properties/AssemblyInfo.cs is excluded by none and included by none
  • devices/Atecc608/README.md is excluded by !**/*.md and included by none
  • devices/Atecc608/Settings.StyleCop is excluded by none and included by none
  • devices/Atecc608/packages.config is excluded by none and included by none
  • devices/Atecc608/samples/Atecc608.Samples.nfproj is excluded by none and included by none
  • devices/Atecc608/samples/Program.cs is excluded by none and included by none
  • devices/Atecc608/samples/Properties/AssemblyInfo.cs is excluded by none and included by none
  • devices/Atecc608/samples/packages.config is excluded by none and included by none
📒 Files selected for processing (2)
  • devices/Atecc608/packages.lock.json
  • devices/Atecc608/version.json

Comment thread devices/Atecc608/packages.lock.json

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new ATECC608 secure element binding to the nanoFramework IoT devices repo, including a driver, sample app, packaging/versioning files, and documentation.

Changes:

  • Introduce Atecc608Device driver with common CryptoAuthentication operations (wake/sleep, SHA, ECDSA, ECDH, AES, MAC, counters, self-test).
  • Add a runnable nanoFramework sample project demonstrating device interaction over I2C (ESP32-focused).
  • Add NuGet packaging + versioning + StyleCop configuration and initial README for the new device.

Reviewed changes

Copilot reviewed 19 out of 19 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
devices/Atecc608/version.json Nerdbank.GitVersioning configuration for the Atecc608 package/versioning.
devices/Atecc608/Settings.StyleCop StyleCop rule configuration specific to this device project.
devices/Atecc608/Properties/AssemblyInfo.cs Assembly metadata for the Atecc608 library.
devices/Atecc608/packages.config NuGet dependencies for the Atecc608 library project.
devices/Atecc608/packages.lock.json Locked NuGet restore graph for CI/locked restores.
devices/Atecc608/Atecc608.nfproj nanoFramework project file for building the Atecc608 library.
devices/Atecc608/Atecc608.nuspec NuGet package specification for the Atecc608 binding.
devices/Atecc608/Atecc608.sln Solution file bundling library + sample.
devices/Atecc608/README.md Device documentation and usage examples.
devices/Atecc608/Atecc608Command.cs Internal opcode enum for device commands.
devices/Atecc608/Atecc608Device.cs Core driver implementation and I2C protocol/CRC handling.
devices/Atecc608/Atecc608SlotConfig.cs Helper to parse slot/key configuration from the config zone.
devices/Atecc608/Atecc608Status.cs Device status/error code enum.
devices/Atecc608/Atecc608Zone.cs Device memory zone enum (Config/OTP/Data).
devices/Atecc608/samples/Atecc608.Samples.nfproj Sample nanoFramework project file.
devices/Atecc608/samples/packages.config NuGet dependencies for the sample.
devices/Atecc608/samples/Program.cs Sample program exercising driver functionality.
devices/Atecc608/samples/Properties/AssemblyInfo.cs Assembly metadata for the sample.
.github/agents/nanoframework.agent.md Repo agent guidance for nanoFramework-focused code changes/build workflow.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

Comment thread devices/Atecc608/Atecc608Device.cs Outdated
Comment thread devices/Atecc608/Atecc608Device.cs
Comment thread devices/Atecc608/Atecc608Device.cs
Comment thread devices/Atecc608/packages.lock.json
Comment thread devices/Atecc608/Atecc608.nfproj
Comment thread devices/Atecc608/README.md Outdated
Ellerbach and others added 8 commits March 14, 2026 19:57
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
This is the latest supported version able to deploy to the M5 Core 2
Fix for last commit
Mostly style validation rules
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Type: Documentation Improvements or additions to documentation Type: enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants