The RAKwireless Unified Interface V3 (RUI3) is designed to help IoT developers make their IoT products faster. It is compatible with RAK LPWAN modules and supports the standard AT Commands and the Binary Mode. The Binary mode is an improved version of the AT command with its efficient byte-array-based protocol and implementation of checksum. RUI3 also allows you to create your own custom firmware using RUI3 APIs that are compatible with popular IDEs like Arduino and Visual Studio. With custom firmware, you will not need any external host microcontroller or microprocessor, which can save you cost, circuit board space, and current consumption.
RUI3 v3.2.0 Release Note
Added
No. | Feature | Reference |
---|---|---|
1 | Support RAK3372 | RAK3172 Evaluation Board |
2 | Integrate low-power UART with AT+SLEEP | AT Command Manual |
3 | Support AT+ALIAS | Binary Command Manual |
4 | Support AT command permission change | Syatem |
5 | AT+CHS supports EU868 | AT Command Manual |
6 | Add AT+CW command | - |
7 | Add api.system.flash.get() and api.system.flash.set() | Arduino API |
Changed
No. | Feature | Reference |
---|---|---|
1 | Add low-power mode for RAK3372 | - |
2 | Enable LoRa class B for RAK3372 | - |
3 | Enhance AT+CERTIF command for LCT | AT Command Manual |
4 | AT command format change: 1. Don't use space in the output response format 2. No data type in the async event. 3. Use : for in/output format and , to dived different groups or sub-groups 4. Command name must show at the begging of every response. 5. Remove the redundancy such as space and string, which is not the value. 6. Make every response in a single line. | - |
5 | Rewrite Arduino Interrupt example | Arduino API |
6 | Change Serial2 to be Serial for RAK3172-E example | - |
7 | Remove BLE dependent code from System Powersave example | - |
8 | Enhance power-consumption of Smart Farm example | - |
9 | For RAK3172, use RAM2 to avoid RAM shortage | - |
10 | Remove the wrong design about wakeup source pin | - |
11 | Assign WB_IO1 as another wakeup source for System Powersave example | - |
12 | Optimize the power consumption of Smart Farm example | - |
13 | Update variant.h for the following modules: - RAK4630 - RAK3172 - RAK3172-SiP | - |
14 | For RAK4631, rewrite the GPIO driver as event based driver | - |
15 | For RAK4631, add workaround in UDRV Powersave for Smart Farm example | - |
16 | Use a compilation flag to turn off Transparent Mode | - |
17 | Remove 5s delay in all the examples | - |
18 | Remove LED operation in Smart Farm example | - |
19 | Refine Smart Farm example to avoid program stuck in some condition | - |
20 | For RAK4630, add one more UART console for it | - |
21 | For RAK4630, disable NFC by default | - |
22 | Remove RF test related RUI API | - |
23 | Add AT command max length restriction | - |
24 | Simplify the BLE UART example | - |
25 | Disable FS related RUI API by default | - |
26 | Add example annotation. Indentation modification | - |
Fixed
Daily Build No. / Bug No. | Description |
---|---|
Bug #663 | US915 at+chs join process and return AT_ERROR |
Bug #667 | [RAK4631] US915/AU915 AT+CHS : Single Channel Mode doesn't work |
Bug #668 | [RAK3172] [DailyBuild.44] : DUT uplink in unexpected channels (US915) |
Bug #670 | [RAK3172] [DailyBuild.44] : DUT response to confirmed downlink messages from unknown NS |
Bug #639 | RX2 and RXC abnormal in DR 10~13 |
Bug #645 | DUT use confirmed uplink message type to response [Fpending = 1] and [Confirmed downlink] events |
Bug #675 | [RAK3172] [DailyBuild.49] : After changing the RX2 frequency by RXParamSetupReq, downlinks via RXC will be failed |
Bug #669 | [RAK3172] [DailyBuild.44] : During processing continuous confirmed downlink, +BC: FAILED (259) message appears |
- | Fix Smart_Farm example: 1. Fix the wrong usage of api.lorawan.rx2dl.get() because of unit change. - 2. Remove BLE dependent code from Smart Farm example, so it can be compiled successfully on RAK3172-E. |
- | Fix typo and refine RAKUnifiedApi.h |
- | Fix RAK3372 I2C can't change frequency |
Bug #678 | [RAK3172] [DailyBuild.60] : Downlink via RX_B didn't work |
Bug #512 | AnalogRead() return should be 0~1023 |
- | Fix timer bug inside LoRaMacNode |
Bug #680 | [RAK3172]``[DailyBuild.60] : In class B, while uplink event engaging into beacon reserved period, DUT console return AT_ERROR |
Bug #671 | [RAK3172] [DailyBuild.44] : Can't pass LCTT test cases |
Bug #541 | After manually enter DFU Mode, uploading firmware failed |
Bug #681 | [RAK3172] [beta 1] : The payload length of API mode exceeds 13bytes and cannot be received |
Bug #682 | [RAK3172] [beta 1] : Sometimes, the response handler was not invoked |
- | For RAK4630, rewrite UDRV/UHAL RTC to support wakeup by LoRa |
- | For RAK3172, fix UHAL ADC bug that causes flash cannot be accessed anymore |
- | For RAK3172, fix the crash caused by long at command input |
Bug #634 | JOIN FAILED (3) appeared in continuous join events |
- | For RAK4630, fix LoRa downlink cannot work anymore if api.system.setup() is called |
- | Fix can't print floating point issue for Arduino IDE |
- | Fix hard-coding in all examples |
- | Fix variant.h according to RAK5005-O page of online document center |
- | For RAK4630, fix the RX sensitivity issue by powering on antenna switch |
Bug #622 | AT+BFREQ command return unexpected beacon frequency |
- | For RAK4630, reduce the power consumption by disable LoRa interrupt |
- | Fix multi-line input problem |
- | Fix the ambiguity caused by the default value of api.system.sleep() |
- | Fix AT Command buffer size for RAK3172 |
Bug #708 | BLE UART cant modify ADV_NAME |
Bug #713 | BLE ADV name have error code |
Bug #714 | BLE System crash |
- | Fix SDK can't be decompressed for Visual Studio |
Bug #728 | [HW:RAK3172] : Unexpected power consumption result after remove CH340 from DUT |
Bug #683 | AU915 CLASS A OTAA AT+CHS with AT_ERROR issue |
- | Fix NFC examples can't compile on Arduino IDE |
Bug #727 | [HW:RAK3172SIP] : Use Serial with Arduino IDE to do FW upgrade (rc1.76 to rc1.76), after re-powering join procedure shows TX timeout message |
- | Fix Custom ATCMD example's ATCMD permission |
Bug #700 | NFC received lack NLEN(2Bytes) and not type 4/2 tag(t2t/t4t) config? |
Bug #736 | [HW:RAK3172]``[api.system.sleep.setup()] : wake-up from powersaving mode, system will stop if there is any input from serial_1 |
Bug #749 | [HW:RAK3172]``[Arduino Example: Arduino_Interrupt] : attachInterrupt() fail |
Bug #750 | [HW:RAK3172]``[Arduino Example: Arduino_Interrupt] : board crashe when use IO2 |
Bug #742 | Arduino export binary can't run |
Bug #696 | Arduino IDE export Hex file no bootload |
Bug #737 | [HW:RAK3172]``[Serial.lock()] : Can only lock a serial which is in AT CMD mode, but doxygen does not show it |
Bug #738 | [HW:RAK3172]``[Serial.lock()] : When a serial port is locked, both two serial ports will be locked and can be unlocked from either serial port |
Bug #745 | [HW:RAK4631] : System_Powersave crash |
Bug #660 | US915 CLASS C with ABP mode when disable gateway frame-counter issue |
Bug #730 | [Document error]``[Serial.readBytesUntil()] : Serial.begin(11500, CUSTOM_MODE) |
Bug #731 | [Document error]``[Serial.readBytesUntil()] : if (Serial.available > 0) |
Bug #732 | [HW:RAK3172]``[Serial.readBytesUntil()] : Get inputs form Win11 Tera Term, the API returns without matching either the terminator character or the length |
Bug #695 | RuiV3 release not support NFC |
- | Fix all the wrong usage of fallback handler in UHAL UART |
- | Fix RF test related to the following command: - AT+CW - AT+TRSSI - AT+TTONE - AT+TTX - AT+TRX - AT+TCONF - AT+TTH - AT+TOFF |
- | Fix AT+PWORD when password length is less than 8 |
- | Fix AT+PRECV in API mode: Check network working mode before executing commands |
- | Fix unable to exit P2P receiving mode normally |
Bug #769 | [ATCMD] 2.16_AT+ALIAS: AT+ALIAS= will cause AT_ERROR and empty previous value |
Bug #778 | [ATCMD] 6.8_AT+LPSEND : Out of range input of <port> and <ack> field, expected return is AT_PARAM_ERROR , but gets OK |
Bug #779 | [ATCMD] 6.9_AT+RETY : Out of range input than the upper bound, expected return id AT_PARAM_ERROR , but get AT_ERROR |
Bug #784 | [ATCMD] 7.8_AT+RX1DL: The value range of AT+RX1DL (AT+RX2DL ) in ATCMD DOC is 1 |
Bug #767 | The serial port defaults to CUSTOM_MODE in Arduino, but not in RUI |
Bug #742 | Arduino export binary can't run |
Bug #696 | Arduino IDE export Hex file no bootload |
Bug #747 | [HW:RAK3172]``[Arduino Example: Arduino_Advance_IO] : Compile error |
Bug #748 | [HW:RAK3172]``[Arduino Example: Arduino_Digital] : Compile error |
Bug #751 | [HW:RAK3172]``[Arduino Example: Arduino_Serial] : Serial is not re-enabled after executing Serial.end(), unable to upload later |
Bug #752 | [HW:RAK3172]``[Arduino Example: Arduino_Time] : delayMicroseconds() cause the board to crash |
Bug #753 | [HW:RAK3172]``[Arduino Example: LoRaWan_P2P] : Board crash when run example |
Bug #763 | [HW:RAK4631]``[Arduino Example: System_FS] : COM port disappear |
Bug #755 | [HW:RAK3172]``[Arduino Example: System_ATCMD_Permission] : API CHANGE_ATCMD_PERM cannot be used in AT+DEVADDR , AT+NETID , and AT+HWID |
Bug #740 | LoRa & BLE system crash |
Bug #764 | Serial.readString function compile error |
Bug #754 | [HW:RAK3172]``[Arduino Example: System_Serial_Lock] : api.system.pword.set(password) is not working |
Bug #775 | [ATCMD] 4.3_AT+BAUD: - Perform AT+BAUD=921600 , then ATZ - DUT operates in [Baud Rate 115200] after ATZ - However, AT+BAUD=? will return 921600 |
Bug #782 | [ATCMD] 7.1_AT+ADR: - Input ATZ -> wait 10 sec - Input ADR=? -> wait 200 ms - Input AT+ADR=1 will return AT_ERROR |
- | Fix FSK mode parameter range |
Bug #773 | [ATCMD] 4.2_AT+PWORD: AT+PWORD= will cause AT_ERROR |
Bug #757 | P2P AT+PBR & AT+PFDEV AT_PARAM_ERROR and SW stuck issue |
Bug #778 | [ATCMD] 6.8_AT+LPSEND : Out of range input of <port> and <ack> field, expected return is “AT_PARAM_ERROR”, but get “OK” |
Bug #808 | [RAK4631] : AT+NWM=0 Fail |
Bug #793 | [RAK4631] : AT+NWM=0 Fail |
Bug #772 | [ATCMD] 4.1_AT+LOCK: After lock ATCMD port by AT+LOCK= , then re-power DUT and DUT would be in an unlocked status |
- | Fix using the wrong linker script problem for Arduino IDE |
- | Fix the hang issue of Smart Farm example that is built by the Arduino IDE |
- | Fix naming inconsistency of UART_MODE |