pyb — karta ilişkin fonksiyonlar#

Uyarı

pyb modülü kullanımdan kaldırılmıştır. Yeni kodlar için bağlantı noktasından bağımsız machine modülünü kullanın – bu modül, MCU ailesinden bağımsız olarak her OpenMV Cam üzerinde aynı işlevselliği sağlar; oysa pyb yalnızca STM32 tabanlı kartlarda bulunur. pyb, eski betiklerle geriye dönük uyumluluk için korunmaktadır; yeni özellikler eklenmeyecektir ve gelecek bir sürümde kaldırılabilir.

pyb modülü, karta ilişkin STM32’ye özgü fonksiyonlar içerir.

Çeşitli fonksiyonlar#

pyb.have_cdc() bool#

USB bir seri aygıt olarak bağlıysa True, aksi takdirde False döndürür.

Not

Bu fonksiyon kullanımdan kaldırılmıştır. Bunun yerine pyb.USB_VCP().isconnected() kullanın.

pyb.hid(data: Tuple[int, int, int, int]) None#

Bir 4’lü demet (veya liste) alır ve bir HID fare-hareketi olayı bildirmek için onu USB ana bilgisayarına (PC’ye) gönderir.

Not

Bu fonksiyon kullanımdan kaldırılmıştır. Bunun yerine pyb.USB_HID.send() kullanın.

pyb.info(dump_alloc_table: bool | None = None) None#

Kart hakkında çok sayıda bilgi yazdırır.

pyb.main(filename: str) None#

boot.py tamamlandıktan sonra çalıştırılacak ana betiğin dosya adını ayarlar. Bu fonksiyon çağrılmazsa varsayılan dosya main.py çalıştırılır.

Bu fonksiyonu çağırmak yalnızca boot.py içinden anlamlıdır.

pyb.mount(device: Any, mountpoint: str, *, readonly: bool = False, mkfs: bool = False) None#

Not

Bu fonksiyon kullanımdan kaldırılmıştır. Bunun yerine vfs.mount() / vfs.umount() ve vfs.AbstractBlockDev türevi bir blok aygıtı kullanın.

Bir blok aygıtını mountpoint altına bağlar. device, eski pyb blok-aygıtı protokolünü uygulamalıdır (bu da kullanımdan kaldırılmıştır – modern arayüz için bkz. vfs.AbstractBlockDev):

Yöntem

Amaç

readblocks(self, blocknum, buf)

blocknum bloğundan başlayarak aygıttan buf boyutu kadar bayt kopyalar. buf uzunluğu 512’nin katıdır.

writeblocks(self, blocknum, buf) (isteğe bağlı)

blocknum bloğundan başlayarak aygıta buf yazar. Belirtilmezse, aygıt salt okunur olarak bağlanır.

count(self)

Aygıttaki 512 baytlık blokların sayısını döndürür.

sync(self) (isteğe bağlı)

Önbelleğe alınmış tüm yazma işlemlerini boşaltır.

mountpoint, aygıtın bağlanacağı dosya sisteminin kökündeki yoldur; bir bölü (forward slash) ile başlamalıdır. readonly salt okunur bir bağlamayı zorlar. mkfs, mevcut değilse yeni bir dosya sistemi oluşturur.

pyb.repl_uart(uart: UART | None = None) UART | None#

REPL’in yinelendiği UART nesnesini alır veya ayarlar.

pyb.rng() int#

30-bit donanım tarafından üretilen bir rastgele sayı döndürür.

pyb.sync() None#

Tüm dosya sistemlerini eşitler.

pyb.unique_id() bytes#

MCU’nun benzersiz kimliği olan 12 baytlık (96 bit) bir dize döndürür.

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#

Argümansız çağrılırsa, mevcut USB modunu bir dize olarak döndürür.

modestr sağlanarak çağrılırsa, USB modunu yapılandırmaya çalışır. modestr için aşağıdaki değerler anlaşılır:

modestr

Yapılandırır

None

USB’yi devre dışı bırakır.

