Rev Author Line No. Line
2697 miho 1 #ifndef MLAB_XVCD_PORT_FTDI_H
2 #define MLAB_XVCD_PORT_FTDI_H
3  
4  
5 // Pin Defs
6 // --------
7  
8 // FTDI Pin Mask Definitions (valid for FT232R)
9 #define DBUS0 0x0001 // Bit 0 Data Bus
10 #define DBUS1 0x0002 // Bit 1
11 #define DBUS2 0x0004 // Bit 2
12 #define DBUS3 0x0008 // Bit 3
13 #define DBUS4 0x0010 // Bit 4
14 #define DBUS5 0x0020 // Bit 5
15 #define DBUS6 0x0040 // Bit 6
16 #define DBUS7 0x0080 // Bit 7
17  
18 #define CBUS0 0x0100 // Bit 0 Control Bus
19 #define CBUS1 0x0200 // Bit 1
20 #define CBUS2 0x0400 // Bit 2
21 #define CBUS3 0x0800 // Bit 3
22  
23 #define FTDI_TXD DBUS0 // Bit 0 RS232 Signal Alias
24 #define FTDI_RXD DBUS1 // Bit 1
25 #define FTDI_RTS DBUS2 // Bit 2
26 #define FTDI_CTS DBUS3 // Bit 3
27 #define FTDI_DTR DBUS4 // Bit 4
28 #define FTDI_DSR DBUS5 // Bit 5
29 #define FTDI_DCD DBUS6 // Bit 6
30 #define FTDI_RI DBUS7 // Bit 7
31  
32  
33 // Includes
34 // --------
35 #undef UNICODE
36 #define WIN32_LEAN_AND_MEAN
37  
38 #include <windows.h> // Windows Console Application
39 #include <stdlib.h> // Standard Library (exit, atoi, ...)
40 #include <stdio.h> // Standard IO (printf, ...)
41 #include "mlab_xvcd.h" // Program Config (pin defs, settings, ...)
42  
43 // Link with library
44 #include "ftd2xx.h" // FTDI Library
45 #pragma comment (lib, "ftd2xx.lib") // Tell MS compiller to link with this library
46  
47  
48 // Public Definitions
49 // ------------------
50  
51  
52 // Find Mode (for port open)
53 #define OPEN_BY_DESCRIPTION FT_OPEN_BY_DESCRIPTION // Find device by Description String
54 #define OPEN_BY_LOCATION FT_OPEN_BY_LOCATION // Find device by Bus Location
55 #define OPEN_BY_SERIAL_NUMBER FT_OPEN_BY_SERIAL_NUMBER // Find device by it's Serial Number
56  
57 // Max Data lengt to send to FTDI as one block
58 #define FTDI_MAX_WRITESIZE 1024
59  
60  
61 // Function Prototypes (public functions only)
62 // -------------------------------------------
63  
64 // Connect to FTDI driver
65 // Find the device and open driver
66 int jtagOpenPort(int findDeviceBy, char *findDeviceByStr);
67  
68 // Enable or Disable Activity LED
69 void jtagSetLED(bool LedEnable);
70  
71 // Set port to Idle state (all zeroes)
72 void jtagSetIdle();
73  
74 // Close FTDI connection
75 int jtagClosePort();
76  
77 // Send data to JTAG port and bring returned data
78 // Turn LED On during processing
79 int jtagScan(const unsigned char *TMS, const unsigned char *TDI, unsigned char *TDO, int bits);
80  
2935 miho 81 // Check if Cable is still connected and accesible
82 // True is o.k.
83 bool CheckCable();
84  
2697 miho 85 #endif