-
Notifications
You must be signed in to change notification settings - Fork 60
Description
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:
- are you happy with the current API set? I'd avoid polluting the library with getters and setters but it looks like everyone have different needs (that the defaults cannot accommodate)
- is compatibility with Murata module still needed?
- is "dumb mode" a useful feature? Can it be shipped as a standalone firmware?
- is runtime band selection a useful features? Could it work if there were like 8 different firmwares, one per band, and the user chooses its own?
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
#define AT_RESET "Z"
#define AT_DEUI "+DEUI"
#define AT_DADDR "+DADDR"
#define AT_APPKEY "+APPKEY"
#define AT_NWKSKEY "+NWKSKEY"
#define AT_APPSKEY "+APPSKEY"
#define AT_JOINEUI "+APPEUI" /*to match with V1.0.x specification- For V1.1.x "+APPEUI" will be replaced by "+JOINEUI"*/
#define AT_ADR "+ADR"
#define AT_TXP "+TXP"
#define AT_DR "+DR"
#define AT_DCS "+DCS"
#define AT_PNM "+PNM"
#define AT_RX2FQ "+RX2FQ"
#define AT_RX2DR "+RX2DR"
#define AT_RX1DL "+RX1DL"
#define AT_RX2DL "+RX2DL"
#define AT_JN1DL "+JN1DL"
#define AT_JN2DL "+JN2DL"
#define AT_NJM "+NJM"
#define AT_NWKID "+NWKID"
#define AT_CLASS "+CLASS"
#define AT_JOIN "+JOIN"
#define AT_NJS "+NJS"
#define AT_SENDB "+SENDB"
#define AT_SEND "+SEND"
#define AT_RECVB "+RECVB"
#define AT_RECV "+RECV"
#define AT_VER "+VER"
#define AT_CFM "+CFM"
#define AT_CFS "+CFS"
#define AT_SNR "+SNR"
#define AT_RSSI "+RSSI"
#define AT_BAT "+BAT"
#define AT_TRSSI "+TRSSI"
#define AT_TTONE "+TTONE"
#define AT_TTLRA "+TTLRA"
#define AT_TRLRA "+TRLRA"
#define AT_TCONF "+TCONF"
#define AT_TOFF "+TOFF"
#define AT_CERTIF "+CERTIF"
#define AT_PGSLOT "+PGSLOT"
#define AT_BFREQ "+BFREQ"
#define AT_BTIME "+BTIME"
#define AT_BGW "+BGW"
#define AT_LTIME "+LTIME"
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