Browse Source

update: 把package里面的rotable改完

Wendal Chen 4 years ago
parent
commit
1b28b35d66

+ 56 - 56
luat/packages/eink/luat_lib_eink.c

@@ -1000,69 +1000,69 @@ static int l_eink_drawXbm(lua_State *L){
     return 1;
 }
 
-#include "rotable.h"
-static const rotable_Reg reg_eink[] =
+#include "rotable2.h"
+static const rotable_Reg_t reg_eink[] =
 {
-    { "setup",          l_eink_setup,           0},
-    { "sleep",          l_eink_sleep,           0},
-    { "clear",          l_eink_clear,           0},
-    { "setWin",         l_eink_setWin,          0},
-    { "getWin",         l_eink_getWin,          0},
-    { "print",          l_eink_print,           0},
-    { "show",           l_eink_show,            0},
-    { "rect",           l_eink_rect,            0},
-    { "circle",         l_eink_circle,          0},
-    { "line",           l_eink_line,            0},
-
-    { "qrcode",         l_eink_qrcode,          0},
-    { "bat",            l_eink_bat,             0},
-    { "weather_icon",   l_eink_weather_icon,    0},
-
-    { "model",          l_eink_model,           0},
-    { "drawXbm",         l_eink_drawXbm,           0},
+    { "setup",          ROREG_FUNC(l_eink_setup)},
+    { "sleep",          ROREG_FUNC(l_eink_sleep)},
+    { "clear",          ROREG_FUNC(l_eink_clear)},
+    { "setWin",         ROREG_FUNC(l_eink_setWin)},
+    { "getWin",         ROREG_FUNC(l_eink_getWin)},
+    { "print",          ROREG_FUNC(l_eink_print)},
+    { "show",           ROREG_FUNC(l_eink_show)},
+    { "rect",           ROREG_FUNC(l_eink_rect)},
+    { "circle",         ROREG_FUNC(l_eink_circle)},
+    { "line",           ROREG_FUNC(l_eink_line)},
+
+    { "qrcode",         ROREG_FUNC(l_eink_qrcode)},
+    { "bat",            ROREG_FUNC(l_eink_bat)},
+    { "weather_icon",   ROREG_FUNC(l_eink_weather_icon)},
+
+    { "model",          ROREG_FUNC(l_eink_model)},
+    { "drawXbm",        ROREG_FUNC(l_eink_drawXbm)},
 #ifdef LUAT_USE_GTFONT
-    { "drawGtfontGb2312", l_eink_draw_gtfont_gb2312, 0},
-    { "drawGtfontGb2312Gray", l_eink_draw_gtfont_gb2312_gray, 0},
+    { "drawGtfontGb2312", ROREG_FUNC(l_eink_draw_gtfont_gb2312)},
+    { "drawGtfontGb2312Gray", ROREG_FUNC(l_eink_draw_gtfont_gb2312_gray)},
 #ifdef LUAT_USE_GTFONT_UTF8
-    { "drawGtfontUtf8", l_eink_draw_gtfont_utf8, 0},
-    { "drawGtfontUtf8Gray", l_eink_draw_gtfont_utf8_gray, 0},
+    { "drawGtfontUtf8", ROREG_FUNC(l_eink_draw_gtfont_utf8)},
+    { "drawGtfontUtf8Gray", ROREG_FUNC(l_eink_draw_gtfont_utf8_gray)},
 #endif // LUAT_USE_GTFONT_UTF8
 #endif // LUAT_USE_GTFONT
-    { "MODEL_1in02d",         NULL,                 MODEL_1in02d},
-    { "MODEL_1in54",          NULL,                 MODEL_1in54},
-    { "MODEL_1in54_V2",       NULL,                 MODEL_1in54_V2},
-    { "MODEL_1in54b",         NULL,                 MODEL_1in54b},
-    { "MODEL_1in54b_V2",      NULL,                 MODEL_1in54b_V2},
-    { "MODEL_1in54c",         NULL,                 MODEL_1in54c},
-    { "MODEL_1in54f",         NULL,                 MODEL_1in54f},
-    { "MODEL_2in54b_V3",      NULL,                 MODEL_2in13b_V3},
-    { "MODEL_2in7",           NULL,                 MODEL_2in7},
-    { "MODEL_2in7b",          NULL,                 MODEL_2in7b},
-    { "MODEL_2in9",           NULL,                 MODEL_2in9},
-    { "MODEL_2in9_V2",        NULL,                 MODEL_2in9_V2},
-    { "MODEL_2in9bc",         NULL,                 MODEL_2in9bc},
-    { "MODEL_2in9b_V3",       NULL,                 MODEL_2in9b_V3},
-    { "MODEL_2in9d",          NULL,                 MODEL_2in9d},
-    { "MODEL_2in9f",          NULL,                 MODEL_2in9f},
-    { "MODEL_3in7",           NULL,                 MODEL_3in7},
-    { "font_opposansm8", NULL,       font_opposansm8},
-    { "font_opposansm10", NULL,       font_opposansm10},
-    { "font_opposansm12", NULL,       font_opposansm12},
-    { "font_opposansm16", NULL,       font_opposansm16},
-    { "font_opposansm18", NULL,       font_opposansm18},
-    { "font_opposansm20", NULL,       font_opposansm20},
-    { "font_opposansm22", NULL,       font_opposansm22},
-    { "font_opposansm24", NULL,       font_opposansm24},
-    { "font_opposansm32", NULL,       font_opposansm32},
-    { "font_opposansm12_chinese", NULL,       font_opposansm12_chinese},
-    { "font_opposansm16_chinese", NULL,       font_opposansm16_chinese},
-    { "font_opposansm24_chinese", NULL,       font_opposansm24_chinese},
-    { "font_opposansm32_chinese", NULL,       font_opposansm32_chinese},
-
-	{ NULL,             NULL,                   0}
+    { "MODEL_1in02d",         ROREG_INT(MODEL_1in02d)},
+    { "MODEL_1in54",          ROREG_INT(MODEL_1in54)},
+    { "MODEL_1in54_V2",       ROREG_INT(MODEL_1in54_V2)},
+    { "MODEL_1in54b",         ROREG_INT(MODEL_1in54b)},
+    { "MODEL_1in54b_V2",      ROREG_INT(MODEL_1in54b_V2)},
+    { "MODEL_1in54c",         ROREG_INT(MODEL_1in54c)},
+    { "MODEL_1in54f",         ROREG_INT(MODEL_1in54f)},
+    { "MODEL_2in54b_V3",      ROREG_INT(MODEL_2in13b_V3)},
+    { "MODEL_2in7",           ROREG_INT(MODEL_2in7)},
+    { "MODEL_2in7b",          ROREG_INT(MODEL_2in7b)},
+    { "MODEL_2in9",           ROREG_INT(MODEL_2in9)},
+    { "MODEL_2in9_V2",        ROREG_INT(MODEL_2in9_V2)},
+    { "MODEL_2in9bc",         ROREG_INT(MODEL_2in9bc)},
+    { "MODEL_2in9b_V3",       ROREG_INT(MODEL_2in9b_V3)},
+    { "MODEL_2in9d",          ROREG_INT(MODEL_2in9d)},
+    { "MODEL_2in9f",          ROREG_INT(MODEL_2in9f)},
+    { "MODEL_3in7",           ROREG_INT(MODEL_3in7)},
+    { "font_opposansm8",      ROREG_INT(font_opposansm8)},
+    { "font_opposansm10",     ROREG_INT(font_opposansm10)},
+    { "font_opposansm12",     ROREG_INT(font_opposansm12)},
+    { "font_opposansm16",     ROREG_INT(font_opposansm16)},
+    { "font_opposansm18",     ROREG_INT(font_opposansm18)},
+    { "font_opposansm20",     ROREG_INT(font_opposansm20)},
+    { "font_opposansm22",     ROREG_INT(font_opposansm22)},
+    { "font_opposansm24",     ROREG_INT(font_opposansm24)},
+    { "font_opposansm32",     ROREG_INT(font_opposansm32)},
+    { "font_opposansm12_chinese", ROREG_INT(font_opposansm12_chinese)},
+    { "font_opposansm16_chinese", ROREG_INT(font_opposansm16_chinese)},
+    { "font_opposansm24_chinese", ROREG_INT(font_opposansm24_chinese)},
+    { "font_opposansm32_chinese", ROREG_INT(font_opposansm32_chinese)},
+
+	  { NULL,                    {}}
 };
 
 LUAMOD_API int luaopen_eink( lua_State *L ){
-    luat_newlib(L, reg_eink);
+    luat_newlib2(L, reg_eink);
     return 1;
 }

