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. Others are read-only and used for telemetry purposes. Some 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.
Property values can be listed, modified and stored using the prop
debug shell commands or remotely through the Property Client Library library. As an example, to change the CSP address of the device to 11 and the default interface to RS422/KISS, run:
[srs-3] prop get sys.csp.address
21
[srs-3] prop set sys.csp.address 11
[srs-3] prop set sys.csp.routes "0/0 KISS"
[srs-3] prop unlock sys
[srs-3] prop save sys
[srs-3] prop unlock -f sys
[srs-3] prop save -f sys
[srs-3] reboot
...
[srs-3] prop get sys.csp.address
11
[srs-3] prop get sys.csp.routes
"0/0 KISS"
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.
Property |
Type |
Default |
Description |
---|---|---|---|
sys.name |
string |
srs-3 |
String name for system |
sys.serial |
uint32 |
— |
Serial number/ID of the device |
sys.sw.version |
uint32 |
— |
Running software version |
sys.bootcount |
uint32 |
— |
Number of times the system was booted |
sys.gwdt.init |
uint32 |
86400 |
GWDT timer reset value |
sys.gwdt.counter |
uint32 |
0 |
GWDT current counter value |
sys.gwdt.reset |
uint32 |
0 |
GWDT reset trigger |
sys.csp.address |
uint8 |
21 |
CSP address of the device |
sys.csp.routes |
string |
Additional CSP routes in CIDR notation |
|
sys.csp.mtu |
uint16 |
256 |
CSP maximum transmission unit |
sys.can.rate |
uint32 |
1000000 |
CAN-bus bitrate |
sys.can.promisc |
bool |
True |
Accept all CSP CAN-frames |
sys.uart.rate |
uint32 |
1000000 |
UART baudrate |
sys.uart.multidrop |
bool |
False |
UART multidrop mode |
sys.net.enable |
bool |
False |
IP stack enable |
sys.net.en.ip |
string |
192.168.100.2 |
Ethernet IP address |
sys.net.en.prefix |
uint8 |
24 |
Ethernet network prefix bits |
sys.net.en.gw |
string |
192.168.100.1 |
Ethernet gateway IP address |
sys.net.rf.ip |
string |
192.168.200.2 |
Spacelink IP address |
sys.net.rf.prefix |
uint8 |
24 |
Spacelink network prefix bits |
sys.net.rf.gw |
string |
192.168.200.1 |
Spacelink gateway IP address |
Calibration Group¶
The cal
group contains factory calibration settings and should not be modified.
Configuration Group¶
The conf
group contains runtime settings. The group can be stored to the boot
configuration and is not write protected.
Property |
Type |
Default |
Description |
---|---|---|---|
conf.reboot |
uint16 |
0 |
Reboot timer |
conf.led.enable |
bool |
False |
Onboard LEDs enabled |
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.freq |
uint32 |
2229500000 |
Transmit frequency |
tx.rate |
uint32 |
512000 |
Transmit bitrate |
tx.bt |
uint8 |
50 |
GMSK BT product |
tx.pout |
float |
25.0 |
Transmit power |
tx.gain |
uint16 |
1000 |
Transmit gain manual setting |
tx.alc.mode |
uint8 |
2 |
Automatic Level Control mode |
tx.alc.kp |
float |
40.0 |
Automatic level control Kp |
tx.alc.limit |
uint16 |
200 |
Automatic level control maximum allowed gain adjust |
tx.alc.gain |
uint16 |
— |
Current calculated ALC gain |
tx.rs |
bool |
True |
Enable Reed-Solomon coding |
tx.cc |
bool |
True |
Enable Convolutional coding |
tx.rand |
bool |
True |
Enable randomization |
tx.crc |
bool |
True |
Enable CRC checksum |
tx.idleframes |
uint16 |
0 |
Idleframes to transmit after each frame |
tx.traintype |
uint8 |
0 |
Training sequence type (0 = alternating bits, 1 = PRBS) |
tx.preamble |
uint16 |
8 |
Number of preamble bytes to transmit |
tx.postamble |
uint16 |
0 |
Number of postamble bytes to transmit |
tx.midamble |
uint16 |
0 |
Number of midamble bytes to transmit |
tx.size |
uint16 |
217 |
Maximum payload size |
tx.id |
uint16 |
0 |
Satellite ID (0 = no ID) |
tx.crypto.key |
binary |
00…00 |
Encryption key |
tx.crypto.encrypt |
bool |
False |
Encrypt frames |
tx.crypto.auth |
bool |
False |
Add authentication tag |
tx.frames |
uint32 |
— |
Number of transmitted frames |
tx.pwr.fwd |
float |
— |
Measured forward power of last frame |
tx.pwr.rfl |
float |
— |
Measured reflected power of last frame |
tx.overpower |
uint16 |
— |
Number of overpower events |
tx.pllnolock |
uint16 |
— |
Number of PLL lock lost events |
Receiver Group¶
The rx
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 |
---|---|---|---|
rx.freq |
uint32 |
2029500000 |
Receive frequency |
rx.rate |
uint32 |
128000 |
Receive bitrate |
rx.bw |
uint8 |
150 |
Receive bandwidth in percent of bitrate |
rx.rs |
bool |
True |
Enable Reed-Solomon coding |
rx.cc |
bool |
True |
Enable Convolutional coding |
rx.rand |
bool |
True |
Enable randomization |
rx.crc |
bool |
True |
Enable CRC checksum |
rx.size |
uint16 |
217 |
Maximum payload size |
rx.id |
uint16 |
0 |
Satellite ID (0 = no ID) |
rx.crypto.key |
binary |
00…00 |
Decryption key |
rx.crypto.decrypt |
bool |
False |
Decrypt frames |
rx.crypto.auth |
bool |
False |
Verify authentication tag |
rx.frames |
uint32 |
— |
Number of received frames |
rx.detected |
uint32 |
— |
Number of detected frames |
rx.rssi |
float |
— |
Measured RSSI of last frame |
rx.freqerr |
float |
— |
Measured frequency error of last frame (unused, always 0) |
rx.pllnolock |
uint16 |
— |
Number of PLL lock lost events |
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.mcu |
int16 |
— |
MCU package temperature in 1/100 C |
tm.temp.power |
int16 |
— |
Power conversion temperature in 1/100 C |
tm.temp.lna |
int16 |
— |
LNA temperature in 1/100 C |
tm.temp.pa |
int16 |
— |
PA temperature in 1/100 C |
tm.volt.vin |
uint16 |
— |
Input voltage |
tm.volt.vreg |
uint16 |
— |
Regulated 3.75 V rail voltage |
tm.volt.3v3 |
uint16 |
— |
3.3 V rail voltage |
tm.cur.vin |
int16 |
— |
Input current |
tm.cur.vreg |
int16 |
— |
Regulated 3.75 V rail current |
tm.cur.3v3 |
int16 |
— |
3.3 V rail current |
tm.power.vin |
uint16 |
— |
Input power |
tm.power.vreg |
uint16 |
— |
Regulated 3.75 V rail power |
tm.power.3v3 |
uint16 |
— |
3.3 V rail power |