Skip to main content
Associate II
January 15, 2024
Solved

Teseo-VIC3DA dead reckoning mode

  • January 15, 2024
  • 10 replies
  • 9978 views

Hi,

I bought a Teseo-VIC3DA Evaluation Kit and when I went through the associated documents, they mentioned the concepts of "Teseo-DRAW and Teseo-DRUM". In my application, we do not have access to the vehicle's wheelticks/direction information so I guess I need to use DRUM. But I could not find any information about how to configure the evaluation kit to work in DRUM. Are DRAW and DRUM two different firmware or two different modes?

Another question is about the DR calibration. I first updated the firmware to BINIMG_4.6.18.11_VIC3DA_ARM and did not change any configuration. Then I installed the kit to a vehicle and after half an hour driving, I could see $PSTMDR2 showed "system ready" and $GPGGA showed the DR was working with location readings (strangely $PSTMDRCAL did not show up anymore but that may be a separate topic). Then I pulled the kit off from the vehicle and put it in my office, and found that $PSTMDR2 still showed "system ready" and $GPGGA still showed the DR was working after a long time. My question is, if I installed the kit to another vehicle, do I need to first erase the previous calibration or the calibration will heal itself in the new vehicle?   

Thanks,

Best answer by Francesco Virlinzi

Hi

Are DRAW and DRUM two different firmware or two different modes?

The VIC3DA autonomously switches on DRUM more when no ODO information is provided.

From Host point of view no actions is required (neither configuration change is needed)

 

My question is, if I installed the kit to another vehicle, do I need to first erase the previous calibration or the calibration will heal itself in the new vehicle? 

 

Take care that when used on car the VIC3DA has to be strongly fixed to the car/platform. No relative movement/vibration there must be between the module and the car.

Moreover Calibration in background is an always-running task, therefore no erase is needed if you change installation/car... the module detects the new installation and will recalibrate its-self

 

Regards

 Francesco

10 replies

Technical Moderator
January 16, 2024

Hi

Are DRAW and DRUM two different firmware or two different modes?

The VIC3DA autonomously switches on DRUM more when no ODO information is provided.

From Host point of view no actions is required (neither configuration change is needed)

 

My question is, if I installed the kit to another vehicle, do I need to first erase the previous calibration or the calibration will heal itself in the new vehicle? 

 

Take care that when used on car the VIC3DA has to be strongly fixed to the car/platform. No relative movement/vibration there must be between the module and the car.

Moreover Calibration in background is an always-running task, therefore no erase is needed if you change installation/car... the module detects the new installation and will recalibrate its-self

 

Regards

 Francesco

Fan1Author
Associate II
January 16, 2024

Thanks for the prompt response, Francesco.

Another minor problem is that, I tried to reduce the amount of the NMEA messages by sending two commands: "$PSTMSETPAR,1201,1,0*34" and "$PSTMSETPAR,1228,0,0*3E" which should only allow GPGNS message. Below is the response. You can see that both commands have OK response. However, many NMEA messages still remain. Again the firmware is the latest "BINIMG_4.6.18.11_VIC3DA_ARM".


$PSTMSETPAROK,1201*31
$PSTMSETPAR,1201,1,0*34
$PSTMSETPAROK,1228*3A
$PSTMSETPAR,1228,0,0*3E
$GNGNS,180940.000,4328.97990,N,08032.06154,W,ENEEN,00,99.0,0295.3,0.0,,*0A
$GPGST,180940.000,0.0,0.0,0.0,-0.0,0.0,0.0,0.0*4E
$GPGBS,180940.000,,,,,,,*5B
$GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E
$GPRMC,180940.100,V,4328.97990,N,08032.06154,W,0.0,57.1,150124,,,E*56
$GPGGA,180940.100,4328.97990,N,08032.06154,W,6,00,99.0,295.34,M,0.0,M,,*79
$GPVTG,57.1,T,,M,0.0,N,0.0,K,E*3A
$PSTMPRES,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*0C
$PSTMVRES,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*0A

Technical Moderator
January 17, 2024

Hi

Take care VIC3Da uses 3 message-list:

  • message-list-0 (CDB 201-228) for GNSS message
  • message-list-1 (CDB 210-229) for DR message
  • message-list-2 (CDB 211-230) for GPGGA and GPRMC message

