From ecd82778cf9a53e34f13d9ce6dcd7e1a4cf76b70 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Mon, 17 Aug 2009 12:38:24 +0000 Subject: Added beginnings of a new AVRISP-MKII clone project. Added new Endpoint_SetEndpointDirection() macro to set the current endpoint direction for bidirectional endpoints. Renamed internal USB_INT_ENDPOINT_SETUP macro to USB_INT_RXSTPI to fit in with the rest of the interrupt vector macros. --- Projects/AVRISP/Lib/V2Protocol.c | 58 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 Projects/AVRISP/Lib/V2Protocol.c (limited to 'Projects/AVRISP/Lib/V2Protocol.c') diff --git a/Projects/AVRISP/Lib/V2Protocol.c b/Projects/AVRISP/Lib/V2Protocol.c new file mode 100644 index 000000000..3532c5ec6 --- /dev/null +++ b/Projects/AVRISP/Lib/V2Protocol.c @@ -0,0 +1,58 @@ +/* + LUFA Library + Copyright (C) Dean Camera, 2009. + + dean [at] fourwalledcubicle [dot] com + www.fourwalledcubicle.com +*/ + +/* + Copyright 2009 Dean Camera (dean [at] fourwalledcubicle [dot] com) + + Permission to use, copy, modify, and distribute this software + and its documentation for any purpose and without fee is hereby + granted, provided that the above copyright notice appear in all + copies and that both that the copyright notice and this + permission notice and warranty disclaimer appear in supporting + documentation, and that the name of the author not be used in + advertising or publicity pertaining to distribution of the + software without specific, written prior permission. + + The author disclaim all warranties with regard to this + software, including all implied warranties of merchantability + and fitness. In no event shall the author be liable for any + special, indirect or consequential damages or any damages + whatsoever resulting from loss of use, data or profits, whether + in an action of contract, negligence or other tortious action, + arising out of or in connection with the use or performance of + this software. +*/ + +/** \file + * + * V2Protocol handler, to process V2 Protocol commands used in Atmel programmer devices. + */ + +char ProgrammerID[] = "AVRISP_MK2"; + +#include "V2Protocol.h" + +void V2Protocol_ProcessCommand(void) +{ + uint8_t V2Command = Endpoint_Read_Byte(); + + switch (V2Command) + { + case CMD_SIGN_ON: + Endpoint_ClearOUT(); + Endpoint_SetEndpointDirection(ENDPOINT_DIR_IN); + + Endpoint_Write_Byte(CMD_SIGN_ON); + Endpoint_Write_Byte(STATUS_CMD_OK); + Endpoint_Write_Byte((sizeof(ProgrammerID) - 1)); + Endpoint_Write_Stream_LE(ProgrammerID, (sizeof(ProgrammerID) - 1)); + Endpoint_ClearIN(); + break; + } +} + -- cgit v1.2.3