Skip to main content
Associate
February 20, 2025
Solved

How can I activate SBAS on GNSS1A1

  • February 20, 2025
  • 1 reply
  • 1175 views

Hi everyone, 

I'm currently working with the GNSS1A1 expansion-board based on Teseo-LIV3F module for a project. I have read that SBAS can be enabled on this module but I'm struggling to achieve it.

 

I have tested to send some commands found in the doc, but first of all, I didn't get messages from the module like $PSTMSETPAROK, and secondly, the GPGGA message only shows the fix "1" (I think 2 is what I need).


Maybe I didn't understand something about GPGGA messages or how to send the command, here's the line of code I used:

 

if (GNSS1A1_GNSS_Init(GNSS1A1_TESEO_LIV3F) != BSP_ERROR_NONE) {

Error_Handler();

}

 

if (GNSS_PARSER_Init(&parsed_GNSSData) != GNSS_PARSER_OK) {

Error_Handler();

}

 

GNSS1A1_GNSS_Msg_t nmea_message;

//char *cmmd = "$PSTMSBASONOFF*57\r\n";

char *cmmd = "$PSTMSETPAR,1135,15*19\r\n";

nmea_message.buf = cmmd;

nmea_message.len = (uint16_t)(strlen(cmmd));

if (GNSS1A1_GNSS_Send(GNSS1A1_TESEO_LIV3F, &nmea_message) != BSP_ERROR_NONE){

Error_Handler();

}

 

Hope you can help me, thanks!

Best answer by GalaxyQuest

Hi Theo,

In LIV3F, CDB-200 [bit 2,3] - indicate SBAS, bit 2 activates SBAS and bit 3 enables reporting of SBAS in GSV message.

Regarding seeing SBAS, yes it can take about 1 min to acquire SBAS satellite if starting from cold start. If you are using Teseo Suite to check acquisition of SBAS you should see the lime-green CN0 bar coming up.

Regarding steps to send command, I would break into 3 separate GNSS_DATA_SendCommand() statements in your code.

Also the NMEA parser does have a parser to accept the response from a PSTMSETPAR command, so you would have to code this yourself.

I am attaching a project I created that is an offshoot of one of the example projects. You can search for the comment tag //GJV202412 to see the code modifications added to send command.

I added parsers for response from PSTMSETPAR command.

The files I had to touch are

- app_gnss.c

-gnss_parser.h

-NMEA_parser.h

-NMEA_parser.c

Is there a way you can check your UART traffic on a logic analyzer?

1 reply

Technical Moderator
February 26, 2025

Hi,

For SBAS to be enabled you would need to update CDB-200 [2,3].

You can send the send the following command,

 

$PSTMSETPAR,1200,0xC,1 //the trailing 1 will bit OR the register value instead of overwriting
$PSTMSAVEPAR //save
$PSTMSRR //reset for setting to take effect

 

 

Please refer to Software manual on additional information on CDB-200 register setting.

​In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
theo_isenAuthor
Associate
March 6, 2025

According to the manual, shouldn't it be 

 

$PSTMSETPAR,1200,0x4,1
$PSTMSAVEPAR
$PSTMSRR

 

Both commands don't seem to work.

The only thing that can tell me if it's working is the “fix number” on the gpgga messages, but it's always 1 and not 2, even though I have more than 5 satellites.

How can I get a message from teseo to tell me if the command was successful?

And finally can I sends the commands in a single string like this :

char *cmmd = "$PSTMSETPAR,1200,0xC,1*79\r\n$PSTMSAVEPAR*58\r\n$PSTMSRR*49\r\n"

 

theo_isenAuthor
Associate
March 6, 2025

Ok the fix went to 2 without me changing anything in the code.

Should I wait for the teseo to warm up before making a fix?