luaスクリプトにsleepを入れたい

公開日時

Keybow KitのショートカットでPS4とDBDを起動するようにしたついでに、ディスプレイのオンオフもできるようにした。

その際に、ディスプレイ起動後にHDMIの切り替えをしたかったので数秒待ってから次の赤外線を送信するようにsleep処理を入れる必要があったので方法を調べた。

上記記事にあるようにosのsleepを呼び出すのが一番手軽だったので、この方法で対応した。

function sleep(n)
    os.execute("sleep " .. tonumber(n))
end

function handle_minikey_02(pressed)
    keybow.set_key("2", pressed)
    if pressed then
        keybow.set_pixel(2, 0, 0, 255)
        os.execute("cd /home/pi/ps4 && sudo -u pi npx ps4-waker start CUSA08444")
        -- os.execute("display onの赤外線送信")
        sleep(15)
        -- os.execute("hdmi切り替えの赤外線送信")
    else
        keybow.set_pixel(2, 0, 0, 0)
    end
end

Related #raspberry pi