Skip to main content

Module ulog

Module ulog 

Source
Expand description

PX4 ULog flight logs (.ulg).

A ULog file describes its own messages: format definitions (F) give each topic’s fields, subscriptions (A) give a topic and instance a message id, and data messages (D) carry that id and the fields packed end to end. One pass over the file reads the definitions and records where each subscription’s data messages start (crate::indexed); each topic and instance is then a table decoded from a map of the file. Parameters, logged text and info messages are read in the same pass: the first two as tables of their own, info and parameters on the Info tab.

Every length is bounded: a message by its 16-bit size and the file’s end, a field list by MAX_COLUMNS, nesting by [MAX_DEPTH], the text kept by its counts. A corrupt stretch is passed over to the next sync marker and counted.

Structs§

Index
What one pass over a ULog file found.
Topic
A subscription: a topic’s instance and where its data messages start.

Enums§

Open
What opening a ULog file finds.

Constants§

LOGGED
The table of the log’s text messages, and of its parameters.
MAGIC
The first seven bytes of every ULog file; the eighth is its version.
MAX_COLUMNS
Columns one topic may make, nested types and arrays of them flattened.
PARAMETERS

Functions§

detail
What the Info panel’s ULog tab says.
index
Index the ULog file in data: one pass, start to end.
indexed
The index of the ULog file at path, made by one pass or kept from one.
listed
The log’s tables as its indexing pass found them: listed once it has been opened, and not read here, where the home screen waits.
looks_like
Whether head, the first bytes of a file, begins a ULog file.
notes
What the Notes tab says of the pass.
open
Open the ULog file at path: the table wanted names, its one table, or the list.
tables
The tables of an indexed log, for the home screen and --table.