'VCP'

Yalnızca VCP (Sanal COM Bağlantı Noktası).

'MSC'

Yalnızca MSC (USB yığın depolama sınıfı).

'VCP+MSC'

VCP ve MSC.

'VCP+HID'

VCP ve HID (insan arayüz aygıtı).

'VCP+MSC+HID'

VCP, MSC ve HID birlikte. Her OpenMV Cam’de desteklenmez.

Geriye dönük uyumluluk için, 'CDC' 'VCP' anlamına gelecek şekilde anlaşılır ('CDC+MSC' ve 'CDC+HID' için de benzer şekilde).

port parametresi bir tamsayı (0, 1, …) olmalıdır ve kart birden fazla bağlantı noktasını destekliyorsa hangi USB bağlantı noktasının kullanılacağını seçer. -1 değeri varsayılan veya otomatik olarak seçilen bağlantı noktasını kullanır.

vid ve pid parametreleri VID (üretici kimliği) ve PID (ürün kimliği) belirtmenize olanak tanır. -1 pid değeri, modestr değerine göre bir PID seçer.

MSC modu etkinleştirilirken, msc parametresi yığın depolama arayüzünde açığa çıkarılacak SCSI LUN’ların bir listesini belirtmek için kullanılabilir. Örneğin msc=(pyb.Flash(), pyb.SDCard()).

HID modu etkinleştirilirken, hid anahtar kelime parametresini geçirerek HID ayrıntılarını da belirtebilirsiniz. Bir (alt sınıf, protokol, maksimum paket uzunluğu, yoklama aralığı, rapor tanımlayıcısı) demeti alır. Varsayılan olarak bir USB fare için uygun değerleri ayarlar. Ayrıca, bir USB klavye için uygun bir demet olan pyb.hid_keyboard sabiti de vardır.

high_speed parametresi True olarak ayarlandığında, donanım tarafından destekleniyorsa USB HS modunu etkinleştirir.

Sabitler#

Aşağıdaki sabitlerin her ikisi de şu biçimde hazır 5’li demetlerdir:

(subclass, protocol, max_packet_size, polling_interval_ms, report_descriptor)

OpenMV Cam’in ana bilgisayara bir USB HID aygıtı olarak görünmesini sağlamak için usb_mode() fonksiyonunun hid argümanı olarak geçirilmeye uygundur. subclass = 1 “boot interface” anlamına gelir ve protocol boot aygıt sınıfını seçer (1 = klavye, 2 = fare). Beşinci öğe, ana bilgisayar aygıtı numaralandırdığında kullanılan HID rapor tanımlayıcısını tutan bir bytes nesnesidir.

pyb.hid_mouse: tuple#

Göreceli X/Y hareketine sahip 3 düğmeli bir boot faresi için önceden oluşturulmuş HID tanımlayıcısı. Demet (1, 2, 4, 8, <mouse report descriptor>) biçimindedir: boot alt sınıfı, fare protokolü, 4 baytlık giriş raporları (düğme maskesi + X + Y + tekerlek), her 8 ms’de bir yoklanır. Yerleşik rapor tanımlayıcısı, pyb.USB_HID().send((buttons, dx, dy, wheel)) tarafından kullanılan tanımlayıcıdır.

pyb.hid_keyboard: tuple#

Bir USB boot klavyesi için önceden oluşturulmuş HID tanımlayıcısı. Demet (1, 1, 8, 8, <keyboard report descriptor>) biçimindedir: boot alt sınıfı, klavye protokolü, 8 baytlık giriş raporları (değiştirici bayt, bir ayrılmış bayt, altı eşzamanlı tuş kodu), her 8 ms’de bir yoklanır. Yerleşik rapor tanımlayıcısı standart 8 baytlık HID boot-klavye düzeniyle eşleşir, bu nedenle USB_HID.send() aracılığıyla gönderilen rapor (modifiers, 0, key1, key2, key3, key4, key5, key6) biçiminde bir bytes olmalıdır.

Sınıflar#