1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openLuat-luatos-soc-air101

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
luat_hwtimer_air101.c 1.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Wendal Chen Отправлено 3 лет назад d72653d
#include "luat_base.h"
#include "luat_hwtimer.h"
#include "luat_msgbus.h"
#include "wm_timer.h"
static int l_hwtimer_handler(lua_State *L, void* ptr) {
lua_getglobal(L, "sys_pub");
if (lua_isfunction(L, -1)) {
lua_pushstring(L, "HWTIMER_IRQ");
lua_call(L, 1, 0);
}
return 0;
}
static void luat_hwtimer_cb(void *arg) {
rtos_msg_t msg;
msg.handler = l_hwtimer_handler;
luat_msgbus_put(&msg, 0);
}
int luat_hwtimer_create(luat_hwtimer_conf_t *conf) {
struct tls_timer_cfg cfg = {0};
cfg.unit = conf->unit == 0 ? TLS_TIMER_UNIT_US : TLS_TIMER_UNIT_MS;
cfg.timeout = conf->timeout;
cfg.is_repeat = conf->is_repeat;
cfg.callback = luat_hwtimer_cb;
cfg.arg = NULL;
u8 id = tls_timer_create(&cfg);
if (id <= 5)
return id;
return -1;
}
int luat_hwtimer_start(int id) {
if (id < 0 || id > 5) return -1;
tls_timer_start(id);
return 0;
}
int luat_hwtimer_stop(int id) {
if (id < 0 || id > 5) return -1;
tls_timer_stop(id);
return 0;
}
int luat_hwtimer_read(int id) {
if (id < 0 || id > 5) return -1;
return tls_timer_read(id);
}
int luat_hwtimer_change(int id, uint32_t newtimeout) {
if (id < 0 || id > 5) return -1;
tls_timer_change(id, newtimeout);
return 0;
}
int luat_hwtimer_destroy(int id) {
if (id < 0 || id > 5) return -1;
tls_timer_destroy(id);
return 0;
}

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/openLuat-luatos-soc-air101.git
git@gitlife.ru:oschina-mirror/openLuat-luatos-soc-air101.git
oschina-mirror
openLuat-luatos-soc-air101
openLuat-luatos-soc-air101
master