1 Device Driver Reference

Device drivers in the MNC software translate abstract parameter settings which are represented by parameter messages into commands sent to the physical device and vice versa. The basic idea is to modularize the software in a way, that one device in a station setup can be replaced by another model, perhaps even by a model made by another vendor, simply by selecting another device driver.

The sat-nms MNC advances this concept by introducing a universal device driver which is completely user configurable. The configurable device driver let's you write your own device drivers for device models which are not yet supported by the software. Most of the device drivers coming with the software are built on top of this configurable driver, so there are a lot of examples you can use as a template.

To make the sat-nms software support an additional device type, the software needs at least three components:

  1. A low level communication protocol which handles the protocol frame including device addressing or checksum calculation.
  2. A device driver which defines the parameters the operator may inspect or control at the device. The device driver also contains the I/O routines to exchange these parameters with the device.
  3. Finally, there must be a standard user interface (the so called device oriented user interface) for the new device which lets an operator view or modify the device parameters.

With the sat-nms software, all three components from the physical M&C interface at the device up to the representation of parameters on the screen are configurable and extensible by the customer. The sat-nms software comes with library supporting a large number of devices. These files are at your's disposal to use them as templates or as ready made module for the device driver you need to develop.

roadmap.gif

The diagram above illustrates the first steps to the integration of a new device type into the sat-nms software. You are encouraged to use as much as possible of the existing protocol, driver and user interface definitions.