I am operating a Grove board with a LoRa-E5-HF module. I have connected this board/module to TTN and am able to Join and send CMSGHEX commands among others via the module RxD, TxD. After I send a command the module emits response(s). See the example CMSGHEX below.
Module responses, especially the JOIN response, seem to vary somewhat in both content and timing. This makes creating software to parse module response somewhat of a problem.
Is there a document that lists all the possible responses and the time it may take for the module to respond? If not, is there an example C-language program that I can pick apart? A robust example of sending CMSGHEX, determining errors, and capturing the RX (if any) will be very appreciated.
Unfortunately, there isn’t a comprehensive official document listing all possible responses and their timings, but you can rely on the information provided in the LoRa-E5-HF AT Command Manual and user community resources.
Yes. I emphasize I am using LoRa-E5-HF module. I believe the responses below are specific to this module and not generally a part of the LoRaWAN specification. My “10 second delay” is how long my software blindly waits before processing its input buffer. The actual time for the module to emit a response is not shown, although it is less than 10 seconds.
JOIN attempt with no gateway just after power on, 10 second delay
Command: JOIN
+JOIN: Start
+JOIN: NORMAL
+JOIN: Join failed
+JOIN: Done
JOIN attempt with gateway present just after power on, 10 seconds delay
Command: JOIN
+JOIN: Start
+JOIN: NORMAL
+JOIN: Network joined
+JOIN: NetID 000013 DevAddr 26:0C:6E:00
+JOIN: Done
JOIN attempt with gateway present, already joined, 10 seconds delay
I can send CMSGHEX commands and receive responses via the module’s RxD and TxD pins, I’m encountering some challenges. The responses, particularly the JOIN response, vary in both content and timing, which complicates my efforts to create reliable software for parsing these responses. I’m wondering if there is any documentation available that outlines all possible responses along with their expected response times.
Sorry, I have not found much to describe the various Seeed LoRa-E5-HF module responses.
You can try Seeed document LoRa-e5 AT Command Specification V1.0
I simply tried the module in various states with results below. My sofware sent the JOIN command, then accumulated all responses that occurred in the following 10 or 30 seconds. Later I modified my software JOIN function to return immediately after receiving “Done” or return after 30 second time out, and return a pointer to buffer containing the module result, which I parse through. I also show responses to CMSHEX. Commands are shown without showing the terminator \n which is added at the time the command is sent via serial connection.
Mike
JOIN attempt with no gateway just after power on, 10 second delay
Command: JOIN
+JOIN: Start
+JOIN: NORMAL
+JOIN: Join failed
+JOIN: Done
JOIN attempt with gateway present just after power on, 10 seconds delay
Command: JOIN
+JOIN: Start
+JOIN: NORMAL
+JOIN: Network joined
+JOIN: NetID 000013 DevAddr 26:0C:6E:00
+JOIN: Done
JOIN attempt with gateway present, already joined, 10 seconds delay
(Note: no transaction appears at gateway.)
Command: JOIN
+JOIN: Joined already
3407 GPS Board Tests - CMSGHEX
=================================
CMSGHEX without join, 30 second delay
Command: CMSGHEX=“016b8ea743f77d”
+CMSGHEX: Please join network first
CMSGHEX after join, gateway present, no downlink pending, 30 seconds delay
Command: CMSGHEX=“016f5aa3e8d781”
+CMSGHEX: Start
+CMSGHEX: Wait ACK
+CMSGHEX: FPENDING
+CMSGHEX: ACK Received
+CMSGHEX: RXWIN1, RSSI -48, SNR 8.0
+CMSGHEX: Done
CMSGHEX after join, gateway present, downlink pending, 30 seconds delay
Command: CMSGHEX=“0163eaa7d8bd82”
+CMSGHEX: Start
+CMSGHEX: Wait ACK
+CMSGHEX: ACK Received
+CMSGHEX: PORT: 15; RX: "48656C6C6F"
+CMSGHEX: RXWIN1, RSSI -47, SNR 10.0
+CMSGHEX: Done
CMSGHEX after join, gateway NOT present, 30 seconds delay