Questions and discussion about the geolocalization features of the TD RF modules.
omlu
 
Posts: 45
Joined: Tue Oct 06, 2015 8:27 am

Double GPS init with TD1204

by omlu Fri Nov 08, 2019 10:59 am

Hi,
More than a year ago, I used to init the GPS like this:
Code: Select all
void gpsFix(TD_GEOLOC_Fix_t *fix, bool timeout)
{
//DO SOMETHING
}
void TD_USER_Setup(void)
 {
   TD_SENSOR_Init(SENSOR_TRANSMITTER, 0, 0);
   TD_GEOLOC_Init();
   TD_GEOLOC_TryToFix(TD_GEOLOC_NAVIGATION, FIX_TIMEOUT, gpsFix);
}

And it worked for a coupe of years.
Then my newly produced devices couldn't find a GPS fix unless I restarted the TryToFix. So what I did is that I start-stop-started the GPS at init. Like so:
Code: Select all
void gpsStart(uint32_t lol, uint8_t lil)
{
   TD_GEOLOC_TryToFix(TD_GEOLOC_NAVIGATION, FIX_TIMEOUT, gpsFixing);
}

void gpsFix(TD_GEOLOC_Fix_t *fix, bool timeout)
{
//DO SOMETHING
}
void TD_USER_Setup(void) {
   TD_SENSOR_Init(SENSOR_TRANSMITTER, 0, 0);
   TD_GEOLOC_Init();
   TD_GEOLOC_TryToFix(TD_GEOLOC_NAVIGATION, FIX_TIMEOUT, gpsFix);
   TD_GEOLOC_StopFix(TD_GEOLOC_HW_BCKP);
   TD_SCHEDULER_Append(FIX_INTERVAL, 1, 0, TD_SCHEDULER_ONE_SHOT, gpsStart, 0);  //Restart GPS in 60s
}

And it worked until recently: both init method doesn't work.

So my questions are:
1) Has the TD1204 firmware changed ?
2) Where can i find the information when there is a firmware change ?
3) Is there a better way to init the GPS ? (it seems really similar to the geoloc_fix example)

Thank you,
Return to Geolocalization

Who is online

Users browsing this forum: No registered users and 1 guest