I Get info
0x10 bytes response:
uint8: protocol version
protocol version 2 has an implicit external clock if chip count is 1
char[8]: product name
if "DRILLBIT", fill in "Thumb" or "Eight" appropriately
uint32le: serial number
uint8: chip count
uint16le: capability bitmask
0x0001 Temperature sensor
0x0002 External clock
R Reset*
C Configure
Request followed by 6 bytes:
1 byte: core voltage config
0x01 850mV
uint8: clock level
uint8: "clock_div2"
uint8: use external clock? 0 or 1
uint16le: external clock frequency
1 byte response: 'C'
T Get temperature
2 byte response:
uint16le: Temperature in decidegrees celcius
E Get completed work
Response:
uint32le: number of works finished (max 1024)
For each work, 68 bytes:
uint16le: chip id
uint8: number of nonces found (max 16)
uint8: non-zero if chip idle, otherwise 0 if busy
uint32le[16]: nonces
W Send work to chip
Request followed by 46 bytes:
uint16le: chip id
uint256le: midstate
uint8[12]: data tail
1 byte response: 'W'
Is bfgminer live with Drillbit support yet?