diff options
Diffstat (limited to 'heimdall')
-rw-r--r-- | heimdall/source/BridgeManager.cpp | 94 | ||||
-rw-r--r-- | heimdall/source/BridgeManager.h | 11 |
2 files changed, 1 insertions, 104 deletions
diff --git a/heimdall/source/BridgeManager.cpp b/heimdall/source/BridgeManager.cpp index 1559a70..44e3c0c 100644 --- a/heimdall/source/BridgeManager.cpp +++ b/heimdall/source/BridgeManager.cpp @@ -306,102 +306,10 @@ void BridgeManager::ReleaseDeviceInterface(void) Interface::Print("\n"); } -enum -{ - kControlRequestSetLineCoding = 0x20, - kControlRequestSetControlLineState = 0x22 -}; - - -enum -{ - kLineCodingCharFormatZeroToOneStopBit = 0, - kLineCodingCharFormatOneToOneAndAHalfStopBits = 1, - kLineCodingCharFormatTwoToTwoAndAHalfStopBits = 2 -}; - -enum -{ - kParityTypeNone = 0, - kParityTypeOdd = 1, - kParityTypeEven = 2, - kParityTypeMark = 3, - kParityTypeSpace = 4 -}; - -bool BridgeManager::SetControlLineState(unsigned short controlSignalFlags) -{ - int result = libusb_control_transfer(deviceHandle, LIBUSB_REQUEST_TYPE_CLASS, kControlRequestSetControlLineState, controlSignalFlags, 0, nullptr, 0, 1000); - - if (result != LIBUSB_SUCCESS) - { - if (verbose) - Interface::PrintWarning("Control line state (signal flags: 0x%x) transfer failed. Result: %d\n", controlSignalFlags, result); - - return (false); - } - else - { - return (true); - } -} - -bool BridgeManager::SetControlLineCoding(LineCoding lineCoding) -{ - unsigned char dataBuffer[7]; - - dataBuffer[0] = lineCoding.dteRate & 0xFF; - dataBuffer[1] = (lineCoding.dteRate >> 8) & 0xFF; - dataBuffer[2] = (lineCoding.dteRate >> 16) & 0xFF; - dataBuffer[3] = (lineCoding.dteRate >> 24) & 0xFF; - dataBuffer[4] = lineCoding.charFormat; - dataBuffer[5] = lineCoding.parityType; - dataBuffer[6] = lineCoding.dataBits; - - int result = libusb_control_transfer(deviceHandle, LIBUSB_REQUEST_TYPE_CLASS, kControlRequestSetLineCoding, 0x0, 0, dataBuffer, 7, 1000); - - if (result != LIBUSB_SUCCESS) - { - if (verbose) - Interface::PrintWarning("Setting control line coding failed. Result: %d\n", result); - - return (false); - } - else - { - return (true); - } -} - -enum -{ - kLineStateControlSignalDtePresent = 1, - kLineStateControlSignalCarrierControl = 1 << 1 -}; - bool BridgeManager::InitialiseProtocol(void) { Interface::Print("Initialising protocol...\n"); - /*LineCoding lineCoding; - - lineCoding.dteRate = 115200; - lineCoding.charFormat = kLineCodingCharFormatZeroToOneStopBit; - lineCoding.parityType = kParityTypeNone; - lineCoding.dataBits = 7; - - SetControlLineState(kLineStateControlSignalDtePresent | kLineStateControlSignalCarrierControl); - SetControlLineCoding(lineCoding); - SetControlLineState(kLineStateControlSignalDtePresent | kLineStateControlSignalCarrierControl); - SetControlLineState(kLineStateControlSignalCarrierControl); - - lineCoding.dataBits = 8; - SetControlLineCoding(lineCoding); - - SetControlLineState(kLineStateControlSignalCarrierControl);*/ - - int dataTransferred = 0; - unsigned char dataBuffer[7]; // Send "ODIN" @@ -417,7 +325,7 @@ bool BridgeManager::InitialiseProtocol(void) memset(dataBuffer, 0, 7); int retry = 0; - dataTransferred = 0; + int dataTransferred = 0; int result = libusb_bulk_transfer(deviceHandle, inEndpoint, dataBuffer, 7, &dataTransferred, 1000); diff --git a/heimdall/source/BridgeManager.h b/heimdall/source/BridgeManager.h index 04b03c3..9ebbdae 100644 --- a/heimdall/source/BridgeManager.h +++ b/heimdall/source/BridgeManager.h @@ -89,14 +89,6 @@ 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];
@@ -133,9 +125,6 @@ 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:
|