Introduction
DHCI is a Windows application that is used to set up and monitor a BIG
(Broadband Integrated Gateway) over a serial port or a network using telnet. The
BIG could contain any combination of cards plugged into its backplane. It went
through a few naming changes before finalizing on DHCI, including "BIG GUI," and
"Davinci."
Architecture
The application was targeted for Windows 3.1, Windows 95, and Windows NT with
a single code base that could be built with Visual C++ 1.52c (16-bit) or Visual
C++ 4.1 (32-bit). An MFC extension DLL
was created to make 16-bit MFC more compatible with 32-bit MFC. After we
started needing some of the Windows 95 controls, such as list and tree controls,
we abandoned the 16-bit version before its first official release.
Each card type that could be plugged into a BIG had its own class
implementation in DHCI derived from a base class CCard. Each card type had a
unique identifier, so a DHCI could detect the card configuration of the chassis.
Each card class was responsible for drawing itself, communicating with the
card, and presenting a graphical interface to the user for configuration
purposes. All drawing was done with either custom controls (for dynamic elements
like LEDs) or metafile controls (for static elements such as screws and
connectors) and made it possible to zoom in and out on the graphical
representation of the BIG. Nothing was drawn using bitmaps.
To facilitate development, and for demonstration purposes, a "virtual mode"
was created, where the user could configure a "virtual chassis" with an
arrangement of cards.
Development
Visual C++ was the development platform used. Visual SourceSafe was used as the project's source code control system.
Visio was used to draw the metafiles.
Technologies
- C++ and MFC were the language and library used
- Custom Controls were created for LEDs, vertical text, and
metafiles.
Conclusion
Work began in 1997 on a new version of DHCI, which would have broken out the
chassis and card classes into MFC DLLs, so you could add card and chassis types
by writing a DLL and adding it to the DHCI installation folder. This was
successfully demonstrated, but never completed. This research formed the basis
for the ADP HRizonBuilder project's modular
architecture in 1999. The project included two diskette label designs and
layouts, and a Windows setup application. Approximately 50,000 lines of code.
You can click on an icon below (use the arrows to scroll the icon list)
and see the screen shot and a description.:
Empty Chassis, with Slot Covers Empty Chassis, No Slot Covers, Showing Power Supplies Chassis with Cards, Showing Power Supplies Add/Remove Virtual Cards Dialog Chassis Property Page, General Tab Chassis Property Page, Status Tab Video Encoder Property Page, General Tab Video Encoder Property Page, Status Tab Video Encoder Property Page, Setup Tab Video Encoder Property Page, Video Input Tab Video Encoder Property Page, Advanced Tab Video Encoder Property Page, PES/GOP Tab Video Encoder Property Page, PTS/PCR Tab Communications Setup Dialog Options Property Page, General Tab Options Property Page, Log File Tab
Empty Chassis, with Slot Covers
|