Skip to content
This repository has been archived by the owner on May 10, 2022. It is now read-only.

Commit

Permalink
Merge pull request #77 from FPGAwars/next
Browse files Browse the repository at this point in the history
Update libftdi and libusb
  • Loading branch information
Jesus89 authored May 21, 2019
2 parents c5a3ff9 + 0b2a119 commit f100f8c
Show file tree
Hide file tree
Showing 24 changed files with 2,131 additions and 52 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
*.out
*.vcd
*.tar.gz
libftdi.a
_builds/
_packages/
_upstream/
4 changes: 2 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ dist: trusty
language: cpp
matrix:
include:
- os: osx
env: TARGET=darwin
- os: linux
env: TARGET=linux_x86_64
- os: linux
Expand All @@ -15,8 +17,6 @@ matrix:
env: TARGET=windows_x86
- os: linux
env: TARGET=windows_amd64
- os: osx
env: TARGET=darwin
before_script:
- if [[ ${TARGET:0:7} == "windows" ]]; then sudo dpkg --add-architecture i386; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test; fi
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ NOTE: *libftdi1.a* and *libusb-1.0.a* files have been generated for each archite

## Collaborators

* [Carlos Venegas](https://github.com/cavearr)
* [Miodrag Milanovic](https://github.com/mmicko)

## License
Expand Down
52 changes: 38 additions & 14 deletions build-data/include/libftdi1/ftdi.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
ftdi.h - description
-------------------
begin : Fri Apr 4 2003
copyright : (C) 2003-2014 by Intra2net AG and the libftdi developers
copyright : (C) 2003-2017 by Intra2net AG and the libftdi developers
email : [email protected]
***************************************************************************/

Expand All @@ -18,7 +18,9 @@
#define __libftdi_h__

#include <stdint.h>
#ifndef _WIN32
#include <sys/time.h>
#endif

/* 'interface' might be defined as a macro on Windows, so we need to
* undefine it so as not to break the current libftdi API, because
Expand Down Expand Up @@ -265,7 +267,7 @@ struct ftdi_context
struct ftdi_eeprom *eeprom;

/** String representation of last error */
char *error_str;
const char *error_str;

/** Defines behavior in case a kernel module is already attached to the device */
enum ftdi_module_detach_mode module_detach_mode;
Expand Down Expand Up @@ -332,6 +334,8 @@ enum ftdi_eeprom_value
CHANNEL_C_RS485 = 53,
CHANNEL_D_RS485 = 54,
RELEASE_NUMBER = 55,
EXTERNAL_OSCILLATOR= 56,
USER_DATA_ADDR = 57,
};

/**
Expand All @@ -350,20 +354,27 @@ struct ftdi_device_list
#define POWER_SAVE_DISABLE_H 0x80

#define USE_SERIAL_NUM 0x08
enum ftdi_cbus_func /* FIXME: Recheck value, especially the last */
enum ftdi_cbus_func
{
CBUS_TXDEN = 0, CBUS_PWREN = 1, CBUS_RXLED = 2, CBUS_TXLED = 3, CBUS_TXRXLED = 4,
CBUS_SLEEP = 5, CBUS_CLK48 = 6, CBUS_CLK24 = 7, CBUS_CLK12 = 8, CBUS_CLK6 = 9,
CBUS_IOMODE = 0xa, CBUS_BB_WR = 0xb, CBUS_BB_RD = 0xc, CBUS_BB = 0xd
CBUS_IOMODE = 0xa, CBUS_BB_WR = 0xb, CBUS_BB_RD = 0xc
};

enum ftdi_cbush_func /* FIXME: Recheck value, especially the last */
enum ftdi_cbush_func
{
CBUSH_TRISTATE = 0, CBUSH_RXLED = 1, CBUSH_TXLED = 2, CBUSH_TXRXLED = 3, CBUSH_PWREN = 4,
CBUSH_SLEEP = 5, CBUSH_DRIVE_0 = 6, CBUSG_DRIVE1 = 7, CBUSH_IOMODE = 8, CBUSH_TXDEN = 9,
CBUSH_CLK30 = 10, CBUSH_CLK15 = 11, CBUSH_CLK7_5 = 12, CBUSH_BAT_DETECT = 13,
CBUSH_BAT_DETECT_NEG = 14, CBUSH_I2C_TXE = 15, CBUSH_I2C_RXF = 16, CBUSH_VBUS_SENSE = 17,
CBUSH_BB_WR = 18, CBUSH_BB_RD = 19, CBUSH_TIME_STAMP = 20, CBUSH_AWAKE = 21,
CBUSH_TRISTATE = 0, CBUSH_TXLED = 1, CBUSH_RXLED = 2, CBUSH_TXRXLED = 3, CBUSH_PWREN = 4,
CBUSH_SLEEP = 5, CBUSH_DRIVE_0 = 6, CBUSH_DRIVE1 = 7, CBUSH_IOMODE = 8, CBUSH_TXDEN = 9,
CBUSH_CLK30 = 10, CBUSH_CLK15 = 11, CBUSH_CLK7_5 = 12
};

enum ftdi_cbusx_func
{
CBUSX_TRISTATE = 0, CBUSX_TXLED = 1, CBUSX_RXLED = 2, CBUSX_TXRXLED = 3, CBUSX_PWREN = 4,
CBUSX_SLEEP = 5, CBUSX_DRIVE_0 = 6, CBUSX_DRIVE1 = 7, CBUSX_IOMODE = 8, CBUSX_TXDEN = 9,
CBUSX_CLK24 = 10, CBUSX_CLK12 = 11, CBUSX_CLK6 = 12, CBUSX_BAT_DETECT = 13,
CBUSX_BAT_DETECT_NEG = 14, CBUSX_I2C_TXE = 15, CBUSX_I2C_RXF = 16, CBUSX_VBUS_SENSE = 17,
CBUSX_BB_WR = 18, CBUSX_BB_RD = 19, CBUSX_TIME_STAMP = 20, CBUSX_AWAKE = 21
};

/** Invert TXD# */
Expand Down Expand Up @@ -471,9 +482,18 @@ extern "C"
void ftdi_list_free(struct ftdi_device_list **devlist);
void ftdi_list_free2(struct ftdi_device_list *devlist);
int ftdi_usb_get_strings(struct ftdi_context *ftdi, struct libusb_device *dev,
char * manufacturer, int mnf_len,
char * description, int desc_len,
char * serial, int serial_len);
char *manufacturer, int mnf_len,
char *description, int desc_len,
char *serial, int serial_len);
int ftdi_usb_get_strings2(struct ftdi_context *ftdi, struct libusb_device *dev,
char *manufacturer, int mnf_len,
char *description, int desc_len,
char *serial, int serial_len);

