pyb — 보드 관련 함수¶
경고
pyb 모듈은 더 이상 사용되지 않습니다(deprecated). 새 코드에서는 크로스 포트(cross-port) 모듈인 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개 요소로 구성된 튜플(또는 리스트)을 받아 USB 호스트(PC)로 전송하여 HID 마우스 이동 이벤트를 신호로 보냅니다.
참고
이 함수는 더 이상 사용되지 않습니다. 대신
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(Virtual COM Port)만 사용합니다.
'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 마우스에 적합한 값을 설정합니다. 또한 USB 키보드에 적합한 튜플인
pyb.hid_keyboard상수도 있습니다.high_speed 매개변수를
True로 설정하면 하드웨어가 지원하는 경우 USB HS 모드가 활성화됩니다.
상수¶
아래의 두 상수는 모두 다음 형식의 미리 만들어진 5개 요소 튜플입니다
(subclass, protocol, max_packet_size, polling_interval_ms, report_descriptor)
이는 OpenMV Cam이 호스트에 USB HID 장치로 표시되도록 usb_mode() 의 hid 인수로 전달하기에 적합합니다. subclass = 1 은 “부트 인터페이스”를 의미하며 protocol 은 부트 장치 클래스를 선택합니다(1 = 키보드, 2 = 마우스). 다섯 번째 요소는 호스트가 장치를 열거할 때 사용하는 HID 리포트 디스크립터를 담은 bytes 객체입니다.
- pyb.hid_mouse: tuple¶
상대 X/Y 이동을 지원하는 3버튼 부트 마우스용 미리 만들어진 HID 디스크립터입니다. 튜플은
(1, 2, 4, 8, <mouse report descriptor>)입니다: 부트 서브클래스, 마우스 프로토콜, 4바이트 입력 리포트(버튼 마스크 + X + Y + 휠), 8ms마다 폴링. 내장된 리포트 디스크립터는pyb.USB_HID().send((buttons, dx, dy, wheel))에서 사용하는 것과 동일합니다.
- pyb.hid_keyboard: tuple¶
USB 부트 키보드용 미리 만들어진 HID 디스크립터입니다. 튜플은
(1, 1, 8, 8, <keyboard report descriptor>)입니다: 부트 서브클래스, 키보드 프로토콜, 8바이트 입력 리포트(수정자 바이트, 예약된 바이트 1개, 동시 키 코드 6개), 8ms마다 폴링. 내장된 리포트 디스크립터는 표준 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 가상 통신 포트