# Atmel EDBG-based Tools Protocols
AVR ISP protocol

## ID definitions

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
    };

Prev | Up | Next
| Home |