luat_lib_netdrv.c 966 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*
  2. @module netdrv
  3. @summary 网络设备管理
  4. @catalog 外设API
  5. @version 1.0
  6. @date 2025.01.07
  7. @demo netdrv
  8. @tag LUAT_USE_NETDRV
  9. */
  10. #include "luat_base.h"
  11. #include "luat_gpio.h"
  12. #include "luat_mem.h"
  13. #include "luat_mcu.h"
  14. #include "luat_msgbus.h"
  15. #include "luat_timer.h"
  16. #include "luat_rtos.h"
  17. #include "luat_netdrv.h"
  18. #define LUAT_LOG_TAG "netdrv"
  19. #include "luat_log.h"
  20. /*
  21. 初始化指定netdrv设备
  22. */
  23. static int l_netdrv_setup(lua_State *L) {
  24. luat_netdrv_conf_t conf = {0};
  25. conf.id = luaL_checkinteger(L, 1);
  26. conf.impl = luaL_optinteger(L, 2, 0);
  27. conf.tp = luaL_optinteger(L, 3, 0);
  28. int ret = luat_netdrv_setup(&conf);
  29. lua_pushboolean(L, ret == 0 ? 1 : 0);
  30. return 1;
  31. }
  32. #include "rotable2.h"
  33. static const rotable_Reg_t reg_netdrv[] =
  34. {
  35. { "setup" , ROREG_FUNC(l_netdrv_setup )},
  36. { NULL, ROREG_INT(0) }
  37. };
  38. LUAMOD_API int luaopen_netdrv( lua_State *L ) {
  39. luat_newlib2(L, reg_netdrv);
  40. return 1;
  41. }