<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Reading GPS power options problem?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/71480/reading-gps-power-options-problem</link><description>Hello, 
 I have a problem of reading GPS options for &amp;quot;NRF_SO_GNSS_POWER_SAVE_MODE&amp;quot; 
 
 This is the code: 
 
 I always get -1, and errno value 22. This function works for &amp;quot;NRF_SO_GNSS_FIX_INTERVAL&amp;quot; option. 
 Can you look into it? 
 Thank you.</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 25 Feb 2021 13:28:18 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/71480/reading-gps-power-options-problem" /><item><title>RE: Reading GPS power options problem?</title><link>https://devzone.nordicsemi.com/thread/296276?ContentTypeID=1</link><pubDate>Thu, 25 Feb 2021 13:28:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:625371ba-b3cb-4d63-9fcc-11531d6da32e</guid><dc:creator>Heidi</dc:creator><description>&lt;p&gt;Hi again&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;It looks like reading out this value hasn&amp;#39;t been implemented yet which is why it isn&amp;#39;t working. Setting it works fine, but for now, you can&amp;#39;t read it out.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;That should be in the documentation so I&amp;#39;ll talk to someone about adding that in.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Heidi&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reading GPS power options problem?</title><link>https://devzone.nordicsemi.com/thread/295621?ContentTypeID=1</link><pubDate>Mon, 22 Feb 2021 14:11:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:57536497-1635-4e17-9e50-e29762c49648</guid><dc:creator>Ivan Loncar</dc:creator><description>&lt;p&gt;I am not reading anything the value remains unchanged, the one I set it to be once I create the variable. I expect to see one of three values possible and those are 0 PSM_DISABLED, 1&amp;nbsp;PSM_DUTY_CYCLING_PERFORMANCE or 2&amp;nbsp;PSM_DUTY_CYCLING_POWER. Of course I can:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;static int            gnss_fd; //Global variable in the same file 
