Skip to main content

Logger

Logger

Records device events to files on the SD card. A capture can start immediately or wait for a trigger (a button press, an expression, or the software trigger on this screen), keeping a pre-trigger window of events from before the trigger fired.

Four logger instances can run at the same time, each with its own settings, trigger, and files. This screen and the console r menu share one selected instance: Up and Down move the highlight in the list here, and the menu's n setting changes the same selection - if n is changed from the console while this screen is open, the highlight follows. The buttons and settings on this screen act on the selected instance only.

The screen

The list shows one row per instance: the instance number, its capture state (Idle, Armed while waiting for the trigger, Logging, or Finishing while writing out the last records), the file format (CSV, RTIX, or CSV+RTIX), the trigger mode (Imm for immediate, Btn for button, Expr for expression), and the counters for events captured and records written. Up and Down move the highlight to select an instance.

Two rows under the list show more about the selected instance: the name of its current log file with the bytes written so far, and its trigger setup (mode, plus the pre- and post-trigger windows in milliseconds).

The format and trigger columns show the saved settings the next start will use. The full set of settings, including the trigger button, expression, windows, and event selection, is on the console under the r (logger) menu; each instance keeps its own saved settings.

Controls

ButtonAction
Up / DownSelect an instance (moves the list highlight)
GrayStart the selected instance (arms it, or begins logging immediately)
YellowStop the selected instance and finish its files
GreenSoftware trigger (fires the selected instance while Armed)
BlueCycle the selected instance's trigger mode: Immediate, Button, Expression
CenterChoose the selected instance's file format: CSV, RTIX, or both
PageSwitch to the config view
CancelThis help page

Config view

Page switches between the status list and a settings editor for the selected instance. In the editor, Up and Down move the highlight over the settings (name, file format, trigger mode, trigger button, pre and post trigger windows, events, and trigger expression), and Center or OK opens the right editor for the highlighted setting - a text editor for the name and the expression, a list to pick from, a number pad for the windows, or the Events page for events. A confirmed edit is saved right away; cancelling a dialog changes nothing.

The name is optional, up to 16 characters, and once set also replaces the instance number in that instance's row on the status list. The console r menu reaches the same setting as a. Leaving it empty keeps the instance unnamed. A name change while the instance is armed or logging applies at the next start, same as the other settings.

The Events row shows how many events are currently selected. Center or OK there opens a separate Events page instead of a dialog: Up and Down move the highlight through the list of events, Center or OK toggles the highlighted one on or off, Gray selects every event in the list, Yellow clears the selection, Green opens Setup for the highlighted event, and Page returns to the config view - there is nothing to confirm, every toggle is saved as you make it. Only events the logger can actually turn into a record are listed - every text event except the logger's own frames, plus GPIO changes - so the logger never records its own log entries.

Setup is only offered for events that have something to configure; for the rest Green does nothing and the row carries no extra state. What Setup shows depends on the event: a periodic stream, such as gpioReport or one of the sensor and analog reports, opens a number editor for its interval in milliseconds, where 0 turns the stream off; an on/off stream, such as the wifi and CAN events, opens a two-item Off/On list. Each row shows that same state live, next to its checkbox: a millisecond figure or off for a periodic stream, and on or off for an on/off stream. Selecting an event on this page does not turn its stream on - the checkbox only adds the event to this instance's selection, and Setup is the only way to enable the stream itself, so a selected but unconfigured gpioReport records nothing until its rate is set above 0. A few streams are shared: setting any one of the six wifi events' Setup turns all six on or off together, and each CAN controller's Setup covers its receive and transmit events together - the Setup dialog's title says so. The rate or on/off setting is a device setting, not a per-instance one - changing it affects every logger instance and any host connected to the device, not just the selection open here.

The same selection is reachable from the console under the r menu's v (Events) setting: all selects every listed event and none clears the selection; a comma-separated list of event names replaces the selection outright; and +name or -name adds or removes one event without disturbing the rest. Sending v with no value at all does not print anything - it leaves the console waiting for the value on the next line instead, so always give it an argument. To see the current selection, check the Events row on the Config view (shows a count) or open the Events page, which lists it in full. A name that doesn't match a capturable event is rejected with an error and the selection is left unchanged. The trigger button applies only when the trigger mode is Button. Editing while the instance is armed or logging is allowed - the change applies at the next start, and the screen says so while that instance is active. Gray, Yellow, Green, and Blue do the same as on the status list, and Page returns to it.

A green log icon appears in the home screen status area while any logger instance is armed or logging.

The SD card must be present and owned by the device (not shared to USB) to start. An unnamed instance writes its files flat under /logs, named by instance and capture number: log0_0000.csv and log0_0000.rtix for instance 0's first capture, log1_0000.csv for instance 1's first capture, and so on. A named instance writes into its own folder instead, named after it: /logs//_0000.csv for its first capture, with capture numbers counted separately within that folder starting from 0000. Characters a filename can't hold (\ / : * ? " < > | and space) become underscore in the folder and file names only - the name shown on screen and in the settings keeps exactly what was typed, so "run 3/4: pump" is shown as typed but files land under /logs/run_3_4__pump/. Two instances sharing the same name write into the same folder without clobbering each other, since each capture number is only used if it isn't already there. Each CSV file starts with a header row, then one row per captured event: a timestamp, the event's own id and name (for example battery), and the event's data or text. The pre-trigger window is limited by memory: oldest events are dropped once the capture buffer fills. While the post trigger window is 0, logging runs until stopped by hand.

See also: Logger — the console/GUI commands for this panel.