You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
sendAT returns void when it should be returning some kind of error code. inside, it calls some uart/streaming stuff and ignores any return code/errors from that as well.
waitResponse processes all the various AT command responses you pass it (which is a really odd way to handle response errors) and returns some index value based on the params you pass, but 90% of the things in tinygsm's code that call it don't check the return value and drop it.
there are a bunch of other places where error handling is not done.
all this makes it next to impossible to figure out why a connection failed (and no, don't say "turn on debug logging", because most of the time you can't do that in production in the field and see it on some console). there should be a way programmatically via the tinygsm api to determine proper error status of everything you can call in it so that you can handle errors appropriately in your calling code.
The text was updated successfully, but these errors were encountered:
sendAT returns void when it should be returning some kind of error code. inside, it calls some uart/streaming stuff and ignores any return code/errors from that as well.
waitResponse processes all the various AT command responses you pass it (which is a really odd way to handle response errors) and returns some index value based on the params you pass, but 90% of the things in tinygsm's code that call it don't check the return value and drop it.
there are a bunch of other places where error handling is not done.
all this makes it next to impossible to figure out why a connection failed (and no, don't say "turn on debug logging", because most of the time you can't do that in production in the field and see it on some console). there should be a way programmatically via the tinygsm api to determine proper error status of everything you can call in it so that you can handle errors appropriately in your calling code.
The text was updated successfully, but these errors were encountered: