I'm developing a small IoT device that needs to retrieve and transmit its location upon pressing a button. While testing the modem using AT commands, I can consistently retrieve location data in about 5 minutes. However, when implementing location tracking in firmware, following Lesson 6 of the Cellular Fundamentals course as a framework, the modem struggles to establish a connection with satellites and fails to get a fix, even after extended wait times.
I've closely replicated the Lesson 6 code, yet the issue persists. Following the course's advice, I’ve printed satellite connection information, confirming that my device detects multiple satellites, but the signal strength is insufficient to obtain a fix. Given that the AT commands successfully retrieve location data, but the firmware implementation does not, I’m wondering what might be missing in my approach.
Are there additional considerations I should account for when integrating location tracking into firmware? Any insights into why the modem behaves differently between direct AT commands and firmware execution would be greatly appreciated.
This is a screenshot from my devices outputted satellite connection data.