sbp.piksi module¶
System health, configuration, and diagnostic messages specific to the Piksi L1 receiver, including a variety of legacy messages that may no longer be used.
-
class
sbp.piksi.
Latency
(payload=None, **kwargs)[source]¶ Bases:
object
Latency.
Statistics on the latency of observations received from the basestation. As observation packets are received their GPS time is compared to the current GPS time calculated locally by the receiver to give a precise measurement of the end-to-end communication latency in the system.
- avg : int
- Average latency
- lmin : int
- Minimum latency
- lmax : int
- Maximum latency
- current : int
- Smoothed estimate of the current latency
-
avg
¶
-
current
¶
-
lmax
¶
-
lmin
¶
-
class
sbp.piksi.
MsgAlmanac
(sbp=None, **kwargs)[source]¶ Bases:
sbp.msg.SBP
SBP class for message MSG_ALMANAC (0x0069).
You can have MSG_ALMANAC inherit its fields directly from an inherited SBP object, or construct it inline using a dict of its fields.
This is a legacy message for sending and loading a satellite
alamanac onto the Piksi’s flash memory from the host.
-
class
sbp.piksi.
MsgCellModemStatus
(sbp=None, **kwargs)[source]¶ Bases:
sbp.msg.SBP
SBP class for message MSG_CELL_MODEM_STATUS (0x00BE).
You can have MSG_CELL_MODEM_STATUS inherit its fields directly from an inherited SBP object, or construct it inline using a dict of its fields.
If a cell modem is present on a piksi device, this message
will be send periodically to update the host on the status of the modem and its various parameters.
- sbp : SBP
- SBP parent object to inherit from.
- signal_strength : int
- Received cell signal strength in dBm, zero translates to unknown
- signal_error_rate : float
- BER as reported by the modem, zero translates to unknown
- reserved : array
- Unspecified data TBD for this schema
- sender : int
- Optional sender ID, defaults to SENDER_ID (see sbp/msg.py).
-
from_binary
(d)[source]¶ Given a binary payload d, update the appropriate payload fields of the message.
-
reserved
¶
-
signal_error_rate
¶
-
signal_strength
¶
-
class
sbp.piksi.
MsgCommandOutput
(sbp=None, **kwargs)[source]¶ Bases:
sbp.msg.SBP
SBP class for message MSG_COMMAND_OUTPUT (0x00BC).
You can have MSG_COMMAND_OUTPUT inherit its fields directly from an inherited SBP object, or construct it inline using a dict of its fields.
Returns the standard output and standard error of the
command requested by MSG_COMMAND_REQ. The sequence number can be used to filter for filtering the correct command.
- sbp : SBP
- SBP parent object to inherit from.
- sequence : int
- Sequence number
- line : string
- Line of standard output or standard error
- sender : int
- Optional sender ID, defaults to SENDER_ID (see sbp/msg.py).
-
from_binary
(d)[source]¶ Given a binary payload d, update the appropriate payload fields of the message.
-
line
¶
-
sequence
¶
-
class
sbp.piksi.
MsgCommandReq
(sbp=None, **kwargs)[source]¶ Bases:
sbp.msg.SBP
SBP class for message MSG_COMMAND_REQ (0x00B8).
You can have MSG_COMMAND_REQ inherit its fields directly from an inherited SBP object, or construct it inline using a dict of its fields.
Request the recipient to execute an command.
Output will be sent in MSG_LOG messages, and the exit code will be returned with MSG_COMMAND_RESP.
- sbp : SBP
- SBP parent object to inherit from.
- sequence : int
- Sequence number
- command : string
- Command line to execute
- sender : int
- Optional sender ID, defaults to SENDER_ID (see sbp/msg.py).
-
command
¶
-
from_binary
(d)[source]¶ Given a binary payload d, update the appropriate payload fields of the message.
-
sequence
¶
-
class
sbp.piksi.
MsgCommandResp
(sbp=None, **kwargs)[source]¶ Bases:
sbp.msg.SBP
SBP class for message MSG_COMMAND_RESP (0x00B9).
You can have MSG_COMMAND_RESP inherit its fields directly from an inherited SBP object, or construct it inline using a dict of its fields.
The response to MSG_COMMAND_REQ with the return code of
the command. A return code of zero indicates success.
- sbp : SBP
- SBP parent object to inherit from.
- sequence : int
- Sequence number
- code : int
- Exit code
- sender : int
- Optional sender ID, defaults to SENDER_ID (see sbp/msg.py).
-
code
¶
-
from_binary
(d)[source]¶ Given a binary payload d, update the appropriate payload fields of the message.
-
sequence
¶
-
class
sbp.piksi.
MsgCwResults
(sbp=None, **kwargs)[source]¶ Bases:
sbp.msg.SBP
SBP class for message MSG_CW_RESULTS (0x00C0).
You can have MSG_CW_RESULTS inherit its fields directly from an inherited SBP object, or construct it inline using a dict of its fields.
This is an unused legacy message for result reporting from the
CW interference channel on the SwiftNAP. This message will be removed in a future release.
-
class
sbp.piksi.
MsgCwStart
(sbp=None, **kwargs)[source]¶ Bases:
sbp.msg.SBP
SBP class for message MSG_CW_START (0x00C1).
You can have MSG_CW_START inherit its fields directly from an inherited SBP object, or construct it inline using a dict of its fields.
This is an unused legacy message from the host for starting
the CW interference channel on the SwiftNAP. This message will be removed in a future release.
-
class
sbp.piksi.
MsgDeviceMonitor
(sbp=None, **kwargs)[source]¶ Bases:
sbp.msg.SBP
SBP class for message MSG_DEVICE_MONITOR (0x00B5).
You can have MSG_DEVICE_MONITOR inherit its fields directly from an inherited SBP object, or construct it inline using a dict of its fields.
This message contains temperature and voltage level measurements from the
processor’s monitoring system and the RF frontend die temperature if available.
- sbp : SBP
- SBP parent object to inherit from.
- dev_vin : int
- Device V_in
- cpu_vint : int
- Processor V_int
- cpu_vaux : int
- Processor V_aux
- cpu_temperature : int
- Processor temperature
- fe_temperature : int
- Frontend temperature (if available)
- sender : int
- Optional sender ID, defaults to SENDER_ID (see sbp/msg.py).
-
cpu_temperature
¶
-
cpu_vaux
¶
-
cpu_vint
¶
-
dev_vin
¶
-
fe_temperature
¶
-
class
sbp.piksi.
MsgIarState
(sbp=None, **kwargs)[source]¶ Bases:
sbp.msg.SBP
SBP class for message MSG_IAR_STATE (0x0019).
You can have MSG_IAR_STATE inherit its fields directly from an inherited SBP object, or construct it inline using a dict of its fields.
This message reports the state of the Integer Ambiguity
Resolution (IAR) process, which resolves unknown integer ambiguities from double-differenced carrier-phase measurements from satellite observations.
- sbp : SBP
- SBP parent object to inherit from.
- num_hyps : int
- Number of integer ambiguity hypotheses remaining
- sender : int
- Optional sender ID, defaults to SENDER_ID (see sbp/msg.py).
-
from_binary
(d)[source]¶ Given a binary payload d, update the appropriate payload fields of the message.
-
num_hyps
¶
-
class
sbp.piksi.
MsgInitBase
(sbp=None, **kwargs)[source]¶ Bases:
sbp.msg.SBP
SBP class for message MSG_INIT_BASE (0x0023).
You can have MSG_INIT_BASE inherit its fields directly from an inherited SBP object, or construct it inline using a dict of its fields.
This message initializes the integer ambiguity resolution (IAR)
process on the Piksi to use an assumed baseline position between the base station and rover receivers. Warns via MSG_PRINT if there aren’t a shared minimum number (4) of satellite observations between the two.
-
class
sbp.piksi.
MsgMaskSatellite
(sbp=None, **kwargs)[source]¶ Bases:
sbp.msg.SBP
SBP class for message MSG_MASK_SATELLITE (0x002B).
You can have MSG_MASK_SATELLITE inherit its fields directly from an inherited SBP object, or construct it inline using a dict of its fields.
This message allows setting a mask to prevent a particular satellite
from being used in various Piksi subsystems.
- sbp : SBP
- SBP parent object to inherit from.
- mask : int
- Mask of systems that should ignore this satellite.
- sid : GnssSignal
- GNSS signal for which the mask is applied
- sender : int
- Optional sender ID, defaults to SENDER_ID (see sbp/msg.py).
-
from_binary
(d)[source]¶ Given a binary payload d, update the appropriate payload fields of the message.
-
mask
¶
-
sid
¶
-
class
sbp.piksi.
MsgMaskSatelliteDep
(sbp=None, **kwargs)[source]¶ Bases:
sbp.msg.SBP
SBP class for message MSG_MASK_SATELLITE_DEP (0x001B).
You can have MSG_MASK_SATELLITE_DEP inherit its fields directly from an inherited SBP object, or construct it inline using a dict of its fields.
Deprecated.
- sbp : SBP
- SBP parent object to inherit from.
- mask : int
- Mask of systems that should ignore this satellite.
- sid : GnssSignalDep
- GNSS signal for which the mask is applied
- sender : int
- Optional sender ID, defaults to SENDER_ID (see sbp/msg.py).
-
from_binary
(d)[source]¶ Given a binary payload d, update the appropriate payload fields of the message.
-
mask
¶
-
sid
¶
-
class
sbp.piksi.
MsgNetworkBandwidthUsage
(sbp=None, **kwargs)[source]¶ Bases:
sbp.msg.SBP
SBP class for message MSG_NETWORK_BANDWIDTH_USAGE (0x00BD).
You can have MSG_NETWORK_BANDWIDTH_USAGE inherit its fields directly from an inherited SBP object, or construct it inline using a dict of its fields.
The bandwidth usage, a list of usage by interface.
- sbp : SBP
- SBP parent object to inherit from.
- interfaces : array
- Usage measurement array
- sender : int
- Optional sender ID, defaults to SENDER_ID (see sbp/msg.py).
-
from_binary
(d)[source]¶ Given a binary payload d, update the appropriate payload fields of the message.
-
interfaces
¶
-
class
sbp.piksi.
MsgNetworkStateReq
(sbp=None, **kwargs)[source]¶ Bases:
sbp.msg.SBP
SBP class for message MSG_NETWORK_STATE_REQ (0x00BA).
You can have MSG_NETWORK_STATE_REQ inherit its fields directly from an inherited SBP object, or construct it inline using a dict of its fields.
Request state of Piksi network interfaces.
Output will be sent in MSG_NETWORK_STATE_RESP messages
-
class
sbp.piksi.
MsgNetworkStateResp
(sbp=None, **kwargs)[source]¶ Bases:
sbp.msg.SBP
SBP class for message MSG_NETWORK_STATE_RESP (0x00BB).
You can have MSG_NETWORK_STATE_RESP inherit its fields directly from an inherited SBP object, or construct it inline using a dict of its fields.
The state of a network interface on the Piksi.
Data is made to reflect output of ifaddrs struct returned by getifaddrs in c.
- sbp : SBP
- SBP parent object to inherit from.
- ipv4_address : array
- IPv4 address (all zero when unavailable)
- ipv4_mask_size : int
- IPv4 netmask CIDR notation
- ipv6_address : array
- IPv6 address (all zero when unavailable)
- ipv6_mask_size : int
- IPv6 netmask CIDR notation
- rx_bytes : int
- Number of Rx bytes
- tx_bytes : int
- Number of Tx bytes
- interface_name : string
- Interface Name
- flags : int
- Interface flags from SIOCGIFFLAGS
- sender : int
- Optional sender ID, defaults to SENDER_ID (see sbp/msg.py).
-
flags
¶
-
from_binary
(d)[source]¶ Given a binary payload d, update the appropriate payload fields of the message.
-
interface_name
¶
-
ipv4_address
¶
-
ipv4_mask_size
¶
-
ipv6_address
¶
-
ipv6_mask_size
¶
-
rx_bytes
¶
-
tx_bytes
¶
-
class
sbp.piksi.
MsgReset
(sbp=None, **kwargs)[source]¶ Bases:
sbp.msg.SBP
SBP class for message MSG_RESET (0x00B6).
You can have MSG_RESET inherit its fields directly from an inherited SBP object, or construct it inline using a dict of its fields.
This message from the host resets the Piksi back into the
bootloader.
- sbp : SBP
- SBP parent object to inherit from.
- flags : int
- Reset flags
- sender : int
- Optional sender ID, defaults to SENDER_ID (see sbp/msg.py).
-
flags
¶
-
class
sbp.piksi.
MsgResetDep
(sbp=None, **kwargs)[source]¶ Bases:
sbp.msg.SBP
SBP class for message MSG_RESET_DEP (0x00B2).
You can have MSG_RESET_DEP inherit its fields directly from an inherited SBP object, or construct it inline using a dict of its fields.
This message from the host resets the Piksi back into the
bootloader.
-
class
sbp.piksi.
MsgResetFilters
(sbp=None, **kwargs)[source]¶ Bases:
sbp.msg.SBP
SBP class for message MSG_RESET_FILTERS (0x0022).
You can have MSG_RESET_FILTERS inherit its fields directly from an inherited SBP object, or construct it inline using a dict of its fields.
This message resets either the DGNSS Kalman filters or Integer
Ambiguity Resolution (IAR) process.
- sbp : SBP
- SBP parent object to inherit from.
- filter : int
- Filter flags
- sender : int
- Optional sender ID, defaults to SENDER_ID (see sbp/msg.py).
-
filter
¶
-
class
sbp.piksi.
MsgSetTime
(sbp=None, **kwargs)[source]¶ Bases:
sbp.msg.SBP
SBP class for message MSG_SET_TIME (0x0068).
You can have MSG_SET_TIME inherit its fields directly from an inherited SBP object, or construct it inline using a dict of its fields.
This message sets up timing functionality using a coarse GPS
time estimate sent by the host.
-
class
sbp.piksi.
MsgSpecan
(sbp=None, **kwargs)[source]¶ Bases:
sbp.msg.SBP
SBP class for message MSG_SPECAN (0x0051).
You can have MSG_SPECAN inherit its fields directly from an inherited SBP object, or construct it inline using a dict of its fields.
Spectrum analyzer packet.
- sbp : SBP
- SBP parent object to inherit from.
- channel_tag : int
- Channel ID
- t : GPSTime
- Receiver time of this observation
- freq_ref : float
- Reference frequency of this packet
- freq_step : float
- Frequency step of points in this packet
- amplitude_ref : float
- Reference amplitude of this packet
- amplitude_unit : float
- Amplitude unit value of points in this packet
- amplitude_value : array
- Amplitude values (in the above units) of points in this packet
- sender : int
- Optional sender ID, defaults to SENDER_ID (see sbp/msg.py).
-
amplitude_ref
¶
-
amplitude_unit
¶
-
amplitude_value
¶
-
channel_tag
¶
-
freq_ref
¶
-
freq_step
¶
-
from_binary
(d)[source]¶ Given a binary payload d, update the appropriate payload fields of the message.
-
t
¶
-
class
sbp.piksi.
MsgSpecanDep
(sbp=None, **kwargs)[source]¶ Bases:
sbp.msg.SBP
SBP class for message MSG_SPECAN_DEP (0x0050).
You can have MSG_SPECAN_DEP inherit its fields directly from an inherited SBP object, or construct it inline using a dict of its fields.
Deprecated.
- sbp : SBP
- SBP parent object to inherit from.
- channel_tag : int
- Channel ID
- t : GPSTimeDep
- Receiver time of this observation
- freq_ref : float
- Reference frequency of this packet
- freq_step : float
- Frequency step of points in this packet
- amplitude_ref : float
- Reference amplitude of this packet
- amplitude_unit : float
- Amplitude unit value of points in this packet
- amplitude_value : array
- Amplitude values (in the above units) of points in this packet
- sender : int
- Optional sender ID, defaults to SENDER_ID (see sbp/msg.py).
-
amplitude_ref
¶
-
amplitude_unit
¶
-
amplitude_value
¶
-
channel_tag
¶
-
freq_ref
¶
-
freq_step
¶
-
from_binary
(d)[source]¶ Given a binary payload d, update the appropriate payload fields of the message.
-
t
¶
-
class
sbp.piksi.
MsgThreadState
(sbp=None, **kwargs)[source]¶ Bases:
sbp.msg.SBP
SBP class for message MSG_THREAD_STATE (0x0017).
You can have MSG_THREAD_STATE inherit its fields directly from an inherited SBP object, or construct it inline using a dict of its fields.
The thread usage message from the device reports real-time
operating system (RTOS) thread usage statistics for the named thread. The reported percentage values must be normalized.
- sbp : SBP
- SBP parent object to inherit from.
- name : string
- Thread name (NULL terminated)
- cpu : int
- Percentage cpu use for this thread. Values range from 0
1000 and needs to be renormalized to 100
- stack_free : int
Free stack space for this thread
- sender : int
Optional sender ID, defaults to SENDER_ID (see sbp/msg.py).
-
cpu
¶
-
from_binary
(d)[source]¶ Given a binary payload d, update the appropriate payload fields of the message.
-
name
¶
-
stack_free
¶
-
class
sbp.piksi.
MsgUartState
(sbp=None, **kwargs)[source]¶ Bases:
sbp.msg.SBP
SBP class for message MSG_UART_STATE (0x001D).
You can have MSG_UART_STATE inherit its fields directly from an inherited SBP object, or construct it inline using a dict of its fields.
The UART message reports data latency and throughput of the UART
channels providing SBP I/O. On the default Piksi configuration, UARTs A and B are used for telemetry radios, but can also be host access ports for embedded hosts, or other interfaces in future. The reported percentage values must be normalized. Observations latency and period can be used to assess the health of the differential corrections link. Latency provides the timeliness of received base observations while the period indicates their likelihood of transmission.
- sbp : SBP
- SBP parent object to inherit from.
- uart_a : UARTChannel
- State of UART A
- uart_b : UARTChannel
- State of UART B
- uart_ftdi : UARTChannel
- State of UART FTDI (USB logger)
- latency : Latency
- UART communication latency
- obs_period : Period
- Observation receipt period
- sender : int
- Optional sender ID, defaults to SENDER_ID (see sbp/msg.py).
-
from_binary
(d)[source]¶ Given a binary payload d, update the appropriate payload fields of the message.
-
latency
¶
-
obs_period
¶
-
uart_a
¶
-
uart_b
¶
-
uart_ftdi
¶
-
class
sbp.piksi.
MsgUartStateDepa
(sbp=None, **kwargs)[source]¶ Bases:
sbp.msg.SBP
SBP class for message MSG_UART_STATE_DEPA (0x0018).
You can have MSG_UART_STATE_DEPA inherit its fields directly from an inherited SBP object, or construct it inline using a dict of its fields.
Deprecated
- sbp : SBP
- SBP parent object to inherit from.
- uart_a : UARTChannel
- State of UART A
- uart_b : UARTChannel
- State of UART B
- uart_ftdi : UARTChannel
- State of UART FTDI (USB logger)
- latency : Latency
- UART communication latency
- sender : int
- Optional sender ID, defaults to SENDER_ID (see sbp/msg.py).
-
from_binary
(d)[source]¶ Given a binary payload d, update the appropriate payload fields of the message.
-
latency
¶
-
uart_a
¶
-
uart_b
¶
-
uart_ftdi
¶
-
class
sbp.piksi.
NetworkUsage
(payload=None, **kwargs)[source]¶ Bases:
object
NetworkUsage.
The bandwidth usage for each interface can be reportedwithin this struct and utilize multiple fields to fully specify the type of traffic that is being tracked. As either the interval of collection or the collection time may vary, both a timestamp and period field is provided, though may not necessarily be populated with a value.
- duration : int
- Duration over which the measurement was collected
- total_bytes : int
- Number of bytes handled in total within period
- rx_bytes : int
- Number of bytes transmitted within period
- tx_bytes : int
- Number of bytes received within period
- interface_name : string
- Interface Name
-
duration
¶
-
interface_name
¶
-
rx_bytes
¶
-
total_bytes
¶
-
tx_bytes
¶
-
class
sbp.piksi.
Period
(payload=None, **kwargs)[source]¶ Bases:
object
Period.
Statistics on the period of observations received from the basestation. As complete observation sets are received, their time of reception is compared with the prior set’’s time of reception. This measurement provides a proxy for link quality as incomplete or missing sets will increase the period. Long periods can cause momentary RTK solution outages.
- avg : int
- Average period
- pmin : int
- Minimum period
- pmax : int
- Maximum period
- current : int
- Smoothed estimate of the current period
-
avg
¶
-
current
¶
-
pmax
¶
-
pmin
¶
-
class
sbp.piksi.
UARTChannel
(payload=None, **kwargs)[source]¶ Bases:
object
UARTChannel.
Throughput, utilization, and error counts on the RX/TX buffersof this UART channel. The reported percentage values must be normalized.
- tx_throughput : float
- UART transmit throughput
- rx_throughput : float
- UART receive throughput
- crc_error_count : int
- UART CRC error count
- io_error_count : int
- UART IO error count
- tx_buffer_level : int
- UART transmit buffer percentage utilization (ranges from
0 to 255)
- rx_buffer_level : int
- UART receive buffer percentage utilization (ranges from
0 to 255)
-
crc_error_count
¶
-
io_error_count
¶
-
rx_buffer_level
¶
-
rx_throughput
¶
-
tx_buffer_level
¶
-
tx_throughput
¶