Based on these message-list you can disable all the message.

If you don't see any change more probably you are disabling a message on the wrong message-list

Regards

 Francesco

Fan1Author
Associate II
January 17, 2024

I have set all these CDBs (228, 210, 229, 211, 230) to 0 and set CDB 201 to 1 (i.e. only allow GPGNS) but it does not have any effect. See the NMEA messages below.

And in the software instruction document 9https://www.st.com/resource/en/user_manual/um2791-teseovic3-software-instructions-stmicroelectronics.pdf), only message-list-0 has a field table in Table 219.  And message-list-1 and message-list-2 do not have the field tables.

 

$PSTMSETPAROK,1201*31
$PSTMSETPAR,1201,1,0*34
$PSTMSETPAROK,1228*3A
$PSTMSETPAR,1228,0,0*3E
$PSTMSETPAROK,1211*30
$PSTMSETPAR,1211,0,0*34
$PSTMSETPAR,1190,0x01*5B
$PSTMGETPAR,1190*2A
$PSTMSETPAR,1201,0x00000001*50
$PSTMGETPAR,1201*21
$PSTMSETPAR,1228,0x00000000*5A
$PSTMGETPAR,1228*2A
$PSTMSETPAR,1191,0x01*5A
$PSTMGETPAR,1191*2B
$PSTMSETPAR,1210,0x00000000*51
$PSTMGETPAR,1210*21
$PSTMSETPAR,1229,0x00000000*5B
$PSTMGETPAR,1229*2B
$PSTMSETPAR,1192,0x01*59
$PSTMGETPAR,1192*28
$PSTMSETPAR,1211,0x00000000*50
$PSTMGETPAR,1211*20
$PSTMSETPAR,1230,0x00000000*53
$PSTMGETPAR,1230*23
$GPRMC,200530.400,V,4328.98696,N,08032.04397,W,0.0,61.2,170124,,,E*5E
$GPGGA,200530.400,4328.98696,N,08032.04397,W,6,01,99.0,295.34,M,0.0,M,,*74
$GPVTG,61.2,T,,M,0.0,N,0.0,K,E*3C
$GPRMC,200530.500,V,4328.98696,N,08032.04397,W,0.0,61.2,170124,,,E*5F
$GPGGA,200530.500,4328.98696,N,08032.04397,W,6,01,99.0,295.34,M,0.0,M,,*75
$GPVTG,61.2,T,,M,0.0,N,0.0,K,E*3C

Technical Moderator
January 19, 2024

Hi

just a question: following all the $PSTMSETPAR commands you send.

Did you save on flash and reset? this is required to save the new configuration in flash and reset to load it during the boot and get it working.

you can do that with:

$PSTMSAVEPAR

$PSTMSRR

 

Ciao

 Francesco

Technical Moderator
January 18, 2024

Hi

Are you working on UART or I2C?

Fan1Author
Associate II
January 18, 2024

I use the UART interface i.e. the micro-usb port on the Teseo-VIC3DA Evaluation Kit. I use the "$PSTMSETPAR" to set all the CDBs as in my last post and the module did return "$PSTMSETPAROK" message. Should it take effect immediately?

Fan1Author
Associate II
January 19, 2024

I did not issue the commands "$PSTMSAVEPAR" and "$PSTMSRR" in my previous tests.

