usbcore package¶
Subpackages¶
- usbcore.cpu package
- usbcore.rx package
- Submodules
- usbcore.rx.bitstuff module
- usbcore.rx.bitstuff_test module
- usbcore.rx.clock module
- usbcore.rx.clock_test module
- usbcore.rx.crc module
- usbcore.rx.crc_test module
- usbcore.rx.detect module
- usbcore.rx.detect_test module
- usbcore.rx.nrzi module
- usbcore.rx.nrzi_test module
- usbcore.rx.pipeline module
- usbcore.rx.pipeline_test module
- usbcore.rx.shifter module
- usbcore.rx.shifter_test module
- Module contents
- usbcore.sm package
- usbcore.tx package
- Submodules
- usbcore.tx.bitstuff module
- usbcore.tx.bitstuff_test module
- usbcore.tx.crc module
- usbcore.tx.crc_test module
- usbcore.tx.nrzi module
- usbcore.tx.nrzi_test module
- usbcore.tx.pipeline module
- usbcore.tx.pipeline_test module
- usbcore.tx.shifter module
- usbcore.tx.shifter_test module
- usbcore.tx.tester module
- Module contents
- usbcore.utils package
Submodules¶
usbcore.endpoint module¶
usbcore.io module¶
usbcore.pid module¶
-
class
usbcore.pid.
PID
[source]¶ Bases:
enum.IntEnum
>>> bin(PID.SETUP.value) '0b1101' >>> PID.SETUP.encode() 'KKKKJJJJJJJJJJJJKKKKKKKKJJJJKKKK'
>>> for p in PID: ... print("%-10s" % p, "%x" % p.value, "%02x" % p.byte(), p.encode(1)) PID.SETUP d 2d KJJJKKJK PID.OUT 1 e1 KJKJKKKK PID.IN 9 69 KJKKJJJK PID.SOF 5 a5 KJJKJJKK PID.DATA0 3 c3 KKJKJKKK PID.DATA1 b 4b KKJJKJJK PID.DATA2 7 87 KKKJKJKK PID.MDATA f 0f KKKKJKJK PID.ACK 2 d2 JJKJJKKK PID.NAK a 5a JJKKKJJK PID.STALL e 1e JJJJJKJK PID.NYET 6 96 JJJKKJKK PID.PRE c 3c JKKKKKJK PID.SPLIT 8 78 JKJJJJJK PID.PING 4 b4 JKKJJJKK PID.RESERVED 0 f0 JKJKKKKK
-
SETUP
= 13¶
-
OUT
= 1¶
-
IN
= 9¶
-
SOF
= 5¶
-
DATA0
= 3¶
-
DATA1
= 11¶
-
DATA2
= 7¶
-
MDATA
= 15¶
-
ACK
= 2¶
-
NAK
= 10¶
-
STALL
= 14¶
-
NYET
= 6¶
-
PRE
= 12¶
-
ERR
= 12¶
-
SPLIT
= 8¶
-
PING
= 4¶
-
RESERVED
= 0¶
-
-
class
usbcore.pid.
PIDTypes
[source]¶ Bases:
enum.IntEnum
>>> # Token PIDs >>> PIDTypes.token(PID.SETUP), PIDTypes.data(PID.SETUP), PIDTypes.handshake(PID.SETUP) (True, False, False) >>> PIDTypes.token(PID.OUT), PIDTypes.data(PID.OUT), PIDTypes.handshake(PID.OUT) (True, False, False) >>> PIDTypes.token(PID.IN), PIDTypes.data(PID.IN), PIDTypes.handshake(PID.IN) (True, False, False) >>> PIDTypes.token(PID.SOF), PIDTypes.data(PID.SOF), PIDTypes.handshake(PID.SOF) (True, False, False)
>>> # Data PIDs >>> PIDTypes.token(PID.DATA0), PIDTypes.data(PID.DATA0), PIDTypes.handshake(PID.DATA0) (False, True, False) >>> PIDTypes.token(PID.DATA1), PIDTypes.data(PID.DATA1), PIDTypes.handshake(PID.DATA1) (False, True, False) >>> # USB2.0 Data PIDs >>> PIDTypes.token(PID.DATA2), PIDTypes.data(PID.DATA2), PIDTypes.handshake(PID.DATA2) (False, True, False) >>> PIDTypes.token(PID.MDATA), PIDTypes.data(PID.MDATA), PIDTypes.handshake(PID.MDATA) (False, True, False)
>>> # Handshake PIDs >>> PIDTypes.token(PID.ACK), PIDTypes.data(PID.ACK), PIDTypes.handshake(PID.ACK) (False, False, True) >>> PIDTypes.token(PID.NAK), PIDTypes.data(PID.NAK), PIDTypes.handshake(PID.NAK) (False, False, True) >>> PIDTypes.token(PID.STALL), PIDTypes.data(PID.STALL), PIDTypes.handshake(PID.STALL) (False, False, True) >>> # USB2.0 Handshake PIDs >>> PIDTypes.token(PID.NYET), PIDTypes.data(PID.NYET), PIDTypes.handshake(PID.NYET) (False, False, True)
>>> # Special PIDs >>> PIDTypes.token(PID.PRE), PIDTypes.data(PID.PRE), PIDTypes.handshake(PID.PRE) (False, False, False)
-
TOKEN
= 1¶
-
DATA
= 3¶
-
HANDSHAKE
= 2¶
-
SPECIAL
= 0¶
-
TYPE_MASK
= 3¶
-