<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.openmower.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rovo89</id>
	<title>Open Mower Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.openmower.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rovo89"/>
	<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Special:Contributions/Rovo89"/>
	<updated>2026-05-21T02:47:39Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Why_is_the_mower_not_mowing%3F&amp;diff=405</id>
		<title>Why is the mower not mowing?</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Why_is_the_mower_not_mowing%3F&amp;diff=405"/>
		<updated>2024-08-07T23:42:31Z</updated>

		<summary type="html">&lt;p&gt;Rovo89: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===When does the mower stop?===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Condition!!Action&lt;br /&gt;
!Continue once condition is resolved&lt;br /&gt;
|-&lt;br /&gt;
|Bad GPS for longer than &#039;&#039;gps_timeout&#039;&#039; (if GPS needed)&lt;br /&gt;
|Stop all motors&lt;br /&gt;
|yes&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|No &#039;&#039;/xbot_positioning/xb_pose&#039;&#039; received for 1 second&lt;br /&gt;
|&lt;br /&gt;
Stop all motors&lt;br /&gt;
|yes&lt;br /&gt;
|-&lt;br /&gt;
|No &#039;&#039;/mower/status&#039;&#039; received for 3 seconds||&lt;br /&gt;
Trigger emergency&lt;br /&gt;
|yes (after resetting emergency)&lt;br /&gt;
|-&lt;br /&gt;
|Left/right ESC error&lt;br /&gt;
|Trigger emergency&lt;br /&gt;
|yes (after resetting emergency)&lt;br /&gt;
|-&lt;br /&gt;
|Emergency (sensors or explicitly requested)&lt;br /&gt;
|Set &#039;&#039;emergency pause&#039;&#039; flag&lt;br /&gt;
|yes (after resetting emergency)&lt;br /&gt;
|-&lt;br /&gt;
|Request manual pause&lt;br /&gt;
|Set &#039;&#039;manual pause&#039;&#039; flag&lt;br /&gt;
|yes (after resetting &#039;&#039;manual pause&#039;&#039; flag)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;manual_pause_mowing&#039;&#039; (dynamic parameter) is true||Abort (*)&lt;br /&gt;
|no&lt;br /&gt;
|-&lt;br /&gt;
|Battery voltage below &#039;&#039;battery_critical_voltage&#039;&#039;&lt;br /&gt;
|Abort (*)&lt;br /&gt;
|no&lt;br /&gt;
|-&lt;br /&gt;
|Battery voltage below &#039;&#039;battery_empty_voltage&#039;&#039; for 20 seconds&lt;br /&gt;
|Abort (*)&lt;br /&gt;
|no&lt;br /&gt;
|-&lt;br /&gt;
|Motor temperature &amp;gt;= &#039;&#039;motor_hot_temperature&#039;&#039;&lt;br /&gt;
|Abort (*)&lt;br /&gt;
|no&lt;br /&gt;
|-&lt;br /&gt;
|Cleared map&lt;br /&gt;
|Abort&lt;br /&gt;
|no&lt;br /&gt;
|-&lt;br /&gt;
|Failed a few times to reach first point of mowing path&lt;br /&gt;
|Abort&lt;br /&gt;
|no&lt;br /&gt;
|}&lt;br /&gt;
(*) Not aborting in DOCKING, UNDOCKING and IDLE state.&lt;br /&gt;
&lt;br /&gt;
===Implications of &amp;quot;abort&amp;quot;===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!State&lt;br /&gt;
!Result&lt;br /&gt;
|-&lt;br /&gt;
|AREA_RECORDING&lt;br /&gt;
|Go to IDLE&lt;br /&gt;
|-&lt;br /&gt;
|DOCKING&lt;br /&gt;
|Go to IDLE (except while approaching???)&lt;br /&gt;
|-&lt;br /&gt;
|IDLE&lt;br /&gt;
|Reload map etc.&lt;br /&gt;
|-&lt;br /&gt;
|MOWING&lt;br /&gt;
|Go to DOCKING (except while paused or waiting for GPS?)&lt;br /&gt;
|-&lt;br /&gt;
|UNDOCKING&lt;br /&gt;
|Go to IDLE&lt;br /&gt;
|}&lt;br /&gt;
The &amp;quot;aborted&amp;quot; flag only applies to the current behavior, it gets reset when entering a different state.&lt;br /&gt;
&lt;br /&gt;
===What is triggered by the buttons?===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!State&lt;br /&gt;
!START&lt;br /&gt;
!HOME&lt;br /&gt;
!S1&lt;br /&gt;
!S2&lt;br /&gt;
|-&lt;br /&gt;
|AREA_RECORDING&lt;br /&gt;
| -&lt;br /&gt;
|Abort&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|DOCKING&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|IDLE&lt;br /&gt;
|Reset &#039;&#039;semiautomatic_task_paused&#039;&#039; flag&lt;br /&gt;
Set &#039;&#039;manual_start_mowing&#039;&#039; flag (see below)&lt;br /&gt;
| -&lt;br /&gt;
|Go to AREA_RECORDING&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|MOWING&lt;br /&gt;
|Reset &#039;&#039;manual pause&#039;&#039; flag&lt;br /&gt;
Reset &#039;&#039;semiautomatic_task_paused&#039;&#039; flag (actually not, it&#039;s a bug)&lt;br /&gt;
|Set &#039;&#039;semiautomatic_task_paused&#039;&#039; flag&lt;br /&gt;
Abort (after waiting for odometry data)&lt;br /&gt;
|Set &#039;&#039;manual pause&#039;&#039; flag&lt;br /&gt;
|Skip area&lt;br /&gt;
|-&lt;br /&gt;
|UNDOCKING&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===What is triggered by actions?===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Action&lt;br /&gt;
!What happens&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;mower_logic/reset_emergency&amp;lt;/code&amp;gt;&lt;br /&gt;
|Reset emergency (might continue mowing)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;mower_logic:idle/start_mowing&amp;lt;/code&amp;gt;&lt;br /&gt;
|Reset &#039;&#039;manual pause&#039;&#039; flag&lt;br /&gt;
Reset &#039;&#039;semiautomatic_task_paused&#039;&#039; flag (actually not, it&#039;s a bug)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;mower_logic:mowing/pause&amp;lt;/code&amp;gt;&lt;br /&gt;
|Set &#039;&#039;manual pause&#039;&#039; flag&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;mower_logic:mowing/continue&amp;lt;/code&amp;gt;&lt;br /&gt;
|Reset &#039;&#039;manual pause&#039;&#039; flag&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;mower_logic:mowing/abort_mowing&amp;lt;/code&amp;gt;&lt;br /&gt;
|Set &#039;&#039;semiautomatic_task_paused&#039;&#039; flag&lt;br /&gt;
Abort (after waiting for odometry data)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===When does the mower go from IDLE to MOWING state?===&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;manual_start_mowing&#039;&#039; flag is set&lt;br /&gt;
Or all of the following:&lt;br /&gt;
*Battery voltage above &#039;&#039;battery_full_voltage&#039;&#039;&lt;br /&gt;
*Motor temperature below &#039;&#039;motor_cold_temperature&#039;&#039;&lt;br /&gt;
*Dynamic parameter &#039;&#039;manual_pause_mowing&#039;&#039; is false&lt;br /&gt;
*One of these modes:&lt;br /&gt;
**Automatic&lt;br /&gt;
**Semi-automatic with active task (i.e. mowing was started manually before), &#039;&#039;semiautomatic_task_paused&#039;&#039; flag is not set&lt;/div&gt;</summary>
		<author><name>Rovo89</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Why_is_the_mower_not_mowing%3F&amp;diff=404</id>
		<title>Why is the mower not mowing?</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Why_is_the_mower_not_mowing%3F&amp;diff=404"/>
		<updated>2024-08-07T23:41:44Z</updated>

		<summary type="html">&lt;p&gt;Rovo89: Created page with &amp;quot;===When does the mower stop?=== {| class=&amp;quot;wikitable&amp;quot; !Condition!!Action !Continue once condition is resolved |- |Bad GPS for longer than &amp;#039;&amp;#039;gps_timeout&amp;#039;&amp;#039; (if GPS needed) |Stop all motors |yes |- |- |No &amp;#039;&amp;#039;/xbot_positioning/xb_pose&amp;#039;&amp;#039; received for 1 second | Stop all motors |yes |- |No &amp;#039;&amp;#039;/mower/status&amp;#039;&amp;#039; received for 3 seconds|| Trigger emergency |yes (after resetting emergency) |- |Left/right ESC error |Trigger emergency |yes (after resetting emergency) |- |Emergency (sensor...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===When does the mower stop?===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Condition!!Action&lt;br /&gt;
!Continue once condition is resolved&lt;br /&gt;
|-&lt;br /&gt;
|Bad GPS for longer than &#039;&#039;gps_timeout&#039;&#039; (if GPS needed)&lt;br /&gt;
|Stop all motors&lt;br /&gt;
|yes&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|No &#039;&#039;/xbot_positioning/xb_pose&#039;&#039; received for 1 second&lt;br /&gt;
|&lt;br /&gt;
Stop all motors&lt;br /&gt;
|yes&lt;br /&gt;
|-&lt;br /&gt;
|No &#039;&#039;/mower/status&#039;&#039; received for 3 seconds||&lt;br /&gt;
Trigger emergency&lt;br /&gt;
|yes (after resetting emergency)&lt;br /&gt;
|-&lt;br /&gt;
|Left/right ESC error&lt;br /&gt;
|Trigger emergency&lt;br /&gt;
|yes (after resetting emergency)&lt;br /&gt;
|-&lt;br /&gt;
|Emergency (sensors or explicitly requested)&lt;br /&gt;
|Set &#039;&#039;emergency pause&#039;&#039; flag&lt;br /&gt;
|yes (after resetting emergency)&lt;br /&gt;
|-&lt;br /&gt;
|Request manual pause&lt;br /&gt;
|Set &#039;&#039;manual pause&#039;&#039; flag&lt;br /&gt;
|yes (after resetting &#039;&#039;manual pause&#039;&#039; flag)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;manual_pause_mowing&#039;&#039; (dynamic parameter) is true||Abort (*)&lt;br /&gt;
|no&lt;br /&gt;
|-&lt;br /&gt;
|Battery voltage below &#039;&#039;battery_critical_voltage&#039;&#039;&lt;br /&gt;
|Abort (*)&lt;br /&gt;
|no&lt;br /&gt;
|-&lt;br /&gt;
|Battery voltage below &#039;&#039;battery_empty_voltage&#039;&#039; for 20 seconds&lt;br /&gt;
|Abort (*)&lt;br /&gt;
|no&lt;br /&gt;
|-&lt;br /&gt;
|Motor temperature &amp;gt;= &#039;&#039;motor_hot_temperature&#039;&#039;&lt;br /&gt;
|Abort (*)&lt;br /&gt;
|no&lt;br /&gt;
|-&lt;br /&gt;
|Cleared map&lt;br /&gt;
|Abort&lt;br /&gt;
|no&lt;br /&gt;
|-&lt;br /&gt;
|Failed a few times to reach first point of mowing path&lt;br /&gt;
|Abort&lt;br /&gt;
|no&lt;br /&gt;
|}&lt;br /&gt;
(*) Not aborting in DOCKING, UNDOCKING and IDLE state.&lt;br /&gt;
&lt;br /&gt;
===Implications of &amp;quot;abort&amp;quot;===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!State&lt;br /&gt;
!Result&lt;br /&gt;
|-&lt;br /&gt;
|AREA_RECORDING&lt;br /&gt;
|Go to IDLE&lt;br /&gt;
|-&lt;br /&gt;
|DOCKING&lt;br /&gt;
|Go to IDLE (except while approaching???)&lt;br /&gt;
|-&lt;br /&gt;
|IDLE&lt;br /&gt;
|Reload map etc.&lt;br /&gt;
|-&lt;br /&gt;
|MOWING&lt;br /&gt;
|Go to DOCKING (except while paused or waiting for GPS?)&lt;br /&gt;
|-&lt;br /&gt;
|UNDOCKING&lt;br /&gt;
|Go to IDLE&lt;br /&gt;
|}&lt;br /&gt;
The &amp;quot;aborted&amp;quot; flag only applies to the current behavior, it gets reset when entering a different state.&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;What is triggered by the buttons?&#039;&#039;&#039;===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!State&lt;br /&gt;
!START&lt;br /&gt;
!HOME&lt;br /&gt;
!S1&lt;br /&gt;
!S2&lt;br /&gt;
|-&lt;br /&gt;
|AREA_RECORDING&lt;br /&gt;
| -&lt;br /&gt;
|Abort&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|DOCKING&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|IDLE&lt;br /&gt;
|Reset &#039;&#039;semiautomatic_task_paused&#039;&#039; flag&lt;br /&gt;
Set &#039;&#039;manual_start_mowing&#039;&#039; flag (see below)&lt;br /&gt;
| -&lt;br /&gt;
|Go to AREA_RECORDING&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|MOWING&lt;br /&gt;
|Reset &#039;&#039;manual pause&#039;&#039; flag&lt;br /&gt;
Reset &#039;&#039;semiautomatic_task_paused&#039;&#039; flag (actually not, it&#039;s a bug)&lt;br /&gt;
|Set &#039;&#039;semiautomatic_task_paused&#039;&#039; flag&lt;br /&gt;
Abort (after waiting for odometry data)&lt;br /&gt;
|Set &#039;&#039;manual pause&#039;&#039; flag&lt;br /&gt;
|Skip area&lt;br /&gt;
|-&lt;br /&gt;
|UNDOCKING&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===What is triggered by actions?===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Action&lt;br /&gt;
!What happens&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;mower_logic/reset_emergency&amp;lt;/code&amp;gt;&lt;br /&gt;
|Reset emergency (might continue mowing)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;mower_logic:idle/start_mowing&amp;lt;/code&amp;gt;&lt;br /&gt;
|Reset &#039;&#039;manual pause&#039;&#039; flag&lt;br /&gt;
Reset &#039;&#039;semiautomatic_task_paused&#039;&#039; flag (actually not, it&#039;s a bug)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;mower_logic:mowing/pause&amp;lt;/code&amp;gt;&lt;br /&gt;
|Set &#039;&#039;manual pause&#039;&#039; flag&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;mower_logic:mowing/continue&amp;lt;/code&amp;gt;&lt;br /&gt;
|Reset &#039;&#039;manual pause&#039;&#039; flag&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;mower_logic:mowing/abort_mowing&amp;lt;/code&amp;gt;&lt;br /&gt;
|Set &#039;&#039;semiautomatic_task_paused&#039;&#039; flag&lt;br /&gt;
Abort (after waiting for odometry data)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===When does the mower go from IDLE to MOWING state?===&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;manual_start_mowing&#039;&#039; flag is set&lt;br /&gt;
Or all of the following:&lt;br /&gt;
*Battery voltage above &#039;&#039;battery_full_voltage&#039;&#039;&lt;br /&gt;
*Motor temperature below &#039;&#039;motor_cold_temperature&#039;&#039;&lt;br /&gt;
*Dynamic parameter &#039;&#039;manual_pause_mowing&#039;&#039; is false&lt;br /&gt;
*One of these modes:&lt;br /&gt;
**Automatic&lt;br /&gt;
**Semi-automatic with active task (i.e. mowing was started manually before), &#039;&#039;semiautomatic_task_paused&#039;&#039; flag is not set&lt;/div&gt;</summary>
		<author><name>Rovo89</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Unicore_GPS_modules&amp;diff=385</id>
		<title>Unicore GPS modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Unicore_GPS_modules&amp;diff=385"/>
		<updated>2024-06-11T07:40:21Z</updated>

		<summary type="html">&lt;p&gt;Rovo89: /* Receiver */ Request GST messages for accuracy reporting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Several users have chosen alternative GPS RTK modules with chips by &#039;&#039;Unicore&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;UM960&#039;&#039;&lt;br /&gt;
