pyb --- ボードに関連する関数¶
警告
pyb モジュールは非推奨です。 新しいコードではクロスポートの machine モジュールを使用してください。こちらは MCU ファミリに関係なくすべての OpenMV Cam で同じ機能を提供しますが、pyb は STM32 ベースのボードにしか存在しません。pyb は古いスクリプトとの後方互換性のために残されており、新機能は追加されず、将来のリリースで削除される可能性があります。
pyb モジュールには、ボードに関連する STM32 固有の関数が含まれています。
その他の関数¶
- pyb.have_cdc() bool¶
USB がシリアルデバイスとして接続されている場合は True を、それ以外の場合は False を返します。
注釈
この関数は非推奨です。代わりに pyb.USB_VCP().isconnected() を使用してください。
- pyb.hid(data: Tuple[int, int, int, int]) None¶
4 要素のタプル(またはリスト)を受け取り、HID マウス移動イベントを通知するために USB ホスト(PC)に送信します。
注釈
この関数は非推奨です。代わりに
pyb.USB_HID.send()を使用してください。
- pyb.main(filename: str) None¶
boot.py の終了後に実行するメインスクリプトのファイル名を設定します。この関数が呼び出されない場合は、デフォルトのファイル main.py が実行されます。
この関数を呼び出すことに意味があるのは boot.py の中からのみです。
- pyb.mount(device: Any, mountpoint: str, *, readonly: bool = False, mkfs: bool = False) None¶
注釈
この関数は非推奨です。代わりに
vfs.mount()/vfs.umount()とvfs.AbstractBlockDev派生のブロックデバイスを使用してください。mountpointの下にブロックデバイスをマウントします。deviceはレガシーな pyb ブロックデバイスプロトコルを実装している必要があります(これも非推奨です。最新のインターフェースについてはvfs.AbstractBlockDevを参照してください)。メソッド
目的
readblocks(self, blocknum, buf)ブロック
blocknumから始まるbuf分のバイトをデバイスからコピーします。bufの長さは 512 の倍数です。writeblocks(self, blocknum, buf)(オプション)ブロック
blocknumから始まる位置にbufをデバイスに書き込みます。省略した場合、デバイスは読み取り専用でマウントされます。count(self)デバイス上の 512 バイトブロックの数を返します。
sync(self)(オプション)キャッシュされた書き込みをすべてフラッシュします。
mountpointはファイルシステムのルート内でデバイスをマウントするパスで、スラッシュで始まる必要があります。readonlyは読み取り専用のマウントを強制します。mkfsはファイルシステムが存在しない場合に新しいファイルシステムを作成します。
- pyb.usb_mode(modestr: str | None = None, port: int = -1, vid: int = 0xf055, pid: int = -1, msc: Tuple = (), hid: Tuple = pyb.hid_mouse, high_speed: bool = False) str | None¶
引数なしで呼び出された場合、現在の USB モードを文字列として返します。
modestr を指定して呼び出された場合、USB モードの設定を試みます。modestr に指定できる値は次のとおりです。
modestr
設定内容
NoneUSB を無効にします。
'VCP'VCP(仮想 COM ポート)のみ。
'MSC'MSC(USB マスストレージクラス)のみ。
'VCP+MSC'VCP と MSC。
'VCP+HID'VCP と HID(ヒューマンインターフェースデバイス)。
'VCP+MSC+HID'VCP、MSC、HID をまとめて。すべての OpenMV Cam でサポートされているわけではありません。
後方互換性のため、
'CDC'は'VCP'を意味するものとして解釈されます('CDC+MSC'および'CDC+HID'も同様です)。port パラメータは整数(0、1、...)であるべきで、ボードが複数のポートをサポートしている場合に使用する USB ポートを選択します。値 -1 はデフォルトまたは自動的に選択されたポートを使用します。
vid および pid パラメータでは、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 マウスに適した値が設定されます。また
pyb.hid_keyboard定数もあり、これは USB キーボードに適したタプルです。high_speed パラメータを
Trueに設定すると、ハードウェアがサポートしている場合に USB HS モードが有効になります。
定数¶
以下の 2 つの定数は、どちらも次の形式の既製の 5 要素タプルです。
(subclass, protocol, max_packet_size, polling_interval_ms, report_descriptor)
usb_mode() の hid 引数として渡すのに適しており、OpenMV Cam をホストに対して USB HID デバイスとして見せることができます。subclass = 1 は「ブートインターフェース」を意味し、protocol はブートデバイスクラスを選択します(1 = キーボード、2 = マウス)。5 番目の要素は、ホストがデバイスを列挙するときに使用される HID レポートディスクリプタを保持する bytes オブジェクトです。
- pyb.hid_mouse: tuple¶
相対的な X/Y 移動を持つ 3 ボタンのブートマウス用の組み込み済み HID ディスクリプタです。タプルは
(1, 2, 4, 8, <mouse report descriptor>)です。すなわち、ブートサブクラス、マウスプロトコル、4 バイトの入力レポート(ボタンマスク + X + Y + ホイール)で、8 ms ごとにポーリングされます。組み込みのレポートディスクリプタはpyb.USB_HID().send((buttons, dx, dy, wheel))で使用されるものです。
- pyb.hid_keyboard: tuple¶
USB ブートキーボード用の組み込み済み HID ディスクリプタです。タプルは
(1, 1, 8, 8, <keyboard report descriptor>)です。すなわち、ブートサブクラス、キーボードプロトコル、8 バイトの入力レポート(モディファイアバイト、予約済み 1 バイト、同時押し可能な 6 つのキーコード)で、8 ms ごとにポーリングされます。組み込みのレポートディスクリプタは標準の 8 バイト HID ブートキーボードレイアウトに一致するため、USB_HID.send()経由で送信するレポートは(modifiers, 0, key1, key2, key3, key4, key5, key6)の形式のbytesであるべきです。
クラス¶
- class ADC -- アナログ-デジタル変換
- class ADCAll -- すべてのADCチャンネルにアクセスする
- class CAN -- コントローラエリアネットワーク通信バス
- class DAC -- デジタル・アナログ変換
- class ExtInt -- 外部イベントで割り込むように I/O ピンを構成する
- class Flash -- 内蔵フラッシュストレージへのアクセス
- class I2C -- 2 線式シリアルプロトコル
- class LED -- オンボード LED
- class Pin -- I/O ピンの制御
- class PinAF -- ピンの代替機能
- class RTC -- リアルタイムクロック
- class Servo -- 3 線式ホビーサーボドライバ
- class SPI -- コントローラ駆動のシリアルプロトコル
- class Timer -- 内部タイマーを制御する
- class TimerChannel -- タイマー用のチャンネルを設定する
- class UART -- 全二重シリアル通信バス
- class USB_HID -- USB ヒューマンインターフェイスデバイス(HID)
- class USB_VCP -- USB 仮想通信ポート