-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
lib: lte_link_control: refactor into modules #17266
Conversation
CI InformationTo view the history of this post, clich the 'edited' button above Inputs:Sources:sdk-nrf: PR head: 0101c536961218edf748be9edf1b3a91570ddf84 more detailssdk-nrf:
Github labels
List of changed files detected by CI (70)
Outputs:ToolchainVersion: 3dd8985b56 Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped;
|
You can find the documentation preview for this PR at this link. It will be updated about 10 minutes after the documentation build succeeds. Note: This comment is automatically posted by the Documentation Publishing GitHub Action. |
00fe095
to
62d626e
Compare
ab799b5
to
1a17a8d
Compare
1a17a8d
to
7e13fb9
Compare
7e13fb9
to
0df22f3
Compare
8ecb98e
to
3473990
Compare
be81159
to
0de4670
Compare
7c59e1d
to
2415638
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looking much better.
Some questions to reply, and depending on answer / followup jira issues, then I believe it can get a +1.
-DCONFIG_LTE_LC_EDRX_MODULE=1 | ||
-DCONFIG_LTE_LC_NEIGHBOR_CELL_MEAS_MODULE=1 | ||
-DCONFIG_LTE_LC_PSM_MODULE=1 | ||
-DCONFIG_LTE_LC_TAU_PRE_WARNING_MODULE=1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
placing a comment to remember why this has been accepted.
This construct is not optimal. This is something to be addressed in future, see: #17266 (comment)
imply LTE_LC_EDRX_MODULE | ||
imply LTE_LC_NEIGHBOR_CELL_MEAS_MODULE | ||
imply LTE_LC_PSM_MODULE | ||
imply LTE_LC_TAU_PRE_WARNING_MODULE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
as raised else-where in comments, then I'm a bit unsure if lwm2m actually depends on lte lc modules or not.
And if lwm2m works just as fine with lte lc modules as without, then why the imply
?
I do notice that changing this to a depends on
seems to open pandoras box of circular dependencies (including select and imply deps), so far seem to be originating at a bad select FLASH
somewhere (still investigating).
But I would like some more reasoning regarding those imply
, than just, this makes it work
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tejlmand lwm2m_client_utils
depends on the link controller, but it doesn't show. This is happening because, as far as I understand, the way it is used indirectly brings in the link controller from other components. This is a design flaw because each component should export a contract of its dependencies (in this case via Kconfig), at minimum to document them. This should be addressed, but it requires more work because its tests seem to depend on this design.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
accepted. To be addressed later.
Please create internal ticket.
fe06404
to
1df0844
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
approved. see conditions in comments.
1df0844
to
e27eba2
Compare
NCSDK-29864 |
e27eba2
to
a43c8f3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good ~12kB flash improvement for those using just the core features.
And nice code restructuring for maintenance.
16d92c4
to
a8080e6
Compare
Divides the LTE Link Controller into modules. Signed-off-by: Mirko Covizzi <[email protected]> Co-authored-by: divya pillai <[email protected]>
Removes linking to removed functions in the LTE link controller. Signed-off-by: Mirko Covizzi <[email protected]>
a8080e6
to
f1a3c74
Compare
Use the proper macro instead of a hardcoded string. Signed-off-by: Mirko Covizzi <[email protected]>
f1a3c74
to
0101c53
Compare
Divides the LTE Link Controller into modules.
Tasks:
Modularize: make the architecture modular (rather than monolithic) and easy to understand. Streamline the introduction of new AT commands/functionalities. I have a couple of AT commands I need to add so this is important
Identify potential configuration problems that might arise from
lte_net_if
stack,lte_lc
API usage within NCS, or custom overlaysBenefits:
What has been changed compared to
main
:common
folder and are shared between the modulesTODOs: