libftdi-git Archives

Subject: A library to talk to FTDI chips branch, master, updated. v0.16-8-gc1c70e1

From: libftdi-git@xxxxxxxxxxxxxxxxxxxxxxx
To: libftdi-git@xxxxxxxxxxxxxxxxxxxxxxx
Date: Tue, 3 Nov 2009 17:05:50 +0100 (CET)
The branch, master has been updated
       via  c1c70e13de72372627267e45ba79fa731cf6f6f7 (commit)
      from  388d0297c5540f021d1e9dfa75925e4f8fae03be (commit)


- Log -----------------------------------------------------------------
commit c1c70e13de72372627267e45ba79fa731cf6f6f7
Author: Oleg Seiljus <oseiljus@xxxxxxxxxx>
Date:   Tue Nov 3 17:05:01 2009 +0100

    Functions for read/write of a single eeprom location

-----------------------------------------------------------------------

Summary of changes:
 src/ftdi.c |   38 ++++++++++++++++++++++++++++++++++++++
 src/ftdi.h |    5 ++++-
 2 files changed, 42 insertions(+), 1 deletions(-)

diff --git a/src/ftdi.c b/src/ftdi.c
index 8b589eb..5051059 100644
--- a/src/ftdi.c
+++ b/src/ftdi.c
@@ -2130,6 +2130,24 @@ int ftdi_eeprom_decode(struct ftdi_eeprom *eeprom, 
unsigned char *buf, int size)
 }
 
 /**
+    Read eeprom location
+
+    \param ftdi pointer to ftdi_context
+    \param eeprom_addr Address of eeprom location to be read
+    \param eeprom_val Pointer to store read eeprom location
+
+    \retval  0: all fine
+    \retval -1: read failed
+*/
+int ftdi_read_eeprom_location (struct ftdi_context *ftdi, int eeprom_addr, 
unsigned short *eeprom_val)
+{
+    if (usb_control_msg(ftdi->usb_dev, FTDI_DEVICE_IN_REQTYPE, 
SIO_READ_EEPROM_REQUEST, 0, eeprom_addr, (char *)eeprom_val, 2, 
ftdi->usb_read_timeout) != 2)
+        ftdi_error_return(-1, "reading eeprom failed");
+
+    return 0;
+}
+
+/**
     Read eeprom
 
     \param ftdi pointer to ftdi_context
@@ -2231,6 +2249,26 @@ int ftdi_read_eeprom_getsize(struct ftdi_context *ftdi, 
unsigned char *eeprom, i
 }
 
 /**
+    Write eeprom location
+
+    \param ftdi pointer to ftdi_context
+    \param eeprom_addr Address of eeprom location to be written
+    \param eeprom_val Value to be written
+
+    \retval  0: all fine
+    \retval -1: read failed
+*/
+int ftdi_write_eeprom_location(struct ftdi_context *ftdi, int eeprom_addr, 
unsigned short eeprom_val)
+{
+    if (usb_control_msg(ftdi->usb_dev, FTDI_DEVICE_OUT_REQTYPE,
+                                    SIO_WRITE_EEPROM_REQUEST, eeprom_val, 
eeprom_addr,
+                                    NULL, 0, ftdi->usb_write_timeout) != 0)
+        ftdi_error_return(-1, "unable to write eeprom");
+
+    return 0;
+}
+
+/**
     Write eeprom
 
     \param ftdi pointer to ftdi_context
diff --git a/src/ftdi.h b/src/ftdi.h
index f629821..74a397b 100644
--- a/src/ftdi.h
+++ b/src/ftdi.h
@@ -347,8 +347,11 @@ extern "C"
     int ftdi_write_eeprom(struct ftdi_context *ftdi, unsigned char *eeprom);
     int ftdi_erase_eeprom(struct ftdi_context *ftdi);
 
+    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);
- 
+
 #ifdef __cplusplus
 }
 #endif


hooks/post-receive
-- 
A library to talk to FTDI chips

--
libftdi-git - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi-git+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx   

Current Thread
  • A library to talk to FTDI chips branch, master, updated. v0.16-8-gc1c70e1, libftdi-git <=