static int gnss_ctrl(uint32_t ctrl)
{
	int retval;
	nrf_gnss_power_save_mode_t psm = NRF_GNSS_PSM_DUTY_CYCLING_PERFORMANCE;
	nrf_gnss_fix_interval_t fix_interval = 1; 
	nrf_gnss_fix_retry_t    fix_retry    = 60;	
	nrf_gnss_delete_mask_t	delete_mask  = 0;
	nrf_gnss_nmea_mask_t	nmea_mask    = NRF_GNSS_NMEA_GSV_MASK |
					       NRF_GNSS_NMEA_GSA_MASK |
					       NRF_GNSS_NMEA_GLL_MASK |
					       NRF_GNSS_NMEA_GGA_MASK |
					       NRF_GNSS_NMEA_RMC_MASK;	
	nrf_socklen_t length;
	if (ctrl == GNSS_INIT_AND_START) {
		gnss_fd = nrf_socket(NRF_AF_LOCAL,
			NRF_SOCK_DGRAM,
			NRF_PROTO_GNSS);

		if (gnss_fd &amp;gt;= 0) {
			printk(&amp;quot;GPS Socket created\n&amp;quot;);
		}
		else {
			printk(&amp;quot;Could not init socket (err: %d)\n&amp;quot;, gnss_fd);
			return -1;
		}
		retval = nrf_setsockopt(gnss_fd,
			NRF_SOL_GNSS,
			NRF_SO_GNSS_FIX_RETRY, 
			&amp;amp;fix_retry,
			sizeof(fix_retry));
		if (retval != 0) {
			printk(&amp;quot;Failed to set fix retry value\n&amp;quot;);
			return -1;
		}
		
		length = sizeof(nrf_gnss_power_save_mode_t);
		retval = nrf_setsockopt(gnss_fd, NRF_SOL_GNSS, NRF_SO_GNSS_POWER_SAVE_MODE, &amp;amp;psm, length);
		if (retval != 0) {
			printk(&amp;quot;Failed to set power save mode value\n&amp;quot;);
			return -1;
		}
		retval = nrf_getsockopt(gnss_fd, NRF_SOL_GNSS, NRF_SO_GNSS_POWER_SAVE_MODE, &amp;amp;psm, &amp;amp;length);
		if (retval != 0) {
			printk(&amp;quot;Failed to read power_save_mode(err: %d)\n&amp;quot;, errno);
			return -1;
		}

		retval = nrf_setsockopt(gnss_fd,
			NRF_SOL_GNSS,
			NRF_SO_GNSS_FIX_INTERVAL,
			&amp;amp;fix_interval,
			sizeof(fix_interval));
		if (retval != 0) {
			printk(&amp;quot;Failed to set fix interval value\n&amp;quot;);
			return -1;
		}
		
		retval = nrf_setsockopt(gnss_fd,
			NRF_SOL_GNSS,
			NRF_SO_GNSS_NMEA_MASK,
			&amp;amp;nmea_mask,
			sizeof(nmea_mask));
		if (retval != 0) {
			printk(&amp;quot;Failed to set nmea mask\n&amp;quot;);
			return -1;
		}
	}
	if ((ctrl == GNSS_INIT_AND_START) ||
	    (ctrl == GNSS_RESTART)) {
		retval = nrf_setsockopt(gnss_fd,
			NRF_SOL_GNSS,
			NRF_SO_GNSS_START,
			&amp;amp;delete_mask,
			sizeof(delete_mask));
		if (retval != 0) {
			printk(&amp;quot;Failed to start GPS\n&amp;quot;);
			return -1;
		}
	}

	if (ctrl == GNSS_STOP) {
		retval = nrf_setsockopt(gnss_fd,
			NRF_SOL_GNSS,
			NRF_SO_GNSS_STOP,
			&amp;amp;delete_mask,
			sizeof(delete_mask));
		if (retval != 0) {
			printk(&amp;quot;Failed to stop GPS\n&amp;quot;);
			return -1;
		}
	}

	return 0;
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;As I stated before, I can&amp;#39;t read any other parameters even tough nrf_getsockopt returns 0, again no changes to the passed variable.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Can you zip the project that works for you and send it so I can see if that works for me?&lt;/p&gt;
&lt;p&gt;P.S. I am using SDK 1.4.2 and modem FW 1.2.3 if this information is of any use. I have tested some previous versions of SDK and FW in different combinations, and continue to have problems.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Ivan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reading GPS power options problem?</title><link>https://devzone.nordicsemi.com/thread/295561?ContentTypeID=1</link><pubDate>Mon, 22 Feb 2021 12:47:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c10e333e-c259-41bd-a130-56f5aff5ff67</guid><dc:creator>Heidi</dc:creator><description>&lt;p&gt;I see. What value are you reading from &amp;amp;psm and what were you expecting to see? Could you please provide the full code where you set the socket option as well?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Heidi&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reading GPS power options problem?</title><link>https://devzone.nordicsemi.com/thread/294888?ContentTypeID=1</link><pubDate>Wed, 17 Feb 2021 14:16:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d4c00c55-60c4-4718-8272-19f4a13b7d0d</guid><dc:creator>Ivan Loncar</dc:creator><description>&lt;p&gt;Hello,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This is something I have already tried, and it doesn&amp;#39;t work.&amp;nbsp;&amp;nbsp;And as I mentioned in the first reply the function: nrf_getsocketopt, even when it returns 0 (like everything is fine, but isn&amp;#39;t) for other parameters (not just NRG_SO_GNSS_POWER_SAVE_MODE) doesn&amp;#39;t update the values correctly.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Do I need to add some configurations in prj.conf file or something similar to be make it work?&lt;/p&gt;
&lt;p&gt;Best regards,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Ivan&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reading GPS power options problem?</title><link>https://devzone.nordicsemi.com/thread/294814?ContentTypeID=1</link><pubDate>Wed, 17 Feb 2021 11:35:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4cbcb593-b215-4db2-bb08-25b81bc0c696</guid><dc:creator>Heidi</dc:creator><description>&lt;p&gt;Hi!&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The function call you mention works for me, given that the definition of psm and psm_len look like this:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nrf_gnss_power_save_mode_t&amp;nbsp;psm;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nrf_socklen_t&amp;nbsp;psm_len&amp;nbsp;=&amp;nbsp;sizeof(psm);&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Also, make sure to set the option beforehand, before you read try to read it.&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;retval&amp;nbsp;=&amp;nbsp;nrf_setsockopt(gnss_fd,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NRF_SOL_GNSS,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NRF_SO_GNSS_POWER_SAVE_MODE,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;psm, &amp;amp;psm_len);&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Heidi&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reading GPS power options problem?</title><link>https://devzone.nordicsemi.com/thread/293710?ContentTypeID=1</link><pubDate>Wed, 10 Feb 2021 09:44:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7fe9ec8b-8a55-47cb-a92c-b8c0a19ea4e4</guid><dc:creator>Ivan Loncar</dc:creator><description>&lt;p&gt;Additionally other parameters return 0 like everything is ok, but don&amp;#39;t update the value that is being read.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>