The branch, master has been updated
via 26537a2dec68c3be9d597ae903dc0ffde7d1a599 (commit)
from fb56d9cf14f34dda2d7b154f16a0c08ad8b639f9 (commit)
- Log -----------------------------------------------------------------
commit 26537a2dec68c3be9d597ae903dc0ffde7d1a599
Author: Eric Schott <eric@xxxxxxxxxxxxxx>
Date: Fri Jul 21 11:56:07 2017 +0200
C++ API: Correct the purge Direction and ModemCtl enumerations definitions
Do not use value of zero for bitmasks. The new enumeration values
are defined so programs compiled with the old ftdi.hpp include
would work as previously (doing nothing when the enumeration
with the zero value was bit-or'ed into the argument).
-----------------------------------------------------------------------
Summary of changes:
ftdipp/ftdi.cpp | 24 +++++++++++++++++++-----
ftdipp/ftdi.hpp | 8 ++++----
2 files changed, 23 insertions(+), 9 deletions(-)
diff --git a/ftdipp/ftdi.cpp b/ftdipp/ftdi.cpp
index 8eb2ec2..bdd85f5 100644
--- a/ftdipp/ftdi.cpp
+++ b/ftdipp/ftdi.cpp
@@ -144,12 +144,26 @@ int Context::reset()
int Context::flush(int mask)
{
- int ret = 1;
+ int ret;
- if (mask & Input)
- ret &= ftdi_usb_purge_rx_buffer(d->ftdi);
- if (mask & Output)
- ret &= ftdi_usb_purge_tx_buffer(d->ftdi);
+ switch (mask & (Input | Output)) {
+ case Input:
+ ret = ftdi_usb_purge_rx_buffer(d->ftdi);
+ break;
+
+ case Output:
+ ret = ftdi_usb_purge_tx_buffer(d->ftdi);
+ break;
+
+ case Input | Output:
+ ret = ftdi_usb_purge_buffers(d->ftdi);
+ break;
+
+ default:
+ // Emulate behavior of previous version.
+ ret = 1;
+ break;
+ }
return ret;
}
diff --git a/ftdipp/ftdi.hpp b/ftdipp/ftdi.hpp
index 4e3511d..2289a84 100644
--- a/ftdipp/ftdi.hpp
+++ b/ftdipp/ftdi.hpp
@@ -55,16 +55,16 @@ public:
*/
enum Direction
{
- Input,
- Output
+ Input = 0x2,
+ Output = 0x1,
};
/*! \brief Modem control flags.
*/
enum ModemCtl
{
- Dtr,
- Rts
+ Dtr = 0x2,
+ Rts = 0x1,
};
/* Constructor, Destructor */
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
|