FTD2XX_NET.FTDI.SetRTS C# (CSharp) Method

SetRTS() public method

Asserts or de-asserts the Request To Send (RTS) line.
public SetRTS ( bool Enable ) : FT_STATUS
Enable bool If true, asserts RTS. If false, de-asserts RTS
return FT_STATUS
        public FT_STATUS SetRTS(bool Enable)
        {
            // Initialise ftStatus to something other than FT_OK
            FT_STATUS ftStatus = FT_STATUS.FT_OTHER_ERROR;

            // If the DLL hasn't been loaded, just return here
            if (hFTD2XXDLL == IntPtr.Zero)
                return ftStatus;

            // Check for our required function pointers being set up
            if ((pFT_SetRts != IntPtr.Zero) & (pFT_ClrRts != IntPtr.Zero))
            {
                tFT_SetRts FT_SetRts = (tFT_SetRts)Marshal.GetDelegateForFunctionPointer(pFT_SetRts, typeof(tFT_SetRts));
                tFT_ClrRts FT_ClrRts = (tFT_ClrRts)Marshal.GetDelegateForFunctionPointer(pFT_ClrRts, typeof(tFT_ClrRts));

                if (ftHandle != IntPtr.Zero)
                {
                    if (Enable)
                    {
                        // Call FT_SetRts
                        ftStatus = FT_SetRts(ftHandle);
                    }
                    else
                    {
                        // Call FT_ClrRts
                        ftStatus = FT_ClrRts(ftHandle);
                    }
                }
            }
            else
            {
                if (pFT_SetRts == IntPtr.Zero)
                {
                    LogB.Debug("FTD2XX: Failed to load function FT_SetRts.");
                }
                if (pFT_ClrRts == IntPtr.Zero)
                {
                    LogB.Debug("FTD2XX: Failed to load function FT_ClrRts.");
                }
            }
            return ftStatus;
        }

Usage Example

コード例 #1
0
        public void Connect(SerialPort port)
        {
            _port = port;
            port.Open();
            _laser = new FTDI();
            //uint devs =0 ;
            //_laser.GetNumberOfDevices(ref devs);
            // FTDI.FT_DEVICE_INFO_NODE[] list = new FTDI.FT_DEVICE_INFO_NODE[devs];
            //_laser.GetDeviceList(list);
               // _laser.OpenBySerialNumber("FT94OEXA");  //cable
               // _laser.OpenBySerialNumber("A602KUPB"); // Dongle
               _laser.OpenBySerialNumber("DEFCON01");  //Joe's

            //_controller.Connect(new SerialPort((string)comboBox2.SelectedItem, 57600));
            _laser.SetBaudRate(4800);
            _laser.SetDataCharacteristics(FTDI.FT_DATA_BITS.FT_BITS_8, FTDI.FT_STOP_BITS.FT_STOP_BITS_1, FTDI.FT_PARITY.FT_PARITY_NONE);
            if (laser_always_on)
            {
                _laser.SetRTS(false);
            }
            else
            {
                _laser.SetRTS(false);
            }
        }
All Usage Examples Of FTD2XX_NET.FTDI::SetRTS