4.3 EDBGCTRL ID Definitions
This sections includes the header file defining the different command and response IDs for the EDBGCTRL protocol. It also defines the different possible failure codes.
enum EdbgCommands {
//**********************************************************
// Protocol commands
//**********************************************************
// Basics
CMD_EDBG_QUERY = 0x00,
CMD_EDBG_SET = 0x01,
CMD_EDBG_GET = 0x02,
};
enum EdbgResponses {
//**********************************************************
// Protocol responses
//**********************************************************
RSP_EDBG_OK = 0x80,
RSP_EDBG_LIST = 0x81,
RSP_EDBG_DATA = 0x84,
RSP_EDBG_FAILED = 0xA0
};
enum EdbgFailureCodes {
//**********************************************************
// Failure response codes (RSP_FAILED)
//**********************************************************
EDBG_FAILED_OK = 0x00,
EDBG_FAILED_NOT_SUPPORTED = 0x01,
EDBG_FAILED_ILLEGAL_GPIO_PIN = 0x10,
EDBG_FAILED_ILLEGAL_GPIO_MODE = 0x11,
EDBG_FAILED_ILLEGAL_VOLTAGE_RANGE = 0x12,
EDBG_FAILED_ILLEGAL_INTERVAL = 0x13,
EDBG_FAILED_ILLEGAL_MAX_THRESHOLD = 0x14,
EDBG_FAILED_ILLEGAL_MIN_THRESHOLD = 0x15,
EDBG_FAILED_ILLEGAL_ACTION = 0x16,
EDBG_FAILED_ILLEGAL_FREQUENCY = 0x17,
EDBG_FAILED_ILLEGAL_MODE = 0x18,
EDBG_FAILED_ILLEGAL_FLAGS = 0x19,
EDBG_FAILED_FLASH_WRITE = 0x20,
EDBG_FAILED_OVERFLOW = 0x30,
EDBG_FAILED_UNKNOWN = 0xFF
};
enum EdbgConfigTypes {
EDBG_CONFIGTYPE_CHAR = 0x00,
EDBG_CONFIGTYPE_SHORT = 0x01,
EDBG_CONFIGTYPE_WORD = 0x02,
EDBG_CONFIGTYPE_BIT = 0x03,
EDBG_CONFIGTYPE_STRING = 0x10,
EDBG_CONFIGTYPE_ARRAY = 0x20,
};
enum EdbgConfigTags {
//**********************************************************
// EDBG Configuration Tags
//**********************************************************
EDBG_CONFIG_VERSION = 0x00,
EDBG_CONFIG_SERIAL_NUMBER = 0x01,
EDBG_CONFIG_BOARD_NAME = 0x02,
EDBG_CONFIG_MANUFACTURER_NAME = 0x03,
EDBG_CONFIG_TARGET_NAME = 0x04,
EDBG_CONFIG_TARGET_SIGNATURE = 0x05,
EDBG_CONFIG_TARGET_JTAGID = 0x06,
EDBG_CONFIG_TARGET_CHIPID = 0x07,
EDBG_CONFIG_INTERFACES = 0x08,
EDBG_CONFIG_DGI_GPIO_MAP = 0x09,
EDBG_CONFIG_EXTENSION_MAP = 0x0A,
EDBG_CONFIG_EXTENSION_STATUS = 0x0B,
EDBG_CONFIG_EXTENSION_MANUFACTURER = 0x0C,
EDBG_CONFIG_EXTENSION_PRODUCT = 0x0D,
EDBG_CONFIG_EXTENSION_REVISION = 0x0E,
EDBG_CONFIG_EXTENSION_SERIAL = 0x0F,
EDBG_CONFIG_EXTENSION_MIN_VOLTAGE = 0x10,
EDBG_CONFIG_EXTENSION_MAX_VOLTAGE = 0x11,
EDBG_CONFIG_EXTENSION_CURRENT = 0x12,
EDBG_CONFIG_BOARD_TYPE = 0x13,
EDBG_CONFIG_FAMILY_NAME = 0x14,
EDBG_CONFIG_TVS = 0x15,
EDBG_CONFIG_VERSION_MINOR = 0x16,
EDBG_CONFIG_USB_ID = 0x17,
EDBG_CONFIG_KIT_DATA = 0x20,
};
enum EdbgInterfaces {
//**********************************************************
// EDBG Configuration Tags
//**********************************************************
// GPIO, USART, UART, TWI, SPI, CDC
// SWD, ARMJTAG, AVRJTAG, aW, dW, PDI, ISP, DBG_EN
EDBG_IF_DBG_EN = 15,
EDBG_IF_DBG_ISP = 14,
EDBG_IF_DBG_PDI = 13,
EDBG_IF_DBG_DW = 12,
EDBG_IF_DBG_AW = 11,
EDBG_IF_DBG_AVRJTAG = 10,
EDBG_IF_DBG_ARMJTAG = 9,
EDBG_IF_DBG_SWD = 8,
EDBG_IF_DGI_SPI = 0,
EDBG_IF_DGI_TWI = 1,
EDBG_IF_DGI_UART = 2,
EDBG_IF_DGI_USART = 3,
EDBG_IF_DGI_GPIO = 4,
EDBG_IF_CDC = 5,
EDBG_IF_ERASE_PIN = 7,
};
enum EDBGQueryContexts {
// QUERY types on this protocol
EDBG_QUERY_COMMANDS = 0x00
};
enum EDBGSetGetContexts {
EDBG_CONTEXT_CONTROL = 0x00,
EDBG_CONTEXT_CONFIG0 = 0x10,
EDBG_CONTEXT_CONFIG1 = 0x11,
};
enum EDBGControlContextParameters {
EDBG_CONTROL_LED_USAGE = 0x00,
EDBG_CONTROL_EXT_PROG = 0x01,
EDBG_CONTROL_TARGET_POWER = 0x10
};
enum SerialTraceCommands {
ST_SET_TRANSPORT_MODE = 0x00,
ST_SET_CAPTURE_MODE = 0x01,
ST_SET_BAUD = 0x02,
ST_START = 0x03,
ST_STOP = 0x04,
ST_GET_DATA = 0x08,
ST_GET_STATUS = 0x09,
ST_GET_BUFFER_SIZE = 0x0A,
ST_SIGNON = 0x0F
};
enum SerialTraceTransportModes {
TRANSPORT_OFF = 0x00,
TRANSPORT_HID = 0x01
};
enum SerialTraceTransportModes {
CAPTURE_OFF = 0x00,
CAPTURE_UART = 0x02
};
enum SerialTraceErrorBits {
ERROR_OVERFLOW = 15,
ERROR_RECEIVER = 14,
RECEIVER_DISABLED = 9
};
