<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic millis function for Eclipse/Intel IDE in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/millis-function-for-Eclipse-Intel-IDE/m-p/997166#M28592</link>
    <description>&lt;PRE class="brush:cpp;"&gt;extern "C" unsigned long millis();&lt;/PRE&gt;

&lt;P&gt;Porting some code from Arduino environment to the Intel IDE (Eclipse) environment, I had need for the arduino mills() function (which is very useful).&lt;/P&gt;
&lt;P&gt;The arduino version return ms from program start - my version returns ms from the first time it is called (so I tend to call it first this in main()&lt;/P&gt;
&lt;P&gt;It may be&amp;nbsp;useful&amp;nbsp;for someone else so I post the header and the code below - Note: The code works - but I am sure it could have been written&amp;nbsp;betterer!&lt;/P&gt;
&lt;P&gt;Header;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Code.&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;sys/time.h&amp;gt;
#include &amp;lt;time.h&amp;gt;
#include &amp;lt;unistd.h&amp;gt;
static struct timespec tstart={0,0};
static int start_retrieved=0;
unsigned long millis() {


	  unsigned long milliseconds;
	  unsigned long n2;
      unsigned long n;

struct timespec tend={0,0};

if (start_retrieved==0)
{
	 clock_gettime(CLOCK_MONOTONIC, &amp;amp;tstart);
	 start_retrieved=1;
}



 clock_gettime(CLOCK_MONOTONIC, &amp;amp;tend);



n2=(((double)tend.tv_sec + 1.0e-9*tend.tv_nsec) -
	        ((double)tstart.tv_sec + 1.0e-9*tstart.tv_nsec));
 n=((((double)tend.tv_sec + 1.0e-9*tend.tv_nsec) -
	        ((double)tstart.tv_sec + 1.0e-9*tstart.tv_nsec)) -n2)*1000;
 milliseconds=(n2 * 1000)+n;

return(milliseconds);
}&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Stan&lt;/P&gt;</description>
    <pubDate>Sat, 22 Nov 2014 22:30:39 GMT</pubDate>
    <dc:creator>Stan_G_</dc:creator>
    <dc:date>2014-11-22T22:30:39Z</dc:date>
    <item>
      <title>millis function for Eclipse/Intel IDE</title>
      <link>https://community.intel.com/t5/Software-Archive/millis-function-for-Eclipse-Intel-IDE/m-p/997166#M28592</link>
      <description>&lt;PRE class="brush:cpp;"&gt;extern "C" unsigned long millis();&lt;/PRE&gt;

&lt;P&gt;Porting some code from Arduino environment to the Intel IDE (Eclipse) environment, I had need for the arduino mills() function (which is very useful).&lt;/P&gt;
&lt;P&gt;The arduino version return ms from program start - my version returns ms from the first time it is called (so I tend to call it first this in main()&lt;/P&gt;
&lt;P&gt;It may be&amp;nbsp;useful&amp;nbsp;for someone else so I post the header and the code below - Note: The code works - but I am sure it could have been written&amp;nbsp;betterer!&lt;/P&gt;
&lt;P&gt;Header;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Code.&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;sys/time.h&amp;gt;
#include &amp;lt;time.h&amp;gt;
#include &amp;lt;unistd.h&amp;gt;
static struct timespec tstart={0,0};
static int start_retrieved=0;
unsigned long millis() {


	  unsigned long milliseconds;
	  unsigned long n2;
      unsigned long n;

struct timespec tend={0,0};

if (start_retrieved==0)
{
	 clock_gettime(CLOCK_MONOTONIC, &amp;amp;tstart);
	 start_retrieved=1;
}



 clock_gettime(CLOCK_MONOTONIC, &amp;amp;tend);



n2=(((double)tend.tv_sec + 1.0e-9*tend.tv_nsec) -
	        ((double)tstart.tv_sec + 1.0e-9*tstart.tv_nsec));
 n=((((double)tend.tv_sec + 1.0e-9*tend.tv_nsec) -
	        ((double)tstart.tv_sec + 1.0e-9*tstart.tv_nsec)) -n2)*1000;
 milliseconds=(n2 * 1000)+n;

return(milliseconds);
}&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Stan&lt;/P&gt;</description>
      <pubDate>Sat, 22 Nov 2014 22:30:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/millis-function-for-Eclipse-Intel-IDE/m-p/997166#M28592</guid>
      <dc:creator>Stan_G_</dc:creator>
      <dc:date>2014-11-22T22:30:39Z</dc:date>
    </item>
    <item>
      <title>Header code did not make it.</title>
      <link>https://community.intel.com/t5/Software-Archive/millis-function-for-Eclipse-Intel-IDE/m-p/997167#M28593</link>
      <description>&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;Header code did not make it.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;extern&lt;SPAN style="color: #000000"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3933ff"&gt;"C"&lt;/SPAN&gt;&lt;SPAN style="color: #000000"&gt; &lt;/SPAN&gt;unsigned&lt;SPAN style="color: #000000"&gt; &lt;/SPAN&gt;long&lt;SPAN style="color: #000000"&gt; millis();&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 22 Nov 2014 22:31:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/millis-function-for-Eclipse-Intel-IDE/m-p/997167#M28593</guid>
      <dc:creator>Stan_G_</dc:creator>
      <dc:date>2014-11-22T22:31:48Z</dc:date>
    </item>
  </channel>
</rss>

