lorawan-stack icon indicating copy to clipboard operation
lorawan-stack copied to clipboard

Expose band definitions via API

Open adriansmares opened this issue 2 years ago • 0 comments

Summary

We should expose band definitions via a gRPC API such that clients (mainly the Console) can provide a better UX.

Why do we need this?

Currently MAC settings in the Console are very low level - users input data rate indices , data rate offsets and raw frequencies. While this is fine, it is very error prone, as indices have different meanings between bands, even within the same band over different versions. As such, it would be better if the Console could show direct definitions using dropdowns instead of allowing free input. In order to be able to render such dropdowns, the Console needs a way to retrieve the band definition.

What is already there? What do you see now?

A frequency plans store exposed by all of the components.

What is missing? What do you want to see?

A versioned band store exposed by all of the components.

Environment

v3.19.0

How do you propose to implement this?

Add the API for the band definitions and expose the service. The idea for the band definition is that it does not replace band.Band, but just provides a serializable form similar to the ground truth testing that was used in previous pkg/band refactorings.

How do you propose to test this?

UT.

Can you do this yourself and submit a Pull Request?

Yes. cc @kschiffer

adriansmares avatar Apr 22 '22 10:04 adriansmares