This sections includes the header file defining the different command, response and event IDs for the AVRISP protocol. It also defines the different possible failure codes.
enum SpiProgrammingProtocolCommands { //********************************************************** // Protocol commands //********************************************************** SPI_CMD_LOAD_ADDRESS = 0x06, //! Load address SPI_CMD_ENTER_PROGMODE = 0x10, //! Enter programming mode SPI_CMD_LEAVE_PROGMODE = 0x11, //! Leave programming mode SPI_CMD_CHIP_ERASE = 0x12, //! Erase device SPI_CMD_PROGRAM_FLASH = 0x13, //! Program flash data SPI_CMD_READ_FLASH = 0x14, //! Read flash data SPI_CMD_PROGRAM_EEPROM = 0x15, //! Program EEPROM data SPI_CMD_READ_EEPROM = 0x16, //! Read EEPROM data SPI_CMD_PROGRAM_FUSE = 0x17, //! Program a fuse byte SPI_CMD_READ_FUSE = 0x18, //! Read a fuse byte SPI_CMD_PROGRAM_LOCK = 0x19, //! Program lock bits SPI_CMD_READ_LOCK = 0x1A, //! Read lock bits SPI_CMD_READ_SIGNATURE = 0x1B, //! Read a signature byte SPI_CMD_READ_OSCCAL = 0x1C, //! Read an OSCCAL byte SPI_CMD_SET_BAUD = 0x1D, //! Set baud rate SPI_CMD_GET_BAUD = 0x1E //! Read baud rate }; enum SpiProgrammingProtocolResponses { //********************************************************** // Protocol responses //********************************************************** // Success SPI_STATUS_CMD_OK = 0x00, //! All OK // Warnings SPI_STATUS_CMD_TOUT = 0x80, //! Command timeout SPI_STATUS_RDY_BSY_TOUT = 0x81, //! Device busy // Errors SPI_STATUS_CMD_FAILED = 0xC0, //! Command failed SPI_STATUS_CMD_UNKNOWN = 0xC9, //! Unknown error SPI_STATUS_PHY_ERROR = 0xCB, //! Physical error SPI_STATUS_CLOCK_ERROR = 0xCC, //! Speed error SPI_STATUS_BAUD_INVALID = 0xCD //! Baud value error };