int ftdi_eeprom_get_strings(struct ftdi_context *ftdi,
char *manufacturer, int mnf_len,
char *product, int prod_len,
char *serial, int serial_len);
int ftdi_eeprom_set_strings(struct ftdi_context *ftdi, char * manufacturer,
char * product, char * serial);

Expand All @@ -482,6 +502,7 @@ extern "C"
const char* description, const char* serial);
int ftdi_usb_open_desc_index(struct ftdi_context *ftdi, int vendor, int product,
const char* description, const char* serial, unsigned int index);
int ftdi_usb_open_bus_addr(struct ftdi_context *ftdi, uint8_t bus, uint8_t addr);
int ftdi_usb_open_dev(struct ftdi_context *ftdi, struct libusb_device *dev);
int ftdi_usb_open_string(struct ftdi_context *ftdi, const char* description);

Expand Down Expand Up @@ -512,6 +533,7 @@ extern "C"

struct ftdi_transfer_control *ftdi_read_data_submit(struct ftdi_context *ftdi, unsigned char *buf, int size);
int ftdi_transfer_data_done(struct ftdi_transfer_control *tc);
void ftdi_transfer_data_cancel(struct ftdi_transfer_control *tc, struct timeval * to);

int ftdi_set_bitmode(struct ftdi_context *ftdi, unsigned char bitmask, unsigned char mode);
int ftdi_disable_bitbang(struct ftdi_context *ftdi);
Expand Down Expand Up @@ -544,6 +566,8 @@ extern "C"
int ftdi_get_eeprom_buf(struct ftdi_context *ftdi, unsigned char * buf, int size);
int ftdi_set_eeprom_buf(struct ftdi_context *ftdi, const unsigned char * buf, int size);

int ftdi_set_eeprom_user_data(struct ftdi_context *ftdi, const char * buf, int size);

int ftdi_read_eeprom(struct ftdi_context *ftdi);
int ftdi_read_chipid(struct ftdi_context *ftdi, unsigned int *chipid);
int ftdi_write_eeprom(struct ftdi_context *ftdi);
Expand All @@ -552,7 +576,7 @@ extern "C"
int ftdi_read_eeprom_location (struct ftdi_context *ftdi, int eeprom_addr, unsigned short *eeprom_val);
int ftdi_write_eeprom_location(struct ftdi_context *ftdi, int eeprom_addr, unsigned short eeprom_val);

char *ftdi_get_error_string(struct ftdi_context *ftdi);
const char *ftdi_get_error_string(struct ftdi_context *ftdi);

#ifdef __cplusplus
}
Expand Down
Loading

0 comments on commit f100f8c

Please sign in to comment.