20#if defined(USE_FTDI) && !defined(SKIP_HARDWARE_SETUP)
21#include "FileStream.h"
22#include "HardwareGPIO_FTDI.h"
23#include "HardwareI2C_FTDI.h"
24#include "HardwareSPI_FTDI.h"
55 const char* serial =
nullptr)
69 Logger.info(
"Using FTDI FT2232HL hardware interfaces");
75 bool spi_ok = spi.begin(vid, pid, desc, ser);
91 if (is_default_objects_active) {
102 HardwareI2C_FTDI* getI2C() {
return &i2c; }
103 HardwareSPI_FTDI* getSPI() {
return &spi; }
114 const char* serial =
nullptr) {
125 bool is_default_objects_active =
false;
130 const char* desc =
nullptr;
131 const char* ser =
nullptr;
Abstract interface for providing GPIO hardware implementations.
Definition Sources.h:66
void setGPIO(HardwareGPIO *gpio)
Set the GPIO implementation directly.
Definition GPIOWrapper.h:153
GPIO hardware abstraction for FTDI FT2232HL in the Arduino emulator.
Definition HardwareGPIO_FTDI.h:53
bool begin(int vendor_id=0x0403, int product_id=0x6010, const char *description=nullptr, const char *serial=nullptr)
Initialize the GPIO hardware interface for FTDI FT2232HL.
Definition HardwareGPIO_FTDI.cpp:29
void end()
Close the FTDI connection and cleanup resources.
Definition HardwareGPIO_FTDI.cpp:97
Implementation of I2C communication for FTDI FT2232HL using MPSSE mode.
Definition HardwareI2C_FTDI.h:55
void end() override
Close the I2C interface and cleanup resources.
Definition HardwareI2C_FTDI.cpp:97
bool begin(int vendor_id=0x0403, int product_id=0x6010, const char *description=nullptr, const char *serial=nullptr)
Initialize the I2C interface.
Definition HardwareI2C_FTDI.cpp:37
Implementation of SPI communication for FTDI FT2232HL using MPSSE mode.
Definition HardwareSPI_FTDI.h:54
void end() override
Close the SPI interface and cleanup resources.
Definition HardwareSPI_FTDI.cpp:88
Sets up hardware interfaces for FTDI FT2232HL (GPIO, I2C, SPI).
Definition HardwareSetupFTDI.h:39
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.
Definition HardwareSetupFTDI.h:112
HardwareSetupFTDI(int vendor_id, int product_id, const char *description=nullptr, const char *serial=nullptr)
Constructor with custom device parameters.
Definition HardwareSetupFTDI.h:53
void end()
Resets hardware pointers to nullptr.
Definition HardwareSetupFTDI.h:90
HardwareSetupFTDI()=default
Constructor. Initializes FTDI hardware interfaces.
~HardwareSetupFTDI()
Destructor. Cleans up FTDI hardware interfaces.
Definition HardwareSetupFTDI.h:61
bool begin(bool asDefault=true)
Initializes hardware pointers to FTDI interfaces.
Definition HardwareSetupFTDI.h:68
Abstract interface for providing I2C hardware implementations.
Definition Sources.h:36
void setI2C(HardwareI2C *i2c)
defines the i2c implementation: use nullptr to reset.
Definition I2CWrapper.h:74
Abstract interface for providing SPI hardware implementations.
Definition Sources.h:51
void setSPI(HardwareSPI *spi)
defines the spi implementation: use nullptr to reset.
Definition SPIWrapper.h:72
We provide the WiFi class to simulate the Arduino WIFI. In in Linux we can expect that networking is ...
Definition CanMsg.cpp:31
I2CWrapper Wire
Global Wire instance used by Arduino API functions and direct access.
Definition I2CWrapper.cpp:24
SPIWrapper SPI
Global SPI instance used by Arduino API and direct access.
Definition SPIWrapper.cpp:27
GPIOWrapper GPIO
Global GPIO instance used by Arduino API functions and direct access.
Definition GPIOWrapper.cpp:35
static HardwareSetupFTDI FTDI
Global instance for FTDI FT2232HL hardware setup.
Definition HardwareSetupFTDI.h:140