This page describes the device driver and the device window for the Comtech CDM-600 Satellite Modem. The driver actually supports the following modem operation modes:
Device window pages
The following table shows which device window pages are available with this individual device type. Tool-bar functions not mentioned here are described at the general description of device windows .
--- The IF parameters (frequency, level, etc.) and some global modem settings.
--- The modulator settings, transmit clocking.
--- The demodulator settings, receive clocking, doppler buffer.
--- The Reed-Solomon settings.
--- The IDR/IBS mode settings.
--- The ASYNC overhead settings.
--- The Automatic Uplink Power Control settings.
--- The data interface settings.
--- The Drop&Insert settings.
--- The receive quality.
--- The faults page.
--- The device info page.
--- The maintenance page. The configuration parameters described below are set at this page.Configuration parameters
At the maintenance page of the device window there are a couple of configuration parameters which must be set to make the software talk to the device.
| parameter | description |
|---|---|
| address | The modem's RS485 packet address. Valid addresses are 1..255, 1 is the factory default. You must set the same address than set at the modem's front panel |
| alarmMask | Sets the alarm mask conditions. |
| edmacMode | Embedded Distant-end Monitor And Control (EDMAC) Framing Mode |
| edmacAddress | Sets the range of addresses of distant-end units, which the master will forward messages for. (EDMAC) |
| ODUCommunication | Enables/disables the communications via the FSK link with a Comtech EF Data Transceiver (ODU) |
| esc | Enables/disables the IBS high-rate ESC. |
| circuitID | sets the user-defined Circuit-ID string, with a fixed! length of 40 characters |
| Serial | Remember to set the line parameters for the serial interface connected to the device. The recommended line setting for the use with the sat-nms software is 19200,N,8,1 . You have to set the same value at the device's front panel. |
Remote interface
The CDM-600 provides a RS232 on the connector P4B at the rear panel labeled Remote Control . You can configure this interface on the front panel in the menu Configuration | Remote . Select Remote Control as operation mode, set interface type to RS-232 (with the fixed address 0, the baudrate to 19k2, and configure the interface to 8 databits, none parity,1 stopbit. To connect the modem to the sat-nms system use a 1:1 cable with the following pin assignment
Variables defined by this device driver
| name | type | flags | range |
|---|---|---|---|
| info.driver | TEXT | R/O | StringRange R/O |
| lowLevel.cmd | TEXT | StringRange | |
| lowLevel.reply | TEXT | R/O | StringRange R/O |
| faults.99 | ALARM | R/O | AlarmFlagRange R/O (Communication) |
| faults.commstat | TEXT | R/O | StringRange R/O |
| info.type | TEXT | R/O | StringRange R/O |
| info.port | TEXT | R/O | StringRange R/O |
| info.frame | TEXT | R/O | StringRange R/O |
| info.signal.on | CHOICE | R/O | EnumRange R/O (OFF ON) |
| config.alarmMask | TEXT | SETUP | StringRange |
| config.edmacMode | CHOICE | SETUP | EnumRange (Off Master Slave) |
| config.edmacAddress | INTEGER | SETUP | IntegerRange (0 .. 9990) |
| config.esc | CHOICE | SETUP | EnumRange (OFF ON) |
| config.circuitID | TEXT | SETUP | StringRange |
| config.freqMode | CHOICE | SAVE SETUP | EnumRange (IF RF) |
| config.lnb.power | CHOICE | SETUP | EnumRange DIS (OFF ON) |
| config.lnb.enableRef | CHOICE | SETUP | EnumRange DIS (OFF ON) |
| config.lnb.voltage | CHOICE | SETUP | EnumRange DIS (13V 18V 24V) |
| config.lnb.lowCurrentLimit | INTEGER | SETUP | IntegerRange DIS (0 .. 500) |
| config.lnb.highCurrentLimit | INTEGER | SETUP | IntegerRange DIS (0 .. 500) |
| config.lnb.loFreq | INTEGER | SETUP | IntegerRange DIS (0 .. 65000) |
| config.lnb.loMix | CHOICE | SETUP | EnumRange DIS (HIGH- LOW+) |
| config.ODUCommunication | CHOICE | SETUP | EnumRange (OFF ON) |
| config.buc.address | INTEGER | SETUP | IntegerRange DIS (0 .. 15) |
| config.buc.power | CHOICE | SETUP | EnumRange DIS (OFF ON) |
| config.buc.10MHzRef | CHOICE | SETUP | EnumRange DIS (OFF ON) |
| config.buc.lowCurrentLimit | INTEGER | SETUP | IntegerRange DIS (0 .. 4000) |
| config.buc.highCurrentLimit | INTEGER | SETUP | IntegerRange DIS (0 .. 4000) |
| config.buc.loFreq | INTEGER | SETUP | IntegerRange DIS (0 .. 65000) |
| config.buc.loMix | CHOICE | SETUP | EnumRange DIS (HIGH- LOW+) |
| config.buc.txPowerupDelay | TEXT | SETUP | StringRange DIS |
| lnb.meter.current | INTEGER | R/O | IntegerRange R/O DIS (0 .. 0) |
| buc.tx.on | CHOICE | EnumRange DIS (OFF ON) | |
| buc.meter.power | FLOAT | R/O | DoubleRange R/O DIS (0.0 .. 0.0) |
| buc.meter.temperature | INTEGER | R/O | IntegerRange R/O DIS (0 .. 0) |
| buc.meter.current | INTEGER | R/O | IntegerRange R/O DIS (0 .. 0) |
| buc.meter.voltage | FLOAT | R/O | DoubleRange R/O DIS (0.0 .. 0.0) |
| info.model | TEXT | R/O | StringRange R/O |
| info.version | TEXT | R/O | StringRange R/O |
| info.serial | TEXT | R/O | StringRange R/O |
| info.turbo | TEXT | R/O | StringRange R/O |
| info.dataRate | TEXT | R/O | StringRange R/O |
| info.modulation | TEXT | R/O | StringRange R/O |
| info.framing | TEXT | R/O | StringRange R/O |
| info.dropInsert | TEXT | R/O | StringRange R/O |
| info.specialOption | TEXT | R/O | StringRange R/O |
| info.redundancy | TEXT | R/O | StringRange R/O |
| refClkSrc | CHOICE | EnumRange (Unbalanced Balanced) | |
| refClkFreq | FLOAT | DoubleRange (2.400 .. 20000.000) | |
| loopBack | CHOICE | EnumRange (OFF Tx CW Tx Alternating IF RF Digital I/O) | |
| temperature | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tx.frequency | FLOAT | DoubleRange (52.0000 .. 176.0000) | |
| tx.power | FLOAT | DoubleRange (-20.0 .. -0.0) | |
| tx.on | CHOICE | EnumRange (OFF ON RTI OFF by HW) | |
| tx.mod.dataRate | FLOAT | DoubleRange (4.800 .. 20000.000) | |
| tx.mod.fec | CHOICE | EnumRange (Diff.On Viterbi Viterbi+RS Sequential Seq+RS TCM TCM+RS Turbo Diff.Off) | |
| tx.mod.type | CHOICE | EnumRange (BPSK QPSK OQPSK 8-PSK 16-QAM) | |
| tx.mod.fecRate | CHOICE | EnumRange (1/2 3/4 7/8 2/3 1/1 21/44 5/16 0.95) | |
| tx.mod.clockSource | CHOICE | EnumRange (Internal Tx Terrestrial Rx Loop External) | |
| tx.mod.spectrumInvert | CHOICE | EnumRange (Normal Inverted) | |
| tx.mod.dataInvert | CHOICE | EnumRange (Normal Inverted) | |
| tx.mod.scrambling | CHOICE | EnumRange (Off Normal Special) | |
| tx.rs.encoding | CHOICE | EnumRange (Normal IESS-310 EF-Data IBS) | |
| tx.ifc.overheadType | CHOICE | EnumRange (Unframed IBS IDR DROP EDMAC) | |
| tx.ifc.framingMode | CHOICE | EnumRange (AMI B8ZS B6ZS HDB3) | |
| tx.ifc.hardware | CHOICE | EnumRange (RS422 V.35 RS232 Bal. G.703 Unb. G.703 Audio LVDS) | |
| tx.idr.overheadType | CHOICE | EnumRange (Data Audio) | |
| tx.idr.bwAlarm.1 | CHOICE | EnumRange (Off Intern Extern) | |
| tx.idr.bwAlarm.2 | CHOICE | EnumRange (Off Intern Extern) | |
| tx.idr.bwAlarm.3 | CHOICE | EnumRange (Off Intern Extern) | |
| tx.idr.bwAlarm.4 | CHOICE | EnumRange (Off Intern Extern) | |
| tx.idr.audioLevel.1 | CHOICE | EnumRange (-6 -4 -2 +0 +2 +4 +6 +8) | |
| tx.idr.audioLevel.2 | CHOICE | EnumRange (-6 -4 -2 +0 +2 +4 +6 +8) | |
| rx.frequency | FLOAT | DoubleRange (52.0000 .. 176.0000) | |
| rx.dem.dataRate | FLOAT | DoubleRange (4.800 .. 20000.000) | |
| rx.dem.type | CHOICE | EnumRange (BPSK QPSK OQPSK 8-PSK 16-QAM) | |
| rx.dem.fec | CHOICE | EnumRange (Diff.On Viterbi Viterbi+RS Sequential Seq+RS TCM TCM+RS Turbo Diff.Off) | |
| rx.dem.fecRate | CHOICE | EnumRange (1/2 3/4 7/8 2/3 1/1 21/44 5/16 0.95) | |
| rx.dem.clockSource | CHOICE | EnumRange (Internal Tx Terrestrial Rx Loop External) | |
| rx.dem.spectrumInvert | CHOICE | EnumRange (Normal Inverted) | |
| rx.dem.dataInvert | CHOICE | EnumRange (Normal Inverted) | |
| rx.dem.scrambling | CHOICE | EnumRange (Off Normal Special) | |
| rx.dem.sweepOffset | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| rx.dem.sweepRange | INTEGER | IntegerRange (1 .. 32) | |
| rx.buf.size | INTEGER | IntegerRange (16 .. 32768) | |
| rx.buf.recenter | TEXT | NOPRESET | StringRange |
| rx.meter.signal | FLOAT | R/O | DoubleRange R/O (0.0 .. 0.0) |
| rx.meter.ber | TEXT | R/O | StringRange R/O |
| rx.meter.ebno | FLOAT | R/O | DoubleRange R/O (0.0 .. 0.0) |
| rx.meter.bufFill | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| rx.limit.ebno | FLOAT | DoubleRange (0.1 .. 16.0) | |
| rx.rs.decoding | CHOICE | EnumRange (Normal IESS-310 EF-Data IBS) | |
| rx.ifc.overheadType | CHOICE | EnumRange (Unframed IBS IDR DROP EDMAC) | |
| rx.ifc.framingMode | CHOICE | EnumRange (AMI B8ZS B6ZS HDB3) | |
| rx.ifc.hardware | CHOICE | EnumRange (RS422 V.35 RS232 Bal. G.703 Unb. G.703 Audio LVDS) | |
| rx.idr.overheadType | CHOICE | EnumRange (Data Audio) | |
| rx.idr.bwAlarm.1 | CHOICE | EnumRange (Off Extern) | |
| rx.idr.bwAlarm.2 | CHOICE | EnumRange (Off Extern) | |
| rx.idr.bwAlarm.3 | CHOICE | EnumRange (Off Extern) | |
| rx.idr.bwAlarm.4 | CHOICE | EnumRange (Off Extern) | |
| rx.idr.audioLevel.1 | CHOICE | EnumRange (-6 -4 -2 +0 +2 +4 +6 +8) | |
| rx.idr.audioLevel.2 | CHOICE | EnumRange (-6 -4 -2 +0 +2 +4 +6 +8) | |
| aupc.enable | CHOICE | EnumRange (ON OFF) | |
| aupc.localAction | CHOICE | EnumRange (ON OFF) | |
| aupc.remoteAction | CHOICE | EnumRange (nominal power max power) | |
| aupc.target | FLOAT | DoubleRange (0.0 .. 9.9) | |
| aupc.maxIncrease | FLOAT | DoubleRange (0 .. 9) | |
| aupc.ebno | FLOAT | R/O | DoubleRange R/O (0.0 .. 0.0) |
| aupc.powerInc | FLOAT | R/O | DoubleRange R/O (0.0 .. 0.0) |
| tx.frm.dropType | CHOICE | EnumRange (T1-D4 T1-ESF E1-CCS E1-CAS) | |
| rx.frm.insertType | CHOICE | EnumRange (T1-D4 T1-ESF E1-CCS E1-CAS) | |
| rx.frm.loop | CHOICE | EnumRange (ON OFF) | |
| tx.frm.dropSlots1 | TEXT | StringRange | |
| tx.frm.dropSlots2 | TEXT | StringRange | |
| tx.frm.dropSlots3 | TEXT | StringRange | |
| tx.frm.dropSlots4 | TEXT | StringRange | |
| tx.frm.dropSlots5 | TEXT | StringRange | |
| tx.frm.dropSlots6 | TEXT | StringRange | |
| rx.frm.insertSlots1 | TEXT | StringRange | |
| rx.frm.insertSlots2 | TEXT | StringRange | |
| rx.frm.insertSlots3 | TEXT | StringRange | |
| rx.frm.insertSlots4 | TEXT | StringRange | |
| rx.frm.insertSlots5 | TEXT | StringRange | |
| rx.frm.insertSlots6 | TEXT | StringRange | |
| tx.frm.terrestrialAlarm | CHOICE | SETUP | EnumRange (OFF ON) |
| rx.frm.terrestrialAlarm | CHOICE | SETUP | EnumRange (OFF ON) |
| tx.asy.baudrate | CHOICE | EnumRange (1200 2400 4800 9600 14400 19200 28800 38400) | |
| tx.asy.parity | CHOICE | EnumRange (None Even Odd) | |
| tx.asy.dataBits | INTEGER | R/O | IntegerRange R/O (0 .. 8) |
| tx.asy.stopBits | INTEGER | R/O | IntegerRange R/O (0 .. 8) |
| faults.01 | ALARM | R/O | AlarmFlagRange R/O (Remote Access) |
| faults.02 | ALARM | R/O | AlarmFlagRange R/O (Power supply +5V) |
| faults.03 | ALARM | R/O | AlarmFlagRange R/O (Power supply +12V) |
| faults.04 | ALARM | R/O | AlarmFlagRange R/O (Power supply -5V) |
| faults.05 | ALARM | R/O | AlarmFlagRange R/O (Power supply +18V) |
| faults.06 | ALARM | R/O | AlarmFlagRange R/O (Power supply -12V) |
| faults.07 | ALARM | R/O | AlarmFlagRange R/O (RAM load fail) |
| faults.08 | ALARM | R/O | AlarmFlagRange R/O (Tx Synthesizer lock) |
| faults.09 | ALARM | R/O | AlarmFlagRange R/O (Rx Synthesizer) |
| faults.10 | ALARM | R/O | AlarmFlagRange R/O (Power cal checksum) |
| faults.11 | ALARM | R/O | AlarmFlagRange R/O (FPGA main chain load) |
| faults.12 | ALARM | R/O | AlarmFlagRange R/O (Turbo FPGA load fail) |
| faults.13 | ALARM | R/O | AlarmFlagRange R/O (Modem card FPGA load) |
| faults.14 | ALARM | R/O | AlarmFlagRange R/O (Mux FPGA load) |
| faults.15 | ALARM | R/O | AlarmFlagRange R/O (Demux FPGA load) |
| faults.16 | ALARM | R/O | AlarmFlagRange R/O (RX synthesizer 2) |
| faults.17 | ALARM | R/O | AlarmFlagRange R/O (No lock terrestrial int.) |
| faults.18 | ALARM | R/O | AlarmFlagRange R/O (Tx FIFO slip) |
| faults.19 | ALARM | R/O | AlarmFlagRange R/O (Tx: AIS incoming data) |
| faults.20 | ALARM | R/O | AlarmFlagRange R/O (AUPC up.limit reached) |
| faults.21 | ALARM | R/O | AlarmFlagRange R/O (Ref PLL) |
| faults.22 | ALARM | R/O | AlarmFlagRange R/O (BUC current) |
| faults.23 | ALARM | R/O | AlarmFlagRange R/O (BUC voltage) |
| faults.24 | ALARM | R/O | AlarmFlagRange R/O (BUC no comms or chksum) |
| faults.25 | ALARM | R/O | AlarmFlagRange R/O (BUC PLL) |
| faults.26 | ALARM | R/O | AlarmFlagRange R/O (BUC temperature) |
| faults.27 | ALARM | R/O | AlarmFlagRange R/O (Demodulator unlocked) |
| faults.28 | ALARM | R/O | AlarmFlagRange R/O (AGC out of range) |
| faults.29 | ALARM | R/O | AlarmFlagRange R/O (Demux) |
| faults.30 | ALARM | R/O | AlarmFlagRange R/O (Buffer slip) |
| faults.31 | ALARM | R/O | AlarmFlagRange R/O (Rx:AIS incoming data) |
| faults.32 | ALARM | R/O | AlarmFlagRange R/O (Eb/No alarm) |
| faults.33 | ALARM | R/O | AlarmFlagRange R/O (Buffer Clock activity) |
| faults.34 | ALARM | R/O | AlarmFlagRange R/O (LNB current) |
| faults.35 | ALARM | R/O | AlarmFlagRange R/O (LNB voltage) |
| faults.36 | ALARM | R/O | AlarmFlagRange R/O (Loss of Tx frame) |
| faults.37 | ALARM | R/O | AlarmFlagRange R/O (BER) |
| faults.38 | ALARM | R/O | AlarmFlagRange R/O (Loss Tx multiframe) |
| faults.39 | ALARM | R/O | AlarmFlagRange R/O (Tx signaling AIS) |
| faults.40 | ALARM | R/O | AlarmFlagRange R/O (Tx remote Alarm) |
| faults.41 | ALARM | R/O | AlarmFlagRange R/O (IBS satellite alarm) |
| faults.42 | ALARM | R/O | AlarmFlagRange R/O (IDR Rx BWA1) |
| faults.43 | ALARM | R/O | AlarmFlagRange R/O (IDR Rx BWA2) |
| faults.44 | ALARM | R/O | AlarmFlagRange R/O (IDR Rx BWA3) |
| faults.45 | ALARM | R/O | AlarmFlagRange R/O (IDR Rx BWA4) |
| faults.46 | ALARM | R/O | AlarmFlagRange R/O (IDR Tx BWA1) |
| faults.47 | ALARM | R/O | AlarmFlagRange R/O (IDR Tx BWA2) |
| faults.48 | ALARM | R/O | AlarmFlagRange R/O (IDR Tx BWA3) |
| faults.49 | ALARM | R/O | AlarmFlagRange R/O (IDR Tx BWA4) |
| internal.a | HEX | R/O | HexRange R/O (0 .. 0) |
| internal.b | HEX | R/O | HexRange R/O (0 .. 0) |
| internal.c | HEX | R/O | HexRange R/O (0 .. 0) |
| internal.d | HEX | R/O | HexRange R/O (0 .. 0) |
| internal.esc | TEXT | R/O | StringRange R/O |
| internal.rx.freq | FLOAT | R/O | DoubleRange R/O (0.0000 .. 0.0000) |
| internal.tx.freq | FLOAT | R/O | DoubleRange R/O (0.0000 .. 0.0000) |
| internal.s | TEXT | R/O | StringRange R/O |