I have two RAK3272S Ver C. Out of the box I hooked a terminal to each and tested P2P Lora using the AT commands without issue. I then setup the environment to do custom coding in Arduino using RUI, I used WisDuo RAK3272-SiP Board for the board selection and uploaded the LoRa_P2P example application. However, was not able to get the units to communicate. Send is Success but never receive a packet. After banging at it for awhile, I eventually tried to do the AT command based test again and I am failing to communicate with the AT commands. It seems I have done something in the process of uploading the example code that has caused an issue or I am just missing something. If I do a AT+VER=?, I get RUI_4.1.0_RAK3272-SiP on both units. From the AT testing I am doing the following:
Unit A
AT+NWM=0
AT+P2P=868000000:7:125:0:10:14
AT+PRECV=65534
Unit B
AT+NWM=0
AT+P2P=868000000:7:125:0:10:14
AT+PSEND=12
The one thing that seems different on the AT test is that after a AT+PSEND, I have to do an AT+PRECV=0 to disable receive before I can do another AT+PSEND. If I do not do that I get a BUSY error when I issue the PSEND. I definitively did not see that the first time a ran the test on the factory boards. Also when doing the AT command test now, I have application code loaded from the arduino environment, but I have basically made that a big do nothing loop (just a delay). One last thing, at some point doing Arduino work I was unable to get the environment to upload code to one of the units (I had an infinite loop in the code with no delay so I assume that was the issue), eventually, I used STM32Programmer to reload the firmware onto the the chip. It seemed to work fine and the AT+VER=? makes me think the two chips are the same but I figured I would mention it.
I am not exactly sure what you run on your Arduino code but LoRa P2P should work fine.
With regards to AT commands, if you are running in RX mode, there are different configurations. If you set PRECV to 65534, it is in RX mode infinitely and cannot send anything unless RX mode is disabled via a zero value. In addition, you cannot change PRECV value as well unless you set it to zero value first.
Regarding reuploading the RUI3 firmware using STM32CubeProgrammer, I usually fully erase chip first. This will ensure that my chip is on its fresh start.
Really appreciate the assistance. I reloaded the firmware on both modules and tried with the AT commands and got the same behavior. Output below. Couple notes, this worked when I got the units, not sure what I did to cause this but I believe it was something I did. I am concerned the firmware I put on them is potentially the wrong firmware. I order RAK3172 Breakout Board | RAK3272S. It is labelled RAK3272S on the back of the board but the module on the front is a RAK3172. I installed RUI_4.1.0_RAK3272-SiP firmware . Should I be using one of these other firmware: RAK3172-E_latest_final.hex or RAK3172-T_latest_final.hex or maybe something else?
------------Unit1
RAKwireless RAK3272-SiP
Version: RUI_4.1.0_RAK3272-SiP
Current Work Mode: LoRa P2P.
at
OK
at+ver=?
AT+VER=RUI_4.1.0_RAK3272-SiP
OK
at
OK
AT+P2P=868000000:7:125:0:10:14
OK
AT+PRECV=65534
OK
------------Unit2
RAKwireless RAK3272-SiP
Version: RUI_4.1.0_RAK3272-SiP
Current Work Mode: LoRa P2P.
at
I think you nailed it, though it is the one on the right I have which is what I think you meant to say. I will give it a try tonight and update the thread! Thanks!
This takes me to my next problem I installed the Arduino board support. There are 4 options for selecting a board in Arduino - WisDuo RAK3172 Evaluation Board, WisDuo RAK3172-T Board, WisDuo RAK3172-SiP Board, and WisDuo RAK3172LP-SiP Board. Does one of these support the hardware I have?
RAK3172 ==> any board with the RAK3172 without TCXO
RAK3172-T ==> any board with the RAK3172 with TCXO
RAK3172-SiP ==> any board with the “standard” RAK3172-SiP chip
RAK3172LP-SiP ==> any board with the “low-power” version of the RAK3172-SiP