+ 27 - 28
luat/packages/fatfs/luat_lib_fatfs.c

@@ -532,39 +532,38 @@ static int fatfs_debug_mode(lua_State *L) {
 }
 
 // Module function map
-#include "rotable.h"
-static const rotable_Reg reg_fatfs[] =
+#include "rotable2.h"
+static const rotable_Reg_t reg_fatfs[] =
 { 
-  { "init",		fatfs_mount, 0}, //初始化,挂载, 别名方法
-  { "mount",	fatfs_mount, 0}, //初始化,挂载
-  { "unmount",	fatfs_unmount, 0}, // 取消挂载
-  { "mkfs",		fatfs_mkfs, 0}, // 格式化!!!
-  //{ "test",  fatfs_test, 0},
-  { "getfree",	fatfs_getfree, 0}, // 获取文件系统大小,剩余空间
-  { "debug",	fatfs_debug_mode, 0}, // 调试模式,打印更多日志
-
-  { "lsdir",	fatfs_lsdir, 0}, // 列举目录下的文件,名称,大小,日期,属性
-  { "mkdir",	fatfs_mkdir, 0}, // 列举目录下的文件,名称,大小,日期,属性
-
-  { "stat",		fatfs_stat, 0}, // 查询文件信息
-  { "open",		fatfs_open, 0}, // 打开一个文件句柄
-  { "close",	fatfs_close, 0}, // 关闭一个文件句柄
-  { "seek",		fatfs_seek, 0}, // 移动句柄的当前位置
-  { "truncate",	fatfs_truncate, 0}, // 缩减文件尺寸到当前seek位置
-  { "read",		fatfs_read, 0}, // 读取数据
-  { "write",	fatfs_write, 0}, // 写入数据
-  { "remove",	fatfs_remove, 0}, // 删除文件,别名方法
-  { "unlink",	fatfs_remove, 0}, // 删除文件
-  { "rename",	fatfs_rename, 0}, // 文件改名
-
-  { "readfile",	fatfs_readfile, 0}, // 读取文件的简易方法
-//   { "playmp3",	fatfs_playmp3, 0}, // 读取文件的简易方法
-  { NULL,		NULL,	0 }
+  { "init",		ROREG_FUNC(fatfs_mount)}, //初始化,挂载, 别名方法
+  { "mount",	ROREG_FUNC(fatfs_mount)}, //初始化,挂载
+  { "unmount",	ROREG_FUNC(fatfs_unmount)}, // 取消挂载
+  { "mkfs",		ROREG_FUNC(fatfs_mkfs)}, // 格式化!!!
+  //{ "test",  fatfs_test)},
+  { "getfree",	ROREG_FUNC(fatfs_getfree)}, // 获取文件系统大小,剩余空间
+  { "debug",	ROREG_FUNC(fatfs_debug_mode)}, // 调试模式,打印更多日志
+
+  { "lsdir",	ROREG_FUNC(fatfs_lsdir)}, // 列举目录下的文件,名称,大小,日期,属性
+  { "mkdir",	ROREG_FUNC(fatfs_mkdir)}, // 列举目录下的文件,名称,大小,日期,属性
+
+  { "stat",		ROREG_FUNC(fatfs_stat)}, // 查询文件信息
+  { "open",		ROREG_FUNC(fatfs_open)}, // 打开一个文件句柄
+  { "close",	ROREG_FUNC(fatfs_close)}, // 关闭一个文件句柄
+  { "seek",		ROREG_FUNC(fatfs_seek)}, // 移动句柄的当前位置
+  { "truncate",	ROREG_FUNC(fatfs_truncate)}, // 缩减文件尺寸到当前seek位置
+  { "read",		ROREG_FUNC(fatfs_read)}, // 读取数据
+  { "write",	ROREG_FUNC(fatfs_write)}, // 写入数据
+  { "remove",	ROREG_FUNC(fatfs_remove)}, // 删除文件,别名方法
+  { "unlink",	ROREG_FUNC(fatfs_remove)}, // 删除文件
+  { "rename",	ROREG_FUNC(fatfs_rename)}, // 文件改名
+
+  { "readfile",	ROREG_FUNC(fatfs_readfile)}, // 读取文件的简易方法
+  { NULL,		{}}
 };
 
 int luaopen_fatfs( lua_State *L )
 {
-  luat_newlib(L, reg_fatfs);
+  luat_newlib2(L, reg_fatfs);
   #ifdef LUAT_USE_FS_VFS
   luat_vfs_reg(&vfs_fs_fatfs);
   #endif

+ 7 - 27
luat/packages/lfs/luat_lib_lfs2.c

@@ -154,38 +154,18 @@ static int l_lfs2_mkfs(lua_State *L) {
 }
 
 
-#include "rotable.h"
-static const rotable_Reg reg_lfs2[] =
+#include "rotable2.h"
+static const rotable_Reg_t reg_lfs2[] =
 { 
-  { "mount",	l_lfs2_mount, 0}, //初始化,挂载
-//   { "unmount",	l_lfs2_unmount, 0}, // 取消挂载
-  { "mkfs",		l_lfs2_mkfs, 0}, // 格式化!!!
-//   //{ "test",  l_lfs2_test, 0},
-//   { "getfree",	l_lfs2_getfree, 0}, // 获取文件系统大小,剩余空间
-//   { "debug",	l_lfs2_debug_mode, 0}, // 调试模式,打印更多日志
-
-//   { "lsdir",	l_lfs2_lsdir, 0}, // 列举目录下的文件,名称,大小,日期,属性
-//   { "mkdir",	l_lfs2_mkdir, 0}, // 列举目录下的文件,名称,大小,日期,属性
-
-//   { "stat",		l_lfs2_stat, 0}, // 查询文件信息
-//   { "open",		l_lfs2_open, 0}, // 打开一个文件句柄
-//   { "close",	l_lfs2_close, 0}, // 关闭一个文件句柄
-//   { "seek",		l_lfs2_seek, 0}, // 移动句柄的当前位置
-//   { "truncate",	l_lfs2_truncate, 0}, // 缩减文件尺寸到当前seek位置
-//   { "read",		l_lfs2_read, 0}, // 读取数据
-//   { "write",	l_lfs2_write, 0}, // 写入数据
-//   { "remove",	l_lfs2_remove, 0}, // 删除文件,别名方法
-//   { "unlink",	l_lfs2_remove, 0}, // 删除文件
-//   { "rename",	l_lfs2_rename, 0}, // 文件改名
-
-//   { "readfile",	l_lfs2_readfile, 0}, // 读取文件的简易方法
-//   { "playmp3",	l_lfs2_playmp3, 0}, // 读取文件的简易方法
-  { NULL,		NULL,	0 }
+  { "mount",	ROREG_FUNC(l_lfs2_mount)}, //初始化,挂载
+//   { "unmount",	ROREG_FUNC(l_lfs2_unmount)}, // 取消挂载
+  { "mkfs",		ROREG_FUNC(l_lfs2_mkfs)}, // 格式化!!!
+  { NULL,		  {}}
 };
 
 int luaopen_lfs2( lua_State *L )
 {
-  luat_newlib(L, reg_lfs2);
+  luat_newlib2(L, reg_lfs2);
   #ifdef LUAT_USE_FS_VFS
   luat_vfs_reg(&vfs_fs_lfs2);
   #endif

+ 6 - 6
luat/packages/lua-cjson/lua_cjson.c

@@ -1715,10 +1715,10 @@ static int l_json_decode_safe(lua_State *L) {
     }
 }
 
-#include "rotable.h"
-static const rotable_Reg reg_json[] = {
-        { "encode", l_json_encode_safe , 0},
-        { "decode", l_json_decode_safe , 0},
+#include "rotable2.h"
+static const rotable_Reg_t reg_json[] = {
+        { "encode", ROREG_FUNC(l_json_encode_safe)},
+        { "decode", ROREG_FUNC(l_json_decode_safe)},
         // { "encode_sparse_array", json_cfg_encode_sparse_array },
         // { "encode_max_depth", json_cfg_encode_max_depth },
         // { "decode_max_depth", json_cfg_decode_max_depth },
@@ -1727,7 +1727,7 @@ static const rotable_Reg reg_json[] = {
         // { "encode_invalid_numbers", json_cfg_encode_invalid_numbers },
         // { "decode_invalid_numbers", json_cfg_decode_invalid_numbers },
         // { "new", lua_cjson_new },
-        { NULL, NULL , 0}
+        { NULL, {}}
     };
 
 /* Return cjson module table */
@@ -1755,7 +1755,7 @@ static int lua_cjson_new(lua_State *l)
     // lua_pushliteral(l, CJSON_VERSION);
     // lua_setfield(l, -2, "_VERSION");
 
-    luat_newlib(l, reg_json);
+    luat_newlib2(l, reg_json);
 
     return 1;
 }

+ 15 - 15
luat/packages/minmea/luat_lib_libgnss.c

@@ -549,28 +549,28 @@ static int l_libgnss_get_gga(lua_State* L) {
 }
 
 
-#include "rotable.h"
-static const rotable_Reg reg_libgnss[] =
+#include "rotable2.h"
+static const rotable_Reg_t reg_libgnss[] =
 {
-    { "parse", l_libgnss_parse, 0},
-    { "isFix", l_libgnss_is_fix, 0},
-    { "getIntLocation", l_libgnss_get_int_location, 0},
-    { "getRmc", l_libgnss_get_rmc, 0},
-    { "getGsv", l_libgnss_get_gsv, 0},
-    { "getGsa", l_libgnss_get_gsa, 0},
-    { "getVtg", l_libgnss_get_vtg, 0},
-    { "getGga", l_libgnss_get_gga, 0},
-    { "debug",  l_libgnss_debug,   0},
+    { "parse", ROREG_FUNC(l_libgnss_parse)},
+    { "isFix", ROREG_FUNC(l_libgnss_is_fix)},
+    { "getIntLocation", ROREG_FUNC(l_libgnss_get_int_location)},
+    { "getRmc", ROREG_FUNC(l_libgnss_get_rmc)},
+    { "getGsv", ROREG_FUNC(l_libgnss_get_gsv)},
+    { "getGsa", ROREG_FUNC(l_libgnss_get_gsa)},
+    { "getVtg", ROREG_FUNC(l_libgnss_get_vtg)},
+    { "getGga", ROREG_FUNC(l_libgnss_get_gga)},
+    { "debug",  ROREG_FUNC(l_libgnss_debug)},
 
     //-----------------------------------------
-    { "air530z_setup", l_libgnss_air530_setup, 0},
-    { "air530z_saveconf", l_libgnss_air530_saveconf, 0},
-    { "air530z_setbandrate", l_libgnss_air530_setbandrate, 0},
+    // { "air530z_setup", ROREG_FUNC(l_libgnss_air530_setup)},
+    // { "air530z_saveconf", ROREG_FUNC(l_libgnss_air530_saveconf)},
+    // { "air530z_setbandrate", ROREG_FUNC(l_libgnss_air530_setbandrate)},
 
 	{ NULL, NULL , 0}
 };
 
 LUAMOD_API int luaopen_libgnss( lua_State *L ) {
-    luat_newlib(L, reg_libgnss);
+    luat_newlib2(L, reg_libgnss);
     return 1;
 }

+ 10 - 10
luat/packages/u8g2/luat_lib_disp.c

@@ -263,22 +263,22 @@ static int l_disp_set_font(lua_State *L) {
     return 1;
 }
 
-#include "rotable.h"
-static const rotable_Reg reg_disp[] =
+#include "rotable2.h"
+static const rotable_Reg_t reg_disp[] =
 {
-    { "init",       l_disp_init,        0},
-    { "close",      l_disp_close,       0},
-    { "clear",      l_disp_clear,       0},
-    { "update",     l_disp_update,      0},
-    { "drawStr",    l_disp_draw_text,   0},
-    { "setFont",    l_disp_set_font,    0},
-	{ NULL, NULL, 0}
+    { "init",       ROREG_FUNC(l_disp_init)},
+    { "close",      ROREG_FUNC(l_disp_close)},
+    { "clear",      ROREG_FUNC(l_disp_clear)},
+    { "update",     ROREG_FUNC(l_disp_update)},
+    { "drawStr",    ROREG_FUNC(l_disp_draw_text)},
+    { "setFont",    ROREG_FUNC(l_disp_set_font)},
+	{ NULL,         {}}
 };
 
 LUAMOD_API int luaopen_disp( lua_State *L ) {
     u8g2_lua_ref = 0;
     u8g2 = NULL;
-    luat_newlib(L, reg_disp);
+    luat_newlib2(L, reg_disp);
     return 1;
 }
 

+ 34 - 34
luat/packages/u8g2/luat_lib_u8g2.c

@@ -813,50 +813,50 @@ static int l_u8g2_draw_gtfont_utf8(lua_State *L) {
 
 #endif // LUAT_USE_GTFONT
 
-#include "rotable.h"
-static const rotable_Reg reg_u8g2[] =
+#include "rotable2.h"
+static const rotable_Reg_t reg_u8g2[] =
 {
-    { "begin",       l_u8g2_begin,        0},
-    { "close",      l_u8g2_close,       0},
-    { "ClearBuffer",      l_u8g2_ClearBuffer,       0},
-    { "SendBuffer",     l_u8g2_SendBuffer,      0},
-    { "DrawUTF8",    l_u8g2_DrawUTF8,   0},
-    { "SetFontMode",    l_u8g2_SetFontMode,    0},
-    { "SetFont",    l_u8g2_SetFont,    0},
-    { "GetDisplayHeight",    l_u8g2_GetDisplayHeight,    0},
-    { "GetDisplayWidth",    l_u8g2_GetDisplayWidth,    0},
-    { "DrawPixel",    l_u8g2_DrawPixel,    0},
-    { "DrawLine",    l_u8g2_DrawLine,    0},
-    { "DrawCircle",    l_u8g2_DrawCircle,    0},
-    { "DrawDisc",    l_u8g2_DrawDisc,    0},
-    { "DrawEllipse",    l_u8g2_DrawEllipse,    0},
-    { "DrawFilledEllipse",    l_u8g2_DrawFilledEllipse,    0},
-    { "DrawBox",    l_u8g2_DrawBox,    0},
-    { "DrawFrame",    l_u8g2_DrawFrame,    0},
-    { "DrawRBox",    l_u8g2_DrawRBox,    0},
-    { "DrawRFrame",    l_u8g2_DrawRFrame,    0},
-    { "DrawGlyph",    l_u8g2_DrawGlyph,    0},
-    { "DrawTriangle",    l_u8g2_DrawTriangle,    0},
-    { "SetBitmapMode",    l_u8g2_SetBitmapMode,    0},
-    { "DrawXBM",       l_u8g2_DrawXBM, 0},
-    { "DrawDrcode",       l_u8g2_DrawDrcode, 0},
+    { "begin",       ROREG_FUNC(l_u8g2_begin)},
+    { "close",       ROREG_FUNC(l_u8g2_close)},
+    { "ClearBuffer", ROREG_FUNC(l_u8g2_ClearBuffer)},
+    { "SendBuffer",  ROREG_FUNC(l_u8g2_SendBuffer)},
+    { "DrawUTF8",    ROREG_FUNC(l_u8g2_DrawUTF8)},
+    { "SetFontMode", ROREG_FUNC(l_u8g2_SetFontMode)},
+    { "SetFont",     ROREG_FUNC(l_u8g2_SetFont)},
+    { "GetDisplayHeight",   ROREG_FUNC(l_u8g2_GetDisplayHeight)},
+    { "GetDisplayWidth",    ROREG_FUNC(l_u8g2_GetDisplayWidth)},
+    { "DrawPixel",   ROREG_FUNC(l_u8g2_DrawPixel)},
+    { "DrawLine",    ROREG_FUNC(l_u8g2_DrawLine)},
+    { "DrawCircle",  ROREG_FUNC(l_u8g2_DrawCircle)},
+    { "DrawDisc",    ROREG_FUNC(l_u8g2_DrawDisc)},
+    { "DrawEllipse", ROREG_FUNC(l_u8g2_DrawEllipse)},
+    { "DrawFilledEllipse",  ROREG_FUNC(l_u8g2_DrawFilledEllipse)},
+    { "DrawBox",     ROREG_FUNC(l_u8g2_DrawBox)},
+    { "DrawFrame",   ROREG_FUNC(l_u8g2_DrawFrame)},
+    { "DrawRBox",    ROREG_FUNC(l_u8g2_DrawRBox)},
+    { "DrawRFrame",  ROREG_FUNC(l_u8g2_DrawRFrame)},
+    { "DrawGlyph",   ROREG_FUNC(l_u8g2_DrawGlyph)},
+    { "DrawTriangle", ROREG_FUNC(l_u8g2_DrawTriangle)},
+    { "SetBitmapMode",ROREG_FUNC(l_u8g2_SetBitmapMode)},
+    { "DrawXBM",      ROREG_FUNC(l_u8g2_DrawXBM)},
+    { "DrawDrcode",   ROREG_FUNC(l_u8g2_DrawDrcode)},
 #ifdef LUAT_USE_GTFONT
-    { "drawGtfontGb2312", l_u8g2_draw_gtfont_gb2312, 0},
+    { "drawGtfontGb2312", ROREG_FUNC(l_u8g2_draw_gtfont_gb2312)},
 #ifdef LUAT_USE_GTFONT_UTF8
-    { "drawGtfontUtf8", l_u8g2_draw_gtfont_utf8, 0},
+    { "drawGtfontUtf8", ROREG_FUNC(l_u8g2_draw_gtfont_utf8)},
 #endif // LUAT_USE_GTFONT_UTF8
 #endif // LUAT_USE_GTFONT
-    { "font_opposansm8", NULL,       font_opposansm8},
-    { "font_opposansm12_chinese", NULL,       font_opposansm12_chinese},
-    { "font_unifont_t_symbols", NULL,       font_unifont_t_symbols},
-    { "font_open_iconic_weather_6x_t", NULL,       font_open_iconic_weather_6x_t},
-	{ NULL, NULL, 0}
+    { "font_opposansm8",          ROREG_INT(font_opposansm8)},
+    { "font_opposansm12_chinese", ROREG_INT(font_opposansm12_chinese)},
+    { "font_unifont_t_symbols",   ROREG_INT(font_unifont_t_symbols)},
+    { "font_open_iconic_weather_6x_t", ROREG_INT(font_open_iconic_weather_6x_t)},
+	{ NULL,  {}}
 };
 
 LUAMOD_API int luaopen_u8g2( lua_State *L ) {
     u8g2_lua_ref = 0;
     u8g2 = NULL;
-    luat_newlib(L, reg_u8g2);
+    luat_newlib2(L, reg_u8g2);
     return 1;
 }