EC机器人实现毫秒级计时功能

EC机器人在JBI和LUA侧均未提供计时功能函数(JBI中的TIMER实现的是延时功能,程序需要等待)

可以通过调用lua的相关函数,实现计时功能。

注:LUA的os.time() 只能返回精度为s的时间粒度,若要实现毫秒级的及时,可以用采用如下代码


function WaitUntil(var, value)
    --local vtmp = 
    while get_global_variable(var) ~= value do
        sleep(0.008)
    end
end

local socket = require "socket"
-- 借助lua中的socket的gettime(),能获取毫秒级别的时间

while true do
    set_global_variable('B0',0)
    WaitUntil('B0',1)
    --等待变量B0为1,开始计时
    local start_time = socket.gettime()
    elite_print('start record time')
    WaitUntil('B0',0)
    --等待变量B0为0,停止计时
    local stop_time = socket.gettime()
    
    elite_print(stop_time-start_time)
end

运行效果

点击显示全文
赞同1
发表评论
分享

手机扫码分享
0
1.174K
收藏
举报
收起
登录
  • 密码登录
  • 验证码登录
还没有账号,立即注册
还没有账号,立即注册
注册
已有账号,立即登录
选择发帖板块
举报
请选择举报理由
举报
举报说明