ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
22 декабря
1288888 Топик полностью
evgeniy1294 (03.03.2023 11:45, просмотров: 627) ответил Nikolay_Po на Ура! Собралось под Debian 11. Теперь вопрос по эксплуатации: а есть возможность использовать в скриптах таймеры? Как?
В целом, теперь можно выполнить программу максимум. Выглядеть будет примерно следующим образом: 
timer = QTimer()

function request()
    local bt = {0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39} -- Какой-то запрос, заполнить своими данными
    seance:send(bt) -- Отправка данных
end

function start()
    log:print("Seance started")
    timer:setPreciseTimerType() -- Установка режима высокой точности таймера
    timer:connect(request)      -- Коннект сигнала (можно считать установкой колбэка)
    timer:startInterval(100)    -- Запуск таймера с указанным в [мс] интервалом
end

function stop()
    timer:stop()
    log:print("Seance stoped")
end

function afterReceive(msg)
    -- Обработчик afterReceive служит для обработки принятых данных. Массивы в Lua начинаются с 1.

-- Собираем uint32_t из трех последовательных байт (LE), старший оставляем равным 0.

    local bt = {msg[1], msg[2], msg[3], 0} 
    value_1 = utils:tableToWord(bt)

-- Собираем второе значение uint32_t из трех последовательных байт, старший оставляем равным 0.

    bt = {msg[4], msg[5], msg[6], 0} 
    value_2 = utils:tableToWord(bt)

    -- Формируем текстовый вывод. Символ новой строки '\n' работает
    local str = "Value 1: "..value_1.."\n".."Value 2: " .. value_2
    log:print(str)

   -- Каждый вызов log:print() формирует новое событие в логе. Можно вызывать многократно
end