Skip to content

Feature: supports dynamic interface switching#143

Merged
hideakitai merged 10 commits intomainfrom
feature/supports-dynamic-interface-switching
Oct 16, 2025
Merged

Feature: supports dynamic interface switching#143
hideakitai merged 10 commits intomainfrom
feature/supports-dynamic-interface-switching

Conversation

@hideakitai
Copy link
Owner

@hideakitai hideakitai self-assigned this Oct 16, 2025
@hideakitai hideakitai requested a review from Copilot October 16, 2025 18:04
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

Adds runtime-polymorphic interfaces (Sender/Receiver/Manager traits) to allow dynamic switching between network interfaces (WiFi/Ethernet) and simultaneous multi-interface usage. Updates examples, CI, version, and documentation accordingly.

  • Introduces interface trait headers (SenderTraits, ReceiverTraits, ManagerTraits) and integrates them into Sender/Receiver/Manager classes.
  • Adds new Multiple examples (switch_interface, send_receive) plus CI job to compile them.
  • Bumps version to 0.9.0 and tightens ArxTypeTraits dependency; updates README with multi-interface guidance.

Reviewed Changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
library.properties Version bump and dependency minimum version added.
library.json Mirrors version/dependency updates.
examples/Multiple/switch_interface/switch_interface.ino New example demonstrating runtime interface switching.
examples/Multiple/send_receive/send_receive.ino New example using WiFi and Ethernet concurrently.
README.md Documents multi-interface support.
Artnet/SenderTraits.h Adds sender interface trait (runtime polymorphism).
Artnet/Sender.h Adapts Sender to new trait, adds optional port parameter.
Artnet/ReceiverTraits.h Adds receiver interface trait.
Artnet/Receiver.h Conforms to trait interface; replaces templated subscribe helpers with typed callbacks.
Artnet/ManagerTraits.h Defines combined manager interface.
Artnet/Manager.h Manager now implements new IManager interface; minor refactor.
.github/workflows/build.yml Adds CI job to build new Multiple examples on several boards.

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@hideakitai hideakitai force-pushed the refactor/network-related-abstraction branch from 8dd1ea8 to eee3ce6 Compare October 16, 2025 18:19
@hideakitai hideakitai force-pushed the feature/supports-dynamic-interface-switching branch from 17a0449 to 970c03e Compare October 16, 2025 18:20
Base automatically changed from refactor/network-related-abstraction to main October 16, 2025 18:30
@hideakitai hideakitai merged commit 4d79461 into main Oct 16, 2025
@hideakitai hideakitai deleted the feature/supports-dynamic-interface-switching branch October 16, 2025 18:30
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.

2 participants