Cat
Classes | Macros | Typedefs | Enumerations | Functions | Variables
LALUsbML.h File Reference
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "ftd2xx.h"

Go to the source code of this file.

Classes

struct  _int_frame_info
 
struct  _ml_frame
 

Macros

#define LALUSB_API
 
#define _cstmcall
 
#define USB_NoErr   FT_OK
 
#define FrameNoErr   FT_OK
 
#define FRAME_HEADER   0x000000AA
 
#define FRAME_TRAILER   0x00000055
 
#define IS_INTERRUPT   0x0000007F
 
#define DATA_READ   0x00000080
 
#define DATA_WRITE   0x0000007F
 
#define USER_IRQ_FLAG   0x00000080
 
#define MAXLAYER   8
 

Typedefs

typedef void(* PrintfFunc) (char *format,...)
 
typedef void(* PerrorFunc) (char *msg)
 
typedef FT_STATUS USB_Error
 
typedef enum _frame_error_constants FrameError
 
typedef enum _extended_usb_errors Ext_USB_Error
 
typedef struct _int_frame_info InterruptFrameInfo
 
typedef struct _int_frame_infoInterruptFrameInfoPtr
 
typedef enum _fake_errors FakeErrorType
 
typedef struct _ml_frame ML_Frame
 

Enumerations

enum  TXRX_STATUS { RXSTATUS, TXSTATUS, RXSTATUS, TXSTATUS }
 
enum  _frame_error_constants {
  FE_NONE, FE_DEVICE, FE_SOFTWARE, FE_USER,
  FE_ERROR, FE_HEADER, FE_TRAILER, MaxFrameError,
  FE_NONE, FE_DEVICE, FE_SOFTWARE, FE_USER,
  FE_ERROR, FE_HEADER, FE_TRAILER, MaxFrameError
}
 
enum  _extended_usb_errors {
  USB_INT_FRAME = FT_OTHER_ERROR + 2, IO_TIMEOUT_WRITE, IO_TIMEOUT_READ, BAD_HEADER_ERROR,
  BAD_TRAILER_ERROR, BAD_SUBADDR_ERROR, NULL_DESCSTR_PTR, NULL_SERNUM_PTR,
  BAD_TARGET_PATH, MAXLAYER_NULL_PTR, SUB_ADDRR_0x40_ERROR, Max_USB_Errors,
  USB_INT_FRAME = FT_OTHER_ERROR + 2, IO_TIMEOUT_WRITE, IO_TIMEOUT_READ, BAD_HEADER_ERROR,
  BAD_TRAILER_ERROR, BAD_SUBADDR_ERROR, NULL_DESCSTR_PTR, NULL_SERNUM_PTR,
  Max_USB_Errors
}
 
enum  _fake_errors {
  FK_LETSBETRUE = 1, FK_HEADER = 2, FK_TRAILER = 4, FK_COUNT = 8,
  MaxFakeErrors = 16, FK_LETSBETRUE = 1, FK_HEADER = 2, FK_TRAILER = 4,
  FK_COUNT = 8, MaxFakeErrors = 16
}
 

Functions

LALUSB_API BOOL _cstmcall USB_FindDevices (char *DeviceDescriptionStr)
 
LALUSB_API BOOL _cstmcall USB_Init (int id, BOOL verbose)
 
LALUSB_API BOOL _cstmcall USB_ResetDevice (int id)
 
LALUSB_API FT_STATUS _cstmcall GetDeviceSerNum (char *buffer, int index)
 
LALUSB_API FT_STATUS _cstmcall GetDeviceDesc (char *buffer, int index)
 
LALUSB_API int _cstmcall USB_GetNumberOfDevs (void)
 
LALUSB_API int _cstmcall OpenUsbDevice (char *sernumstr)
 
LALUSB_API void _cstmcall CloseUsbDevice (int id)
 
LALUSB_API void _cstmcall USB_CloseAll (void)
 
