Skip to content

Nanostack EMAC implementation #5944

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Feb 14, 2018
Merged

Nanostack EMAC implementation #5944

merged 6 commits into from
Feb 14, 2018

Conversation

kjbracey
Copy link
Contributor

More work for the feature-emac branch. Follows on from #5558 and #5750, both of which are still under review.

This adds EMAC support to Nanostack, including the bits necessary for border router use.

@kjbracey
Copy link
Contributor Author

FAO @SeppoTakalo, @mikaleppanen

@kjbracey
Copy link
Contributor Author

kjbracey commented Feb 6, 2018

Rebased after #5558.

@0xc0170
Copy link
Contributor

0xc0170 commented Feb 6, 2018

/morph build

@mbed-ci
Copy link

mbed-ci commented Feb 6, 2018

Build : FAILURE

Build number : 1074
Build artifacts/logs : http://mbed-os.s3-website-eu-west-1.amazonaws.com/?prefix=builds/5944/

@kjbracey
Copy link
Contributor Author

@karsev - had to rework your recent EUI64-setting change into this. You might want to check I haven't broken it some time.

Nanostack doesn't set the link status callback. Make sure the two
example drivers don't crash if it isn't set.
Copy link

@kseverinkangas-zg kseverinkangas-zg left a comment

Choose a reason for hiding this comment

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

LGTM

@kjbracey
Copy link
Contributor Author

kjbracey commented Feb 13, 2018

Just had to rework somewhat - renaming and inheritance cleanup. "Nanostack.h" now defines class Nanostack : public OnboardNetworkStack, which is what used to be called NanostackInterface. No apps directly referred to NanostackInterface.

"NanostackInterface.h" now just includes all 3 interface types "LoWPANNDInterface.h", "ThreadInterface.h" and "NanostackEthernetInterface". This is what applications tend to include, so retained for backwards compatibility.

New base class InterfaceNanostack underneath MeshInterfaceNanostack. This means NanostackEthernetInterface is now an EthInterface, not a MeshInterface

Make Nanostack an OnboardNetworkInterface, implementing
add_ethernet_interface so it can use EMAC drivers.

Can now be used via EthernetInterface, and be the system's default
network stack.

Legacy support for NanostackEthernetInterface retained. Some
restructuring of mesh interface code to fit into the
OnboardNetworkStack:::Interface system.
@kjbracey
Copy link
Contributor Author

I think this is ready to go.

@0xc0170
Copy link
Contributor

0xc0170 commented Feb 14, 2018

/morph build

@mbed-ci
Copy link

mbed-ci commented Feb 14, 2018

Build : FAILURE

Build number : 1136
Build artifacts/logs : http://mbed-os.s3-website-eu-west-1.amazonaws.com/?prefix=builds/5944/

This hits the name collision with the Nuvoton header files.
Include "EMAC.h" instead to ensure we pick up the #undef workaround.
@0xc0170
Copy link
Contributor

0xc0170 commented Feb 14, 2018

/morph build

@mbed-ci
Copy link

mbed-ci commented Feb 14, 2018

Build : SUCCESS

Build number : 1138
Build artifacts/logs : http://mbed-os.s3-website-eu-west-1.amazonaws.com/?prefix=builds/5944/

Triggering tests

/morph test
/morph uvisor-test
/morph export-build

@mbed-ci
Copy link

mbed-ci commented Feb 14, 2018

@mbed-ci
Copy link

mbed-ci commented Feb 14, 2018

@cmonr cmonr merged commit 8848550 into ARMmbed:feature-emac Feb 14, 2018
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.

7 participants