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