#include <mrpt/hwdrivers/CInterfaceFTDI.h>

Public Member Functions | |
| CInterfaceFTDI () | |
| Constructor, which loads driver interface (the DLL under Windows). | |
| virtual | ~CInterfaceFTDI () |
| Destructor, which closes the connection with the chip and unloads the driver interface. | |
| CInterfaceFTDI (const CInterfaceFTDI &o) | |
| This object cannot be copied. | |
| CInterfaceFTDI & | operator= (const CInterfaceFTDI &o) |
| This object cannot be copied. | |
| bool | isOpen () |
| Checks whether the chip has been successfully open. | |
| void | OpenBySerialNumber (const std::string &serialNumber) |
| Open by device serial number. | |
| void | OpenByDescription (const std::string &description) |
| Open by device description. | |
| void | Close () |
| Close the USB device. | |
| void | ResetDevice () |
| Reset the USB device. | |
| void | Purge () |
| Purge the I/O buffers. | |
| void | SetLatencyTimer (unsigned char latency_ms) |
| Change the latency timer (in milliseconds) implemented on the FTDI chip: for a few ms, data is not sent to the PC waiting for possible more data, to save USB trafic. | |
| void | SetTimeouts (unsigned long dwReadTimeout_ms, unsigned long dwWriteTimeout_ms) |
| Change read & write timeouts, in milliseconds. | |
| void | ListAllDevices (TFTDIDeviceList &outList) |
| Generates a list with all FTDI devices connected right now. | |
| size_t | ReadSync (void *Buffer, size_t Count) |
| Tries to read, raising no exception if not all the bytes are available, but raising one if there is some communication error. | |
| size_t | WriteSync (const void *Buffer, size_t Count) |
| Tries to write, raising no exception if not all the bytes are available, but raising one if there is some communication error. | |
Protected Member Functions | |
| size_t | Read (void *Buffer, size_t Count) |
| Introduces a pure virtual method responsible for reading from the stream. | |
| size_t | Write (const void *Buffer, size_t Count) |
| Introduces a pure virtual method responsible for writing to the stream. | |
| size_t | Seek (long Offset, CStream::TSeekOrigin Origin=sFromBeginning) |
| This virtual method does nothing in this class. | |
| size_t | getTotalBytesCount () |
| This virtual method does nothing in this class. | |
| size_t | getPosition () |
| This virtual method does nothing in this class. | |
| void | ftdi_read (void *lpvBuffer, unsigned long dwBuffSize, unsigned long *lpdwBytesRead) |
| void | ftdi_write (const void *lpvBuffer, unsigned long dwBuffSize, unsigned long *lpdwBytes) |
| void | recursive_fill_list_devices (void *usb_device_structure, TFTDIDeviceList &outList) |
| Process recursively a USB device and its children:. | |
Protected Attributes | |
| void * | m_ftdi_context |
This class implements the communication with FT245BM / FT245RL chips. Using this class makes a program to depend on:
If there is any error during the communications (or loading the Windows DLL), a std::exception will be raised.
To write bulk data, use CStream::ReadBuffer and CStream::WriteBuffer. See also the derived classes for higher level communication: CInterfaceFTDIMessages
Warning: Avoid defining an object of this class in a global scope if you want to catch all potential exceptions during the constructors (like DLL not found, etc...)
VERSIONS:
Definition at line 89 of file CInterfaceFTDI.h.
| mrpt::hwdrivers::CInterfaceFTDI::CInterfaceFTDI | ( | ) |
Constructor, which loads driver interface (the DLL under Windows).
| virtual mrpt::hwdrivers::CInterfaceFTDI::~CInterfaceFTDI | ( | ) | [virtual] |
Destructor, which closes the connection with the chip and unloads the driver interface.
| mrpt::hwdrivers::CInterfaceFTDI::CInterfaceFTDI | ( | const CInterfaceFTDI & | o | ) |
This object cannot be copied.
| void mrpt::hwdrivers::CInterfaceFTDI::Close | ( | ) |
Close the USB device.
| void mrpt::hwdrivers::CInterfaceFTDI::ftdi_read | ( | void * | lpvBuffer, | |
| unsigned long | dwBuffSize, | |||
| unsigned long * | lpdwBytesRead | |||
| ) | [protected] |
| void mrpt::hwdrivers::CInterfaceFTDI::ftdi_write | ( | const void * | lpvBuffer, | |
| unsigned long | dwBuffSize, | |||
| unsigned long * | lpdwBytes | |||
| ) | [protected] |
| size_t mrpt::hwdrivers::CInterfaceFTDI::getPosition | ( | ) | [protected, virtual] |
| size_t mrpt::hwdrivers::CInterfaceFTDI::getTotalBytesCount | ( | ) | [protected, virtual] |
| bool mrpt::hwdrivers::CInterfaceFTDI::isOpen | ( | ) |
| void mrpt::hwdrivers::CInterfaceFTDI::ListAllDevices | ( | TFTDIDeviceList & | outList | ) |
Generates a list with all FTDI devices connected right now.
| void mrpt::hwdrivers::CInterfaceFTDI::OpenByDescription | ( | const std::string & | description | ) |
Open by device description.
| void mrpt::hwdrivers::CInterfaceFTDI::OpenBySerialNumber | ( | const std::string & | serialNumber | ) |
Open by device serial number.
| CInterfaceFTDI& mrpt::hwdrivers::CInterfaceFTDI::operator= | ( | const CInterfaceFTDI & | o | ) |
This object cannot be copied.
| void mrpt::hwdrivers::CInterfaceFTDI::Purge | ( | ) |
Purge the I/O buffers.
| size_t mrpt::hwdrivers::CInterfaceFTDI::Read | ( | void * | Buffer, | |
| size_t | Count | |||
| ) | [protected, virtual] |
Introduces a pure virtual method responsible for reading from the stream.
Implements mrpt::utils::CStream.
| size_t mrpt::hwdrivers::CInterfaceFTDI::ReadSync | ( | void * | Buffer, | |
| size_t | Count | |||
| ) | [inline] |
Tries to read, raising no exception if not all the bytes are available, but raising one if there is some communication error.
Definition at line 141 of file CInterfaceFTDI.h.
| void mrpt::hwdrivers::CInterfaceFTDI::recursive_fill_list_devices | ( | void * | usb_device_structure, | |
| TFTDIDeviceList & | outList | |||
| ) | [protected] |
Process recursively a USB device and its children:.
| void mrpt::hwdrivers::CInterfaceFTDI::ResetDevice | ( | ) |
Reset the USB device.
| size_t mrpt::hwdrivers::CInterfaceFTDI::Seek | ( | long | Offset, | |
| CStream::TSeekOrigin | Origin = sFromBeginning | |||
| ) | [protected, virtual] |
| void mrpt::hwdrivers::CInterfaceFTDI::SetLatencyTimer | ( | unsigned char | latency_ms | ) |
Change the latency timer (in milliseconds) implemented on the FTDI chip: for a few ms, data is not sent to the PC waiting for possible more data, to save USB trafic.
| void mrpt::hwdrivers::CInterfaceFTDI::SetTimeouts | ( | unsigned long | dwReadTimeout_ms, | |
| unsigned long | dwWriteTimeout_ms | |||
| ) |
Change read & write timeouts, in milliseconds.
| size_t mrpt::hwdrivers::CInterfaceFTDI::Write | ( | const void * | Buffer, | |
| size_t | Count | |||
| ) | [protected, virtual] |
Introduces a pure virtual method responsible for writing to the stream.
Write attempts to write up to Count bytes to Buffer, and returns the number of bytes actually written.
Implements mrpt::utils::CStream.
| size_t mrpt::hwdrivers::CInterfaceFTDI::WriteSync | ( | const void * | Buffer, | |
| size_t | Count | |||
| ) | [inline] |
Tries to write, raising no exception if not all the bytes are available, but raising one if there is some communication error.
Definition at line 148 of file CInterfaceFTDI.h.
void* mrpt::hwdrivers::CInterfaceFTDI::m_ftdi_context [protected] |
Definition at line 233 of file CInterfaceFTDI.h.
| Page generated by Doxygen 1.5.9 for MRPT 0.7.1 SVN: at Mon Aug 17 22:20:53 EDT 2009 |