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

Connectivity drivers #7814

Merged
merged 15 commits into from Sep 1, 2018

Conversation

Projects
None yet
10 participants
@SeppoTakalo
Contributor

SeppoTakalo commented Aug 17, 2018

Description

Import connectivity drivers into Mbed OS.

  • ESP8266 (Wifi)
  • Atmel AT86RF233/AT86RF212 (IEEE 802.15.4)
  • MCR20A (IEEE 802.15.4)

After this change, any of those driver can be selected as a default driver. This allows building connectivity examples for applications without connectivity.
This allows us to migrate away from easy-connect dependency.

Documentation how default network interfaces work, please see:

This PR depends on #7778

Pull request type

[ ] Fix
[ ] Refactor
[ ] Target update
[X] Functionality change
[ ] Breaking change
@SeppoTakalo

This comment has been minimized.

Contributor

SeppoTakalo commented Aug 17, 2018

@kjbracey-arm please review

@jeromecoutant

This comment has been minimized.

Contributor

jeromecoutant commented Aug 17, 2018

Hi Seppo

Can I ask why wifi-ism43362 is not imported as well ?

Thx

@cmonr cmonr requested a review from kjbracey-arm Aug 17, 2018

@cmonr cmonr added the needs: work label Aug 17, 2018

@SeppoTakalo

This comment has been minimized.

Contributor

SeppoTakalo commented Aug 17, 2018

Hi @jeromecoutant for the first round I'm importing only the ones that we are actively maintaining and testing in our CI.

This is part of the change where I submitted PR earlier into most of the connectivity drivers, ISM as well in ARMmbed/wifi-ism43362#27
Long term goal is to slowly migrate away from easy-connect repository.

Now going forward, applications can be made portable by just choosing which one to provide the default interface.

Driver being outside of Mbed OS tree does not make any difference, once the configuration is in place.

@JuhPuur JuhPuur referenced this pull request Aug 20, 2018

Merged

Feature icetea mactester #1

1 of 5 tasks complete
@SeppoTakalo

This comment has been minimized.

Contributor

SeppoTakalo commented Aug 20, 2018

@cmonr What is the justification for "Needs work" label?

@0xc0170 0xc0170 added needs: review and removed needs: work labels Aug 20, 2018

@0xc0170 0xc0170 requested a review from bulislaw Aug 20, 2018

@0xc0170

This comment has been minimized.

Member

0xc0170 commented Aug 20, 2018

As this is adding components, doesn't this depend on components tools changes or is it good as it is?

@SeppoTakalo

This comment has been minimized.

Contributor

SeppoTakalo commented Aug 21, 2018

@0xc0170 This does not depend on the component support, even that the folder name is the same.

These drivers have been tested not to affect RAM or ROM usage, as long as they are unused. So there is no need to exclude from the build.

@SeppoTakalo SeppoTakalo force-pushed the SeppoTakalo:connectivity-drivers branch 2 times, most recently from e039912 to 3519487 Aug 21, 2018

@SeppoTakalo

This comment has been minimized.

Contributor

SeppoTakalo commented Aug 21, 2018

Rebased on top of master.
MCR20A driver changed so that it is enabled if build against KW24D target.

@cmonr

This comment has been minimized.

Contributor

cmonr commented Aug 23, 2018

@SeppoTakalo I would normally say to check the failure logs, but 1) the job artifacts have been garbage collected by Jenkins due to the history length, and 2) I'm not sure how to retrigger a build.

@ARMmbed/mbed-os-test Some help?

@cmonr cmonr added the risk: G label Aug 23, 2018

@AnttiKauppila

This comment has been minimized.

Contributor

AnttiKauppila commented Aug 23, 2018

This is dependent on #7778 which should go in first

@SeppoTakalo

This comment has been minimized.

Contributor

SeppoTakalo commented Aug 23, 2018

Client test is known to fail, because it is testing with previous release.
Once this goes in, there are fixes to client in the internal repositories. PRs already submitted.

@cmonr cmonr added risk: A and removed risk: G labels Aug 24, 2018

@cmonr

This comment has been minimized.

Contributor

cmonr commented Aug 24, 2018

@SeppoTakalo @0xc0170 Keep in mind that @bulislaw is on vacation for the rest of the month.

@cmonr What is the justification for "Needs work" label?

I think it was because the cloud_client_smoke_test check was failing. Still talking with @ARMmbed/mbed-os-test to see how to restart the test.

@cmonr

This comment has been minimized.

Contributor

cmonr commented Aug 25, 2018

Now waiting on @kjbracey-arm and the predeeding PR.

@SeppoTakalo SeppoTakalo force-pushed the SeppoTakalo:connectivity-drivers branch from 3519487 to 1db096f Aug 27, 2018

@SeppoTakalo

This comment has been minimized.

Contributor

SeppoTakalo commented Aug 27, 2018

Rebased on top of master.

@0xc0170 0xc0170 requested a review from donatieng Aug 27, 2018

@cmonr

This comment has been minimized.

Contributor

cmonr commented Sep 1, 2018

I derp'd and used origin/master instead of upstream/master. Doing the rebase again.

@cmonr cmonr force-pushed the SeppoTakalo:connectivity-drivers branch from 0370d1f to 0456085 Sep 1, 2018

@cmonr

This comment has been minimized.

Contributor

cmonr commented Sep 1, 2018

/morph build

@mbed-ci

This comment has been minimized.

mbed-ci commented Sep 1, 2018

Build : SUCCESS

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

Triggering tests

/morph test
/morph export-build
/morph mbed2-build

@mbed-ci

This comment has been minimized.

@cmonr cmonr added risk: G and removed risk: A labels Sep 1, 2018

@mbed-ci

This comment has been minimized.

@cmonr cmonr merged commit 90ede7a into ARMmbed:master Sep 1, 2018

14 checks passed

ci-morph-build build completed
Details
ci-morph-exporter build completed
Details
ci-morph-mbed2-build build completed
Details
ci-morph-test test completed , RTOS ROM(+0.0%) RAM(+0.0%)
Details
continuous-integration/jenkins/pr-head This commit looks good
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
jenkins-ci/cloud_client_smoke_test Test job: successful
Details
travis-ci/astyle Passed, 601 files
Details
travis-ci/docs Local docs testing has passed
Details
travis-ci/events Passed, runtime is 9298 cycles (-1074 cycles)
Details
travis-ci/gitattributestest Local gitattributestest testing has passed
Details
travis-ci/licence_check Local licence_check testing has passed
Details
travis-ci/littlefs Passed, code size is 8372B (+0.00%)
Details
travis-ci/tools-py2.7 Local tools-py2.7 testing has passed
Details

@0xc0170 0xc0170 removed the needs: CI label Sep 1, 2018

@SeppoTakalo SeppoTakalo deleted the SeppoTakalo:connectivity-drivers branch Sep 2, 2018

@cmonr cmonr removed the risk: G label Sep 2, 2018

@@ -321,6 +321,13 @@ __asm static void delay_loop(uint32_t count)
BCS %BT1
BX lr
}
#elif defined (__ARMCC_VERSION) /* ARMC6 */
void delay_loop(uint32_t count)

This comment has been minimized.

@pan-

pan- Sep 5, 2018

Member

In which world this doesn't get optimized out (ref) ?

This comment has been minimized.

@SeppoTakalo

SeppoTakalo Sep 5, 2018

Contributor

It does, I just needed a placeholder to get it building with ARMC6.

Other compilers already have assembly version provided, but none of those builded OK with ARMC6

@geky

This comment has been minimized.

Member

geky commented Sep 17, 2018

Should this be in a COMPONENT_ESP8266 directory?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment