utilities: add Zephyr 1.6 k_timer support (pulled from zupm)

Signed-off-by: Jon Trulson <jtrulson@ics.com>
This commit is contained in:
Jon Trulson 2016-12-02 16:40:48 -07:00
parent 232089f400
commit c4656bf8ba
2 changed files with 40 additions and 0 deletions

View File

@ -30,11 +30,24 @@ void upm_delay(int time){
#if defined(UPM_PLATFORM_LINUX)
sleep(time);
#elif defined(UPM_PLATFORM_ZEPHYR)
# if SYS_KERNEL_VER_MAJOR(KERNEL_VERSION_NUMBER) == 1 && \
SYS_KERNEL_VER_MINOR(KERNEL_VERSION_NUMBER) >= 6
struct k_timer timer;
k_timer_init(&timer, NULL, NULL);
k_timer_start(&timer, SECONDS(time) + 1, 0);
k_timer_status_sync(&timer);
# else
struct nano_timer timer;
void *timer_data[1];
nano_timer_init(&timer, timer_data);
nano_timer_start(&timer, SECONDS(time) + 1);
nano_timer_test(&timer, TICKS_UNLIMITED);
# endif
#endif
}
@ -42,11 +55,23 @@ void upm_delay_ms(int time){
#if defined(UPM_PLATFORM_LINUX)
usleep(1000 * time);
#elif defined(UPM_PLATFORM_ZEPHYR)
# if SYS_KERNEL_VER_MAJOR(KERNEL_VERSION_NUMBER) == 1 && \
SYS_KERNEL_VER_MINOR(KERNEL_VERSION_NUMBER) >= 6
struct k_timer timer;
k_timer_init(&timer, NULL, NULL);
k_timer_start(&timer, MSEC(time) + 1, 0);
k_timer_status_sync(&timer);
# else
struct nano_timer timer;
void *timer_data[1];
nano_timer_init(&timer, timer_data);
nano_timer_start(&timer, MSEC(time) + 1);
nano_timer_test(&timer, TICKS_UNLIMITED);
# endif
#endif
}
@ -54,11 +79,24 @@ void upm_delay_us(int time){
#if defined(UPM_PLATFORM_LINUX)
usleep(time);
#elif defined(UPM_PLATFORM_ZEPHYR)
# if SYS_KERNEL_VER_MAJOR(KERNEL_VERSION_NUMBER) == 1 && \
SYS_KERNEL_VER_MINOR(KERNEL_VERSION_NUMBER) >= 6
struct k_timer timer;
k_timer_init(&timer, NULL, NULL);
k_timer_start(&timer, USEC(time) + 1, 0);
k_timer_status_sync(&timer);
# else
struct nano_timer timer;
void *timer_data[1];
nano_timer_init(&timer, timer_data);
nano_timer_start(&timer, USEC(time) + 1);
nano_timer_test(&timer, TICKS_UNLIMITED);
# endif
#endif
}

View File

@ -45,6 +45,8 @@ typedef struct timeval upm_clock_t;
#include <zephyr.h>
#include <device.h>
#include <sys_clock.h>
#include <version.h>
#include <kernel_version.h>
#if defined(CONFIG_STDOUT_CONSOLE)
#include <stdio.h>