Now I sent these two commands after the $PSTMSETPAR commands. But the module stopped sending any message back after the reset (see below for the entire messages). Then I tried "$PSTMRESTOREPAR" to restore the factory setting but the module still did not send any message. It seems the module has stuck in a bad state. I may have to re-flash the binary. Are you able to confirm that the Section 12.17 to 12.19 of (https://www.st.com/resource/en/user_manual/um2791-teseovic3-software-instructions-stmicroelectronics.pdf) are accurate? It seems it is not the same as what you mentioned in your post of 2024-01-17 01:50 AM.

 

COM connected.
sendMessage: $PSTMGETSWVER,6*13 // sendMessage is the helper text from my program
sendMessage: $PSTMSETPAR,1201,1,0*34
sendMessage: $PSTMSETPAR,1228,0,0*3E
sendMessage: $PSTMSETPAR,1210,0,0*35
sendMessage: $PSTMSETPAR,1229,0,0*3F
sendMessage: $PSTMSETPAR,1211,0,0*34
sendMessage: $PSTMSETPAR,1230,0,0*37

$GPRMC,202605.000,A,4327.23196,N,08025.07693,W,0.0,358.2,190124,,,A*75
$GPGGA,202605.000,4327.23196,N,08025.07693,W,1,23,0.6,328.50,M,-34.9,M,,*5C
$GPVTG,358.2,T,,M,0.0,N,0.0,K,A*01
$PSTMVER,BINIMG_4.6.18.11_VIC3DA_ARM*3F
$PSTMGETSWVER,6*13
$PSTMSETPAROK,1201*31
$PSTMSETPAR,1201,1,0*34
$PSTMSETPAROK,1228*3A
$PSTMSETPAR,1228,0,0*3E
$PSTMSETPAROK,1210*31
$PSTMSETPAR,1210,0,0*35
$PSTMSETPAROK,1229*3B
$PSTMSETPAR,1229,0,0*3F
$PSTMSETPAROK,1211*30
$PSTMSETPAR,1211,0,0*34
$PSTMSETPAROK,1230*33
$PSTMSETPAR,1230,0,0*37

sendMessage: $PSTMSAVEPAR*58

$GPRMC,202605.100,A,4327.23196,N,08025.07693,W,0.0,358.2,190124,,,A*74
$GPGGA,202605.100,4327.23196,N,08025.07693,W,1,23,0.6,328.50,M,-34.9,M,,*5D
$GPVTG,358.2,T,,M,0.0,N,0.0,K,A*01
$GPRMC,202605.200,A,4327.23196,N,08025.07693,W,0.0,358.2,190124,,,A*77
$GPGGA,202605.200,4327.23196,N,08025.07693,W,1,23,0.6,328.50,M,-34.9,M,,*5E
$GPVTG,358.2,T,,M,0.0,N,0.0,K,A*01
$GPGGA,202605.000,4327.23196,N,08025.07693,W,1,23,0.6,328.50,M,-34.9,M,,*5C
$GNGNS,202605.000,4327.23196,N,08025.07693,W,ANAAN,23,0.6,0328.5,-34.9,,*29
$GPRMC,202605.300,A,4327.23196,N,08025.07693,W,0.0,358.2,190124,,,A*76
$GPGGA,202605.300,4327.23196,N,08025.07693,W,1,23,0.6,328.50,M,-34.9,M,,*5F
$GPVTG,358.2,T,,M,0.0,N,0.0,K,A*01
$GPRMC,202605.400,A,4327.23196,N,08025.07693,W,0.0,358.2,190124,,,A*71
$GPGGA,202605.400,4327.23196,N,08025.07693,W,1,23,0.6,328.50,M,-34.9,M,,*58
$GPVTG,358.2,T,,M,0.0,N,0.0,K,A*01
$PSTMSAVEPAROK*5C
$PSTMSAVEPAR*58
sendMessage: $PSTMSRR*49

COM disconnected.

Technical Moderator
January 23, 2024

Hi

I just tested the following scripts:

 

$PSTMCFGMSGL,0,1,1,0
$PSTMCFGMSGL,1,1,0,0
$PSTMCFGMSGL,2,1,2,0

$PSTMSAVEPAR

$PSTMSRR

 

Which sets:

 > $PSTMCFGMSGL,0,1,1,0 => GPGNS on message-list-0

> $PSTMCFGMSGL,1,1,0,0 => No DR message 

> $PSTMCFGMSGL,2,1,2,0 => GPGGA on message-list-2

 

and it works fine on my side.

Hope this helps

Regards

 Francesco

Fan1Author
Associate II
January 24, 2024

Thanks, Franceso. I tried these commands and it did work. Then I tried "$PSTMCFGMSGL,2,1,0,0" to remove the GPGGA message and the module got into a bad state again. So I am still not very clear about how to use these commands.

More importantly, is there any plan to update "Teseo-VIC3 software instructions" to include this information?

Technical Moderator
January 25, 2024

Hi 

> Then I tried "$PSTMCFGMSGL,2,1,0,0" 

This is the message-list-2 which is the one which running at the Dr-rate.

This list must have the GGA enabled .... and GGA is the message where you can detect the Dr-Fix

 

Why do you want disable it?

Fan1Author
Associate II
January 25, 2024

GGA sends out 10 messages per second, which may be too fast for us. GNS is 1 sample per second and is good enough. So I wanted to disable GGA.

Technical Moderator
January 25, 2024

IF you want runs at 1Hz you should set the LLI-rate (message-list-2) @ 1Hz

You can send the command:

$PSTMSETPAR,1300,1

$PSTMSAVEPAR

$PSTMSRR

 

Just a note: Teseo-VIC3DA is a dead-reckoning module.

if you runs GGA @ 1Hz (which is also the rate of PVT engine) you are at the end totally disabling the sensor-fusion coming from internal IMU.,,, because

when the DR-engine  should provide the fix... in the same moment the PVT-engine provide a satellite-fix...

 

At the end you are not using the Dead-reckoning... but just a GNSS.

 

 

Fan1Author
Associate II
January 25, 2024

Is there any way to de-couple the module's internal engines from the NMEA message rate? I only want to decrease the rate of the NMEA messages that are sent out. I do not intent to affect the internal works of the module engine.

Technical Moderator
January 25, 2024

The proposed script already address the 1Hz GGA...

My point is that you are not using the VIC capability because when GGA is at 1Hz.... basically you get the position from GNSS.... and when you should get a position from sensor fusion.. you gen a new position from GNSS....

 

At the end you are not using Dead-Reckoning ... you are using a standard GNSS module like the Teseo-LIV3FL

Regards

 Francesco

Fan1Author
Associate II
January 25, 2024

DR is a must in our project. So I guess GGA messages cannot be sent out at 1Hz rate. Is that correct?

Technical Moderator
January 30, 2024

So I guess GGA messages cannot be sent out at 1Hz rate. Is that correct?

No it isn't.

GGA can run @ 1Hz.... but with this FIX-Rate you are not using the full potentialities the module has.

Associate II
February 21, 2025

Hi @Francesco Virlinzi 

I also have some problem with DR mode.

I can't recieve any $PSTMDR2 or $PSTMDRCAL messages, so the status of DR remains unknown.

But I checked the CDB 228-230 with $PSTMGETPAR, the following are the response.

========

$$PSTMSETPAR,1228,0x00000000*5A
$$PSTMSETPAR,1229,0x6cc22000*5D
$$PSTMSETPAR,1230,0x00000000*53

==========

In CDB 229, bit 60-63 is 6, meaning that the $PSTMDR and $PSTMDRCONFID are enabled, but I can only see $PSTMDRCONFID. There are no $PSTMDR message there. Are there any problem with my configurations?

Also, I had enabled these messages in CDB 229, meaning that these message should be update in 10 Hz. But it still be updated in 1 Hz, as following.

==========

$$PSTMDRCONFID,0.00,0.00,0.0000,0.0000,0.00,0.0000,0.000000,0.000000,0.0000,0.0,0.0,-0.0,0.0*1A
$$PSTMDRPVA,162640.000,2945690305,37.5517719,14.2984835,730.1,0.00,0.00,0.00,0.00,0.00,0.00*57
$$PSTMDRCONFID,0.00,0.00,0.0000,0.0000,0.00,0.0000,0.000000,0.000000,0.0000,0.0,0.0,-0.0,0.0*1A
$$PSTMDRPVA,162641.000,2946713305,37.5517719,14.2984835,730.1,0.00,0.00,0.00,0.00,0.00,0.00*5F
$$PSTMDRCONFID,0.00,0.00,0.0000,0.0000,0.00,0.0000,0.000000,0.000000,0.0000,0.0,0.0,-0.0,0.0*1A
$$PSTMDRPVA,162642.000,2947736306,37.5517719,14.2984835,730.1,0.00,0.00,0.00,0.00,0.00,0.00*59
$$PSTMDRCONFID,0.00,0.00,0.0000,0.0000,0.00,0.0000,0.000000,0.000000,0.0000,0.0,0.0,-0.0,0.0*1A
$$PSTMDRPVA,162643.000,2948758283,37.5517719,14.2984835,730.1,0.00,0.00,0.00,0.00,0.00,0.00*53

=========

Are there some configurations needs to be changed? Thank you.