etherforth_logo

Node 215

This node contains compressed templates for packets.

Source code

usb node 214 node 215
215 packet templates
setup 00 602 , 802D , 10 , 38024 ,
in00 04 702 , 8069 , 10 , 38029 ,
in01 08 702 , 8069 , 80A0 , 38029 ,
ack 0C 401 , 80D2 , 38024 ,
setc 0F F07 , 80C3 , 20000 , 12016 ,
9 , 100 , 0 , 0 , 3802C ,
setp 18 F07 , 80C3 , 20000 , 12016 ,
210B , 0 , 0 , 0 , 3802C ,
seti 21 F07 , 80C3 , 20000 , 12016 ,
210A , 0 , 0 , 0 , 3802C ,
setr 2A F07 , 80C3 , 20000 , 12016 ,
2109 , 2 , 0 , 100 , 3802C ,
led 33 804 , 804B , 20000 , 12016 ,
30002 , 3802C ,
out00 39 602 , 80E1 , 10 , 38024 , 3D

init right b! r--- ; 40

4 d 6 r 0 ether

Definitions

setup
SETUP token.
in00
In token to endpoint 0.
in01
In token to endpoint 1.
ack
Acknowledge.
setc
Set configuration 1.
setp
Set boot protocol.
seti
Set idle.
setr
Set report.
led
Turn CapsLock LED on.
out00
OUT token to endpoint 0.
init
Set B, and jump to RIGHT.

Description

These are templates for packets. Format used is the following:

0aabb
Byte aa is the number of bytes-1 or tokens-1 transmitted (corresponds to the loop parameter in node 214.)
Byte bb is the number of words-1 expanded from template (corresponds to the loop parameter in node 215.)
0xxyy
Byte xx is either the low byte of a 16-bit number or a single byte transfered first.
Byte yy is either the high byte of a 16-bit number or a single byte transfered second.
300zz
Single byte zz.
380cc
Address of code cc executed in node 214.
20000
This token makes node 115 stop executing word go and jump to RIGHT port.
120gg
Call a word at address gg in node 115 via RIGHT port execution.

These templates include everything including sync pattern and end-of-packet signal. In total 76 bytes/tokens are compressed into 42 + 15 words, i.e. 0.75 compress factor.