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.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()vevfs.AbstractBlockDevtürevi bir blok aygıtı kullanın.Bir blok aygıtını
mountpointaltı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)blocknumbloğundan başlayarak aygıttanbufboyutu kadar bayt kopyalar.bufuzunluğu 512’nin katıdır.writeblocks(self, blocknum, buf)(isteğe bağlı)blocknumbloğundan başlayarak aygıtabufyazar. 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.readonlysalt 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.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
NoneUSB’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_keyboardsabiti de vardır.high_speed parametresi
Trueolarak 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 nedenleUSB_HID.send()aracılığıyla gönderilen rapor(modifiers, 0, key1, key2, key3, key4, key5, key6)biçiminde birbytesolmalıdır.
Sınıflar¶
- class ADC – analogdan dijitale dönüşüm
- class ADCAll – tüm ADC kanallarına erişim
- class CAN – denetleyici alan ağı (CAN) iletişim veri yolu
- class DAC – dijitalden analoğa dönüştürme
- class ExtInt – I/O pinlerini harici olaylarda kesme oluşturacak şekilde yapılandırma
- class Flash – yerleşik flash belleğe erişim
- class I2C – iki telli bir seri protokol
- class LED – yerleşik LED
- class Pin – I/O pinlerini denetleme
- class PinAF – pin alternatif işlevleri
- class RTC – gerçek zamanlı saat
- class Servo – 3 telli hobi servo sürücüsü
- class SPI – denetleyici tarafından sürülen seri protokol
- class Timer – dahili zamanlayıcıları kontrol etme
- class TimerChannel – bir zamanlayıcı için kanal kurma
- class UART – çift yönlü (duplex) seri haberleşme veri yolu
- class USB_HID – USB İnsan Arabirim Aygıtı (HID)
- class USB_VCP – USB sanal iletişim portu