OSDN Git Service

FTDI: set_bit_mode() return type changed
[stock/stock.osdn.git] / FTDI / FTDI_linux.h
index 22a83c8..cc57e89 100644 (file)
@@ -13,7 +13,7 @@ enum {
   FT_BITMODE_CBUS_BITBANG = BITMODE_CBUS,
 };
 
-class FTDI_t
+class FTDI
 {
 //private:
 public:
@@ -21,10 +21,10 @@ public:
   int status;
 
 public:
-  FTDI_t() : status(0) {
+  FTDI() : status(0) {
      assert(ftdi_init(&ftdic) >= 0);
   }
-  ~FTDI_t() {
+  ~FTDI() {
      ftdi_deinit(&ftdic);
   }
   operator bool() const {
@@ -53,6 +53,9 @@ public:
   bool set_flow_control_off() {
      return ftdi_setflowctrl(&ftdic, SIO_DISABLE_FLOW_CTRL) == 0;
   }
+  bool set_flow_control_RTS_CTS() {
+     return ftdi_setflowctrl(&ftdic, SIO_RTS_CTS_HS) == 0;
+  }
   bool set_serial(int data_bits, char parity, int stop_bits) {
      enum ftdi_bits_type e_data;
      switch (data_bits) {
@@ -85,8 +88,8 @@ public:
      // FIXME
      return ftdi_set_baudrate(&ftdic, 3000000/divisor) >= 0;
   }
-  int set_bit_mode(uint8_t mask, uint8_t mode) {
-     return ftdi_set_bitmode(&ftdic, mask, mode);
+  bool set_bit_mode(uint8_t mask, uint8_t mode) {
+     return (ftdi_set_bitmode(&ftdic, mask, mode) == 0);
   }
   inline int read(void * buffer, unsigned len) {
      return ftdi_read_data(&ftdic, (uint8_t *)buffer, len);
@@ -145,7 +148,7 @@ public:
      return ftdi_write_eeprom_location(&ftdic, addr, value) == 0;
   }
   bool eeprom_write_all(const unsigned char * eeprom) {
-     return ftdi_write_eeprom(&ftdic, eeprom) == 0;
+     return ftdi_write_eeprom(&ftdic, (unsigned char *)eeprom) == 0;
   }
 #if 0
   FT_STATUS list_devices(VOID * arg1, VOID * arg2, DWORD flags);