* &#039;&#039;UM980&#039;&#039;&lt;br /&gt;
* &#039;&#039;UM982&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These chips are sold in different variants. Some come with a USB-C socket (so they can be connected directly to the Raspberry Pi). Some have different antenna socket (which need an &#039;&#039;SMA F&#039;&#039; to &#039;&#039;MMCX M90&#039;&#039; cable).&lt;br /&gt;
&lt;br /&gt;
Compared to the &#039;&#039;ArduSimple simpleRTK2B,&#039;&#039; they&#039;re a bit cheaper and support triple-band frequencies.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
[https://core-electronics.com.au/attachments/localcontent/Unicore_Reference_Commands_Manual_For_N4_High_Precision_Products_V2_EN_R1_1_189543505cb.pdf Command reference]&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
The vendor offers [https://en.unicore.com/products/uprecise.html &#039;&#039;UPrecise&#039;&#039;] to check all status details and configure the receiver. The UI is pleasing and has many features, but also quite some bugs. The download requires creating a free account.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
=== Receiver ===&lt;br /&gt;
The following configuration works quite well. COM3 is used when connected via USB.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
FRESET&lt;br /&gt;
CONFIG COM3 460800&lt;br /&gt;
MODE ROVER UAV&lt;br /&gt;
GPGGA 0.1&lt;br /&gt;
GPGSV 1&lt;br /&gt;
GPRMC 1&lt;br /&gt;
GPGSA 1&lt;br /&gt;
GPVTG 1&lt;br /&gt;
GPGST 1&lt;br /&gt;
SAVECONFIG&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;These lines can be pasted into &#039;&#039;UPrecise&#039;&#039; after connecting to the receiver. Theoretically, you can also connect directly to the receiver&#039;s TTY, but make sure to send CR+LF (&amp;lt;code&amp;gt;\r\n&amp;lt;/code&amp;gt;) line endings, otherwise the commands won&#039;t be recognized.&lt;br /&gt;
&lt;br /&gt;
=== OpenMower (&amp;lt;code&amp;gt;mower_config.txt&amp;lt;/code&amp;gt;) ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export OM_GPS_PROTOCOL=&amp;quot;NMEA&amp;quot;&lt;br /&gt;
export OM_GPS_PORT=&amp;quot;/dev/ttyUSB0&amp;quot;&lt;br /&gt;
export OM_GPS_BAUDRATE=&amp;quot;460800&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rebooting ==&lt;br /&gt;
Sometimes the receiver just can&#039;t get a fix. Then it might be helpful to reboot it. There are three buttons in &#039;&#039;UPrecise&#039;&#039;, which execute these commands:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Button&lt;br /&gt;
!Command&lt;br /&gt;
|-&lt;br /&gt;
|Hot Start&lt;br /&gt;
|&amp;lt;code&amp;gt;RESET&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Warm Start&lt;br /&gt;
|&amp;lt;code&amp;gt;RESET EPHEM&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Cold Start&lt;br /&gt;
|&amp;lt;code&amp;gt;RESET EPHEM ALMANAC IONUTC POSITION&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
See also section 8.3 (&amp;quot;Reset&amp;quot;) in the [https://core-electronics.com.au/attachments/localcontent/Unicore_Reference_Commands_Manual_For_N4_High_Precision_Products_V2_EN_R1_1_189543505cb.pdf command reference]. In contrast to the &amp;lt;code&amp;gt;FRESET&amp;lt;/code&amp;gt; command, these command &#039;&#039;&#039;don&#039;t&#039;&#039;&#039; wipe the configuration.&lt;/div&gt;</summary>
		<author><name>Rovo89</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Unicore_GPS_modules&amp;diff=384</id>
		<title>Unicore GPS modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Unicore_GPS_modules&amp;diff=384"/>
		<updated>2024-06-02T20:00:35Z</updated>

		<summary type="html">&lt;p&gt;Rovo89: Created page with &amp;quot;Several users have chosen alternative GPS RTK modules with chips by &amp;#039;&amp;#039;Unicore&amp;#039;&amp;#039;:  * &amp;#039;&amp;#039;UM960&amp;#039;&amp;#039; * &amp;#039;&amp;#039;UM980&amp;#039;&amp;#039; * &amp;#039;&amp;#039;UM982&amp;#039;&amp;#039;  These chips are sold in different variants. Some come with a USB-C socket (so they can be connected directly to the Raspberry Pi). Some have different antenna socket (which need an &amp;#039;&amp;#039;SMA F&amp;#039;&amp;#039; to &amp;#039;&amp;#039;MMCX M90&amp;#039;&amp;#039; cable).  Compared to the &amp;#039;&amp;#039;ArduSimple simpleRTK2B,&amp;#039;&amp;#039; they&amp;#039;re a bit cheaper and support triple-band frequencies.  == Documentation == [https://core-el...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Several users have chosen alternative GPS RTK modules with chips by &#039;&#039;Unicore&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;UM960&#039;&#039;&lt;br /&gt;
* &#039;&#039;UM980&#039;&#039;&lt;br /&gt;
* &#039;&#039;UM982&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These chips are sold in different variants. Some come with a USB-C socket (so they can be connected directly to the Raspberry Pi). Some have different antenna socket (which need an &#039;&#039;SMA F&#039;&#039; to &#039;&#039;MMCX M90&#039;&#039; cable).&lt;br /&gt;
&lt;br /&gt;
Compared to the &#039;&#039;ArduSimple simpleRTK2B,&#039;&#039; they&#039;re a bit cheaper and support triple-band frequencies.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
[https://core-electronics.com.au/attachments/localcontent/Unicore_Reference_Commands_Manual_For_N4_High_Precision_Products_V2_EN_R1_1_189543505cb.pdf Command reference]&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
The vendor offers [https://en.unicore.com/products/uprecise.html &#039;&#039;UPrecise&#039;&#039;] to check all status details and configure the receiver. The UI is pleasing and has many features, but also quite some bugs. The download requires creating a free account.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
=== Receiver ===&lt;br /&gt;
The following configuration works quite well. COM3 is used when connected via USB.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
FRESET&lt;br /&gt;
CONFIG COM3 460800&lt;br /&gt;
MODE ROVER UAV&lt;br /&gt;
GPGGA 0.1&lt;br /&gt;
GPGSV 1&lt;br /&gt;
GPRMC 1&lt;br /&gt;
GPGSA 1&lt;br /&gt;
GPVTG 1&lt;br /&gt;
SAVECONFIG&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;These lines can be pasted into &#039;&#039;UPrecise&#039;&#039; after connecting to the receiver. Theoretically, you can also connect directly to the receiver&#039;s TTY, but make sure to send CR+LF (&amp;lt;code&amp;gt;\r\n&amp;lt;/code&amp;gt;) line endings, otherwise the commands won&#039;t be recognized.&lt;br /&gt;
&lt;br /&gt;
=== OpenMower (&amp;lt;code&amp;gt;mower_config.txt&amp;lt;/code&amp;gt;) ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export OM_GPS_PROTOCOL=&amp;quot;NMEA&amp;quot;&lt;br /&gt;
export OM_GPS_PORT=&amp;quot;/dev/ttyUSB0&amp;quot;&lt;br /&gt;
export OM_GPS_BAUDRATE=&amp;quot;460800&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rebooting ==&lt;br /&gt;
Sometimes the receiver just can&#039;t get a fix. Then it might be helpful to reboot it. There are three buttons in &#039;&#039;UPrecise&#039;&#039;, which execute these commands:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Button&lt;br /&gt;
!Command&lt;br /&gt;
|-&lt;br /&gt;
|Hot Start&lt;br /&gt;
|&amp;lt;code&amp;gt;RESET&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Warm Start&lt;br /&gt;
|&amp;lt;code&amp;gt;RESET EPHEM&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Cold Start&lt;br /&gt;
|&amp;lt;code&amp;gt;RESET EPHEM ALMANAC IONUTC POSITION&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
See also section 8.3 (&amp;quot;Reset&amp;quot;) in the [https://core-electronics.com.au/attachments/localcontent/Unicore_Reference_Commands_Manual_For_N4_High_Precision_Products_V2_EN_R1_1_189543505cb.pdf command reference]. In contrast to the &amp;lt;code&amp;gt;FRESET&amp;lt;/code&amp;gt; command, these command &#039;&#039;&#039;don&#039;t&#039;&#039;&#039; wipe the configuration.&lt;/div&gt;</summary>
		<author><name>Rovo89</name></author>
	</entry>
</feed>