ofauchon / go-lorawan-stack

Lightweight Lorawan stack for Golang
MIT License
7 stars 1 forks source link

Lorawan Regional Parameters #2

Closed ofauchon closed 1 year ago

ofauchon commented 1 year ago

Current Lorawan stack implementation is very basic. It only operates on a single radio channel (frequency, modulation and coding rate)

Luckily, it's enough for joining an EU868-region network and send uplinks messages. (EU region parameters allows the use of the same frequency/modulation for RX/TX communications)

But It doesn't work with AU region (the RX and TX frequencies and modulation are not the same... See #1 issue for details)

Beyond this AU compatibility, this dumb implementation can cause important issues:

So it's time to improve the stack by implementing correct handling of regional radio parameters. https://lora-alliance.org/resource_hub/rp2-1-0-3-lorawan-regional-parameters/

First thoughts about the implementation:

A new 'regions' package will contain one .go file per region (eg: eu863.go, eu433.go, us902.go, cn779.go).

Each of files will implement some interface describing the 'regional lorawan parameters' :

I'll push some 'draft' code soon for this feature.

tcpipchip commented 1 year ago

Wow! This is very very nice!!!! I am shure that lsm110a and tinyGo and LoRaWAN will be a success! thanks again! Happy that we will have an improve stack and then a lot of new blogs applications

tcpipchip commented 1 year ago

preview of blog https://ninab3-python.blogspot.com/2022/12/wisol-lsm110a-rodando-tinygo-ide-golang.html

ofauchon commented 1 year ago

Hi,

I added a new repository for reference examples for LoraWan Stack and Tinygo : https://github.com/ofauchon/go-lorawan-stack-tinygo-demo

It's was a prerequisite for the rest of the implementation of Lorawan Stack.

At the same time, I'm still working on the implementation of Lorawan Regional Parameters. I hope I can release a new version next week.

tcpipchip commented 1 year ago

Hi @ofauchon

This is so nice!

I intend to show your solution to the WISOL TEAM and make it popular.

my plans to is to use in University projects!

and many blogs ;)

tcpipchip commented 1 year ago

Hi @ofauchon

All right ??

progress there ?

ofauchon commented 1 year ago

Hi @tcpipchip,

@deadprogram and I decided to move the go-lorawan-stack to the official tinygo-driver repository.

This is a very good news because the lorawan stack will be officially supported by the Tinygo-drivers community.

We are now very close to merging the code in development branch of tinygo-driver. You can already have a look to the future lorawan driver and examples here: https://github.com/tinygo-org/drivers/pull/504

Unfortunately, It slightly delayed the implementation of Lorawan Regional Parameters (The fix you are waiting for).

Please give us a little more time to finish the move to tinygo-driver. We'll then implement the fix for AU region support (It's on the top of our todo list)

tcpipchip commented 1 year ago

Hi! Good news!!!! Yes!! No problem! I can wait!!! Congratulations

ofauchon commented 1 year ago

Hi @tcpipchip,

A lot of improvement had been made on lorawan implementation in the past days. (cleanup, refactoring...)

Now, all lorawan code (drivers, stack) has been merged in tinygo-drivers.

I'll close this repository soon.

Could you please come here : https://github.com/tinygo-org/drivers/pull/508 ... to follow the status of AU Region implementation ?

I'll contact you from there when the code is ready for testing.

tcpipchip commented 1 year ago

Ok! Close!!!! Thanks to the update

ofauchon commented 1 year ago

Thanks .. Closing the issue