Properties
Configuration, status and telemetry download from the device is handled using a number of property variables. Each variable has a type (signed/unsigned integers, floating point numbers, strings, etc.) and a default value. Some properties are used for configuration and can be modified and stored in (optionally write-protected) non-volatile memory using the EGSE shell or remotely via CSP commands. Others are read-only and used for telemetry purposes. Most property changes take effect immediately, while others require a store and a system reset after update.
The system properties are divided into a number of property groups, each covering a specific
part of the firmware. The prop client support library contains wrapper functions around
the CSP protocol to read and update properties. The satctl Linux application can be used
as a reference for the use of the library.
Property values can be listed, modified and stored using the prop EGSE shell commands or
remotely through the SRX-8 Client library. As an example, to change the CSP address of the
device to 11 and the default interface to RS422/KISS, run:
[srx-8] prop get sys.csp.address
28
[srx-8] prop set sys.csp.address 11
[srx-8] prop set sys.csp.routes "0/0 KISS"
[srx-8] prop unlock sys
[srx-8] prop save sys
[srx-8] prop unlock -f sys
[srx-8] prop save -f sys
[srx-8] reboot
...
[srx-8] prop get sys.csp.address
11
[srx-8] prop get sys.csp.routes
"0/0 KISS"
On boot, the SRX-8 loads stored properties from F-RAM. The sys and tx property groups
can be stored in both a boot and a fallback location, where the latter is write protected.
The boot location has priority over the fallback values, and is used if it is valid.
A set of default settings are hard coded into the SRX-8 firmware and used if no valid stored
properties are found.
It is possible to change properties runtime without saving them to F-RAM.
System Group
The sys group contains system parameters that should remain fixed after launch. The group can be
stored twice in boot and fallback configuration. Both are write-protected and must be
unlocked using prop unlock before they can be written to.
The transmitter attempts to load the boot configuration when booting. The fallback configuration
is only loaded if loading of the boot configuration fails.
The Ethernet interfaces have multiple IP addresses on the same physical connector. The IP address to use for downlink data is given by the base address plus one. With the default configuration, the following IP addresses are assigned:
1Gb/s Ethernet 192.168.100.100: Reserved
1Gb/s Ethernet 192.168.100.101: Data
10Gb/s Ethernet 192.168.101.100: Reserved
10Gb/s Ethernet 192.168.101.101: Data
Property |
Type |
Default |
Description |
|---|---|---|---|
sys.name |
string |
srx-8 |
String name for system |
sys.serial |
uint32 |
— |
Serial number/ID |
sys.sw.version |
uint32 |
— |
Running software version |
sys.boot.count |
uint32 |
— |
Number of times the system was booted |
sys.boot.slot |
uint8 |
— |
Current booted slot (1 = A, 2 = B) |
sys.reboot |
uint16 |
0 |
Reboot timer |
sys.csp.address |
uint8 |
28 |
CSP address of the device |
sys.csp.routes |
string |
0/0 CAN |
CSP routing table in CIDR notation |
sys.can.rate |
uint32 |
1000000 |
CAN-bus bitrate |
sys.can.promisc |
bool |
False |
Accept all CSP CAN-frames |
sys.uart.rate |
uint32 |
1000000 |
UART baudrate |
sys.net.en.enable |
bool |
True |
1GbE interface enable |
sys.net.en.ip |
string |
192.168.100.100 |
1GbE interface IP address base |
sys.net.en.prefix |
uint8 |
24 |
1GbE interface network prefix bits |
sys.net.en.gw |
string |
192.168.100.1 |
1GbE interface gateway IP address |
sys.net.en.pause |
bool |
True |
1GbE interface transmit pause frames |
sys.net.en.fwd.ip |
string |
192.168.200.0 |
1GbE interface forward range network |
sys.net.en.fwd.prefix |
uint8 |
24 |
1GbE interface forward range prefix bits |
sys.net.en.packets |
uint64 |
— |
Received packets without error |
sys.net.xg.enable |
bool |
False |
10G interface enable |
sys.net.xg.ip |
string |
192.168.101.100 |
10G interface IP address base |
sys.net.xg.prefix |
uint8 |
24 |
10G interface network prefix bits |
sys.net.xg.gw |
string |
192.168.101.1 |
10G interface gateway IP address |
sys.net.xg.pause |
bool |
True |
10G interface transmit pause frames |
sys.net.xg.fwd.ip |
string |
192.168.200.0 |
10G interface forward range network |
sys.net.xg.fwd.prefix |
uint8 |
24 |
10G interface forward range prefix bits |
sys.net.xg.packets |
uint64 |
— |
Received packets without error |
Calibration Group
The cal group contains factory calibration settings and should not be modified.
Transmitter Group
The tx group contains settings for the transmitter. The group can be stored twice in boot
and fallback configuration. Both are write-protected and must be unlocked using prop unlock
before they can be written to.
Property |
Type |
Default |
Description |
|---|---|---|---|
tx.enable |
bool |
False |
Enable transmitter |
tx.freq |
uint64 |
8200000000 |
Transmit frequency |
tx.rate |
uint32 |
10000000 |
Transmit symbol rate |
tx.rolloff |
uint8 |
0 |
RRC roll-off (0 = 0.20, 1 = 0.25, 2 = 0.35) |
tx.goldseq |
uint32 |
0 |
PL scrambling Gold sequence |
tx.pout |
float |
33.0 |
Transmit power |
tx.pa.templimit |
uint8 |
80 |
PA external temperature limit |
tx.bbframes |
uint64 |
— |
Transmitted BBFRAMEs |
tx.pwr.fwd |
float |
— |
Measured forward power |
tx.pwr.rfl |
float |
— |
Measured reflected power |
tx.volt.vga.vc |
uint16 |
— |
VGA control voltage |
tx.volt.drv.vg |
int16 |
— |
Driver gate voltage |
tx.volt.pa.vg |
int16 |
— |
PA gate voltage |
tx.gain |
float |
— |
BUC gain percentage |
Telemetry Group
Telemetry values are stored in the tm group and updated once every second.
The group does not support storage.
Property |
Type |
Default |
Description |
|---|---|---|---|
tm.temp.vin |
int16 |
— |
VIN sensor temperature in 1/100 C |
tm.temp.3v8 |
int16 |
— |
3.8 V sensor temperature in 1/100 C |
tm.temp.mcu |
int16 |
— |
MCU core temperature in 1/100 C |
tm.temp.fpga |
int16 |
— |
FPGA core temperature in 1/100 C |
tm.temp.mem |
int16 |
— |
Memory temperature in 1/100 C |
tm.temp.top |
int16 |
— |
Board top temperature in 1/100 C |
tm.temp.bot |
int16 |
— |
Board bottom temperature in 1/100 C |
tm.temp.dac |
int16 |
— |
DAC temperature in 1/100 C |
tm.volt.vin |
uint16 |
— |
Input voltage |
tm.volt.3v8 |
uint16 |
— |
3.8 V rail voltage |
tm.volt.mcu |
uint16 |
— |
MCU core voltage |
tm.volt.fpga |
uint16 |
— |
FPGA core voltage |
tm.cur.vin |
int16 |
— |
Input current |
tm.cur.3v8 |
int16 |
— |
3.8 V rail current |
tm.power.vin |
uint16 |
— |
Input power |
tm.power.3v8 |
uint16 |
— |
3.8 V rail power |
tm.sem.det |
uint32 |
— |
Number of times bit errors have been detected |
tm.sem.corr |
uint32 |
— |
Number of corrected bits |
tm.sem.uncorr |
uint32 |
— |
Number of times uncorrectable errors have been detected |
tm.sem.state |
uint8 |
— |
Current state of SEM core |
tm.temp.buc.buck |
int16 |
— |
BUC buck temperature in 1/100 C |
tm.temp.buc.boost |
int16 |
— |
BUC boost temperature in 1/100 C |
tm.temp.buc.drvpsu |
int16 |
— |
BUC driver power supply temperature in 1/100 C |
tm.temp.buc.papsu |
int16 |
— |
BUC PA power supply temperature in 1/100 C |
tm.temp.buc.board |
int16 |
— |
BUC board temperature in 1/100 C |
tm.temp.buc.drv |
int16 |
— |
BUC driver external temperature in 1/100 C |
tm.temp.buc.pa |
int16 |
— |
BUC PA external temperature in 1/100 C |
tm.temp.buc.padie |
int16 |
— |
BUC PA die temperature in 1/100 C |
tm.volt.buc.buck |
uint16 |
— |
BUC buck voltage |
tm.volt.buc.boost |
uint16 |
— |
BUC boost voltage |
tm.volt.buc.drvpsu |
uint16 |
— |
BUC driver power supply voltage |
tm.volt.buc.papsu |
uint16 |
— |
BUC PA power supply voltage |
tm.cur.buc.buck |
int16 |
— |
BUC buck current |
tm.cur.buc.boost |
int16 |
— |
BUC boost current |
tm.cur.buc.drvpsu |
int16 |
— |
BUC driver power supply current |
tm.cur.buc.papsu |
int16 |
— |
BUC PA power supply current |
tm.power.buc.buck |
uint16 |
— |
BUC buck power |
tm.power.buc.boost |
uint16 |
— |
BUC boost power |
tm.power.buc.papsu |
uint16 |
— |
BUC PA power supply power |
tm.power.buc.drvpsu |
uint16 |
— |
BUC driver power supply power |
GSE Group
Parameters that control the GSE encapsulator are stored in the gse group.
Property |
Type |
Default |
Description |
|---|---|---|---|
gse.modcod |
uint8 |
1 |
MODCOD to use for GSE frames |
gse.pilots |
bool |
True |
Send pilots for GSE frames |
gse.short |
bool |
False |
Use short BBFRAMES for GSE frames |
gse.mis |
bool |
False |
Use MIS BBFRAMES for GSE frames |
gse.isi |
uint8 |
0 |
Input Stream Identifier when using MIS |
gse.ccm |
bool |
False |
Signal constant coding and modulation |
gse.pdus |
uint64 |
— |
Transmitted GSE PDUs |
Idle BBFRAME Generator Group
Parameters that control the idle BBFRAME generator are stored in the idle group.
Property |
Type |
Default |
Description |
|---|---|---|---|
idle.enable |
bool |
False |
Enable idle BBFRAMEs |
idle.modcod |
uint8 |
1 |
MODCOD to use for idle frames |
idle.pilots |
bool |
True |
Send idle frames with pilots |
idle.short |
bool |
False |
Use short idle frames |
idle.mis |
bool |
False |
Mark idle frames with multiple input stream |
idle.isi |
uint8 |
0 |
Input Stream Identifier when using MIS |
idle.ccm |
bool |
False |
Signal constant coding and modulation |
idle.frames |
uint32 |
— |
Number of transmitted idle BBFRAMEs |