Skip to content

Cellular: Basic driver for Quectel EC25/EC21 #10292

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 7 commits into from
Apr 9, 2019

Conversation

hasnainvirk
Copy link
Contributor

@hasnainvirk hasnainvirk commented Apr 2, 2019

Description

Provides basic power up / power down sequences for Quectel EC2X series
modems. Can be used in PPP mode. For using the on-board IP stack, we
will need to add and implement classes that provide context.

Driver constructor takes power and reset control pins along with the
FileHandle. A default construction is provided which can be chosen by
the application in its mbed_app.json. Otherwise the user is free to
construct as per demand.

Pull request type

[ ] Fix
[ ] Refactor
[X] Target update
[ ] Functionality change
[ ] Docs update
[ ] Test update
[ ] Breaking change

Reviewers

Release Notes

@hasnainvirk hasnainvirk force-pushed the ec2x_driver branch 2 times, most recently from 3db6e4f to 1c874da Compare April 2, 2019 12:47
@hasnainvirk hasnainvirk changed the title Basic driver for Quectel EC25/EC21 [Cellular] Basic driver for Quectel EC25/EC21 Apr 2, 2019
@ciarmcom ciarmcom requested review from a team April 2, 2019 13:00
@ciarmcom
Copy link
Member

ciarmcom commented Apr 2, 2019

@hasnainvirk, thank you for your changes.
@ARMmbed/mbed-os-wan @ARMmbed/mbed-os-maintainers please review.

@hasnainvirk
Copy link
Contributor Author

@AnttiKauppila @AriParkkila @kjbracey-arm @ARMmbed/mbed-os-wan Please review.

@hasnainvirk
Copy link
Contributor Author

@kivaisan @AriParkkila Please review again.

@0xc0170 0xc0170 changed the title [Cellular] Basic driver for Quectel EC25/EC21 Cellular: Basic driver for Quectel EC25/EC21 Apr 4, 2019
@0xc0170
Copy link
Contributor

0xc0170 commented Apr 8, 2019

[X] New target driver

Please do not add new/remove the current PR type. This one falls into target update. I've fixed it

@0xc0170
Copy link
Contributor

0xc0170 commented Apr 8, 2019

Ci started

@mbed-ci
Copy link

mbed-ci commented Apr 8, 2019

Test run: FAILED

Summary: 2 of 9 test jobs failed
Build number : 1
Build artifacts

Failed test jobs:

  • jenkins-ci/mbed-os-ci_build-ARMC6
  • jenkins-ci/mbed-os-ci_build-ARMC5

Hasnain Virk added 4 commits April 8, 2019 17:32
Provides basic power up / power down sequences for Quectel EC2X series
modems. Can be used in PPP mode. For using the on-board IP stack, we
will need to add and implement classes that provide context.

Driver constructor takes power and reset control pins along with the
FileHandle. A default construction is provided which can be chosen by
the application in its mbed_app.json. Otherwise the user is free to
construct as per demand.
A test trace was left lurking around. Removed in this commit.
AT+CREG command can also provide information regarding lac/ci/lat etc so
we should set the mode correctly in cellular properties structure.
Standard 3GPP TS27.007 states that the AT+CGSN command can optionally
have type parameter that determines the output. However Quiectel EC2X
series doesn't accept parameters. We need to reflect that in the
cellular properties setup.
Hasnain Virk added 2 commits April 8, 2019 17:32
A little tidying up was needed as there was some boiler plate code that
could be shoved into a corner and reused.
To make this driver more useful, we needed to do some changes. The
wirings for the modem can differ on the board so we also need to be
flexible in our approach.
It is now mandatory to provide the power pin and pin polarity in the
constructor alongwith the file handle. Reset pin is optional.
@hasnainvirk
Copy link
Contributor Author

@AnttiKauppila @AriParkkila @kivaisan Please review again.

Copy link

@AriParkkila AriParkkila left a comment

Choose a reason for hiding this comment

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

Is it intentionally assumed that pwr and rst pin polarity are the same?

@hasnainvirk
Copy link
Contributor Author

Is it intentionally assumed that pwr and rst pin polarity are the same?

Yes that is right.

For default construction of the driver, it would be necessary to define
the pins. However as we don't know the correct pins, until/unless user
sets them up for us. So it makes sense to mark the pins as NC. It would
be easier to debug if the pins are set to NC if user forgot to set them
up.
@0xc0170
Copy link
Contributor

0xc0170 commented Apr 9, 2019

CI started

@mbed-ci
Copy link

mbed-ci commented Apr 9, 2019

Test run: FAILED

Summary: 1 of 11 test jobs failed
Build number : 2
Build artifacts

Failed test jobs:

  • jenkins-ci/mbed-os-ci_greentea-test

@0xc0170
Copy link
Contributor

0xc0170 commented Apr 9, 2019

Failed test jobs:

Test passed (second round).

@cmonr cmonr merged commit 6dbc00d into ARMmbed:master Apr 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants