Hi,
I am trying to understand either the timing or feature I am missing with respect to LTE, GPS and MQTT. I have read a number of posts and questions on a similar topic, but didnt find what I was doing wrong.
I have a 9160DK which connects fine to LTE and MQTT or LTE and GPS but I cant get all 3 to connect.
When I have LTE and MQTT connected, the GPS stays in NRF_MODEM_GNSS_EVT_BLOCKED state and never gets UNBLOCKED. But when I have LTE and GPS only (no MQTT) it gets UNBLOCKED in a few seconds. I can only think that the MQTT is keeping the LTE connection open or busy such that LTE never goes into PSM.
When setting up the modem, I believe I am setting PSM with the following commands, and dont get any errors:
```
lte_lc_init();
lte_lc_psm_req(true);
lte_lc_edrx_req(true);
lte_lc_connect();
```
Output of CPSMS, indicates to me it is in PSM.
```
AT+CPSMS? : +CPSMS: 1,,,"00000011","00100001"
```
After the LTE is connected/setup, I call the following sequence without error (error checking is in the code, removed from the post)
nrf_modem_gnss_init();
nrf_modem_gnss_event_handler_set(gnss_event_handler)
nrf_modem_gnss_nmea_mask_set(NRF_MODEM_GNSS_NMEA_RMC_MASK |
NRF_MODEM_GNSS_NMEA_GGA_MASK |
NRF_MODEM_GNSS_NMEA_GLL_MASK |
NRF_MODEM_GNSS_NMEA_GSA_MASK |
NRF_MODEM_GNSS_NMEA_GSV_MASK)
nrf_modem_gnss_fix_retry_set(0)
nrf_modem_gnss_fix_interval_set(1)
nrf_modem_gnss_start()
For testing purposes, If I have a while (1) {}, after the above, it will connect to LTE and GPS and all works fine.
But the goal of the project is to send GPS and ANT+ data to an MQTT broker, so after the LTE + GPS setup above, I have;
mqtt_client_init( client );
… set up the broker details - as per mqtt_simple example …
mqtt_connect( &client );
MQTT connects and I can send a sample string to the broker, so I know that is all working - connectivity etc…
But, if I have MQTT connected, it never connects to GPS, its GPS stays in a BLOCKED state
I have an external modem connected and its outside. I know there is no issues with the physical setup, because as soon as I dont connect to the broker it all works fine.
Q: Do I need to set the modem differently ?
Q: Do I need to disconnect from MQTT for GPS to work and then reconnect when I want to send any data ?
Q: Am I missing a setting on the MQTT setup/config so it allows the LTE go into PSM mode ?
regards
-brett