3      Copyright (C) Dean Camera, 2017. 
   5   dean [at] fourwalledcubicle [dot] com 
  10   Copyright 2017  Dean Camera (dean [at] fourwalledcubicle [dot] com) 
  12   Permission to use, copy, modify, distribute, and sell this 
  13   software and its documentation for any purpose is hereby granted 
  14   without fee, provided that the above copyright notice appear in 
  15   all copies and that both that the copyright notice and this 
  16   permission notice and warranty disclaimer appear in supporting 
  17   documentation, and that the name of the author not be used in 
  18   advertising or publicity pertaining to distribution of the 
  19   software without specific, written prior permission. 
  21   The author disclaims all warranties with regard to this 
  22   software, including all implied warranties of merchantability 
  23   and fitness.  In no event shall the author be liable for any 
  24   special, indirect or consequential damages or any damages 
  25   whatsoever resulting from loss of use, data or profits, whether 
  26   in an action of contract, negligence or other tortious action, 
  27   arising out of or in connection with the use or performance of 
  33  *  Macros for the V2 Protocol Packet Commands and Responses. 
  36 #ifndef _V2_PROTOCOL_CONSTANTS_ 
  37 #define _V2_PROTOCOL_CONSTANTS_ 
  40                 #define CMD_SIGN_ON                 0x01 
  41                 #define CMD_SET_PARAMETER           0x02 
  42                 #define CMD_GET_PARAMETER           0x03 
  43                 #define CMD_OSCCAL                  0x05 
  44                 #define CMD_LOAD_ADDRESS            0x06 
  45                 #define CMD_FIRMWARE_UPGRADE        0x07 
  46                 #define CMD_RESET_PROTECTION        0x0A 
  47                 #define CMD_ENTER_PROGMODE_ISP      0x10 
  48                 #define CMD_LEAVE_PROGMODE_ISP      0x11 
  49                 #define CMD_CHIP_ERASE_ISP          0x12 
  50                 #define CMD_PROGRAM_FLASH_ISP       0x13 
  51                 #define CMD_READ_FLASH_ISP          0x14 
  52                 #define CMD_PROGRAM_EEPROM_ISP      0x15 
  53                 #define CMD_READ_EEPROM_ISP         0x16 
  54                 #define CMD_PROGRAM_FUSE_ISP        0x17 
  55                 #define CMD_READ_FUSE_ISP           0x18 
  56                 #define CMD_PROGRAM_LOCK_ISP        0x19 
  57                 #define CMD_READ_LOCK_ISP           0x1A 
  58                 #define CMD_READ_SIGNATURE_ISP      0x1B 
  59                 #define CMD_READ_OSCCAL_ISP         0x1C 
  60                 #define CMD_SPI_MULTI               0x1D 
  61                 #define CMD_XPROG                   0x50 
  62                 #define CMD_XPROG_SETMODE           0x51 
  64                 #define STATUS_CMD_OK               0x00 
  65                 #define STATUS_CMD_TOUT             0x80 
  66                 #define STATUS_RDY_BSY_TOUT         0x81 
  67                 #define STATUS_SET_PARAM_MISSING    0x82 
  68                 #define STATUS_CMD_FAILED           0xC0 
  69                 #define STATUS_CMD_UNKNOWN          0xC9 
  70                 #define STATUS_CMD_ILLEGAL_PARAM    0xCA 
  71                 #define STATUS_ISP_READY            0x00 
  72                 #define STATUS_CONN_FAIL_MOSI       0x01 
  73                 #define STATUS_CONN_FAIL_RST        0x02 
  74                 #define STATUS_CONN_FAIL_SCK        0x04 
  75                 #define STATUS_TGT_NOT_DETECTED     0x10 
  76                 #define STATUS_TGT_REVERSE_INSERTED 0x20 
  78                 #define PARAM_BUILD_NUMBER_LOW      0x80 
  79                 #define PARAM_BUILD_NUMBER_HIGH     0x81 
  80                 #define PARAM_HW_VER                0x90 
  81                 #define PARAM_SW_MAJOR              0x91 
  82                 #define PARAM_SW_MINOR              0x92 
  83                 #define PARAM_VTARGET               0x94 
  84                 #define PARAM_SCK_DURATION          0x98 
  85                 #define PARAM_RESET_POLARITY        0x9E 
  86                 #define PARAM_STATUS_TGT_CONN       0xA1 
  87                 #define PARAM_DISCHARGEDELAY        0xA4