⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ftd2xx.h

📁 NanoStack is a 6lowpan IPv6 + IEEE 802.15.4 protocol stack, enabling wireless embedded and sensor ne
💻 H
📖 第 1 页 / 共 2 页
字号:
/*    NanoStack: MCU software and PC tools for IP-based wireless sensor networking.		    Copyright (C) 2006-2007 Sensinode Ltd.    This program is free software; you can redistribute it and/or modify    it under the terms of the GNU General Public License as published by    the Free Software Foundation; either version 2 of the License, or    (at your option) any later version.    This program is distributed in the hope that it will be useful,    but WITHOUT ANY WARRANTY; without even the implied warranty of    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the    GNU General Public License for more details.    You should have received a copy of the GNU General Public License along    with this program; if not, write to the Free Software Foundation, Inc.,    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.		Address:		Sensinode Ltd.		Teknologiantie 6			90570 Oulu, Finland		E-mail:		info@sensinode.com*//*++Copyright (c) 2001-2006  Future Technology Devices International Ltd.Module Name:    ftd2xx.hAbstract:    Native USB interface for FTDI FT8U232/245/2232C    FTD2XX library definitionsEnvironment:    kernel & user modeRevision History:    	13/03/01    	awm     	Created.	13/01/03	awm		Added device information support.	19/03/03	awm		Added FT_W32_CancelIo.	12/06/03	awm		Added FT_StopInTask and FT_RestartInTask.	18/09/03	awm		Added FT_SetResetPipeRetryCount.	10/10/03	awm		Added FT_ResetPort.	  /03/04	st		modified for linux users	12/10/04	st		added FT_SetVIDPID	--*/#ifndef FTD2XX_H#define FTD2XX_H#ifndef _WINDOWS#include <pthread.h>#define WINAPI#endif// The following ifdef block is the standard way of creating macros// which make exporting from a DLL simpler.  All files within this DLL// are compiled with the FTD2XX_EXPORTS symbol defined on the command line.// This symbol should not be defined on any project that uses this DLL.// This way any other project whose source files include this file see// FTD2XX_API functions as being imported from a DLL, whereas this DLL// sees symbols defined with this macro as being exported.#ifdef FTD2XX_EXPORTS#define FTD2XX_API __declspec(dllexport)#else#define FTD2XX_API __declspec(dllimport)#endif#ifndef _WINDOWS#include "WinTypes.h"#ifdef FTD2XX_API#undef FTD2XX_API#define FTD2XX_API#endif#endiftypedef struct _EVENT_HANDLE{	pthread_cond_t eCondVar;	pthread_mutex_t eMutex;	int iVar;} EVENT_HANDLE;typedef DWORD		 	*FT_HANDLE;typedef ULONG			 FT_STATUS;//// Device status//enum {	FT_OK,	FT_INVALID_HANDLE,	FT_DEVICE_NOT_FOUND,	FT_DEVICE_NOT_OPENED,	FT_IO_ERROR,	FT_INSUFFICIENT_RESOURCES,	FT_INVALID_PARAMETER,	FT_INVALID_BAUD_RATE,	//7	FT_DEVICE_NOT_OPENED_FOR_ERASE,	FT_DEVICE_NOT_OPENED_FOR_WRITE,	FT_FAILED_TO_WRITE_DEVICE,	FT_EEPROM_READ_FAILED,	FT_EEPROM_WRITE_FAILED,	FT_EEPROM_ERASE_FAILED,	FT_EEPROM_NOT_PRESENT,	FT_EEPROM_NOT_PROGRAMMED,	FT_INVALID_ARGS,	FT_NOT_SUPPORTED,	FT_OTHER_ERROR};#define FT_SUCCESS(status) ((status) == FT_OK)//// FT_OpenEx Flags//#define FT_OPEN_BY_SERIAL_NUMBER    1#define FT_OPEN_BY_DESCRIPTION      2//// FT_ListDevices Flags (used in conjunction with FT_OpenEx Flags//#define FT_LIST_NUMBER_ONLY			0x80000000#define FT_LIST_BY_INDEX			0x40000000#define FT_LIST_ALL				0x20000000#define FT_LIST_MASK (FT_LIST_NUMBER_ONLY|FT_LIST_BY_INDEX|FT_LIST_ALL)//// Baud Rates//#define FT_BAUD_300			300#define FT_BAUD_600			600#define FT_BAUD_1200		1200#define FT_BAUD_2400		2400#define FT_BAUD_4800		4800#define FT_BAUD_9600		9600#define FT_BAUD_14400		14400#define FT_BAUD_19200		19200#define FT_BAUD_38400		38400#define FT_BAUD_57600		57600#define FT_BAUD_115200		115200#define FT_BAUD_230400		230400#define FT_BAUD_460800		460800#define FT_BAUD_921600		921600//// Word Lengths//#define FT_BITS_8			(UCHAR) 8#define FT_BITS_7			(UCHAR) 7#define FT_BITS_6			(UCHAR) 6#define FT_BITS_5			(UCHAR) 5//// Stop Bits//#define FT_STOP_BITS_1		(UCHAR) 0#define FT_STOP_BITS_1_5	(UCHAR) 1#define FT_STOP_BITS_2		(UCHAR) 2//// Parity//#define FT_PARITY_NONE		(UCHAR) 0#define FT_PARITY_ODD		(UCHAR) 1#define FT_PARITY_EVEN		(UCHAR) 2#define FT_PARITY_MARK		(UCHAR) 3#define FT_PARITY_SPACE		(UCHAR) 4//// Flow Control//#define FT_FLOW_NONE        0x0000#define FT_FLOW_RTS_CTS     0x0100#define FT_FLOW_DTR_DSR     0x0200#define FT_FLOW_XON_XOFF    0x0400//// Purge rx and tx buffers//#define FT_PURGE_RX         1#define FT_PURGE_TX         2//// Events//typedef void (*PFT_EVENT_HANDLER)(DWORD,DWORD);#define FT_EVENT_RXCHAR		    1#define FT_EVENT_MODEM_STATUS   2//// Timeouts//#define FT_DEFAULT_RX_TIMEOUT   300#define FT_DEFAULT_TX_TIMEOUT   300//// Device types//typedef ULONG	FT_DEVICE;enum {    FT_DEVICE_BM,    FT_DEVICE_AM,    FT_DEVICE_100AX,    FT_DEVICE_UNKNOWN,	FT_DEVICE_2232C,	FT_DEVICE_232R };#ifdef __cplusplusextern "C" {#endif	FTD2XX_APIFT_STATUS WINAPI FT_Open(	int deviceNumber,	FT_HANDLE *pHandle	);FTD2XX_APIFT_STATUS WINAPI FT_OpenEx(    PVOID pArg1,    DWORD Flags,    FT_HANDLE *pHandle    );FTD2XX_API FT_STATUS WINAPI FT_ListDevices(	PVOID pArg1,	PVOID pArg2,	DWORD Flags	);FTD2XX_APIFT_STATUS FT_SetVIDPID(	DWORD dwVID, 	DWORD dwPID	);	FTD2XX_APIFT_STATUS FT_GetVIDPID(	DWORD * pdwVID, 	DWORD * pdwPID	);FTD2XX_APIFT_STATUS WINAPI FT_Close(    FT_HANDLE ftHandle    );FTD2XX_APIFT_STATUS WINAPI FT_Read(    FT_HANDLE ftHandle,    LPVOID lpBuffer,    DWORD nBufferSize,    LPDWORD lpBytesReturned    );FTD2XX_API FT_STATUS WINAPI FT_Write(    FT_HANDLE ftHandle,    LPVOID lpBuffer,    DWORD nBufferSize,    LPDWORD lpBytesWritten    );FTD2XX_API FT_STATUS WINAPI FT_IoCtl(		// Linux, OS X: Not supported    FT_HANDLE ftHandle,    DWORD dwIoControlCode,    LPVOID lpInBuf,    DWORD nInBufSize,    LPVOID lpOutBuf,    DWORD nOutBufSize,    LPDWORD lpBytesReturned,    LPOVERLAPPED lpOverlapped    );FTD2XX_APIFT_STATUS WINAPI FT_SetBaudRate(    FT_HANDLE ftHandle,	ULONG BaudRate	);FTD2XX_APIFT_STATUS WINAPI FT_SetDivisor(    FT_HANDLE ftHandle,	USHORT Divisor	);FTD2XX_APIFT_STATUS WINAPI FT_SetDataCharacteristics(    FT_HANDLE ftHandle,	UCHAR WordLength,	UCHAR StopBits,	UCHAR Parity	);FTD2XX_APIFT_STATUS WINAPI FT_SetFlowControl(    FT_HANDLE ftHandle,    USHORT FlowControl,    UCHAR XonChar,    UCHAR XoffChar	);FTD2XX_APIFT_STATUS WINAPI FT_ResetDevice(    FT_HANDLE ftHandle	);FTD2XX_APIFT_STATUS WINAPI FT_SetDtr(    FT_HANDLE ftHandle	);FTD2XX_APIFT_STATUS WINAPI FT_ClrDtr(    FT_HANDLE ftHandle	);FTD2XX_APIFT_STATUS WINAPI FT_SetRts(    FT_HANDLE ftHandle	);FTD2XX_APIFT_STATUS WINAPI FT_ClrRts(    FT_HANDLE ftHandle	);FTD2XX_APIFT_STATUS WINAPI FT_GetModemStatus(    FT_HANDLE ftHandle,	ULONG *pModemStatus	);	FTD2XX_APIFT_STATUS WINAPI FT_SetChars(    FT_HANDLE ftHandle,	UCHAR EventChar,	UCHAR EventCharEnabled,	UCHAR ErrorChar,	UCHAR ErrorCharEnabled    );FTD2XX_APIFT_STATUS WINAPI FT_Purge(    FT_HANDLE ftHandle,	ULONG Mask	);FTD2XX_APIFT_STATUS WINAPI FT_SetTimeouts(    FT_HANDLE ftHandle,	ULONG ReadTimeout,	ULONG WriteTimeout	);FTD2XX_APIFT_STATUS WINAPI FT_GetQueueStatus(    FT_HANDLE ftHandle,	DWORD *dwRxBytes	);FTD2XX_APIFT_STATUS WINAPI FT_SetEventNotification(    FT_HANDLE ftHandle,	DWORD Mask,	PVOID Param	);FTD2XX_APIFT_STATUS WINAPI FT_GetStatus(    FT_HANDLE ftHandle,    DWORD *dwRxBytes,    DWORD *dwTxBytes,    DWORD *dwEventDWord	);FTD2XX_APIFT_STATUS WINAPI FT_SetBreakOn(    FT_HANDLE ftHandle    );FTD2XX_APIFT_STATUS WINAPI FT_SetBreakOff(    FT_HANDLE ftHandle    );FTD2XX_APIFT_STATUS WINAPI FT_SetWaitMask(		// Linux, OS X: Not supported    FT_HANDLE ftHandle,    DWORD Mask    );FTD2XX_APIFT_STATUS WINAPI FT_WaitOnMask(		// Linux, OS X: Not supported    FT_HANDLE ftHandle,    DWORD *Mask    );FTD2XX_APIFT_STATUS WINAPI FT_GetEventStatus(    FT_HANDLE ftHandle,    DWORD *dwEventDWord    );FTD2XX_APIFT_STATUS WINAPI FT_ReadEE(    FT_HANDLE ftHandle,	DWORD dwWordOffset,    LPWORD lpwValue	);FTD2XX_APIFT_STATUS WINAPI FT_WriteEE(    FT_HANDLE ftHandle,	DWORD dwWordOffset,    WORD wValue	);FTD2XX_APIFT_STATUS WINAPI FT_EraseEE(    FT_HANDLE ftHandle	);	//// structure to hold program data for FT_Program function//typedef struct ft_program_data {	DWORD Signature1;			// Header - must be 0x00000000 	DWORD Signature2;			// Header - must be 0xffffffff	DWORD Version;				// Header - FT_PROGRAM_DATA version								//          0 = original	                            //          1 = FT2232C extensions								//			2 = FT232R extensions	WORD VendorId;				// 0x0403	WORD ProductId;				// 0x6001	char *Manufacturer;			// "FTDI"	char *ManufacturerId;		// "FT"	char *Description;			// "USB HS Serial Converter"	char *SerialNumber;			// "FT000001" if fixed, or NULL	WORD MaxPower;				// 0 < MaxPower <= 500	WORD PnP;					// 0 = disabled, 1 = enabled	WORD SelfPowered;			// 0 = bus powered, 1 = self powered	WORD RemoteWakeup;			// 0 = not capable, 1 = capable	//	// Rev4 extensions	//	UCHAR Rev4;					// non-zero if Rev4 chip, zero otherwise	UCHAR IsoIn;				// non-zero if in endpoint is isochronous	UCHAR IsoOut;				// non-zero if out endpoint is isochronous	UCHAR PullDownEnable;		// non-zero if pull down enabled	UCHAR SerNumEnable;			// non-zero if serial number to be used

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -