I'm trying to use LTE and GPS in the same project. I know I cannot have LTE and GPS running concurrently, but I tried implementing edrx so I could get a GPS fix and alter between GPS and LTE. My implantation was calling lte_lc_edrx_req(true) after lte_lc_init_and_connect() and then immediately configuring and enabling GPS. This brings up a few questions:
How do you see what stage the modem is in? I cannot tell when I am in the paging cycle, sleep, or receiving and sending data.
I would also like to change the edrx period, if possible. What is the default? What is the procedure to change it?
What is the procedure to prepare the project for using edrx/spm (settings in prj.conf, etc)?
Is there an example implementing LTE and GPS at the same time?
Maybe you could find some answers in this post ?
Although I think it uses power saving mode instead of edrx.
Thanks for the response. That post points to some example code that includes calls to lte_lc edrx and psm, but I am still unable to find something addressing my first, second, and third questions. Related, I was unable to load the example project (it looks like I may need some new libraries or macros, but if I did, that would be within the scope of my third question).
You can set the CONFIG_LTE_EDRX_REQ_VALUE option in prj.conf, or use the +CEDRXS command to set the edrx cycle duration. CONFIG_LTE_EDRX_REQ_VALUE is set to "1000" by default.
You need to set CONFIG_LTE_EDRX_REQ=y in prj.conf.
I'm not sure if it's possible without the use of modem trace. I will report back if I find a way to do it.
Just wondering if you had an update on this. Also if you could contribute on whether it's possible to have edrx and GPS running concurrently.
Just found out about this example. I believe it uses both LTE and GPS concurrently.