main.lua 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. -- LuaTools需要PROJECT和VERSION这两个信息
  2. PROJECT = "air780epm_WAN"
  3. VERSION = "1.0.5"
  4. dnsproxy = require("dnsproxy")
  5. dhcpsrv = require("dhcpsrv")
  6. httpplus = require("httpplus")
  7. gpio.setup(20, 1) -- 打开lan供电
  8. function eth_wan()
  9. sys.wait(3000)
  10. local result = spi.setup(
  11. 0,--spi id
  12. nil,
  13. 0,--CPHA
  14. 0,--CPOL
  15. 8,--数据宽度
  16. 25600000--,--频率
  17. -- spi.MSB,--高低位顺序 可选,默认高位在前
  18. -- spi.master,--主模式 可选,默认主
  19. -- spi.full--全双工 可选,默认全双工
  20. )
  21. log.info("main", "open",result)
  22. if result ~= 0 then--返回值为0,表示打开成功
  23. log.info("main", "spi open error",result)
  24. return
  25. end
  26. sys.wait(200)
  27. log.info("netdrv", "初始化WAN")
  28. netdrv.setup(socket.LWIP_ETH, netdrv.CH390, {spi=0,cs=8})
  29. sys.wait(100)
  30. netdrv.dhcp(socket.LWIP_ETH, true)
  31. log.info("netdrv", "以太网就绪")
  32. end
  33. sys.taskInit(function()
  34. sys.taskInit(eth_wan)
  35. sys.wait(1000)
  36. while 1 do
  37. sys.wait(1000)
  38. local result, ip, adapter = sys.waitUntil("IP_READY", 3000)
  39. log.info("ready?", result, ip, adapter)
  40. if adapter and adapter == socket.LWIP_ETH then
  41. break
  42. end
  43. end
  44. sys.wait(500)
  45. iperf.server(socket.LWIP_ETH)
  46. while 1 do
  47. sys.wait(6000)
  48. -- local code, headers, body = http.request("GET", "http://httpbin.air32.cn/bytes/4096", nil, nil, {adapter=socket.LWIP_ETH}).wait()
  49. local code, headers, body = http.request("GET", "http://www.baidu.com/", nil, nil, {adapter=socket.LWIP_ETH}).wait()
  50. log.info("http", code, headers, body and #body)
  51. log.info("lua", rtos.meminfo())
  52. log.info("sys", rtos.meminfo("sys"))
  53. end
  54. end)
  55. -- 用户代码已结束---------------------------------------------
  56. -- 结尾总是这一句
  57. sys.run()
  58. -- sys.run()之后后面不要加任何语句!!!!!