LALUSB_API void _cstmcall dbg_OpenLogFile (void)
 
LALUSB_API void _cstmcall dbg_CloseLogFile (void)
 
LALUSB_API BOOL _cstmcall USB_PurgeBuffers (int id)
 
LALUSB_API BOOL _cstmcall USB_Write (int id, void *buf, int count, int *written)
 
LALUSB_API BOOL _cstmcall USB_Read (int id, void *buf, int maxcnt, int *rdcount)
 
LALUSB_API int _cstmcall USB_GetStatus (int id, TXRX_STATUS)
 
LALUSB_API BOOL _cstmcall USB_SetTimeouts (int id, int tx_timeout, int rx_timeout)
 
LALUSB_API BOOL _cstmcall USB_SetXferSize (int id, unsigned long txsize, unsigned long rxsize)
 
LALUSB_API BOOL _cstmcall USB_SetLatencyTimer (int id, UCHAR msecs)
 
LALUSB_API BOOL _cstmcall USB_GetLatencyTimer (int id, PUCHAR msecs)
 
LALUSB_API BOOL _cstmcall USB_SetBaudRate (int id, int baud)
 
LALUSB_API void _cstmcall USB_Perror (USB_Error err_code)
 
LALUSB_API USB_Error _cstmcall USB_GetLastError (void)
 
LALUSB_API void _cstmcall USB_SetPerrorFunc (PerrorFunc func)
 
LALUSB_API void _cstmcall USB_PrintErrMsg (char *msg)
 
LALUSB_API char *_cstmcall GetErrMsg (USB_Error err_code)
 
void USB_Printf (char *format,...)
 
LALUSB_API void _cstmcall USB_SetPrintfFunc (PrintfFunc func)
 
USB_Error GetUSB_Errno (void)
 
LALUSB_API BOOL _cstmcall USB_ResetMode (int id)
 
LALUSB_API BOOL _cstmcall USB_SetSynchronousMode (int id, int sleep_time)
 
LALUSB_API BOOL _cstmcall USB_SetFlowControlToHardware (int id)
 
LALUSB_API BOOL _cstmcall USB_EraseEEpromData (int id)
 
LALUSB_API BOOL _cstmcall USB_WriteEEpromData (int id)
 
LALUSB_API BOOL _cstmcall USB_ReadEEpromData (int id, BOOL verbose)
 
LALUSB_API BOOL _cstmcall USB_SetSerialNumber (int id, char *sernum)
 
LALUSB_API char *_cstmcall USB_GetDefaultSerialNum (void)
 
LALUSB_API char *_cstmcall USB_GetEpromSerialNum (void)
 
LALUSB_API BOOL _cstmcall USB_SetDescStr (int id, char *desc_str)
 
LALUSB_API char *_cstmcall USB_GetDefaultDeviceDesc (void)
 
LALUSB_API char *_cstmcall USB_GetEpromDeviceDesc (void)
 
LALUSB_API BOOL _cstmcall USB_SetPowerSource (int id, unsigned short powersrc)
 
LALUSB_API BOOL _cstmcall USB_SetMaxPower (int id, unsigned short current)
 
LALUSB_API int _cstmcall UsbWrt (int id, char sub_addr, void *buffer, int count)
 
LALUSB_API int _cstmcall UsbRd (int id, char sub_addr, void *array, int count)
 
LALUSB_API int _cstmcall UsbRdEx (int id, void *array, int maxcnt, int *frames)
 
LALUSB_API int _cstmcall UsbReadEx (int id, void *array, int maxcnt, int *frames, int *frame_size)
 
LALUSB_API void _cstmcall UsbSetIntCheckingState (BOOL truefalse)
 
LALUSB_API void _cstmcall PrintFrameInfo (void)
 
LALUSB_API int _cstmcall GetLastFrameStatus (void)
 
LALUSB_API InterruptFrameInfoPtr _cstmcall GetLastFrame (void)
 
