Просмотр исходного кода

update: 更新netdrv的以太网demo

Wendal Chen 1 год назад
Родитель
Сommit
2d4fbb1e0c
3 измененных файлов с 59 добавлено и 21 удалено
  1. 32 0
      demo/netdrv/air8101/main.lua
  2. 17 4
      demo/netdrv/ch390h/lan.lua
  3. 10 17
      demo/netdrv/ch390h/wan.lua

+ 32 - 0
demo/netdrv/air8101/main.lua

@@ -0,0 +1,32 @@
+
+-- LuaTools需要PROJECT和VERSION这两个信息
+PROJECT = "netdrv"
+VERSION = "1.0.1"
+
+
+-- sys库是标配
+_G.sys = require("sys")
+--[[特别注意, 使用mqtt库需要下列语句]]
+_G.sysplus = require("sysplus")
+
+sys.taskInit(function()
+    sys.wait(1000)
+    netdrv.setup(socket.LWIP_ETH)
+    netdrv.dhcp(socket.LWIP_ETH)
+end)
+
+sys.taskInit(function()
+    -- sys.waitUntil("IP_READY")
+    while 1 do
+        sys.wait(6000)
+        log.info("http", http.request("GET", "http://httpbin.air32.cn/bytes/4096", nil, nil, {adapter=socket.LWIP_ETH}).wait())
+        log.info("lua", rtos.meminfo())
+        log.info("sys", rtos.meminfo("sys"))
+        log.info("ip", socket.localIP(socket.LWIP_ETH))
+    end
+end)
+
+-- 用户代码已结束---------------------------------------------
+-- 结尾总是这一句
+sys.run()
+-- sys.run()之后后面不要加任何语句!!!!!

+ 17 - 4
demo/netdrv/ch390h/lan.lua

@@ -3,6 +3,9 @@
 sys = require("sys")
 sysplus = require("sysplus")
 
+dhcps = require "dhcpsrv"
+dnsproxy = require "dnsproxy"
+
 sys.taskInit(function ()
     -- sys.wait(3000)
     local result = spi.setup(
@@ -23,16 +26,26 @@ sys.taskInit(function ()
     end
 
     netdrv.setup(socket.LWIP_ETH, netdrv.CH390, {spiid=0,cs=8})
-    netdrv.dhcp(socket.LWIP_ETH, true)
+    sys.wait(3000)
+    local ipv4,mark, gw = netdrv.ipv4(socket.LWIP_ETH, "192.168.4.1", "255.255.255.0", "192.168.4.1")
+    log.info("ipv4", ipv4,mark, gw)
+    while netdrv.link(socket.LWIP_ETH) ~= true do
+        sys.wait(100)
+    end
+    dhcps.create({adapter=socket.LWIP_ETH})
+    dnsproxy.setup(socket.LWIP_ETH, socket.LWIP_GP)
+    netdrv.napt(socket.LWIP_GP)
+    -- netdrv.dhcp(socket.LWIP_ETH, true)
 end)
 
 
 sys.taskInit(function()
-    sys.waitUntil("IP_READY")
+    -- sys.waitUntil("IP_READY")
     while 1 do
-        sys.wait(6000)
-        log.info("http", http.request("GET", "http://httpbin.air32.cn/bytes/4096", nil, nil, {adapter=socket.LWIP_ETH}).wait())
+        sys.wait(300000)
+        -- log.info("http", http.request("GET", "http://httpbin.air32.cn/bytes/4096", nil, nil, {adapter=socket.LWIP_ETH}).wait())
         log.info("lua", rtos.meminfo())
         log.info("sys", rtos.meminfo("sys"))
+        -- log.info("psram", rtos.meminfo("psram"))
     end
 end)

+ 10 - 17
demo/netdrv/ch390h/wan.lua

@@ -3,8 +3,6 @@
 sys = require("sys")
 sysplus = require("sysplus")
 
-dhcps = require "dhcpsrv"
-
 sys.taskInit(function ()
     -- sys.wait(3000)
     local result = spi.setup(
@@ -25,21 +23,16 @@ sys.taskInit(function ()
     end
 
     netdrv.setup(socket.LWIP_ETH, netdrv.CH390, {spiid=0,cs=8})
-    sys.wait(3000)
-    local ipv4,mark, gw = netdrv.ipv4(socket.LWIP_ETH, "192.168.4.1", "255.255.255.0", "192.168.4.1")
-    log.info("ipv4", ipv4,mark, gw)
-    dhcps.create({adapter=socket.LWIP_ETH})
-    netdrv.napt(socket.LWIP_GP)
-    -- netdrv.dhcp(socket.LWIP_ETH, true)
+    netdrv.dhcp(socket.LWIP_ETH, true)
 end)
 
 
--- sys.taskInit(function()
---     sys.waitUntil("IP_READY")
---     while 1 do
---         sys.wait(60000)
---         log.info("http", http.request("GET", "http://httpbin.air32.cn/bytes/4096", nil, nil, {adapter=socket.LWIP_ETH}).wait())
---         log.info("lua", rtos.meminfo())
---         log.info("sys", rtos.meminfo("sys"))
---     end
--- end)
+sys.taskInit(function()
+    -- sys.waitUntil("IP_READY")
+    while 1 do
+        sys.wait(6000)
+        log.info("http", http.request("GET", "http://httpbin.air32.cn/bytes/4096", nil, nil, {adapter=socket.LWIP_ETH}).wait())
+        log.info("lua", rtos.meminfo())
+        log.info("sys", rtos.meminfo("sys"))
+    end
+end)