Errors in notecard responses

Hello
I am getting errors from the notecard in responses to simple commands.

e.g.
I send `

 {"req":"card.location"} 

Usually, everything works well and I get the expected response, e.g.:

{"status":"GPS updated (1496 sec, 38/42 dB SNR, 8/15 sats) {gps-active} {gps-signal} {gps-sats} {gps}","mode":"continuous","lat":-37.819362333333328,"lon":145.04799066666666,"time":1678613160}

But often I get something like

` {"err":"JSON object expected: req\":\"card.location\"}  {io}"}`

See attached showing more examples, and the test setup.
(Note in these examples, the Timestamp is added by the logging software, it is not in the RS232 stream).

I am using a Notecard-B. 3.3V and EN to the notecard.
Rx (in to notecard) and Tx (out from notecard) are monitored by separate RS232 loggers.
See attached test setup:

The error also happens with other commands, such as sending data.

Can anyone tell me what’s wrong, or suggest something else I can try.

Hi there @GaryQ! Thank you for the detailed report, I’m sorry to hear you’re experiencing this.

What type of Notecard and version of Notecard firmware are you using? You can find this by using the Notecard Playground which displays the SKU and firmware info when the terminal is first connected to your Notecard. You can also send {"req": "card.version"} over serial to get this info.

Can you also please confirm which of the 2 serial ports you are using on the Notecard. There is regular serial (TX/RX) at 9600 baud, and the auxiliary serial (AUX TX/AUX RX) that runs at 115200 baud by default. You did mention connecting to TX/RX on the Notecard, but I wanted to be completely certain, since it’s a significant distinction.

Thanks,
Mat.

hi mat

Here’s the response to {“req”:“card.version”}

{"body":{"org":"Blues Wireless","product":"Notecard","version":"notecard-1.5.6","ver_major":1,"ver_minor":5,"ver_patch":6,"ver_build":13807,"built":"Oct  7 2021 14:32:14"},"version":"notecard-1.5.6.13807","device":"dev:867730051149924","name":"Blues Wireless Notecard","sku":"NOTE-NBGL-500","board":"1.11","api":1}

I have also tried another notecard (from the same delivery batch), and it had the same behaviour.

I am using the Tx/Rx pins at 9600 baud, not the Aux Tx/Aux Rx pins, which are unconnected.

I will continue the software development despite the fact that sometimes the notecard gives error responses. My software simply ignores these, and just updates the internal time when the responses are correct.

I have changed over all my Telit and Quectel mPCI cards to use BW notecards, they are so much easier to use. Just have to fix this irritating problem.

Pls give me any thoughts, or any suggestions on what I might try.

Thanks for your assistance.

Best Regards, Gary

PS - Note there was a small typo in the figure “Notecard error responses”: left column should read “Input to notecard Rx pin”, right column is “output from notecard Tx pin”.

1 Like

Hi Gary!

Thanks for getting back to me with the info I asked for. You’re running Notecard firmware 1.5.6 which is quite outdated. Could you please update to the latest LTS release, 4.2.1. Please see this page for details on how to perform Notecard firmware updates.

With that done, please retest and let us know if the issue is still present.

Best Regards,
Mat.

Good news
I upgraded the notecard software to latest (v4.2.1) and the problem has completely disappeared.

I haven’t changed my code at all, which queries the notecard every minute.
With the previous notecard s/w, erroneous replies would occur within about 20 minutes. It’s been running now for about 8 hours and all replies from the notecard have been perfect.

I am glad that I was not doing anything wrong in the code.
My mistake was to forget the golden rule: Make sure I’m using the latest software!

Thanks for the assistance.

Gary

2 Likes

That is indeed good news, I’m glad we could help!