summaryrefslogtreecommitdiff
path: root/lib/esp-idf-lua/examples/custom_lib/main/rtoslib.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/esp-idf-lua/examples/custom_lib/main/rtoslib.c')
-rw-r--r--lib/esp-idf-lua/examples/custom_lib/main/rtoslib.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/esp-idf-lua/examples/custom_lib/main/rtoslib.c b/lib/esp-idf-lua/examples/custom_lib/main/rtoslib.c
new file mode 100644
index 00000000..6c5e219a
--- /dev/null
+++ b/lib/esp-idf-lua/examples/custom_lib/main/rtoslib.c
@@ -0,0 +1,24 @@
+#include "rtoslib.h"
+#include <freertos/FreeRTOS.h>
+#include <freertos/task.h>
+
+static int ldelay(lua_State *L)
+{
+ int ms = luaL_checkinteger(L, 1);
+
+ vTaskDelay(pdMS_TO_TICKS(ms));
+
+ return 0;
+}
+
+static const struct luaL_Reg lrtos_funcs[] = {
+ { "delay", ldelay },
+ { NULL, NULL }
+};
+
+int luaopen_lrtos(lua_State *L)
+{
+ luaL_newlib(L, lrtos_funcs);
+
+ return 1;
+}