LALUSB_API void _cstmcall ResetLostFrames (void)
 
LALUSB_API void _cstmcall ResetFrameErrors (void)
 
LALUSB_API ULONG _cstmcall GetLostFrames (void)
 
LALUSB_API ULONG _cstmcall GetTotalByteCount (void)
 
LALUSB_API void _cstmcall ResetTotalByteCount (void)
 
LALUSB_API ULONG _cstmcall GetHeaderErrors (void)
 
LALUSB_API ULONG _cstmcall GetTrailerErrors (void)
 
LALUSB_API int _cstmcall UsbWrtML (int id, int *target_path_array, char sub_addr, void *buffer, int count)
 
LALUSB_API int _cstmcall UsbReadML (int id, int *target_path_array, char sub_addr, void *buffer, int usercount)
 
LALUSB_API int _cstmcall UsbRequestForReadML (int id, int *target_path_array, char sub_addr, void *buffer, int count)
 
LALUSB_API int _cstmcall UsbReadExML (int id, int *target_path_array, void *array, int maxcnt, int *frames, int *frame_size, int *sub_add_array)
 
LALUSB_API int *_cstmcall UsbGetTargetPathArray (int id)
 
LALUSB_API int _cstmcall UsbGetNlayers (int id)
 
LALUSB_API int _cstmcall UsbSetMaxLayer (int id, int num_layers)
 
LALUSB_API int _cstmcall UsbGetMaxLayer (int id, int *num_layers)
 
LALUSB_API int _cstmcall UsbReadExML_New (int id, void *array, ML_Frame *mf_array, int max_num_bytes, int *frames)
 

Variables

LALUSB_API PerrorFunc pfError
 

Macro Definition Documentation

◆ _cstmcall

#define _cstmcall

Definition at line 31 of file LALUsbML.h.

◆ DATA_READ

#define DATA_READ   0x00000080

Definition at line 166 of file LALUsbML.h.

◆ DATA_WRITE

#define DATA_WRITE   0x0000007F

Definition at line 167 of file LALUsbML.h.

◆ FRAME_HEADER

#define FRAME_HEADER   0x000000AA

Definition at line 162 of file LALUsbML.h.

◆ FRAME_TRAILER

#define FRAME_TRAILER   0x00000055

Definition at line 163 of file LALUsbML.h.

◆ FrameNoErr

#define FrameNoErr   FT_OK

Definition at line 70 of file LALUsbML.h.

◆ IS_INTERRUPT

#define IS_INTERRUPT   0x0000007F

Definition at line 164 of file LALUsbML.h.

◆ LALUSB_API

#define LALUSB_API

Definition at line 30 of file LALUsbML.h.

◆ MAXLAYER

#define MAXLAYER   8

Definition at line 236 of file LALUsbML.h.

◆ USB_NoErr

#define USB_NoErr   FT_OK

◆ USER_IRQ_FLAG

#define USER_IRQ_FLAG   0x00000080

Definition at line 169 of file LALUsbML.h.

Typedef Documentation

◆ Ext_USB_Error

◆ FakeErrorType

◆ FrameError

◆ InterruptFrameInfo

◆ InterruptFrameInfoPtr

◆ ML_Frame

typedef struct _ml_frame ML_Frame

◆ PerrorFunc

typedef void(* PerrorFunc) (char *msg)

Definition at line 64 of file LALUsbML.h.

◆ PrintfFunc

typedef void(* PrintfFunc) (char *format,...)

Definition at line 58 of file LALUsbML.h.

◆ USB_Error

Definition at line 72 of file LALUsbML.h.

Enumeration Type Documentation

◆ _extended_usb_errors

