PICO-OSLUA 5.4PICO.*
LUA API_
pico-os (Raspberry Pi Pico 2 W向け自作タッチGUI OS) のLuaアプリ開発者向けAPIリファレンス
pico-os は Raspberry Pi Pico 2 W (RP2350) 上で動く自作タッチGUI OSです。SDカードに Lua スクリプトを置くだけで、ランチャから起動できるタッチGUIアプリを作れます。
このサイトは、pico.* として公開されている Lua API の使い方とリファレンス、実際に動くサンプルをまとめたものです。Luaでアプリを書く人に必要なことだけを載せています(OS本体の作りは リポジトリ の docs/ を見てください)。
早見表
はじめに
最初のLuaアプリを作ってランチャに登録するまで
ガイド
ウィジェット・描画・保存・通信の使い方を目的ごとに
API リファレンス
pico.* 全関数の引数と戻り値
プロパティ対応表
ウィジェットごとに get/set できる値の一覧
サンプル
OSに入っているLuaアプリの実例
app.cfg
アプリの名前・アイコン・権限の書き方
最小のサンプル
ボタンを押すとカウンタが増えるだけの、最小構成のLuaアプリです。
local x, y, w, h = pico.content_rect()
local count = 0
local label = pico.create("Label")
pico.set(label, "x", x + 10)
pico.set(label, "y", y + 10)
pico.set(label, "text", "count: 0")
local button = pico.create("Button")
pico.set(button, "x", x + 10)
pico.set(button, "y", y + 50)
pico.set(button, "w", 80)
pico.set(button, "h", 30)
pico.set(button, "text", "+1")
pico.on(button, "press_start", function()
count = count + 1
pico.set(label, "text", "count: " .. count)
end)この文書の表記
- 関数シグネチャは
pico.関数名(引数...) -> 戻り値の形式で示します。角括弧[ ]は省略可能な引数です。 - ウィジェットは生成すると32bit整数の WidgetId が返ります。以降の操作はすべてこのIDで指定します。
- プロパティ名・イベント名・ウィジェット種別名はすべて文字列で指定します(大文字小文字は区別されます)。
- コード例は実機・PCビルド両対応です。
/lua/apps/<アプリ名>/main.luaに置くとランチャへ自動登録されます。