1.53 AntwerpSpace-G3-Demod

Device driver for the 3rd generation AntwerpSpace Omnisat G3 Demodulator (IPC based solution).

It can be used to control one demodulator instance in a Ominsat G3. If more than one demodulator is used inside a chassis, additional instances of this driver can be added under the same device thread. Assigning the dedicated demodulator can be done via device setup config.boardId . Additionally mixed board combinations can be covered by adding an Modulator HDRM AntwerpSpace-G3-Mod to the same thread/chassis.

This driver interfaces via REST HTTP to the demodulator web server it requires expert privileges to be able to do a counter reset / carrier reaquisition. Beside that the driver only contains HDRD operational access parameters. It does not contain parameters for: CCSDS-FEP (configurational) and DVBS-FEP (configurational and monitoring).

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 .

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 unit.

parameter description
address The REST HTTP specification for the device. The full address specification consists of the following fields:
aaa.bbb.ccc.ddd:pppp username password
aaa.bbb.ccc.ddd The IP address of the device to control in 'dotted quad' notation. This field is mandatory.
pppp The IP port number where the device accepts http requests. The port number may be omitted, the driver uses the standard port 80 in this case.
*username password The Web access username and password for expert access: (Default: og3expert and og3expertpwd)
boardId Defines the board index where the HDRD demodulator is installed.

HTTP session reuse