Enumerator
USB_INT_FRAME 
IO_TIMEOUT_WRITE 
IO_TIMEOUT_READ 
BAD_HEADER_ERROR 
BAD_TRAILER_ERROR 
BAD_SUBADDR_ERROR 
NULL_DESCSTR_PTR 
NULL_SERNUM_PTR 
BAD_TARGET_PATH 
MAXLAYER_NULL_PTR 
SUB_ADDRR_0x40_ERROR 
Max_USB_Errors 
USB_INT_FRAME 
IO_TIMEOUT_WRITE 
IO_TIMEOUT_READ 
BAD_HEADER_ERROR 
BAD_TRAILER_ERROR 
BAD_SUBADDR_ERROR 
NULL_DESCSTR_PTR 
NULL_SERNUM_PTR 
Max_USB_Errors 

Definition at line 199 of file LALUsbML.h.

◆ _fake_errors

Enumerator
FK_LETSBETRUE 
FK_HEADER 
FK_TRAILER 
FK_COUNT 
MaxFakeErrors 
FK_LETSBETRUE 
FK_HEADER 
FK_TRAILER 
FK_COUNT 
MaxFakeErrors 

Definition at line 227 of file LALUsbML.h.

228 {
229  FK_LETSBETRUE = 1, // No error
230  FK_HEADER = 2, // header
231  FK_TRAILER = 4, // trailer
232  FK_COUNT = 8, // bad number of bytes
233  MaxFakeErrors = 16
enum _fake_errors FakeErrorType

◆ _frame_error_constants

Enumerator
FE_NONE 
FE_DEVICE 
FE_SOFTWARE 
FE_USER 
FE_ERROR 
FE_HEADER 
FE_TRAILER 
MaxFrameError 
FE_NONE 
FE_DEVICE 
FE_SOFTWARE 
FE_USER 
FE_ERROR 
FE_HEADER 
FE_TRAILER 
MaxFrameError 

Definition at line 186 of file LALUsbML.h.

187 {
188  FE_NONE, // No frame error nor interrupt
189  FE_DEVICE, // Error (Interrupt) came from device
190  FE_SOFTWARE, // Error detected by the software
191  FE_USER, // User interrupt
192  FE_ERROR, // Interrupt has been generated by an error
193  FE_HEADER, // Header error
194  FE_TRAILER, // Trailer error
196 }FrameError;
enum _frame_error_constants FrameError

◆ TXRX_STATUS

Enumerator
RXSTATUS 
TXSTATUS 
RXSTATUS 
TXSTATUS 

Definition at line 47 of file LALUsbML.h.

48 {
49  RXSTATUS,
50  TXSTATUS
TXRX_STATUS
Definition: LALUsbML.h:47

Function Documentation

◆ CloseUsbDevice()

LALUSB_API void _cstmcall CloseUsbDevice ( int  id)

◆ dbg_CloseLogFile()

LALUSB_API void _cstmcall dbg_CloseLogFile ( void  )

◆ dbg_OpenLogFile()

LALUSB_API void _cstmcall dbg_OpenLogFile ( void  )

◆ GetDeviceDesc()

LALUSB_API FT_STATUS _cstmcall GetDeviceDesc ( char *  buffer,
int  index 
)

◆ GetDeviceSerNum()

LALUSB_API FT_STATUS _cstmcall GetDeviceSerNum ( char *  buffer,
int  index 
)

◆ GetErrMsg()

LALUSB_API char* _cstmcall GetErrMsg ( USB_Error  err_code)

◆ GetHeaderErrors()

LALUSB_API ULONG _cstmcall GetHeaderErrors ( void  )

◆ GetLastFrame()

LALUSB_API InterruptFrameInfoPtr _cstmcall GetLastFrame ( void  )

◆ GetLastFrameStatus()

LALUSB_API int _cstmcall GetLastFrameStatus ( void  )

◆ GetLostFrames()

LALUSB_API ULONG _cstmcall GetLostFrames ( void  )

◆ GetTotalByteCount()

LALUSB_API ULONG _cstmcall GetTotalByteCount ( void  )

◆ GetTrailerErrors()

LALUSB_API ULONG _cstmcall GetTrailerErrors ( void  )

◆ GetUSB_Errno()

USB_Error GetUSB_Errno ( void  )

◆ OpenUsbDevice()

LALUSB_API int _cstmcall OpenUsbDevice ( char *  sernumstr)

◆ PrintFrameInfo()

LALUSB_API void _cstmcall PrintFrameInfo ( void  )

◆ ResetFrameErrors()

LALUSB_API void _cstmcall ResetFrameErrors ( void  )

◆ ResetLostFrames()

LALUSB_API void _cstmcall ResetLostFrames ( void  )

◆ ResetTotalByteCount()

LALUSB_API void _cstmcall ResetTotalByteCount ( void  )

◆ USB_CloseAll()

LALUSB_API void _cstmcall USB_CloseAll ( void  )

◆ USB_EraseEEpromData()

LALUSB_API BOOL _cstmcall USB_EraseEEpromData ( int  id)

◆ USB_FindDevices()

LALUSB_API BOOL _cstmcall USB_FindDevices ( char *  DeviceDescriptionStr)

◆ USB_GetDefaultDeviceDesc()

LALUSB_API char* _cstmcall USB_GetDefaultDeviceDesc ( void  )

◆ USB_GetDefaultSerialNum()

LALUSB_API char* _cstmcall USB_GetDefaultSerialNum ( void  )

◆ USB_GetEpromDeviceDesc()

LALUSB_API char* _cstmcall USB_GetEpromDeviceDesc ( void  )

◆ USB_GetEpromSerialNum()

LALUSB_API char* _cstmcall USB_GetEpromSerialNum ( void  )

◆ USB_GetLastError()

LALUSB_API USB_Error _cstmcall USB_GetLastError ( void  )

◆ USB_GetLatencyTimer()

LALUSB_API BOOL _cstmcall USB_GetLatencyTimer ( int  id,
PUCHAR  msecs 
)

◆ USB_GetNumberOfDevs()

LALUSB_API int _cstmcall USB_GetNumberOfDevs ( void  )

◆ USB_GetStatus()

LALUSB_API int _cstmcall USB_GetStatus ( int  id,
TXRX_STATUS   
)

◆ USB_Init()

LALUSB_API BOOL _cstmcall USB_Init ( int  id,
BOOL  verbose 
)

◆ USB_Perror()

LALUSB_API void _cstmcall USB_Perror ( USB_Error  err_code)

◆ USB_PrintErrMsg()

LALUSB_API void _cstmcall USB_PrintErrMsg ( char *  msg)

◆ USB_Printf()

void USB_Printf ( char *  format,
  ... 
)

◆ USB_PurgeBuffers()

LALUSB_API BOOL _cstmcall USB_PurgeBuffers ( int  id)

◆ USB_Read()

LALUSB_API BOOL _cstmcall USB_Read ( int  id,
void *  buf,
int  maxcnt,
int *  rdcount 
)

◆ USB_ReadEEpromData()

LALUSB_API BOOL _cstmcall USB_ReadEEpromData ( int  id,
BOOL  verbose 
)

◆ USB_ResetDevice()

LALUSB_API BOOL _cstmcall USB_ResetDevice ( int  id)

◆ USB_ResetMode()

LALUSB_API BOOL _cstmcall USB_ResetMode ( int  id)

◆ USB_SetBaudRate()

LALUSB_API BOOL _cstmcall USB_SetBaudRate ( int  id,
int  baud 
)

◆ USB_SetDescStr()

LALUSB_API BOOL _cstmcall USB_SetDescStr ( int  id,
char *  desc_str 
)

◆ USB_SetFlowControlToHardware()

LALUSB_API BOOL _cstmcall USB_SetFlowControlToHardware ( int  id)

◆ USB_SetLatencyTimer()

LALUSB_API BOOL _cstmcall USB_SetLatencyTimer ( int  id,
UCHAR  msecs 
)

◆ USB_SetMaxPower()

LALUSB_API BOOL _cstmcall USB_SetMaxPower ( int  id,
unsigned short  current 
)

◆ USB_SetPerrorFunc()

LALUSB_API void _cstmcall USB_SetPerrorFunc ( PerrorFunc  func)

◆ USB_SetPowerSource()

LALUSB_API BOOL _cstmcall USB_SetPowerSource ( int  id,
unsigned short  powersrc 
)

◆ USB_SetPrintfFunc()

LALUSB_API void _cstmcall USB_SetPrintfFunc ( PrintfFunc  func)

◆ USB_SetSerialNumber()

LALUSB_API BOOL _cstmcall USB_SetSerialNumber ( int  id,
char *  sernum 
)

◆ USB_SetSynchronousMode()

LALUSB_API BOOL _cstmcall USB_SetSynchronousMode ( int  id,
int  sleep_time 
)

◆ USB_SetTimeouts()

LALUSB_API BOOL _cstmcall USB_SetTimeouts ( int  id,
int  tx_timeout,
int  rx_timeout 
)

◆ USB_SetXferSize()

LALUSB_API BOOL _cstmcall USB_SetXferSize ( int  id,
unsigned long  txsize,
unsigned long  rxsize 
)

◆ USB_Write()

LALUSB_API BOOL _cstmcall USB_Write ( int  id,
void *  buf,
int  count,
int *  written 
)

◆ USB_WriteEEpromData()

LALUSB_API BOOL _cstmcall USB_WriteEEpromData ( int  id)

◆ UsbGetMaxLayer()

LALUSB_API int _cstmcall UsbGetMaxLayer ( int  id,
int *  num_layers 
)

◆ UsbGetNlayers()

LALUSB_API int _cstmcall UsbGetNlayers ( int  id)

◆ UsbGetTargetPathArray()

LALUSB_API int* _cstmcall UsbGetTargetPathArray ( int  id)

◆ UsbRd()

LALUSB_API int _cstmcall UsbRd ( int  id,
char  sub_addr,
void *  array,
int  count 
)

◆ UsbRdEx()

LALUSB_API int _cstmcall UsbRdEx ( int  id,
void *  array,
int  maxcnt,
int *  frames 
)

◆ UsbReadEx()

LALUSB_API int _cstmcall UsbReadEx ( int  id,
void *  array,
int  maxcnt,
int *  frames,
int *  frame_size 
)

◆ UsbReadExML()

LALUSB_API int _cstmcall UsbReadExML ( int  id,
int *  target_path_array,
void *  array,
int  maxcnt,
int *  frames,
int *  frame_size,
int *  sub_add_array 
)

◆ UsbReadExML_New()

LALUSB_API int _cstmcall UsbReadExML_New ( int  id,
void *  array,
ML_Frame mf_array,
int  max_num_bytes,
int *  frames 
)

◆ UsbReadML()

LALUSB_API int _cstmcall UsbReadML ( int  id,
int *  target_path_array,
char  sub_addr,
void *  buffer,
int  usercount 
)

◆ UsbRequestForReadML()

LALUSB_API int _cstmcall UsbRequestForReadML ( int  id,
int *  target_path_array,
char  sub_addr,
void *  buffer,
int  count 
)

◆ UsbSetIntCheckingState()

LALUSB_API void _cstmcall UsbSetIntCheckingState ( BOOL  truefalse)

◆ UsbSetMaxLayer()

LALUSB_API int _cstmcall UsbSetMaxLayer ( int  id,
int  num_layers 
)

◆ UsbWrt()

LALUSB_API int _cstmcall UsbWrt ( int  id,
char  sub_addr,
void *  buffer,
int  count 
)

◆ UsbWrtML()

LALUSB_API int _cstmcall UsbWrtML ( int  id,
int *  target_path_array,
char  sub_addr,
void *  buffer,
int  count 
)

Variable Documentation

◆ pfError