aboutsummaryrefslogtreecommitdiffstats
path: root/heimdall/source/BridgeManager.h
diff options
context:
space:
mode:
Diffstat (limited to 'heimdall/source/BridgeManager.h')
-rw-r--r--heimdall/source/BridgeManager.h21
1 files changed, 14 insertions, 7 deletions
diff --git a/heimdall/source/BridgeManager.h b/heimdall/source/BridgeManager.h
index e67c679..6635724 100644
--- a/heimdall/source/BridgeManager.h
+++ b/heimdall/source/BridgeManager.h
@@ -61,11 +61,6 @@ namespace Heimdall
enum
{
- kCommunicationDelayDefault = 0
- };
-
- enum
- {
kInitialiseSucceeded = 0,
kInitialiseFailed,
kInitialiseDeviceNotDetected
@@ -94,12 +89,19 @@ namespace Heimdall
Default = Error
};
+ typedef struct
+ {
+ unsigned int dteRate;
+ unsigned char charFormat;
+ unsigned char parityType;
+ unsigned char dataBits;
+ } LineCoding;
+
private:
static const DeviceIdentifier supportedDevices[kSupportedDeviceCount];
bool verbose;
- int communicationDelay;
libusb_context *libusbContext;
libusb_device_handle *deviceHandle;
@@ -131,9 +133,14 @@ namespace Heimdall
bool InitialiseProtocol(void);
+ bool SetControlLineState(unsigned short controlSignalFlags);
+ bool SetControlLineCoding(LineCoding lineCoding);
+
+ bool SendBulkTransfer(unsigned char *data, int length, int timeout = 3000, bool retry = true) const;
+
public:
- BridgeManager(bool verbose, int communicationDelay = BridgeManager::kCommunicationDelayDefault);
+ BridgeManager(bool verbose);
~BridgeManager();
bool DetectDevice(void);