Summary |
- Award winning class library for asynchronous communications for Windows, Win32s, Windows NT, DOS, Extended DOS, NASI - with more, More, MORE
- Greenleaf Comm++ paves the way to robust object oriented programming of
serial communications in applications for a wide range of
platforms - you get platform independence. Comm++ includes abstract base and derived
classes which perform all of the functions needed for your communications jobs.
Comm++ removes the grunt work - so you can do your job easier, faster, even better
|
|
Platforms, APIs |
- Pure C++ class library with an arsenal of over 460 public
methods in the API gives you the industrys most extensive shot at both rapid
application development and extending or customizing the library for your needs
- Supports Microsoft Windows 3.1x, NT 4, 9x, Me, XP, Server 2003, Win32s, MS-DOS, NASI for
Novell NACS Server, DESQview, Borland PowerPack, Tenberry DOS/4G, and Phar Lap
TNT DOS extenders (Note: All development must be done on Win32 platform; If you target
DOS Or Extended DOS, you will need either Borland C++ 5.02 (Not C++Builder!) Or Microsoft
Visual C++ 1.52. Contact us If you require either of these compilers because they are Not
sold Or supported by either Microsoft or Borland International. We can help.
- By special request, registered users may obtain a set of libraries and DLLs for
Watcom C++ 10.0. We do not include these with the retail product because Watcom C++ Is currently
available only from Open Watcom; we cannot support any Open Source compiler; If we Do send you the
libraries, it will be on an "as-is" basis. The libraries were compiled With Watcom C++ as it was
produced by Watcom. We have numerous satisfied customers using the libraries For Watcom.
|
|
USB and Ethernet Connectivity |
- Tested with I/O Networks EdgePort USB hardware using ION comm driver for Windows.
- NOTE: Does Not interface directly With USB port or with Ethernet pipe.
- Device and Terminal Server hardware such as Digi PortServer TS or Digi One series allow you
to use any Number of serial ports located remotely on a LAN.
- Do not try to economize by acquiring low-cost, relatively unknown and untested
connectivity devices.
- In general, If you can view the device in Device Manager in Windows' Control Panel, in
the "Ports - COM and LPT" section of the tree; If the devices are listed as serial ports that
are working normally the odds of Comm++ applications using the ports are good.
- If you have questions about specific devices or want a recommendation,
please Call Greenleaf Sales toll-free at 1-877-218-7347 (US and Canada) Or by email to
Sales@GreenleafSoft.com
to access our extensive knowledgebase on this intricate topic.
|
|
We're the guys who did the grunt work... so you don't need to. |
|
Power and Versatility |
Face it: Microsoft APIs only scratch the surface of what a serial port can Do. For over 20 years, Greenleaf CommLib
and Comm++ have taken on the tough stuff involved in managing ports, transferring files, And doing terminal emulation.
We've a world-class reputation for excellence and now our Greenleaf CommX product adds the ease of ActiveX controls
to the product lineup. If you prefer C++, Comm++ has the most features. If you prefer C, take a look at CommLib--it's
rock-solid. If you work in VB, consider CommX. Yes, you can use CommLib Or Comm++ in environments other than C/C++, but
the documentation For CommX Is slanted heavily towards the Visual Basic / Delphi world.
This class library provides powerful tools for all aspects of
asynchronous comm programming for all major PC-based platforms.
Combine file transfers with Hayes modem controls, add ANSI, VT100, VT52, or "glass Teletype"
terminal emulation, select an appropriate screen driver and a platform driver
You can drive any number of simultaneous ports on standard or intelligent multiport boards!
"any number" means exactly what it says. The real-world number of simultaneously open and busy serial
ports is not limited by Comm++. The number of ports you can use depends upon the hardware, total processor loading
(including whatever other software is running), and other factors. While there are, For convienence, some port
names such as "COM1" -- "COM35," you can use any number you wish in your code.
Select XON/XOFF, RTS/CTS, or DSR/DTR handshaking, along with powerful file transfer protocols!
You can select screen drivers and add onto the base classes yourself to create entirely new
communications functionality for your applications! Start with Greenleaf Comm++, end on time, within budget!
|
|
Sophisticated building blocks |
Comm++ begins with abstract base classes which could be any kind of
serial communications - not necessarily hardware - and builds onto this support for the
16550 series UART, Digi International's standard and intelligent boards, Arnet and Star Gate
intelligent multiport hardware, and interfaces with Microsoft Windows
Your application will first create an instance of one of the
platform / hardware classes, GFI8250, GFDigiPC, GFComOS2, GFComWin3, GFComWin32,
GFSmartDigiBoard, GFSmartArnet, GFSmartStarGate - or the Novell NASI driver, GFNasi
Then you need to create a generic serial port control
object of class GFSerial. This combination forms the basis for any kind of program using
asynchronous communications
Classes like GFVt100, GFAnsiTerminal, GFTeletype, And GFVt52 are derived from GFSerial,
so all you need do to implement an ANSI terminal in the
program below is substitute one line of code and add one to define the type of display
driver you want to use.
|
|
Shown here is a short program that runs under MS-DOS that provides full-duplex 9600 baud communications on COM1.
The output Is rather unformatted in the console. |
#include <stdio.h>
#include "compplib.hpp"
main( void )
{
int c;
GFI8250 sio( COM1 );
GFSerial cp( &sio );
for ( ; ; ) {
if ( gfkbhit() ) {
c = getkey();
if ( c == ESC )
return;
else {
cp << c; // Output keystroke to port.
cp >> c; // Get character from port if any
if ( c != GF_TIMEOUT )
printf( "%c", c ); // display it somewhere
else
return;
}
}
}
}
|
|
To switch to an ANSI terminal emulation, do this: |
Add:..............GFScreenVid vid;
Change:...........GFSerial cp( &sio)
To:...............GFAnsiTerminal cp( &vid, &sio )
|
|
Elegant Yet Programmer-Friendly |
- Extensive error code system plus easily built debug library versions smooth application development
- Baud rates to 115,200
- Number of simultaneous ports limited only by hardware
- Classes designed For extensibility With minimal overhead
|
|
Development Platforms |
- Windows 95, 98, 98SE, ME, NT 4 (SP 5+), 2000, XP, Server 2003
- Visual C++ 5, 6, 7.1, or 8.
- Borland C++Builder 3,4,5,6 with apropriate (latest) patches and fixes per Borland website
- Borland C++ 5.02 (Use to target DOS or Extended DOS; see notes above in "Power and Versatility" section above.)
- Visual C++ 1.52 (Use to target DOS or Extended DOS; see notes above in "Power and Versatility" section above.)
|
|
Target Platforms |
- Windows 95, 98, 98SE, ME, NT 4.0, 2000, XP, Server 2003
- MS-DOS (Use ONLY Microsoft Visual C++ 1.52 or Borland C++ 5.02)
- 16- and 32-bit Extended DOS (Use ONLY Microsoft Visual C++ 1.52 or Borland C++ 5.02)
- Windows 3.1x, Windows for Workgroups 3.11 (Unsup) (Use ONLY Microsoft Visual C++ 1.52 or Borland C++ 5.02)
- Novell NASI (Unsup)
|
|
DOS Extender Support |
If you target a DOS environment, you know that DOS extenders are a way to gain more useful memory. We support
Borland PowerPack and VROOM, 16- and 32-bit Tenberry, and Phar Lap extenders
|
|
Communications Hardware |
- COM1..COM4 (ISA / EISA), or COM1..COM8 (MCA systems)
- Digi DigiCHANNEL non-intelligent multiport board support (MS-DOS)
- Intelligent Digi, Arnet, & Star Gate multiport board support
- Classes for BIOS and Extended BIOS support (MS-DOS)
- Comm++ fully supports 8250, 16550, 16650, 16750 and compatible chips. It also supports many brands
and models of intelligent and non-intelligent multiport communications hardware
- Maximum baud rate is hardware dependent; Comm++ itself is capable of speeds up to 921.6 Kbps.
|
|
UART FIFO Support |
- Programmatic control of 16550 UART FIFO trigger level (applies to almost all 16x50 UARTs And multiple-UART chips.
|
|
Communications Parameters |
- Baud rates to 115,200 using standard 16550 UART; up to 921,600 with 16750 and compatible chips.
- Odd, Even, No parity, plus Mark (Stick) and Space (Stick) parity
- 5, 6, 7, or 8 data bits
- 1, 1 1/2, or 2 stop bits (1.5 stop bits only With 5 data bits)
|
|
Flow Control & Handshaking |
- XON/XOFF software flow control
- RTS/CTS and DSR/DTR hardware handshaking
|
|
Helping You Get Up and Running Fast! |
- Comprehensive error code return system, so if something breaks you can easily determine the locus and cause
- Lots of examples in source code for various platforms
- Free technical support from Greenleaf Software Inc.
|
|
Any number of serial ports in a PC |
- From a software standpoint, the number of ports is virtually unlimited (dependent upon hardware only)
- Interrupt driven, circular-buffered input and output
- Practical limit Is hardware driven
|
|
Intelligent and non-intelligent board support |
- In Win32, If Windows can see the port, chances are Comm++ can drive it, wherever it may be.
- Non-intelligent board support available For Select boards:
- Supports many non-intelligent multi-port boards including DigiBoard, Arnet, Star Gate, Contec, Quatech, Fastcom, AST,
BocaBoard, SeaLevel, and Hostess
- Drives Digi, Arnet, B&B, Contec, And other intelligent multi-port boards. Use EIA-422 Or EIA-485 interface on some boards.
|
|
Comprehensive port And File I/O |
- Abstract GFFileIO class for access to file I/O operations & properties
- Many methods And properties For port parameters And buffer command And status.
- Use overloaded << and >> stream I/O notation on ports.
|
|
Standard file transfer protocols |
- XModem, including CRC and Checksum, 1K and G variants
- YModem, plus YModem-G, with subdirectory recursion, strip path, and other options
- ZModem (16- or 32-bit CRC), with crash-recovery, subdirectory recursion, sliding window, and file management options
- Kermit file transfer protocol with RLE compression, 8-bit prefixing, and subdirectory recursion
- CompuServe B+ file transfer with checksum, 16- or 32-bit CRC, strip path, and resume download options
- ASCII file transfer, with subdirectory recursion (send multiple files) and line feed strip options
|
|
Terminal Emulations and Screen Drivers |
- ANSI PC
- VT100
- VT52
- TTY
- Comprehensive screen driver classes provide maximum flexibility for terminal emulations and your
application. TextWindows for Windows 3.x MDI and Windows NT, Windows NT Console, and DOS;
Greenleaf DataWindows, and Symantec-specific class.
|
|
Can be Event Driven |
- Windows WM_COMMNOTIFY event notification
- Win32 Wait for Comm Event capabilities
- If you REALLY need extensive and versatile events, we suggest you take a look at
Greenleaf CommX which provides
many events unavailable elsewhere.
|
|
Terminal Emulations and Screen Drivers |
- Hayes compatible modem control Class GFModem With over 30 functions to streamline AT compatible controls and status
|
|
Documentation |
- Windows Help system - includes all classes, functions, And examples.
- Many compilable examples for every class and method.
|
|
Continuing Commitment to You |
- NO Royalties
- FREE technical support
- Online FAQ And TechNotes -- Check here often.
- FREE source code in C++ and assembly - complete, not "shrouded"
- Examples for every public function that compile and run - in online help and source files
- Base classes documented so that you can extend the library
- Comm++ users will continue to receive prompt technical support as they have over the past 18 years!
|
|
Current Version |
- Current version Is 3.07
- Downloadable updates For downlevel users
available on our web site.
|
|