This page describes the Antwerpspace-IBB-Modem device driver and its device window. The Antwerpspace-IBB-Modem device driver uses the CCCOM protocol and reads the following tables: version and system table, the modulator Table (component #40), the subcarrier modulator table (component #30), the suppressed carrier modulator table #1 (component #36), the demodulator table (component #4), the psk subcarrier demodulator table (component #8), suppressed carrier demodulator table (component #12), the telemetry table (component #16). Beside that it allows setting a small selection of parameters from this tables, start and stop of the modules
It was developed base on ICD v4.07 from 2021/12/15
The IBB requires two separate IP connection for monitoring and commanding the device. The device driver establishes the connection to the monitoring port (usually 5000) by terminal server like TTY connection. This connection is permanently active. Address and port are set in the vlc.setup configuration file as for a terminal server serial port.
The default Monitoring Port is 5000 It allows up to 5 connections at a time.
The default Command Port is 5001. It allows only one connection at a time.
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 .
--- Modulator settings and status
--- ^Demodulator 1 settings and status
--- Telemetry settings and status
--- Baseband Session and Diversity calibration
--- 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 | No address required |
| cmdPort | Defines the command port. Standard port is 5001 |
| mod.defaultState | Defines the the default modulation state when loading a new configuration (ON/OFF) |
| mod.defaultLoop | Deines the default IF loop state (INTERNAL/EXTERNAL). If set to internal loop, the modulator output is directly connected (at IF level) to all the inputs. |
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.revision | TEXT | R/O | StringRange R/O |
| info.reference | TEXT | R/O | StringRange R/O |
| config.cmdPort | INTEGER | SAVE SETUP | IntegerRange (0 .. 0) |
| config.mod.defaultState | CHOICE | SETUP | EnumRange (OFF ON) |
| config.mod.defaultLoop | CHOICE | SETUP | EnumRange (EXTERNAL INTERNAL) |
| internal.a | TEXT | R/O | StringRange R/O |
| internal.b | TEXT | R/O | StringRange R/O |
| internal.c | TEXT | R/O | StringRange R/O |
| internal.cf | HEX | R/O | HexRange R/O (0 .. 0) |
| internal.fn | HEX | R/O | HexRange R/O (0 .. 0) |
| internal.sy1 | HEX | R/O | HexRange R/O (0 .. 0) |
| internal.sy2 | HEX | R/O | HexRange R/O (0 .. 0) |
| internal.sy3 | HEX | R/O | HexRange R/O (0 .. 0) |
| internal.sy4 | HEX | R/O | HexRange R/O (0 .. 0) |
| internal.sy5 | HEX | R/O | HexRange R/O (0 .. 0) |
| internal.sy6 | HEX | R/O | HexRange R/O (0 .. 0) |
| internal.cmd | TEXT | R/O | StringRange R/O |
| mod.1.type | CHOICE | R/O | EnumRange R/O (PM FM) |
| mod.1.frequency | FLOAT | DoubleRange (65.000000 .. 75.000000) | |
| mod.1.level | FLOAT | DoubleRange (-30.0 .. 0.0) | |
| mod.1.sweepCycles | INTEGER | R/O | IntegerRange R/O (1 .. 20) |
| mod.1.sweepLimit1 | FLOAT | R/O | DoubleRange R/O (-500.000 .. 500.000) |
| mod.1.sweepLimit2 | FLOAT | R/O | DoubleRange R/O (-500.000 .. 500.000) |
| mod.1.sweepRate | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| mod.1.configFile | HEX | HexRange (0 .. 0) | |
| mod.1.state | TEXT | R/O | StringRange R/O |
| mod.1.carrier | CHOICE | EnumRange (OFF ON) | |
| mod.1.modulation | CHOICE | EnumRange (OFF ON) | |
| mod.1.ifLoop | CHOICE | R/O | EnumRange R/O (EXTERNAL INTERNAL) |
| mod.1.sweep | TEXT | R/O | StringRange R/O |
| mod.1.video | CHOICE | EnumRange (OFF ON) | |
| mod.1.sweepcmd | INTEGER | NOPRESET | IntegerRange (0 .. 2) |
| mod.1.sub.priority | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| mod.1.sub.frequency | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| mod.1.sub.pmIndex | FLOAT | R/O | DoubleRange R/O (0.0 .. 0.0) |
| mod.1.sub.fmDeviation | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| mod.1.sub.waveform | CHOICE | R/O | EnumRange R/O (SINE SQUARE) |
| mod.1.sub.symbolRate | INTEGER | IntegerRange (0 .. 0) | |
| mod.1.sub.sendPreamble | CHOICE | R/O | EnumRange R/O (NO PLOP-1 PLOP-2) |
| mod.1.sub.preambleLen | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| mod.1.sub.minIdleLen | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| mod.1.sub.maxIdleLen | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| mod.1.sub.inversion | CHOICE | R/O | EnumRange R/O (OFF ON) |
| mod.1.sub.differential | CHOICE | R/O | EnumRange R/O (OFF ON) |
| mod.1.sub.convolutional | CHOICE | R/O | EnumRange R/O (OFF ON) |
| mod.1.sub.g2OutInversion | CHOICE | R/O | EnumRange R/O (OFF ON) |
| mod.1.sub.mirrorG1G2 | CHOICE | R/O | EnumRange R/O (OFF ON) |
| mod.1.sub.format | CHOICE | R/O | EnumRange R/O (NRZ SPL) |
| mod.1.sub.configFile | HEX | HexRange (0 .. 0) | |
| mod.1.sub.state | TEXT | R/O | StringRange R/O |
| mod.1.sub.start | TEXT | NOPRESET | StringRange |
| mod.1.sub.stop | TEXT | NOPRESET | StringRange |
| mod.1.sup.priority | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| mod.1.sup.symbolRate | INTEGER | IntegerRange (0 .. 0) | |
| mod.1.sup.type | CHOICE | EnumRange (BPSK QPSK OQPSK) | |
| mod.1.sup.filter | CHOICE | R/O | EnumRange R/O (RECTANGULAR SRRC) |
| mod.1.sup.sendPreamble | CHOICE | R/O | EnumRange R/O (OFF PLOP-1 PLOP-2) |
| mod.1.sup.preambleLen | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| mod.1.sup.minIdleLen | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| mod.1.sup.maxIdleLen | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| mod.1.sup.differential | CHOICE | R/O | EnumRange R/O (OFF ON) |
| mod.1.sup.convolutional | CHOICE | R/O | EnumRange R/O (OFF ON) |
| mod.1.sup.g2OutInversion | CHOICE | R/O | EnumRange R/O (OFF ON) |
| mod.1.sup.mirrorG1G2 | CHOICE | R/O | EnumRange R/O (OFF ON) |
| mod.1.sup.configFile | HEX | HexRange (0 .. 0) | |
| mod.1.sup.state | TEXT | R/O | StringRange R/O |
| mod.1.sup.start | TEXT | NOPRESET | StringRange |
| mod.1.sup.stop | TEXT | NOPRESET | StringRange |
| dem.1.mode | CHOICE | R/O | EnumRange R/O (PM PM-DIVERSITY) |
| dem.1.c2noThreshold | INTEGER | IntegerRange (25 .. 60) | |
| dem.1.frequency | FLOAT | DoubleRange (65.000000 .. 75.000000) | |
| dem.1.acqMinLimit | FLOAT | R/O | DoubleRange R/O (-400.000 .. 400.000) |
| dem.1.acqMaxLimit | FLOAT | R/O | DoubleRange R/O (-400.000 .. 400.000) |
| dem.1.antiSideband | CHOICE | R/O | EnumRange R/O (DISABLED ENABLED) |
| dem.1.antiSidebandFrq1 | FLOAT | R/O | DoubleRange R/O (-400.000 .. 400.000) |
| dem.1.antiSidebandFrq2 | FLOAT | R/O | DoubleRange R/O (-400.000 .. 400.000) |
| dem.1.antiSidebandFrq3 | FLOAT | R/O | DoubleRange R/O (-400.000 .. 400.000) |
| dem.1.configFile | HEX | HexRange (0 .. 0) | |
| dem.1.state | TEXT | R/O | StringRange R/O |
| dem.1.meas.c2no | FLOAT | R/O | DoubleRange R/O (0.0 .. 0.0) |
| dem.1.meas.carrier | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| dem.1.meas.offset | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| dem.1.meas.dopplerRate | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| dem.1.meas.level | FLOAT | R/O | DoubleRange R/O (0.0 .. 0.0) |
| dem.1.start | TEXT | NOPRESET | StringRange |
| dem.1.stop | TEXT | NOPRESET | StringRange |
| dem.1.unlock | TEXT | NOPRESET | StringRange |
| dem.1.sub.frequency | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| dem.1.sub.pmIndex | FLOAT | R/O | DoubleRange R/O (0.0 .. 0.0) |
| dem.1.sub.waveform | CHOICE | R/O | EnumRange R/O (SINE SQUARE) |
| dem.1.sub.symbolRate | INTEGER | IntegerRange (0 .. 0) | |
| dem.1.sub.esn0Threshold | FLOAT | R/O | DoubleRange R/O (0.0 .. 0.0) |
| dem.1.sub.format | CHOICE | R/O | EnumRange R/O (NRZ SPL) |
| dem.1.sub.convolutional | CHOICE | R/O | EnumRange R/O (OFF ON) |
| dem.1.sub.g2OutInversion | CHOICE | R/O | EnumRange R/O (OFF ON) |
| dem.1.sub.mirrorG1G2 | CHOICE | R/O | EnumRange R/O (OFF ON) |
| dem.1.sub.differential | CHOICE | R/O | EnumRange R/O (OFF ON) |
| dem.1.sub.inversion | CHOICE | R/O | EnumRange R/O (OFF ON) |
| dem.1.sub.turboDecoder | CHOICE | R/O | EnumRange R/O (OFF ON) |
| dem.1.sub.turboDerandomizer | CHOICE | R/O | EnumRange R/O (OFF ON) |
| dem.1.sub.turboRate | CHOICE | R/O | EnumRange R/O (1/2 1/3 1/4 1/6) |
| dem.1.sub.turboBlocks | CHOICE | R/O | EnumRange R/O (1784 3568 7136 8920) |
| dem.1.sub.turboLockMarkers | INTEGER | R/O | IntegerRange R/O (1 .. 5) |
| dem.1.sub.turboUnlockMarkers | INTEGER | R/O | IntegerRange R/O (1 .. 5) |
| dem.1.sub.configFile | HEX | HexRange (0 .. 0) | |
| dem.1.sub.state | TEXT | R/O | StringRange R/O |
| dem.1.sub.meas.freq | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| dem.1.sub.meas.esn0 | FLOAT | R/O | DoubleRange R/O (0.0 .. 0.0) |
| dem.1.sub.meas.pmIndex | FLOAT | R/O | DoubleRange R/O (0.0 .. 0.0) |
| dem.1.sub.start | TEXT | NOPRESET | StringRange |
| dem.1.sub.stop | TEXT | NOPRESET | StringRange |
| dem.1.sub.unlock | TEXT | NOPRESET | StringRange |
| dem.1.sup.mode | CHOICE | R/O | EnumRange R/O (PM PM-DIVERSITY) |
| dem.1.sup.frequency | FLOAT | R/O | DoubleRange R/O (65.000000 .. 75.000000) |
| dem.1.sup.acqMinLimit | FLOAT | R/O | DoubleRange R/O (-400.000 .. 400.000) |
| dem.1.sup.acqMaxLimit | FLOAT | R/O | DoubleRange R/O (-400.000 .. 400.000) |
| dem.1.sup.symbolRate | INTEGER | IntegerRange (0 .. 0) | |
| dem.1.sup.type | CHOICE | EnumRange (BPSK QPSK OQPSK) | |
| dem.1.sup.convolutional | CHOICE | R/O | EnumRange R/O (OFF ON) |
| dem.1.sup.g2OutInversion | CHOICE | R/O | EnumRange R/O (OFF ON) |
| dem.1.sup.mirrorG1G2 | CHOICE | R/O | EnumRange R/O (OFF ON) |
| dem.1.sup.filter | CHOICE | R/O | EnumRange R/O (RECTANGULAR SRRC) |
| dem.1.sup.srrcRollOff | FLOAT | R/O | DoubleRange R/O (0.00 .. 1.00) |
| dem.1.sup.configFile | HEX | HexRange (0 .. 0) | |
| dem.1.sup.state | TEXT | R/O | StringRange R/O |
| dem.1.sup.meas.freq | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| dem.1.sup.meas.offset | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| dem.1.sup.meas.dopplerRate | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| dem.1.sup.meas.symbolRate | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| dem.1.sup.meas.level | FLOAT | R/O | DoubleRange R/O (0.0 .. 0.0) |
| dem.1.sup.meas.esn0 | FLOAT | R/O | DoubleRange R/O (0.0 .. 0.0) |
| dem.1.sup.meas.evm | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| dem.1.sup.start | TEXT | NOPRESET | StringRange |
| dem.1.sup.stop | TEXT | NOPRESET | StringRange |
| tel.1.control | BOOLEAN | R/O | BooleanRange R/O (true false) |
| tel.1.frameLength | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.syncMarker0 | HEX | R/O | HexRange R/O (0 .. 0) |
| tel.1.syncMarker1 | HEX | R/O | HexRange R/O (0 .. 0) |
| tel.1.syncMarker2 | HEX | R/O | HexRange R/O (0 .. 0) |
| tel.1.syncMarker3 | HEX | R/O | HexRange R/O (0 .. 0) |
| tel.1.syncMarker4 | HEX | R/O | HexRange R/O (0 .. 0) |
| tel.1.syncMarker5 | HEX | R/O | HexRange R/O (0 .. 0) |
| tel.1.syncMarker6 | HEX | R/O | HexRange R/O (0 .. 0) |
| tel.1.syncMarkerLength | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.maxBitErrorsUnlocked | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.maxBitErrorsLocked | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.maxBitErrorsUnlockedChecking | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.maxBitErrorsLockedChecking | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.maxChecksUnlockedChecking | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.maxChecksLockedChecking | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.maxBitSlips | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.extractStrategy | CHOICE | R/O | EnumRange R/O (UNILATERAL BILATERAL) |
| tel.1.framePolarity | CHOICE | R/O | EnumRange R/O (NORMAL COMPLELENTED BOTH) |
| tel.1.bitPolarityInversion | CHOICE | R/O | EnumRange R/O (STATIC-ON STATIC-OFF DYNAMIC) |
| tel.1.unscramble | BOOLEAN | R/O | BooleanRange R/O (true false) |
| tel.1.unscramblePolynomial | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.unscrambleInitialization | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.reedSolomon | BOOLEAN | R/O | BooleanRange R/O (true false) |
| tel.1.reedSolomonInterleave | INTEGER | R/O | IntegerRange R/O (1 .. 5) |
| tel.1.hecActive | BOOLEAN | R/O | BooleanRange R/O (true false) |
| tel.1.crcActive | BOOLEAN | R/O | BooleanRange R/O (true false) |
| tel.1.discardErroredFrame | BOOLEAN | R/O | BooleanRange R/O (true false) |
| tel.1.storageActive | BOOLEAN | R/O | BooleanRange R/O (true false) |
| tel.1.storageFilename | HEX | R/O | HexRange R/O (0 .. 0) |
| tel.1.storageFormat | CHOICE | R/O | EnumRange R/O (DATA-ONLY FULL) |
| tel.1.storageFileEntries | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.spacecraftId | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.configFile | HEX | HexRange (0 .. 0) | |
| tel.1.state | TEXT | R/O | StringRange R/O |
| tel.1.frameSyncState | TEXT | R/O | StringRange R/O |
| tel.1.masterChannelSCID | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.masterChannelOCFMismatch | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.unconfiguredMasterChannelId | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.framesComplemented | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.rsErrorsCorrected | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.rsUncorrectableFrames | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.framesForwarded | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.clcwsForwarded | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.unlock2lockTransitions | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.lock2unlockTransitions | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.markersWithoutBitErrors | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.markersWithBitErrors | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.markersWithoutBitSlips | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.markersWithBitSlips | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.unlock2lockTransitionsInv | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.lock2unlockTransitionsInv | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.markersWithoutBitErrorsInv | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.markersWithBitErrorsInv | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.markersWithoutBitSlipsInv | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.markersWithBitSlipsInv | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| tel.1.start | TEXT | NOPRESET | StringRange |
| tel.1.stop | TEXT | NOPRESET | StringRange |
| tel.1.update | TEXT | NOPRESET | StringRange |
| tel.1.updatestate | TEXT | R/O | StringRange R/O |
| mod.1.sendtm | HEX | HexRange (0 .. 0) | |
| apply.bbSession | TEXT | NOPRESET | StringRange |
| basebandSessionNo | HEX | HexRange (0 .. 0) | |
| cal.1.divstart | INTEGER | NOPRESET | IntegerRange (0 .. 0) |
| cal.1.delay | INTEGER | IntegerRange (0 .. 0) | |
| aus.1.enable | TEXT | NOPRESET | StringRange |
| test.1.self | TEXT | NOPRESET | StringRange |
| faults.01 | ALARM | R/O | AlarmFlagRange R/O (Output power) |
| faults.02 | ALARM | R/O | AlarmFlagRange R/O (Ext. Reference) |
| faults.03 | ALARM | R/O | AlarmFlagRange R/O (Remote Control) |
| faults.04 | ALARM | R/O | AlarmFlagRange R/O (DC Calibration) |