初始化提交
This commit is contained in:
50
arduino-cli/libraries/RF24/utility/SPIDEV/compatibility.c
Normal file
50
arduino-cli/libraries/RF24/utility/SPIDEV/compatibility.c
Normal file
@@ -0,0 +1,50 @@
|
||||
#include "compatibility.h"
|
||||
|
||||
static uint32_t mtime, seconds, useconds;
|
||||
//static struct timeval start, end;
|
||||
struct timespec start, end;
|
||||
|
||||
/**********************************************************************/
|
||||
/**
|
||||
* This function is added in order to simulate arduino delay() function
|
||||
* @param milisec
|
||||
*/
|
||||
void __msleep(int milisec)
|
||||
{
|
||||
struct timespec req;// = {0};
|
||||
req.tv_sec = (time_t) milisec / 1000;
|
||||
req.tv_nsec = (milisec % 1000) * 1000000L;
|
||||
//nanosleep(&req, (struct timespec *)NULL);
|
||||
clock_nanosleep(CLOCK_REALTIME, 0, &req, NULL);
|
||||
}
|
||||
|
||||
void __usleep(int microsec)
|
||||
{
|
||||
struct timespec req;// = {0};
|
||||
req.tv_sec = (time_t) microsec / 1000000;
|
||||
req.tv_nsec = (microsec / 1000000) * 1000;
|
||||
//nanosleep(&req, (struct timespec *)NULL);
|
||||
clock_nanosleep(CLOCK_REALTIME, 0, &req, NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
* This function is added in order to simulate arduino millis() function
|
||||
*/
|
||||
|
||||
|
||||
void __start_timer()
|
||||
{
|
||||
//gettimeofday(&start, NULL);
|
||||
clock_gettime(CLOCK_MONOTONIC_RAW, &start);
|
||||
}
|
||||
|
||||
uint32_t __millis()
|
||||
{
|
||||
//gettimeofday(&end, NULL);
|
||||
clock_gettime(CLOCK_MONOTONIC_RAW, &end);
|
||||
seconds = end.tv_sec - start.tv_sec;
|
||||
useconds = (end.tv_nsec - start.tv_nsec) / 1000;
|
||||
|
||||
mtime = ((seconds) * 1000 + useconds / 1000.0) + 0.5;
|
||||
return mtime;
|
||||
}
|
||||
Reference in New Issue
Block a user