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. As an example, to change the CSP address of the device to 21 and the default interface to RS422/KISS, run:
[polaris] prop get sys.csp.address
20
[polaris] prop set sys.csp.address 21
[polaris] prop set sys.csp.routes "0/0 KISS"
[polaris] prop unlock sys
[polaris] prop save sys
[polaris] prop unlock -f sys
[polaris] prop save -f sys
[polaris] reboot
...
[polaris] prop get sys.csp.address
21
[polaris] 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 |
polaris |
String name for system |
sys.serial |
uint32 |
— |
Serial number/ID |
sys.sw.version |
uint32 |
— |
Running software version |
sys.bootcount |
uint32 |
— |
Number of times the system was booted |
sys.csp.address |
uint8 |
20 |
CSP address of the device |
sys.csp.routes |
string |
Additional CSP routes in CIDR notation |
|
sys.can.rate |
uint32 |
1000000 |
CAN-bus bitrate |
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.ip |
string |
192.168.100.20 |
Ethernet IP address |
sys.net.prefix |
uint8 |
24 |
Ethernet network prefix bits |
sys.net.gw |
string |
192.168.100.1 |
Ethernet gateway IP address |
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.led.enable |
bool |
False |
Onboard LEDs enabled |
conf.fs.mount |
bool |
False |
Mount SD-card file system |
The power channels are powered off at boot time, but powered on when the demodulator starts.
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 |
tm.temp.fpga |
int16 |
— |
FPGA junction temperature |
tm.temp.power |
int16 |
— |
Power conversion temperature |
tm.temp.lna |
int16 |
— |
LNA temperature |
tm.temp.adc |
int16 |
— |
ADC temperature |
tm.temp.sdcard |
int16 |
— |
SD-card temperature |
tm.volt.vin |
uint16 |
— |
Input voltage |
tm.volt.3v3 |
uint16 |
— |
3.3 V rail voltage |
tm.volt.2v0 |
uint16 |
— |
2.0 V rail voltage |
tm.volt.1v0 |
uint16 |
— |
1.0 V rail voltage |
tm.cur.vin |
int16 |
— |
Input current |
tm.cur.3v3 |
int16 |
— |
3.3 V rail current |
tm.cur.2v0 |
int16 |
— |
2.0 V rail current |
tm.cur.1v0 |
int16 |
— |
1.0 V rail current |
tm.power.vin |
uint16 |
— |
Input power |
tm.power.3v3 |
uint16 |
— |
3.3 V rail power |
tm.power.2v0 |
uint16 |
— |
2.0 V rail power |
tm.power.1v0 |
uint16 |
— |
1.0 V rail power |
Demodulator Group¶
The demod
group contains configuration and information on the demodulator. The group can be stored to the boot
configuration and is not write protected.
Property |
Type |
Default |
Description |
---|---|---|---|
demod.enable |
bool |
True |
Enable or disable demodulator |
demod.decoded |
uint32 |
0 |
Number of decoded messages with correct FCS |
demod.detected |
uint32 |
0 |
Number of detected messages |
demod.rate |
uint16 |
— |
Number of frames received in the last minute |
demod.rf.gain |
float |
0.0 |
Front end RF gain offset from nominal |
demod.pd.thres |
double |
3.0 |
Packet detection threshold |
demod.pd.winlen |
uint16 |
40 |
Packet detection window lenght |
demod.pd.minlen |
uint16 |
1500 |
Packet detection minimum length |
demod.flip |
uint8 |
1 |
Number of weakest bits to try and flip |
demod.scale.min |
uint16 |
— |
Minimum scale parameter received |
demod.scale.max |
uint16 |
— |
Maximum scale parameter received |
demod.mean.min |
int16 |
— |
Minimum frequency offset received |
demod.mean.max |
int16 |
— |
Maximum frequency offset received |
demod.pps.valid |
bool |
— |
PPS clocks valid |
demod.pps.last |
uint32 |
— |
Last PPS clocks count |
demod.pps.avg |
uint32 |
— |
Average PPS clocks count |
Store Group¶
The AIS message store is controlled and monitored through the store
group. The group can be stored to the boot
configuration and is not write protected.
Property |
Type |
Default |
Description |
---|---|---|---|
store.enable |
bool |
True |
Enable or disable store |
store.seq |
uint32 |
— |
Last sequence number stored |
store.stored |
uint32 |
— |
Number of frames currently stored |