Skip to content

🛠功能强大的串口工具。支持Lua自动化处理、串口调试、串口曲线

License

Notifications You must be signed in to change notification settings

mt6595/llcom-concise

 
 

Repository files navigation

LLCOM

icon

Build status MIT code-size

A serial port tool that can run Lua scripts, it can increase your work efficiency.

This tool currently only supports Chinese and English.

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)

screen1 screen2 screen3

Lua 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

About

🛠功能强大的串口工具。支持Lua自动化处理、串口调试、串口曲线

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 49.3%
  • Lua 47.1%
  • HTML 3.6%