update( ) first pauses for a millisecond to let things settle a bit. Then
we request six bytes from the Nunchuk, calling Wire.requestFrom( ). This
does not actually return the bytes, but we have to read them in a loop
and fill our buffer. Wire.available( ) returns the number of bytes that are
available on the data bus, and Wire.receive( ) returns the current byte.
We cannot use the bytes we get from the Nunchuk directly, because the
controller obfuscates them a bit. “Decrypting” them is easy as you can
see in decode_byte( ).