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 save -u sys
[polaris] prop save -f -u 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.boot.slot |
uint8 |
255 |
Booted firmware slot |
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.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.iq.enable |
bool |
False |
Enable or disable IQ capture |
demod.iq.dest.ip |
string |
192.168.100.21 |
IQ sample destination ethernet IP address |
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.pwr.min |
float |
-127.0 |
Discard if below this power |
demod.pwr.offset |
float |
0.0 |
Offset calculated power with this value |
demod.pps.valid |
bool |
— |
PPS clocks valid |
demod.pps.last |
uint32 |
— |
Last PPS clocks count |
demod.pps.avg |
uint32 |
— |
Average PPS clocks count |
demod.pps.synced |
bool |
False |
If true AIS frame timestamp are synchronized to PPS |
demod.pps.time.set |
bool |
False |
If true AIS frame timestamp is based on time set by command. |
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.next |
uint32 |
— |
Next sequence number |
store.stored |
uint32 |
— |
Number of frames currently stored |