-
Notifications
You must be signed in to change notification settings - Fork 60
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
MKRWAN library 2.0 - call for proposals #64
Comments
I think it would be a better idea to consider following the Semtech stack directly? I think Semtech recently added native support for the ST micro used in the Murata module. Would following the Semtech stack enable more timely updates? I will give some careful thought to this and post more later. Thank you for the opportunity to provide some input. |
@sslupsky ST stack is based on the semtech one (https://github.com/Lora-net/LoRaMac-node) with an AT protocol over it.
So it is quite up to date |
@facchinm The ST stack is not on hosted on a public repository. How would we post issues and make PR's for this stack ? Note, 4.4.2 was released Jul 19, 2019. ST stack has not been updated yet. |
@facchinm ST has a github account which appears to have fairly extensive support for their mcu's. Perhaps they would consider moving the stack to github? |
I created an issue on the ST overall mcu repo. |
Hi, |
@giampiero7 I agree it is preferable to have a non blocking API. This is a problem with the current library especially for low power applications. What do you mean by "full access to the underlying FW features"? Are you referring to the Semtech stack as the "underlying FW"? |
Yes |
I think the murata should ship with the I-CUBE-LRWAN as default as possible. It would be nice to have a reference like this one: |
@ruipalma. Unfortunately the ST library is not yet hosted in a public repo and that is a big problem if we want to contribute. |
AFAIK the CMWX1ZZABZ+LoraWan stack is certified by the LoraWan Alliance: We don't have a public rep, but it's open source, so it's possible to change the source as needed. The current rep, have a low contributing rate. And it's understandable, the LoraWan stack it's a complex stack, and it requires a lot of programming effort. The CMWX1ZZABZ have only one job on the mkrwan1300. To do the LoraWan communications, and do it well, if its good enough to the LoraWan Alliance it should be good for us. |
Just to clarify, the ST stack is built on the Semtech stack. The Semtech stack is hosted publicly. The ST stack is not. To my knowledge, there isn’t a way to contribute or post issues. This is a problem. I have identified defects in the ST stack and have no way to address these with the developers. Moreover, I believe Semtech now has direct support within the stack for the MCU used in the Murata module. |
I would like to request a feature to set the 8 channel frequencies used by The Things Network for the 915 MHz USA version. So far I have not seen a working solution for MKR1300 and new MKR1310. With other LoRa modules I can use AT commands to alter the channel frequencies and connect successfully. US902-928 Uplink: 903.9 - SF7BW125 to SF10BW125 923.3 - SF7BW500 to SF12BW500 |
Sorry reaching here late... Also, in order to make a reliable device I had to rewrite the joinOTAA function, because it doesn't returns error that might happen and in some cases the modem got stuck in a state that it doesn't send anything on RF and need to be reset. In my implementation I just run a loop with a timeout and if the modem doesn't change the Join Status (AT+NJS), I reset the modem and start the Join process (AT+JOIN) again. This is far from perfect but, at least is minimally reliable. Another very important improvement would be to have those features as non-blocking. When we go to an almost professional development, callling those blocking functions can do big damage. |
@mjunior-fitec Have a look at this PR #66 and let me know what you think. It addresses some of the blocking issues. |
@sslupsky, I just take a quick look and it sounds very interesting, so far.
Currently, I have a problem using the modemSend() with confirmation. I can see that many times the ACK package is sent by the Network Server, but the function doesn’t return correctly. Can you tell me how does this getCFS() works? I mean, is it possible to how if a specific packet was acknowledged?
Regards,
Marcio Jr.
|
@mjunior-fitec I posted some additional details with the PR so as not to clutter this issue. |
A few other items come to mind regarding the 2.0 stack: FUOTA |
See also my comments in this issue: #69 I suggest this long standing bug needs to be addressed in library 2.0. |
I do fully agree with your proposal, @facchinm to drop the three features mentioned and move the MKRWAN firmware closer to the official ST stack, as @ruipalma already elaborated. This will also lower the maintenance costs and speedup things. Keeping up with the latest ST stack release will be easier, maybe something which could be even fully automated with some CI. I also don't think the murata compatibility is a big issue. The average Arduino user will just use the MKRWAN Library and will not care about anything else - if it works.. :) |
Another consideration comes to mind. Careful thought should be given to supporting FUOTA. So, this suggests that both the SAMD21 and the module must be able to access the flash. Moreover, either the SAMD21 or the module can be an SPI master when accessing the flash. So, during a FUOTA session, the module should write a SAMD21 firmware update payload and a module firmware update payload to separate images/partitions in the flash. After the firmware update is uploaded, the module and the SAMD21 should access their respective firmware image/partition within the flash and perform an update accordingly. |
If "dumb mode" means a mode, where one can address the SX12xx modem directly, yes please! |
@gom-dot-sh it has some limitations but yes, it's exactly what it does (in current firmware it can be used in conjunction with https://github.com/sandeepmistry/arduino-LoRa). |
@facchinm any update on that? |
@remuslazar we released MKRWAN_v2 to allow broader testing , but it's still in beta phase and not ready to phase out this one. |
@facchinm thank you for your feedback! I was not aware about the v2 release, I will try this out, cool! |
@facchinm what is the status of https://github.com/arduino-libraries/MKRWAN_v2? Still beta or ready for production use? AFAIKS there are no major issues and also the "official" Arduino documentation says that both libraries can be used interchangeably. I have also tried the _v2 release, no problems so far - unfortunately it does not solve some existing issues using the LowPower library (see arduino-libraries/MKRWAN_v2#24) |
After reviewing the various issues with this library and fw https://github.com/arduino/mkrwan1300-fw I decided it was probably a better idea to investigate with the community about the next steps (before taking a decision from above).
Questions:
If none of these three features is useful, I propose to compile ST stack with default settings for all the different bands, ship the "updaters" in a particular folder, instruct the user to flash its own before doing anything else, rewrite the library to accept ST-style end of line and AT command set.
For reference, the firmware is here, and the commands exposed are
If we decide to follow this direction a bit of help from the community will be needed.
Feel free to express your concerns/suggestions here (a single post each is appreciated 😄 )
@sslupsky @deanpretorius @TechNyquist @giampiero7 @kraef @conradholt @almarion @ldesomer @xoseperez @sabas1080
The text was updated successfully, but these errors were encountered: