Skip to content

docs: update README to reflect current API and target frameworks#176

Merged
tylerkron merged 2 commits intomainfrom
claude/objective-tu-8949b5
Apr 25, 2026
Merged

docs: update README to reflect current API and target frameworks#176
tylerkron merged 2 commits intomainfrom
claude/objective-tu-8949b5

Conversation

@tylerkron
Copy link
Copy Markdown
Contributor

Summary

  • Update target frameworks from .NET 8/9 to .NET 9/10 to match Daqifi.Core.csproj
  • Add ConnectSerialAsync examples to the Connection Options section (was undocumented)
  • Fix WiFiDeviceFinder constructor argument name: port:discoveryPort: (would cause compile error if copied)
  • Add a Network Configuration section documenting the INetworkConfigurable API
  • Remove stale "In Development" section (channel calibration already exists in AnalogChannel)
  • Add Network Configuration to the features list

Test plan

  • Verify all code examples compile against the current library
  • Confirm target framework versions match the released NuGet package

- Update target frameworks from .NET 8/9 to .NET 9/10 (matches csproj)
- Add ConnectSerialAsync examples to connection options section
- Fix WiFiDeviceFinder constructor arg name: port → discoveryPort
- Add Network Configuration section with INetworkConfigurable example
- Remove stale "In Development" section (channel calibration already exists)
- Add Network Configuration to features list

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@tylerkron tylerkron requested a review from a team as a code owner April 25, 2026 20:24
@qodo-code-review
Copy link
Copy Markdown

Review Summary by Qodo

Update README with current API and target frameworks

📝 Documentation

Grey Divider

Walkthroughs

Description
• Update target frameworks from .NET 8/9 to .NET 9/10
• Add ConnectSerialAsync examples for USB/Serial connections
• Fix WiFiDeviceFinder constructor parameter name discoveryPort
• Add Network Configuration section with INetworkConfigurable API
• Remove stale "In Development" section for channel calibration
Diagram
flowchart LR
  A["README.md"] -->|"Update frameworks"| B["Target .NET 9/10"]
  A -->|"Add examples"| C["ConnectSerialAsync"]
  A -->|"Fix parameter"| D["discoveryPort"]
  A -->|"Add section"| E["Network Configuration"]
  A -->|"Remove section"| F["In Development"]
Loading

Grey Divider

File Changes

1. README.md 📝 Documentation +27/-6

Update documentation with current API and frameworks

• Updated target framework versions from .NET 8/9 to .NET 9/10 in features list and requirements
 section
• Added ConnectSerialAsync code examples for Windows and macOS serial connections
• Fixed WiFiDeviceFinder constructor parameter name from port: to discoveryPort:
• Added new Network Configuration section documenting INetworkConfigurable API with code example
• Removed stale "In Development" section for channel calibration feature
• Added Network Configuration to the features list

README.md


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown

qodo-code-review Bot commented Apr 25, 2026

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider


Action required

1. README example redeclares device🐞 Bug ≡ Correctness
Description
The README "Connection Options" snippet redeclares device multiple times in the same scope and
references wifiFinder without declaring it, so copying the snippet causes C# compilation errors.
Code

README.md[R60-69]

    9760,
    DeviceConnectionOptions.Resilient); // 5 retries, longer timeouts

+// Connect via Serial/USB
+using var device = await DaqifiDeviceFactory.ConnectSerialAsync("COM3"); // Windows
+using var device = await DaqifiDeviceFactory.ConnectSerialAsync("/dev/cu.usbmodem1"); // macOS
+
// Connect from discovery result
var devices = await wifiFinder.DiscoverAsync(TimeSpan.FromSeconds(5));
using var device = await DaqifiDeviceFactory.ConnectFromDeviceInfoAsync(devices.First());
Evidence
In the Connection Options code block, using var device = ... is declared for TCP and then declared
again for Serial (twice) and again for discovery-result connection; additionally, wifiFinder is
used without being introduced in that snippet.

README.md[54-70]
src/Daqifi.Core/Device/DaqifiDeviceFactory.cs[122-178]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
The `README.md` “Connection Options” code fence is not copy/paste compilable because it redeclares the local variable name `device` multiple times in the same scope and uses `wifiFinder` without defining it.

### Issue Context
The PR’s stated test plan includes verifying examples compile; this one currently does not.

### Fix Focus Areas
- README.md[54-85]

### Suggested change
- Either split each connection method into its own separate code block, **or** rename variables (`tcpDevice`, `serialDevice`, `discoveredDevice`) and add the minimal missing setup for the discovery example (e.g., `using var wifiFinder = new WiFiDeviceFinder();`) so the snippet compiles when pasted.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

2. Docs framework versions inconsistent🐞 Bug ⚙ Maintainability
Description
README now documents .NET 9/10 support, but other repo docs still state .NET 8/9 or .NET 8+, which
is inconsistent with the repo’s current target frameworks and can mislead users.
Code

README.md[R15-16]

+- **Network Configuration**: Programmatic WiFi SSID/password/mode updates via `INetworkConfigurable`
+- **Cross-Platform**: Compatible with .NET 9.0 and .NET 10.0
Evidence
The library and test projects target net9.0;net10.0 and README reflects that, but
docs/DEVICE_INTERFACES.md and docs/simulator/SIMULATOR_DESIGN.md still mention .NET 8 support.

README.md[15-16]
src/Daqifi.Core/Daqifi.Core.csproj[3-5]
docs/DEVICE_INTERFACES.md[277-285]
docs/simulator/SIMULATOR_DESIGN.md[9-15]
src/Daqifi.Core.Tests/Daqifi.Core.Tests.csproj[3-5]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
After updating README to .NET 9/10, other markdown docs in `docs/` still advertise .NET 8 compatibility, which conflicts with the repo’s current `TargetFrameworks`.

### Issue Context
This is a documentation consistency issue that can confuse consumers about runtime requirements.

### Fix Focus Areas
- docs/DEVICE_INTERFACES.md[277-285]
- docs/simulator/SIMULATOR_DESIGN.md[9-15]
- src/Daqifi.Core/Daqifi.Core.csproj[3-5]

### Suggested change
- Update the .NET version statements in the docs under `docs/` to match the current target frameworks (net9.0/net10.0), or explicitly clarify if any subcomponent truly still supports .NET 8 (and where that is defined).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Qodo Logo

Comment thread README.md
…s docs

- Split Connection Options into separate code blocks to eliminate
  duplicate `device` declarations and missing `wifiFinder` reference
- Update docs/DEVICE_INTERFACES.md and docs/simulator/SIMULATOR_DESIGN.md
  to .NET 9/10 (consistent with csproj and README)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@tylerkron
Copy link
Copy Markdown
Contributor Author

Both Qodo issues addressed in 483bb81:

Bug 1 (device redeclaration): Fixed. Split the Connection Options section into four separate, self-contained code blocks. Each block has its own unique variable and any required setup — no more duplicate device declarations or undefined wifiFinder.

Bug 2 (framework version inconsistency): Fixed. Updated docs/DEVICE_INTERFACES.md and docs/simulator/SIMULATOR_DESIGN.md to reflect .NET 9/10, matching the csproj and README.

@tylerkron tylerkron merged commit 5f94948 into main Apr 25, 2026
1 check passed
@tylerkron tylerkron deleted the claude/objective-tu-8949b5 branch April 25, 2026 20:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant