/* Copyright (C) 2011 Circuits At Home, LTD. All rights reserved. This software may be distributed and modified under the terms of the GNU General Public License version 2 (GPL2) as published by the Free Software Foundation and appearing in the file GPL2.TXT included in the packaging of this file. Please note that GPL2 Section 2[b] requires that all works based on this software must also be made publicly available under the terms of the GPL2 ("Copyleft"). Contact information ------------------- Circuits At Home, LTD Web : http://www.circuitsathome.com e-mail : support@circuitsathome.com */ #if !defined(__CDCPROLIFIC_H__) #define __CDCPROLIFIC_H__ #include #include #include "avrpins.h" #include "max3421e.h" #include "usbhost.h" #include "usb_ch9.h" #include "Usb.h" #if defined(ARDUINO) && ARDUINO >=100 #include "Arduino.h" #else #include #endif #include "printhex.h" #include "hexdump.h" #include "message.h" #include "confdescparser.h" #include "cdcacm.h" //#define PL2303_COMPAT //uncomment it if you have compatibility problems #define PL_VID 0x067B #define PL_PID ( 0x2303 || 0x0609 ) #define PROLIFIC_REV_H 0x0202 #define PROLIFIC_REV_X 0x0300 #define PROLIFIC_REV_HX_CHIP_D 0x0400 #define PROLIFIC_REV_1 0x0001 #define kXOnChar '\x11' #define kXOffChar '\x13' #define SPECIAL_SHIFT (5) #define SPECIAL_MASK ((1<ctrlReq(bAddress, 0, VENDOR_READ_REQUEST_TYPE, VENDOR_READ_REQUEST, val_lo, val_hi, index, 1, 1, buf, NULL )); } /* vendor write request */ inline uint8_t PL2303::vendorWrite( uint8_t val_lo, uint8_t val_hi, uint8_t index ) { return( pUsb->ctrlReq(bAddress, 0, VENDOR_WRITE_REQUEST_TYPE, VENDOR_WRITE_REQUEST, val_lo, val_hi, index, 0, 0, NULL, NULL )); } #endif // __CDCPROLIFIC_H__