Wendal Chen 2 роки тому
батько
коміт
1bdadfdbdf

+ 4 - 3
application/include/luat_conf_bsp.h

@@ -107,11 +107,12 @@
 #define LUAT_USE_GTFONT_UTF8 1
 
 //----------------------------
-// 高级功能, 其中shell是推荐启用, 除非你打算uart0也读数据
-#define LUAT_USE_SHELL 1
-#define LUAT_USE_DBG 1
+// 高级功能, 其中repl推荐开启, shell已废弃
+// #define LUAT_USE_SHELL 1
+// #define LUAT_USE_DBG 1
 #define LUAT_USE_OTA 1
 #define LUAT_USE_FOTA 1
+#define LUAT_USE_REPL 1
 
 // 多虚拟机支持,实验性,一般不启用
 // #define LUAT_USE_VMX 1 

+ 4 - 1
application/src/luat_base_air105.c

@@ -277,6 +277,9 @@ static const luaL_Reg loadedlibs[] = {
 #endif
 #ifdef LUAT_USE_BIT64
   {"bit64", luaopen_bit64},
+#endif
+#ifdef LUAT_USE_REPL
+  {"repl", luaopen_repl},
 #endif
   {NULL, NULL}
 };
@@ -369,7 +372,7 @@ void luat_base_init(void)
 {
 	luat_vm_pool_init();
 
-#ifdef LUAT_USE_SHELL
+#if defined(LUAT_USE_SHELL) || defined(LUAT_USE_REPL)
   luat_shell_poweron(0);
 #endif
 

+ 8 - 1
cloudbuild/air105.meta.json

@@ -234,6 +234,13 @@
                 "content": "工具库",
                 "rsize": 0,
                 "children": [
+                    {
+                        "name": "repl",
+                        "content": "REPL(读取-解析-执行)循环",
+                        "rsize": 10908,
+                        "fsize": 284260,
+                        "dft": false
+                    },
                     {
                         "name": "LUAT_CONF_VM_64bit",
                         "content": "64bit虚拟机(测试阶段,内存占用会增加,需要LuaTools 2.1.77)",
@@ -306,7 +313,7 @@
                     },
                     {
                        "name":"shell",
-                       "content":"控制台,搭配dbg功能才可以在LuatIDE使用",
+                       "content":"控制台,与repl冲突",
                        "rsize":6848,
                        "fsize":372224,
                        "dft":false,

+ 4 - 0
xmake.lua

@@ -506,6 +506,10 @@ if with_luatos then
     -- 国密算法, by chenxudong1208, 基于GMSSL
     add_includedirs(luatos.."components/gmssl/include")
     add_files(luatos.."components/gmssl/**.c")
+
+    -- REPL
+    add_includedirs(luatos.."components/repl")
+    add_files(luatos.."components/repl/**.c")
 else
 
     add_files("Third_Party/vsprintf/*.c",{public = true})