Update 'libsharperang/usb.cs'
This commit is contained in:
parent
b7603a4736
commit
3b3cddc68d
|
@ -71,17 +71,17 @@ namespace libsharperang {
|
||||||
}
|
}
|
||||||
private byte[] ResolveOpcode(Opcode opcode) {
|
private byte[] ResolveOpcode(Opcode opcode) {
|
||||||
switch (opcode) {
|
switch (opcode) {
|
||||||
case Opcode.SessionBegin: return new byte[] { 0x06, 0x00, 0x02, 0x00 };
|
case Opcode.SessionBegin: return new byte[] { 0x06, 0x00, 0x02, 0x00 };
|
||||||
case Opcode.SessionEnd: return new byte[] { 0x1a, 0x00, 0x02, 0x00 };
|
case Opcode.SessionEnd: return new byte[] { 0x1a, 0x00, 0x02, 0x00 };
|
||||||
case Opcode.PrintBegin: return new byte[] { 0x00, 0x01, 0xf0, 0x03 };
|
case Opcode.PrintBegin: return new byte[] { 0x00, 0x01, 0xf0, 0x03 };
|
||||||
case Opcode.PrintContinue: return new byte[] { 0x00, 0x01, 0xf0, 0x02 };
|
case Opcode.PrintContinue: return new byte[] { 0x00, 0x01, 0xf0, 0x02 };
|
||||||
case Opcode.CrcTransmit: return new byte[] { 0x18, 0x01, 0x04, 0x00 };
|
case Opcode.CrcTransmit: return new byte[] { 0x18, 0x01, 0x04, 0x00 };
|
||||||
default: throw new NullReferenceException();
|
default: throw new NullReferenceException();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private byte[] SwapEndianness(uint value) {
|
private byte[] SwapEndianness(uint value) {
|
||||||
uint b1 = (value >> 0) & 0xff;
|
uint b1 = (value >> 0) & 0xff;
|
||||||
uint b2 = (value >> 8) & 0xff;
|
uint b2 = (value >> 8) & 0xff;
|
||||||
uint b3 = (value >> 16) & 0xff;
|
uint b3 = (value >> 16) & 0xff;
|
||||||
uint b4 = (value >> 24) & 0xff;
|
uint b4 = (value >> 24) & 0xff;
|
||||||
return BitConverter.GetBytes((b1 << 24) | (b2 << 16) | (b3 << 8) | (b4 << 0));
|
return BitConverter.GetBytes((b1 << 24) | (b2 << 16) | (b3 << 8) | (b4 << 0));
|
||||||
|
@ -104,6 +104,8 @@ namespace libsharperang {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public class USBPrinter : Base, IPrinter {
|
public class USBPrinter : Base, IPrinter {
|
||||||
|
// TODO - work out if it's possible to get this working with the default usbprint.inf driver Windows uses on plugging in
|
||||||
|
// otherwise any user would have to first use Zadig to change the driver to WinUSB
|
||||||
private UsbDevice _uDv;
|
private UsbDevice _uDv;
|
||||||
private UsbEndpointWriter _uWr;
|
private UsbEndpointWriter _uWr;
|
||||||
private UsbEndpointReader _uRd;
|
private UsbEndpointReader _uRd;
|
||||||
|
|
Loading…
Reference in New Issue