Test of basic packet assembly works: reading bytes from the USB into a buffer, generating the FEC code, etc...
For now, it sends the packet back out of the USB for testing.
Still refining the packet structure somewhat.
The beginnings of passing packets to the transceiver library seems to be working
For now, only use 0xBD in the type field of the packet.
Disabled the hardware SPI peripheral.  There was some weird thing that was preventing system initialization.  It worked fine when the logic analyzer was connected, but not otherwise.  This is something to look into in the future.
Also, changed interrupt pin.  This is only for use with the AT90USBKey board, as apparently INT4 is mapped to Pin D3 rather than Pin C7.
Got alternating, ones and zeros transmitting successfully.  Packet-based transmission still doesn't work, though.
Messed around with the init sequence a bit to try and nail-down the SPI problem.
Added some basic code to set different transmission modes (alternating, ones and zeros) for testing.
An error cropped up in the hardware file.  The AT90USBKey needs the int4 pin to be Port E4.  Also, corrected the FSEL definition
I think I've got the support for the new packet format implemented.
Added conditional defines to support the USBKey board and the beta bored.
I think I've got commented-out defines for the beta board
Added all the new files to the project.
Made minor fixes to various arithmetic operations.  The packet output was verified using a logic analyzer to be what is expected.
Added some defined to the header that contain the expected sizes for the encode and decode functions.  These should also help when calculating the pad field
Fixed an omission in the packet assembly function that would set the appropriate value for the pad field.  Without this, random locations in memory would be used in the calculation of the ECC.
Added a main loop useful for generating an endless stream of valid packets, one per second.
I think this is a correct modification of Phil Karn's reed-solomon code optimized for the AVR.  Really, though, I just made the constant  arrays PROGMEM to save SRAM space.
Trying a yet smaller payload length
Added the hardware definitions for the custom dongle.
Changed the LED definitions to be more consistent
Changed the entire packet format.  Went back to the pre-error control days.  These chips just don't have the RAM to make it work.