cancel
Showing results for 
Search instead for 
Did you mean: 

How can I activate SBAS on GNSS1A1

theo_isen
Associate II

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!

1 ACCEPTED SOLUTION

Accepted Solutions

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?


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.

View solution in original post

4 REPLIES 4
GalaxyQuest
ST Employee

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.

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"

 

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?

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?


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.