-
Notifications
You must be signed in to change notification settings - Fork 10
Add features: IMEI, RSSI, Versions, Geolocation, Time, Ring Alerts, handle non-responsive modem #15
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
Conversation
…are versions, geolocation, date/time per Iridium network, ability to enable/disable ring alerts, check for ring alerts
Phew, now passes CI checks :) |
Thanks for these additional updates. I've added a lot of commentary, but please realize they are mostly cosmetic with respect to all the various new properties you've added. Was there a need for the changes to |
Hi Carter, thank you very much for the feedback. I'll start working on the revisions you suggested in your comments. I'll get back to you when I have my code ready for another review or have questions. Thanks again! - Jeremy |
…cts manufacturer's documentation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. This is looking good. Added a few more refinements.
Also - have you tested this code with hardware?
… reduced lines of code and memory usage in geolocation and system_time, removed default value in the ring alert setter
Thanks, I've changed the code per your comments and pushed them. I have been testing on a 9603 using a Feather M4 Express prior to each commit. Speaking of testing, on the next PR I do I'd like to add +GEMON which returns an estimate of the microamp hours the modem has consumed. I think it would be very useful for anyone running off batteries/solar/etc. However the software revision I have on several modems does not support this. I do have an older modem that does support it, and RockBlock support shows it working on a newer revision than what I have. It could be added as long as it can handle the return code of ERROR. I've written this code, but didn't push it since it wasn't working on all of my modems. And speaking of errors and future PRs, if the modem is powered down, then the init fails because it calls reset: Which is because line is equal to None, and the while loop can't iterate over None. That's why I was changing reset and _uart_xfer. But we'll save that for another PR as you suggested. |
Updating https://github.com/adafruit/Adafruit_CircuitPython_RockBlock to 1.2.0 from 1.1.3: > Merge pull request adafruit/Adafruit_CircuitPython_RockBlock#15 from OperatorFoundation/add-features > Added pre-commit-config file Updating https://github.com/adafruit/Adafruit_CircuitPython_OAuth2 to 1.0.1 from 1.0.0: > Merge pull request adafruit/Adafruit_CircuitPython_OAuth2#1 from brentru/fix-refresh-token
I added functionality to return the modem's IMEI (serial number), RSSI (signal strength), firmware versions, it's geolocation per the Iridium network, the date/time per Iridium network, the ability to enable/disable ring alerts, and lastly the ability to check for ring alerts.
I made changes to handle a non-responsive modem (in case it is powered off) by modifying _uart_xfer to return None if there is no response from the modem. This will require additional changes to several other functions. I'm not sure this was the best way to do it, so I have not updated all the other functions yet. I would like to get some feedback first. If you have a better suggestion, or think this is ok, please let me know and I'll update accordingly.
Thank you,
Jeremy