Skip to main content
Associate
August 10, 2026
Question

TESEO-LIV3F configuration over UART

  • August 10, 2026
  • 11 replies
  • 66 views

Good Morning.

When I sending the time message request ($PSTMGETRTCTIME), through UART, the gps TESEO-LIV3F answers correctly.

But when I try to configure it to send GPGGA & GNGSA messages every second, I doesn’t receive any answer from the GPS ($PSTMCFGMSGLOK or $PSTMCFGMSGLERROR).

Respecting the software manual, I send following following message :

"$PSTMCFGMSGL,0,1,00000042,00000000*6E\r\n";

Is my configuration message wrong ? 

Thanks a lot.

Sincerely,

Vincent

11 replies

Andrew Neil
Super User
August 10, 2026

How, exactly, are you sending the message ?

Have you tried sending it manually from a terminal ?

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
Vincent31Author
Associate
August 10, 2026

Hello Andrew.

I rather indicate I’m not a software engineer ;-) so I apologize for any big mistake.   

 

I’m using nucleo-u385rg-q and x-nucleo-gnss1a1 evaluation boards.

I use STM32CubeIDE / STM32CubeMX tools for the development.

I use the HAL_UART_Transmit function to send the message.

 

Defined message is the following : 

uint8_t msg_Config[] = "$PSTMCFGMSGL,0,1,00000042,00000000*6E\r\n";

 

And into the main function :

uint8_t len_msg = strlen((char*)msg_Config);

HAL_UART_Transmit(&hlpuart1,(uint8_t*)msg_Config, len_msg,HAL_MAX_DELAY);

Andrew Neil
Super User
August 10, 2026

So, before adding all the complications of embedded code, just send the message manually from a terminal.

That will tell you if the problem is with the message itself, or something in your embedded code ...

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
Vincent31Author
Associate
August 10, 2026

It is quite complicated. I cannot simply open the CubeIDE terminal and write directly to the GNSS. The ST-LINK VCP is connected to the STM32, not directly to the Teseo-LIV3F. You therefore need a small UART bridge-style firmware.

Andrew Neil
Super User
August 10, 2026

You can use any terminal.

No need for any firmware - just use a standard USB-to-UART adaptor; eg,

 

https://ftdichip.com/product-category/products/cables/

 

(other brands are available)

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
Vincent31Author
Associate
August 10, 2026

You mean by modifying the hardware to access directly the GNSS RX/TX signals ?

Andrew Neil
Super User
August 10, 2026

Yes

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
Vincent31Author
Associate
August 11, 2026

Ok, I’ll try with the adaptor.

Thanks !

Jason Miller234
Explorer
August 11, 2026

The command looks correct at first glance. check the checksum and make sure \r\n and the UART settings match the working $PSTMGETRTCTIME command. If you get no OK or ERROR at all, capture the raw TX/RX with a logic analyzer to confirm the command is actually reaching the GPS parser.

Vincent31Author
Associate
August 11, 2026

I finally succeeded to change the GNSS configuration.

But it looks like the management BSP / UART /UART interruption is the issue, through STM32CubeIDE.

When increasing the data size (Amout of data element) in the HAL_UART_Receive_IT function (), the STM32CubeIDE console is freezing, while the scope shows the GNSS data flowing. 

Andrew Neil
Super User
August 11, 2026

the STM32CubeIDE console is freezing, while the scope shows the GNSS data flowing. 

What if you use a different terminal?

(I always use a standalone terminal, so I have no idea how reliable or otherwise the CubeIDE one is)

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.