pyb --- pyboard 関連の関数

pyb は puboard に固有の関数を提供します(訳注: 元々は pyboard 用ですが、似たアーキテクチャ、特に STM32 系の MCU を載せたボードではサポートされていることが多いです)。

その他の関数

pyb.have_cdc()

USB がシリアルデバイスとして接続されていれば True を、そうでなければ False を返します。

注釈

この関数は非推奨です。代わりに pyb.USB_VCP().isconnected() を使ってください。

pyb.hid((buttons, x, y, z))

4項目のタプル(またはリスト)を取り、それを USB ホスト(PC)に送信して HID マウスモーションイベントを通知します。

注釈

この関数は非推奨です。代わりに pyb.USB_HID.send() を使ってください。

pyb.info([dump_alloc_table])

ボードについてのたくさんの情報を表示します。

pyb.main(filename)

boot.py が完了した後に実行するメインスクリプトのファイル名を設定します。この関数が呼び出されないと、デフォルトのファイル main.py が実行されます。

boot.py の中からこの関数を呼び出すことだけが理にかなっています。

pyb.mount(device, mountpoint, *, readonly=False, mkfs=False)

注釈

この関数は非推奨です。デバイスのマウントとマウント解除には、代わりに os.mount()os.umount() を使ってください。

ブロックデバイスをマウントしてファイルシステムの一部として利用できるようにします。 device はブロックプロトコルを提供するオブジェクトでなければなりません。(以下も非推奨です。ブロックデバイスを作成する正しい方法については os.AbstractBlockDev を参照してください。)

  • readblocks(self, blocknum, buf)
  • writeblocks(self, blocknum, buf) (オプション)
  • count(self)
  • sync(self) (オプション)

readblockswriteblocksbuf とブロックデバイスの間でデータをコピーするもので、デバイスのブロック番号 blocknum から始まります。 buf は 512 の倍数の長さを持つ bytearray です。 writeblocks が定義されていなければ、デバイスは読み取り専用でマウントされます。これら2つの関数の戻り値は無視されます。

count はデバイスで利用可能なブロック数を返します。sync が実装されている場合、この関数はデバイス上のデータを同期します。

パラメータ mountpoint は、デバイスをマウントするためのファイルシステムのルート内の場所です。それはスラッシュ記号で始まらなければなりません。

readonlyTrue であれば、デバイスは読み取り専用でマウントされ、それ以外の場合は、読み書きができるようマウントされます。

mkfsTrue である場合、ファイルシステムが存在しない場合は、新しいファイルシステムが作成されます。

pyb.repl_uart(uart)

REPL が繰り返される UART オブジェクトを取得または設定します。

pyb.rng()

30ビットのハードウェア生成乱数を返します。

pyb.sync()

すべてのファイルシステムを同期します。

pyb.unique_id()

MCU の一意な ID である12バイト(96ビット)の文字列を返します。

pyb.usb_mode([modestr, ]port=-1, vid=0xf055, pid=-1, msc=(), hid=pyb.hid_mouse, high_speed=False)

引数なしで呼び出された場合は、現在の USB モードを文字列として返します。

modestr を指定して呼び出した場合、USB モードの設定を試みます。 modestr の値には次のものがあります:

  • None: USB を無効化
  • 'VCP': VCP (仮想 COM ポート)インタフェースを有効化
  • 'MSC': MSC (マスストレージデバイスクラス)インタフェースを有効化
  • 'VCP+MSC': VCP と MSC を有効化
  • 'VCP+HID': VCP と HID (ヒューマンインタフェースデバイス)を有効化
  • 'VCP+MSC+HID': enabled with VCP, MSC and HID (only available on PYBD boards)

後方互換性のために、 'CDC''VCP' を意味すると解釈されます('CDC+MSC''CDC+HID' も同様です)。

port パラメータには整数(0, 1, ...)を指定し、ボードが複数の USB ポートをサポートしている場合に使う USB ポートを選択します。値が -1 である場合は、デフォルトまたは自動的に選択された USB ポートを使います。

vidpid パラメータは、VID (ベンダID)と PID (プロダクトID)を指定します。 pid の値が -1 である場合は modestr の値に基づいて PID を選択します。

MSC モードを有効にする場合、 msc パラメーターを使ってマスストレージインターフェイスで公開する SCSI LUN のリストを指定できます。たとえば msc=(pyb.Flash(), pyb.SDCard()) と指定します。

HID モードを有効にする場合、 hid キーワードパラメータを渡して HID の詳細を指定することもできます。それは (subclass, protocol, max packet length, polling interval, report descriptor) のタプルを引数に取ります。デフォルトでは USB マウスに適切な値を設定します。USB キーボードに適したタプルである pyb.hid_keyboard 定数もあります。

high_speed パラメータを True に設定すると、ハードウェアでサポートされていれば USB HS モードが有効になります。

定数

pyb.hid_mouse
pyb.hid_keyboard

(サブクラス, プロトコル, 最大パケット長, ポーリング間隔, レポートデスクリプタ) のタプルで、USB マウスやキーボードに適切な値を設定するためのもの。