arduino-emulator
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
arduino::HardwareSetupFTDI Class Reference

Sets up hardware interfaces for FTDI FT2232HL (GPIO, I2C, SPI). More...

#include <HardwareSetupFTDI.h>

Inheritance diagram for arduino::HardwareSetupFTDI:
arduino::I2CSource arduino::SPISource arduino::GPIOSource

Public Member Functions

 HardwareSetupFTDI ()=default
 Constructor. Initializes FTDI hardware interfaces.
 
 HardwareSetupFTDI (int vendor_id, int product_id, const char *description=nullptr, const char *serial=nullptr)
 Constructor with custom device parameters.
 
 ~HardwareSetupFTDI ()
 Destructor. Cleans up FTDI hardware interfaces.
 
bool begin (bool asDefault=true)
 Initializes hardware pointers to FTDI interfaces.
 
void end ()
 Resets hardware pointers to nullptr.
 
HardwareGPIO_FTDIgetGPIO ()
 
HardwareI2C_FTDIgetI2C ()
 
HardwareSPI_FTDIgetSPI ()
 
void setDeviceParams (int vendor_id, int product_id, const char *description=nullptr, const char *serial=nullptr)
 Set custom device parameters for targeting specific FTDI device.
 

Protected Attributes

const chardesc = nullptr
 
HardwareGPIO_FTDI gpio
 
HardwareI2C_FTDI i2c
 
bool is_default_objects_active = false
 
int pid = 0x6010
 
const charser = nullptr
 
HardwareSPI_FTDI spi
 
int vid = 0x0403
 

Detailed Description

Sets up hardware interfaces for FTDI FT2232HL (GPIO, I2C, SPI).

This class provides hardware abstraction for the FTDI FT2232HL dual-channel USB-to-UART/SPI/I2C converter. The FT2232HL has two independent channels:

This implementation uses libftdi1 to communicate with the FT2232HL device.

Constructor & Destructor Documentation

◆ HardwareSetupFTDI()

arduino::HardwareSetupFTDI::HardwareSetupFTDI ( int  vendor_id,
int  product_id,
const char description = nullptr,
const char serial = nullptr 
)
inline

Constructor with custom device parameters.

Parameters
vendor_idUSB vendor ID (default: 0x0403 for FTDI)
product_idUSB product ID (default: 0x6010 for FT2232HL)
descriptionDevice description string (optional)
serialSerial number string (optional)

Member Function Documentation

◆ begin()

bool arduino::HardwareSetupFTDI::begin ( bool  asDefault = true)
inline

Initializes hardware pointers to FTDI interfaces.

Parameters
asDefaultIf true, sets up global Arduino objects (Wire, SPI, GPIO)
Returns
true if initialization successful, false otherwise

◆ getGPIO()

HardwareGPIO_FTDI * arduino::HardwareSetupFTDI::getGPIO ( )
inlinevirtual

Implements arduino::GPIOSource.

◆ getI2C()

HardwareI2C_FTDI * arduino::HardwareSetupFTDI::getI2C ( )
inlinevirtual

Implements arduino::I2CSource.

◆ getSPI()

HardwareSPI_FTDI * arduino::HardwareSetupFTDI::getSPI ( )
inlinevirtual

Implements arduino::SPISource.

◆ setDeviceParams()

void arduino::HardwareSetupFTDI::setDeviceParams ( int  vendor_id,
int  product_id,
const char description = nullptr,
const char serial = nullptr 
)
inline

Set custom device parameters for targeting specific FTDI device.

Parameters
vendor_idUSB vendor ID
product_idUSB product ID
descriptionDevice description string (optional)
serialSerial number string (optional)

The documentation for this class was generated from the following file: