Skip to content

LoRaWAN: Custom FSB selection in US and Australian regions #7802

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 4 commits into from
Aug 27, 2018

Conversation

hasnainvirk
Copy link
Contributor

@hasnainvirk hasnainvirk commented Aug 16, 2018

Description

We have introduced an Mbed config based method to configure a custom frequency sub-band in US915 and AU915 PHYs. US915Hybrid PHY is removed as it was an attempt to make a similar effort. It only allowed one sub-band as it was hard coded. Now user can choose any set of sub-band or sub-bands.

Pull request type

[ ] Fix
[X] Refactor
[ ] Target update
[ ] Feature
[ ] Breaking change

@hasnainvirk
Copy link
Contributor Author

@AnttiKauppila @kivaisan @kjbracey-arm Please review.

Copy link
Contributor

@kivaisan kivaisan left a comment

Choose a reason for hiding this comment

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

Looks ok.

@cmonr cmonr requested a review from kjbracey August 17, 2018 15:25
@hasnainvirk hasnainvirk changed the title Custom FSB selection in US and Australian regions LoRaWAN: Custom FSB selection in US and Australian regions Aug 20, 2018
@hasnainvirk
Copy link
Contributor Author

@kjbracey-arm Please review.

Copy link
Contributor

@kjbracey kjbracey left a comment

Choose a reason for hiding this comment

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

Seems fine, just still unclear on the difference in mask handling between the two channel types.

@@ -580,6 +578,8 @@ lorawan_status_t LoRaPHYAU915::set_next_channel(channel_selection_params_t* next
if ((current_channel_mask[4] & 0x00FF) == 0) {
// fall back to 500 kHz default channels
current_channel_mask[4] = channel_mask[4];
} else {
current_channel_mask[4] &= channel_mask[4];
Copy link
Contributor

Choose a reason for hiding this comment

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

Why this addition, which doesn't mirror the code for 125kHz channels above? Is it because of the lack of &= in link_ADR_request? (I recall previous discussion of that, but don't remember the explanation, and there's no comment in the code).

@hasnainvirk
Copy link
Contributor Author

@kjbracey-arm Please review again. Suggestions entertained.

Copy link
Contributor

@johanstokking johanstokking left a comment

Choose a reason for hiding this comment

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

Looks good to me, two comments;

  • I think it would be good to clarify that this library targets PHY 1.0.2 rev B
  • I would recommend writing in the documentation to use the FSB mask only on private networks where you know beforehand what FSB is being used and/or in case of ABP. With OTAA, certainly on public networks, it's highly recommended to use the channel probing strategy as defined in PHY

@@ -0,0 +1,35 @@
Frequency sub-bands in US915/US915Hybrid/AU915:

US915/US915Hybrid/AU915 PHYs define channel structures which can support up-to 72 channels for upstream.
Copy link
Contributor

Choose a reason for hiding this comment

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

US915Hybrid is gone now

@hasnainvirk hasnainvirk force-pushed the pipeline_br branch 3 times, most recently from b367c3c to f4aec91 Compare August 21, 2018 14:44
@hasnainvirk
Copy link
Contributor Author

@cmonr need CI here again. Breakage doesn't relate to this PR.

@hasnainvirk
Copy link
Contributor Author

@kjbracey-arm Please review.

@cmonr
Copy link
Contributor

cmonr commented Aug 22, 2018

@hasnainvirk Thanks for the poke. Thought I had gotten them all earlier today.

@hasnainvirk
Copy link
Contributor Author

@kjbracey-arm Can you please review ?

@0xc0170
Copy link
Contributor

0xc0170 commented Aug 22, 2018

/morph build

@mbed-ci
Copy link

mbed-ci commented Aug 22, 2018

Build : FAILURE

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

@cmonr
Copy link
Contributor

cmonr commented Aug 23, 2018

Build issue is known. Will relaunch once corrected.

@cmonr
Copy link
Contributor

cmonr commented Aug 23, 2018

/morph build

@cmonr
Copy link
Contributor

cmonr commented Aug 23, 2018

Weird.
/morph build

@hasnainvirk
Copy link
Contributor Author

@cmonr @0xc0170 Exporter build failed for some reason. Can you please check ?

@0xc0170
Copy link
Contributor

0xc0170 commented Aug 23, 2018

Pipeline locked error, restarting

/morph export-build

@mbed-ci
Copy link

mbed-ci commented Aug 23, 2018

@cmonr
Copy link
Contributor

cmonr commented Aug 23, 2018

Pausing Test CI until 5.9.6 PR is merged.
Will restart CI shortly after.

@cmonr
Copy link
Contributor

cmonr commented Aug 24, 2018

/morph test

@cmonr
Copy link
Contributor

cmonr commented Aug 24, 2018

/morph export-build

@mbed-ci
Copy link

mbed-ci commented Aug 24, 2018

@0xc0170
Copy link
Contributor

0xc0170 commented Aug 24, 2018

This needs rebase ! I am aborting the test run, will restart

Hasnain Virk added 4 commits August 24, 2018 15:31
User can now define a custom frequency sub-band for the US915 PHY.
FSB_Usage.txt defines how this parameter will be configured.
Just like US915 PHY, user can define a custom FSB mask for AU915 PHY.
This helps deployments where base stations do not portray full feature
channel sets and choose to stick with sub-bands.
This phy implementation was just to support a single sub-band in US region.
As we have decided to make FSBs configurable, we do not need this class anymore.
A few protected member functions are introduced in LoRaPHY class
that help manipulate channel masks in various ways.
@hasnainvirk
Copy link
Contributor Author

@0xc0170 Rebased and locally tested once more.

@0xc0170
Copy link
Contributor

0xc0170 commented Aug 24, 2018

/morph build

@mbed-ci
Copy link

mbed-ci commented Aug 24, 2018

Build : SUCCESS

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

Triggering tests

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

@mbed-ci
Copy link

mbed-ci commented Aug 24, 2018

@cmonr
Copy link
Contributor

cmonr commented Aug 25, 2018

Pipes be closin to soon...

/morph export-build

@mbed-ci
Copy link

mbed-ci commented Aug 25, 2018

@mbed-ci
Copy link

mbed-ci commented Aug 25, 2018

@AnttiKauppila
Copy link

@0xc0170 This can be merged

@0xc0170 0xc0170 merged commit b4d5e24 into ARMmbed:master Aug 27, 2018
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