Multiple devices located in the same frame (using the same IP address) can be configured to share the same HTTP session. For this enter the IP address and login credentials at the 'address' config parameter of the first device. For all other devices enter the name of the first device instead. These devices then reuse the HTTP session / connection of the first device. This has several advantadges:

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.temp.adc FLOAT R/O DoubleRange R/O (0.0 .. 0.0)
info.temp.board FLOAT R/O DoubleRange R/O (0.0 .. 0.0)
info.temp.fpgaInt FLOAT R/O DoubleRange R/O (0.0 .. 0.0)
info.temp.fpgaExt FLOAT R/O DoubleRange R/O (0.0 .. 0.0)
info.demod.load INTEGER R/O IntegerRange R/O (0 .. 0)
info.chan.load INTEGER R/O IntegerRange R/O (0 .. 0)
info.arm.load INTEGER R/O IntegerRange R/O (0 .. 0)
info.uuid TEXT R/O StringRange R/O
internal.reply TEXT R/O StringRange R/O
internal.mission TEXT R/O StringRange R/O
internal.configuration TEXT R/O StringRange R/O
config.boardId CHOICE SAVE SETUP EnumRange (1 2 3 4 5)
config.readBackDelay INTEGER SAVE SETUP IntegerRange (100 .. 10000)
rx.level FLOAT R/O DoubleRange R/O (0.00 .. 0.00)
rx.frequency FLOAT R/O DoubleRange R/O (0.000 .. 0.000)
rfBw INTEGER R/O IntegerRange R/O (0 .. 10000)
meas.symbolrate FLOAT R/O DoubleRange R/O (0.000000 .. 0.000000)
meas.bitRate FLOAT R/O DoubleRange R/O (0.000000 .. 0.000000)
meas.q.bitRate FLOAT R/O DoubleRange R/O (0.000000 .. 0.000000)
meas.q.symbolrate FLOAT R/O DoubleRange R/O (0.000000 .. 0.000000)
esno FLOAT R/O DoubleRange R/O (0.0 .. 0.0)
q.esno FLOAT R/O DoubleRange R/O (0.0 .. 0.0)
ch.esno FLOAT R/O DoubleRange R/O (0.0 .. 0.0)
acqTime INTEGER R/O IntegerRange R/O (0 .. 0)
reacqCount INTEGER R/O IntegerRange R/O (0 .. 0)
tx.bitrate FLOAT R/O DoubleRange R/O (0.000000 .. 0.000000)
tx.q.bitrate FLOAT R/O DoubleRange R/O (0.000000 .. 0.000000)
perturbation FLOAT R/O DoubleRange R/O (0.00000000000 .. 0.00000000000)
jitter FLOAT R/O DoubleRange R/O (0.0000000000000 .. 0.0000000000000)
prbs1 FLOAT R/O DoubleRange R/O (0.0 .. 0.0)
prbs1.resync INTEGER R/O IntegerRange R/O (0 .. 0)
prbs1.polarity CHOICE R/O EnumRange R/O (NORMAL INVERTED)
prbs2 FLOAT R/O DoubleRange R/O (0.0 .. 0.0)
prbs2.resync INTEGER R/O IntegerRange R/O (0 .. 0)
prbs2.polarity CHOICE R/O EnumRange R/O (NORMAL INVERTED)
perturbationDll1 FLOAT R/O DoubleRange R/O (0.00000000000 .. 0.00000000000)
perturbationDll2 FLOAT R/O DoubleRange R/O (0.00000000000 .. 0.00000000000)
jitterDll1 FLOAT R/O DoubleRange R/O (0.0000000000000 .. 0.0000000000000)
jitterDll2 FLOAT R/O DoubleRange R/O (0.0000000000000 .. 0.0000000000000)
meas.convDec1 INTEGER R/O IntegerRange R/O (0 .. 0)
meas.convDec2 INTEGER R/O IntegerRange R/O (0 .. 0)
prbs.convDec1 FLOAT R/O DoubleRange R/O (0.0 .. 0.0)
prbs.convDec2 FLOAT R/O DoubleRange R/O (0.0 .. 0.0)
tcmDec FLOAT R/O DoubleRange R/O (0.0000000000000 .. 0.0000000000000)
reference CHOICE R/O EnumRange R/O (INTERNAL EXTERNAL)
flags.carrier BOOLEAN R/O BooleanRange R/O (true false)
flags.agc BOOLEAN R/O BooleanRange R/O (true false)
flags.perturbation BOOLEAN R/O BooleanRange R/O (true false)
flags.jitter BOOLEAN R/O BooleanRange R/O (true false)
flags.cw BOOLEAN R/O BooleanRange R/O (true false)
flags.syncI BOOLEAN R/O BooleanRange R/O (true false)
flags.syncQ BOOLEAN R/O BooleanRange R/O (true false)
flags.jitterDll1 BOOLEAN R/O BooleanRange R/O (true false)
flags.jitterDll2 BOOLEAN R/O BooleanRange R/O (true false)
flags.perturbationDll1 BOOLEAN R/O BooleanRange R/O (true false)
flags.perturbationDll2 BOOLEAN R/O BooleanRange R/O (true false)
flags.convDec1 BOOLEAN R/O BooleanRange R/O (true false)
flags.convDec2 BOOLEAN R/O BooleanRange R/O (true false)
flags.tcmDec BOOLEAN R/O BooleanRange R/O (true false)
flags.reference BOOLEAN R/O BooleanRange R/O (true false)
flags.ccsds BOOLEAN R/O BooleanRange R/O (true false)
ccsds.bitSlipFrame INTEGER R/O IntegerRange R/O (0 .. 0)
ccsds.syncWordErr INTEGER R/O IntegerRange R/O (0 .. 0)
ccsds.asmBer FLOAT R/O DoubleRange R/O (0.000 .. 0.000)
ccsds.fs INTEGER R/O IntegerRange R/O (0 .. 0)
ccsds.fsCheck INTEGER R/O IntegerRange R/O (0 .. 0)
ccsds.fsLock INTEGER R/O IntegerRange R/O (0 .. 0)
ccsds.fsFly INTEGER R/O IntegerRange R/O (0 .. 0)
ccsds.fsToSearch INTEGER R/O IntegerRange R/O (0 .. 0)
ccsds.rsFrame INTEGER R/O IntegerRange R/O (0 .. 0)
ccsds.rsCorFrame INTEGER R/O IntegerRange R/O (0 .. 0)
ccsds.rsUncorFrame INTEGER R/O IntegerRange R/O (0 .. 0)
ccsds.rsUncorBlock INTEGER R/O IntegerRange R/O (0 .. 0)
ccsds.rsCorHdr INTEGER R/O IntegerRange R/O (0 .. 0)
ccsds.rsUncorHdr INTEGER R/O IntegerRange R/O (0 .. 0)
ccsds.rsCorCodeHdr INTEGER R/O IntegerRange R/O (0 .. 0)
ccsds.rsCorCodeData INTEGER R/O IntegerRange R/O (0 .. 0)
ccsds.crcErr INTEGER R/O IntegerRange R/O (0 .. 0)
ccsds.ldpcFrame INTEGER R/O IntegerRange R/O (0 .. 0)
ccsds.ldpcCorFrame INTEGER R/O IntegerRange R/O (0 .. 0)
ccsds.ldpcUncorFrame INTEGER R/O IntegerRange R/O (0 .. 0)
ccsds.ldpcDecoder INTEGER R/O IntegerRange R/O (0 .. 0)
ccsds.ldpcDisambiguation INTEGER R/O IntegerRange R/O (0 .. 0)
adcRate INTEGER IntegerRange (0 .. 2500)
iBitRate FLOAT R/O DoubleRange R/O (1.0000 .. 975.0000)
qBitRate FLOAT R/O DoubleRange R/O (1.0000 .. 975.0000)
iSymbolRate FLOAT DoubleRange (1.0000 .. 325.0000)
qSymbolRate FLOAT DoubleRange (1.0000 .. 325.0000)
modulation CHOICE EnumRange (BPSK QPSK SQPSK UQPSK AQPSK 8PSK GMSK)
inpSelect CHOICE EnumRange (INTERNAL EXTERNAL)
frequency FLOAT DoubleRange (0.000 .. 0.000)
rfFrequency FLOAT DoubleRange (2000.000 .. 20000.000)
loPolarity CHOICE EnumRange (NORMAL INVERTED)
pll CHOICE EnumRange (OPEN CLOSED)
searchRange INTEGER IntegerRange (0 .. 3000)
preLockBw INTEGER IntegerRange (0 .. 100)
postLockBw INTEGER IntegerRange (0 .. 100)
damping INTEGER IntegerRange (0 .. 2)
chanFilter CHOICE EnumRange (RECTANGULAR SRRC RC)
chanFilterRolloff FLOAT DoubleRange (0.10 .. 1.00)
diffDec1 CHOICE EnumRange (OFF ON)
diffDec2 CHOICE EnumRange (OFF ON)
convDec1 CHOICE EnumRange (OFF ON)
convDec2 CHOICE EnumRange (OFF ON)
diffDecMode1 CHOICE EnumRange (QPSK 0 QPSK 1 QPSK 2 QPSK 3 QPSK 4 QPSK 5 QPSK 6 QPSK 7 QPSK 8 BPSK NRZ-M BPSK NRZ-S)
diffDecMode2 CHOICE EnumRange (QPSK 0 QPSK 1 QPSK 2 QPSK 3 QPSK 4 QPSK 5 QPSK 6 QPSK 7 QPSK 8 BPSK NRZ-M BPSK NRZ-S)
convDecMode CHOICE EnumRange (SERIAL PARALLEL)
convDec1Rate CHOICE EnumRange (1/2 2/3 3/4 5/6 7/8)
convDec2Rate CHOICE EnumRange (1/2 2/3 3/4 5/6 7/8)
prbsType1 CHOICE EnumRange (INTERVAL ACCUMULATED)
prbsType2 CHOICE EnumRange (INTERVAL ACCUMULATED)
ber1DataSelect CHOICE EnumRange (DEMOD-I DEMOD-Q INNER-CH1 INNER-CH2 CCDS-CH1 CCDS-CH2 DVBS-FEP 8PSK-TCM DEMOD-MERGE INNER-MERGE)
ber2DataSelect CHOICE EnumRange (DEMOD-I DEMOD-Q INNER-CH1 INNER-CH2 CCDS-CH1 CCDS-CH2 DVBS-FEP 8PSK-TCM DEMOD-MERGE INNER-MERGE)
eclDataA CHOICE EnumRange (DEMOD-I DEMOD-Q INNER-CH1 INNER-CH2 CCDS-CH1 CCDS-CH2 DVBS-FEP 8PSK-TCM DEMOD-MERGE INNER-MERGE)
eclDataB CHOICE EnumRange (DEMOD-I DEMOD-Q INNER-CH1 INNER-CH2 CCDS-CH1 CCDS-CH2 DVBS-FEP 8PSK-TCM DEMOD-MERGE INNER-MERGE)
ethDataA CHOICE EnumRange (DEMOD-I DEMOD-Q INNER-CH1 INNER-CH2 CCDS-CH1 CCDS-CH2 DVBS-FEP 8PSK-TCM DEMOD-MERGE INNER-MERGE)
ethDataB CHOICE EnumRange (DEMOD-I DEMOD-Q INNER-CH1 INNER-CH2 CCDS-CH1 CCDS-CH2 DVBS-FEP 8PSK-TCM DEMOD-MERGE INNER-MERGE)
recDataA CHOICE EnumRange (DEMOD-I DEMOD-Q INNER-CH1 INNER-CH2 CCDS-CH1 CCDS-CH2 DVBS-FEP 8PSK-TCM DEMOD-MERGE INNER-MERGE)
recDataB CHOICE EnumRange (DEMOD-I DEMOD-Q INNER-CH1 INNER-CH2 CCDS-CH1 CCDS-CH2 DVBS-FEP 8PSK-TCM DEMOD-MERGE INNER-MERGE)
prbsPoly1 CHOICE EnumRange (PRBS 7 PRBS 10 PRBS 11 PRBS 15 PRBS 23 PRBS 31)
prbsPoly2 CHOICE EnumRange (PRBS 7 PRBS 10 PRBS 11 PRBS 15 PRBS 23 PRBS 31)
prbsResync1 CHOICE EnumRange (45% 25% 10% 5%)
prbsResync2 CHOICE EnumRange (45% 25% 10% 5%)
clockEdge CHOICE EnumRange (RISING FALLING)
clockEcl CHOICE EnumRange (OFF ON)
demodAmbiguity CHOICE EnumRange (OFF ON)
dataInv CHOICE EnumRange (OFF ON)
dataInvQ CHOICE EnumRange (OFF ON)
dataInvDec1 CHOICE EnumRange (OFF ON)
dataInvCc1 CHOICE EnumRange (OFF ON)
bitOrderRaw CHOICE EnumRange (ODD EVEN)
bitOrderInner CHOICE EnumRange (ODD EVEN)
mission CHOICE EnumRange (?)
configuration CHOICE EnumRange (?)
loadConfiguration TEXT NOPRESET StringRange
reset TEXT NOPRESET StringRange
record TEXT NOPRESET StringRange
recordstop TEXT NOPRESET StringRange
faults.01 ALARM R/O AlarmFlagRange R/O (Carrier Loop)
faults.02 ALARM R/O AlarmFlagRange R/O (Timing Loop)
faults.03 ALARM R/O AlarmFlagRange R/O (AGC Loop)
faults.04 ALARM R/O AlarmFlagRange R/O (PLL Perturbation)
faults.05 ALARM R/O AlarmFlagRange R/O (PLL Jitter)
faults.06 ALARM R/O AlarmFlagRange R/O (Timing Loop I)
faults.07 ALARM R/O AlarmFlagRange R/O (Timing Loop Q)
faults.08 ALARM R/O AlarmFlagRange R/O (DLL1 Perturbation)
faults.09 ALARM R/O AlarmFlagRange R/O (DLL1 Jitter)
faults.10 ALARM R/O AlarmFlagRange R/O (DLL2 Perturbation)
faults.11 ALARM R/O AlarmFlagRange R/O (DLL2 Jitter)
faults.12 ALARM R/O AlarmFlagRange R/O (Conv Dec1)
faults.13 ALARM R/O AlarmFlagRange R/O (Conv Dec2)
faults.14 ALARM R/O AlarmFlagRange R/O (TCM Dec)
faults.15 ALARM R/O AlarmFlagRange R/O (Reference)
faults.16 ALARM R/O AlarmFlagRange R/O (External Ref)
faults.17 ALARM R/O AlarmFlagRange R/O (CCSDS FEP Sync)