Oakrey.Ftdi 1.0.0

dotnet add package Oakrey.Ftdi --version 1.0.0
                    
NuGet\Install-Package Oakrey.Ftdi -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Oakrey.Ftdi" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Oakrey.Ftdi" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Oakrey.Ftdi" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Oakrey.Ftdi --version 1.0.0
                    
#r "nuget: Oakrey.Ftdi, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=Oakrey.Ftdi&version=1.0.0
                    
Install Oakrey.Ftdi as a Cake Addin
#tool nuget:?package=Oakrey.Ftdi&version=1.0.0
                    
Install Oakrey.Ftdi as a Cake Tool

Oakrey.Ftdi

Overview

The Oakrey.Ftdi project is a .NET library designed for managing and interacting with FTDI (Future Technology Devices International) devices. It provides a robust API for serial communication, device configuration, and advanced features like CBus control and modem emulation. The library is built to support .NET 8 and is compatible with both 32-bit and 64-bit architectures.

Features

Serial Communication:

  • Implements interfaces like ISerialPort and ISerialPortReadOnly for serial port operations.
  • Supports configurations such as baud rate, data bits, stop bits, and parity through SerialPortSettings.

Device Management:

  • Provides detailed device information using DeviceInfo and DeviceType.
  • Tracks device status with DeviceStatus and StatusFlags.

CBus Control:

  • Offers support for CBus operations with settings and options tailored for FTDI chips like FT232H, FT232R, and others.
  • Includes classes like CBusDirections, CBusValues, and CBusEepromOptions for precise control.

Advanced Handshaking:

  • Implements handshaking mechanisms through IHandshakeSettings and NullModemSettings.
  • Supports null modem emulation with or without CBus control.

Native Interfacing:

-Utilizes native methods (FtdiNativeMethods, FtdiNativeMethodsX64, and FtdiNativeMethodsX86) for low-level operations. -Includes ftd2xx.dll and ftd2xx64.dll for direct communication with FTDI devices.

Error Handling:

Provides robust error handling with FtdiException for managing device-related errors.

Extensive Data Types:

Offers a wide range of data types for configuration, status, and control, such as BitMode, FlowControl, LineStatus, and ModemStatus.

Wrapper Utilities:

  • Includes FtdiWrapper for high-level operations like EEPROM management, communication, and status monitoring.
  • Supports bit mode operations and device settings through specialized wrapper methods.

Installation

You can install the package via NuGet Package Manager, Package Manager Console or the .NET CLI.

NuGet Package Manager

  1. Open your project in Visual Studio.
  2. Navigate to Tools > NuGet Package Manager > Manage NuGet Packages for Solution....
  3. Search for Oakrey.Ftdi and click Install.

.NET CLI

Run the following command in your terminal:

dotnet add package Oakrey.Ftdi

Package Manager Console

Run the following command in your Package Manager Console:

Install-Package Oakrey.Ftdi

Requirements

  • .NET 8 or higher

Project Information

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests to improve the package.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0 202 4/17/2025