Node 114
These are transactions used in this USB controller. There are simple packets alive, sof, and rst. Complex packets are extracted with pckt.
Source code
114 transactions
alive 00 20015 ! ;
sof 02 2001B ! ;
rst 04 20020 ! ;
pckt 06 n !b @b for @b ! unext ;
ack 08 C pckt ;
in00 0A 4 pckt ;
in01 0C 8 pckt ;
setc 0E 0 pckt F pckt ;
setp 12 0 pckt 18 pckt ;
seti 16 0 pckt 21 pckt ;
setr 1A 0 pckt 2A pckt ;
led 1E 39 pckt 33 pckt ;
wait 22 49 for alive next ;
go 27 20035 ! ; 29
init right a! up b! -d-- ; 2E
5 d 5 r 0 ether
alive 00 20015 ! ;
sof 02 2001B ! ;
rst 04 20020 ! ;
pckt 06 n !b @b for @b ! unext ;
ack 08 C pckt ;
in00 0A 4 pckt ;
in01 0C 8 pckt ;
setc 0E 0 pckt F pckt ;
setp 12 0 pckt 18 pckt ;
seti 16 0 pckt 21 pckt ;
setr 1A 0 pckt 2A pckt ;
led 1E 39 pckt 33 pckt ;
wait 22 49 for alive next ;
go 27 20035 ! ; 29
init right a! up b! -d-- ; 2E
5 d 5 r 0 ether
Definitions
- alive
- Call alive in 216.
- sof
- Call sof in 216.
- rst
- Call rst in 216.
- pckt
- Send address of the packet to node 214, read back number of words, then read those words from 214 and send them to 115
- ack
- Send ACK token.
- in00
- IN token to endpoint 0.
- in01
- IN token to endpoint 1.
- setc
- Send Set configuration 1.
- setp
- Send Set boot protocol.
- seti
- Send Set_idle request.
- setr
- Send Set_report request.
- led
- Send OUT to endpoint 0 with one byte of data to turn CapsLock LED on.
- wait
- Send 8 keep alives - used between IN ENDP 1.
- go
- Start chain.
- init
- Set registers A and B, and jump to DOWN.
Description
This node contains list of transactions the USB controller can initiate. They are either simple actions (alive, sof, and rst), which are sent right away, or they are sent as one or more packets. In this case we use word pckt to get packet content from node 214 and send it. Only transactions necessary to initialize a keyboard in the boot protocol, and request reports from the keyboard are implemented.