COMM-DRV/NT WDM – High speed Windows NT WDM kernel serial driver

$499.95

COMM-DRV/NT WDM is the state of the art serial communications (RS232, RS485, RS422) Kernel Device Driver for Windows 7, Windows Vista, Windows 2008, Windows 2003, & Windows XP. It provides crisp, fast, and reliable performance from the aging 8250 and 16450 UARTs as well as lightning fast performance from the 16550/16650/16750 family of UARTs.  

If your application requires ultra fast serial communications, fast response on the RTS signal for multidrop applications (RS485), and/or nine-bit protocol support, then COMM-DRV/NT WDMis the tool of choice for these applications.

Description

COMM-DRV/NT WDM - High speed Windows NT WDM kernel serial driver

COMM-DRV/NT WDM

COMM-DRV/NT WDM is the state of the art serial communications (RS232, RS485, RS422) Kernel Device Driver for Windows 7, Windows Vista, Windows 2008, Windows 2003, & Windows XP. It provides crisp, fast, and reliable performance from the aging 8250 and 16450 UARTs as well as lightning fast performance from the 16550/16650/16750 family of UARTs.  

If your application requires ultra fast serial communications, fast response on the RTS signal for multidrop applications (RS485), and/or nine-bit protocol support, then COMM-DRV/NT WDMis the tool of choice for these applications.

COMM-DRV/NT WDM is the only professional DLL/driver on the market that can reliably support both the multidrop and nine bit protocol.

 Click here  to see what our satisfied users think of our products.

Who is a candidate for COMM-DRV/NT WDM? 

COMM-DRV/NT WDM is perfect for applications where any of the following applies:

  • Need for high speed and/or reliable serial communication on one or more ports concurrently.

  • Need for multidrop protocol support (RS485).

  • Need for nine-bit protocol support.

  • Support for built in serial ports on motherboard(COM1, COM2, etc.).

  • Support for non-intelligent PCI & ISA multiport cards w/16×50 UARTs.

  • Need for support for the larger FIFOs of the 16650 family of UARTs.

  • Need for crisp support of hardware flow control built directly into UART.

  • Need for time stamping bytes with microsecond resolution.

  • Need callbacks on events including state of modem signals, line errors, break detection, and other events.

COMM-DRV/NT WDM uses standard Windows DLL calling conventions. As such, it may be integrated with any Windows tool, application, or language that can call DLLs. COMM-DRV/NT WDM may be used with Visual C/C++, Borland C/C++, Watcom C/C++, Visual Basic, Access, Excel, Paradox, and a myriad of other tools and applications.

COMM-DRV/NT WDM supports the multidrop protocol (RS485)directly from within its interrupt handlers. In this mode it drops the RTS immediately after the last byte leaves the UART. It is the fastest response currently available under Windows bar none.COMM-DRV/NT WDM supports the nine-bit protocol. It transmits the first byte with the ninth bit set. It transmit all remaining bytes in the packet with the ninth bit cleared. It can read and write bytes using the nine-bit protocol  with the standard 16×50 family of UARTs. High Speed Serial Communication Kernel Driver DLL (Multidrop & Nine Bit Protocol, TimeStamps)

COMM-DRV/NT WDM does not use any of the Windows serial communication services or device drivers. It interfaces directly to the serial port. As such, there is no unnecessary layering of services that are time consuming. 

COMM-DRV/NT WDM supports the time stamping of each byte that enters the UART. It provides microsecond resolution. It buffers the time stamp along side its byte data.

COMM-DRV/NT WDM was designed with interoperability in mind. Its API is completely downwardly compatible to  our COMM-DRV/VxD product for the Windows 95 family and COMM-DRV/NT for the legacy Windows NT family. In fact the vast majority of applications written with the COMM-DRV/VxD and COMM-DRV/NTwill work unchanged and without recompilation.

COMM-DRV/NT WDM is extremely easy to use. The API is simple, concise, and intuitive. Ample examples are provided. Additionally COMM-DRV/NT WDM may be integrated with some other WCSC communication products to increase their performance.

Technical Specifications:

  • Provides support for RS485/RS422 devices. It can automatically drop the RTS signal when all data has been transmitted for optimum control of the RS485 buses or other devices requiring said protocol.

  • Provides built in support for the nine bit protocol. With one call the first byte is sent with the ninth bit set  while the other bytes are sent with the ninth bit cleared.

  • Supports any number of serial ports active concurrently with receive and transmit buffers of any size.

  • Supports baud rates in excess of 400K.

  • Provides automatic hardware flow control (RTS/CTS, DTR/DSR), as well as software flow control(XON/XOFF).

  • Supports the built in PC COM ports and ALL non-intelligent multiport cards based on the 8250, 16450, 16550, 16650, 16750, 16850 family of UARTs.

  • Peek ahead virtually any number of bytes.

  • Interrupts, buffering, and flow control handled in 32 bit mode of the CPU in Ring 0.

  • Autodetects 16550  and uses it in high speed mode.

  • Autodetects 16650 and can use built-in hardware flow control and larger FIFOs.

  • Allows sharing IRQs on supporting hardware.

  • Ability to provide time stamps on all inputted data.

  • Ability to save line status and modem status information with each byte that is buffered.

  • Provides for user function callback on specified events.

  • Provides for blocking calling thread till specified event occurs.

 Application Programming Interface (API):

WCSCVxDBreakOff() Resets the port from the break state.
WCSCVxDBreakOn() Puts the port in the break state.
WCSCVxDBytesInRcvBuf() Returns number of bytes in receive buffer.
WCSCVxDBytesInXmtBuf() Returns number of bytes in transmit buffer.
WCSCVxDCallbackOnEvent() Callbacks a user function on the particular event.
WCSCVxDCleanup() Closes an opened port.
WCSCVxDDeleteEvent() Deletes an outstanding event.
WCSCVxDDtrOff() Turn DTR off.
WCSCVxDDtrOn() Turn DTR on.
WCSCVxDFlush() Purges communication buffers.
WCSCVxDGetMetrics() Return port statistics on specific items.
WCSCVxDGetPacket() Get a packet of data.
WCSCVxDGetPort() Get port metrics.
WCSCVxDGetRegister() Read an 8250/16450/16550 register value.
WCSCVxDInit() Map dynamically to the VxD.
WCSCVxDInitializePort() Open a port.
WCSCVxDIsAllDataOut() Returns true if transmit buffer is empty as well as the UART is empty.
WCSCVxDOpenPort() Opens the serial port(preferred).
WCSCVxDPutPacket() Output a packet of data.
WCSCVxDPutRegister() Write to an 8250/16450/16550 register.
WCSCVxDRtsOff() Turn RTS off.
WCSCVxDRtsOn() Turn RTS on.
WCSCVxDSetBaudDiv() Set new baud rate divisor(for non standard baud rates)
WCSCVxDSetPortCharacteristics() Set new port characteristics (baud rates etc.)
WCSCVxDSetup() Extended port open.
WCSCVxDSizeOfRcvBuf() Get size of receive buffer.
WCSCVxdSizeOfXmtBuf() Get size of transmit buffer.
WCSCVxDSpaceInRcvBuf() Get available space in receive buffer.
WCSCVxdSpaceInXmtBuf() Get available space in transmit buffer.
WCSCVxDViewPacket() Non-destructively reads a packet of data.
WCSCVxDWaitForEvent() Puts calling thread to sleep until event occurs.