53 Star 495 Fork 151

晨旭 / llcom

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README_EN.md 4.21 KB
一键复制 编辑 原始数据 按行查看 历史
晨旭 提交于 2022-07-21 15:45 . update: readme可以改改了

LLCOM

icon

Build status MIT code-size

A serial port debugger tool, with lua script.

this tool is only Chinese and English now, you can help me to translate, thanks!

Download

Get it from Microsoft store:

English badge

Portable exe version: GitHub

Appveyor snapshot version: Appveyor Artifacts

Functions

  • Basic functions of serial port debugger tools.
  • The log is clear with two colors, display both HEX values and strings at same time.
  • Auto save serial and lua script logs, with time stamp.
  • Auto reconnect serial port after disconnected.
  • Data you want to send can be processed with your own Lua scripts.
  • Quick send bar on the right.
  • Lua scripts can be run independently with timer and co-process task features.(Based on LUAT TASK)
  • TCP, UDP, SSL test server and client. Also support IPV6.
  • mqtt client test
  • Encoding converter
  • Garbled code fix
  • monitor serial data which send or received by other software

screenEN screen3 screen2

features' exemples

Use Lua script process data you want to send

  1. end with "\r\n"
return uartData.."\r\n"
  1. send HEX values
return uartData:fromHex()

this script can change 30313233 to 0123.

  1. another script example
json = require("JSON")
t = uartData:split(",")
return json:encode({
    key1 = t[1],
    key2 = t[2],
    key3 = t[3],
})

this script can change a,b,c to {"key1":"a","key2":"b","key3":"c"}.

these scripts also work with Quick send bar

independent script auto process uart sand and receive

you can run your own Lua script on the right, such as llcom's example:

--register serial port receiver function
uartReceive = function (data)
    log.info("uartReceive",data)
    sys.publish("UART",data)--publish message
end

--create a task, wait for message
sys.taskInit(function()
    while true do
        local _,udata = sys.waitUntil("UART")--wait for message
        log.info("task waitUntil",udata)
        local sendResult = apiSendUartData("ok!")--send uart data
        log.info("uart send",sendResult)
    end
end)

--reate a task, sleep 1000ms and loop
sys.taskInit(function()
    while true do
        sys.wait(1000)--wait 1000ms
        log.info("task wait",os.time())
    end
end)

--1000ms loop timer
sys.timerLoopStart(log.info,1000,"timer test")

you alse can use xlua to use C# codes

request = CS.System.Net.WebRequest.Create("http://example.com")
request.ContentType = "text/html;charset=UTF-8";
request.Timeout = 5000;
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36 Vivaldi/2.2.1388.37";

response = request:GetResponse():GetResponseStream()

myStreamReader = CS.System.IO.StreamReader(response, CS.System.Text.Encoding.UTF8);

print(myStreamReader:ReadToEnd())--get body

myStreamReader:Close()
response:Close()

you can make your debug automatic

api document (in Chinese)

you can click here

Known bugs and functions to be added

  • bug: SerialPort The Requested Resource is in Use(.net's bug)(fixed #2f26e68)

Special Thanks

icon-resharper

C#
1
https://gitee.com/chenxuuu/llcom.git
git@gitee.com:chenxuuu/llcom.git
chenxuuu
llcom
llcom
master

搜索帮助