-
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
Binary downlinks #69
Comments
If the interface is an AT command set, it must be ASCII and the binary data must be in ASCII HEX. |
Actually, there are many examples online where binary data is sent using AT commands. What is required is an AT command that sends the binary data payload, not ASCII HEX. |
I believe that, it will however be something different from the “Hayes” standard as it uses text strings by definition.
And this one to process received data:
I clean this functions from the application code, i don't have opportunity to test them after the clean, i hope it runs ok. |
Yes, I agree, something like that. MKRWAN.h can handle the binary stream. With regard the power consumption, reducing the amount of data helps reduce power. I suppose downlink messages are very infrequent. A firmware update could be a large downlink though. I am not so familiar with FUOTA yet. Where does the FUOTA image go? Does FUOTA support updating the module and the host MCU? |
I'm not familiar to FUOTA also. |
I believe there is an outstanding issue with binary downlinks. As reported in #33, the module firmware does not handle sending a binary zero because the underlying AT command firmware uses a printf style format (%s) to send the data from the module. The referenced issue indicates a change was merged to support ASCII HEX, not binary. Thus, by using the format() method, you can inform the module firmware to send the data to the SAMD21 as ASCII HEX (not binary). This workaround is fine for situations where you can control how the data is sent. In the case where you do not, and the binary data could contain zeros, the downlink will not reach the SAMD21.
I had a look at (fairly recent version) v1.2.2 of the ST modem firmware stack and the problem still exists there so it has not been resolved.
What is required is a vcom function to write a byte to the UART. Does anyone know if such a function exists in the ST IDE? Perhaps we can cherry pick this function into the ST module firmware stack and then add a function to send the binary data?
The text was updated successfully, but these errors were encountered: