Software

QLogMonitorConsole

Managing the QTFM2 ACB logger from your PC.

Overview

The QTFM2 Logger records QTFM sensor output synchronised with GPS position on the Advanced Comms Board (ACB). QLogMonitorConsole (QLogMonCon) is the Windows host application you use to manage the logger and pull files off its SD card — without removing the card. It communicates with the logger over a USB cable.

Note QLogMonitorConsole is a maintenance and file-transfer utility. For live control while logging (start/stop, ECU vs logger mode) you use the Bluetooth commands in the ACB 2.0 Quick Start; this page covers the PC app.

Connect the PC to the logger

Required: ACB hardware with a USB cable from the PC to the exposed USB port on the board.

  1. Connect the USB cable. Windows recognises the logger as a Portable Device — you can confirm this in Device Manager.
  2. Windows may prompt for an action each time the device is plugged in. Set Settings → AutoPlay to “Take no action” for the Teensy Portable Device — the app provides all the controls you need.
  3. Launch QLogMonitorConsole to interact with the logger.

Logging is suspended While QLogMonitorConsole is running it puts the logger in an idle mode so it can manage files — normal logging is suspended until the logger is reset or power-cycled. The app resets the logger automatically when it exits.

The logger exposes two USB interfaces the app uses together: a Media Transfer Protocol (MTP) interface for listing and transferring SD-card files, and a virtual COM port for commands.

Install and update the app

First-time install: download and run the QLogMonitorConsole setup.exe installer, then launch the app from the Windows Start menu under the QuSpin folder.

On launch with an internet connection, the app automatically checks for updates and offers to install a newer version when one is available.

Working with logger files

Each logging session writes a file named <FileNamePrefix>_<SequenceNumber>.txt. The default prefix is TFM. The logger pre-allocates the file with null characters and truncates it to the logged data when the session ends. Files are never deleted from the card (a data safeguard), so sequence numbers only ever increase.

Utility functions are single-character commands entered at the QLogMonitorConsole prompt:

CommandAction
f List files that begin with the current FileNamePrefix.
a List all files on the SD card.
s Show or change the FileNamePrefix string.
n Show the filename the next logging session will use.
<num> Transfer and convert a single file <FileNamePrefix>_<num>.txt. Enter 1–4 digits; leading zeros are optional.

The file list shows three columns: the integer SequenceNumber, the filename, and the pre-allocation date/time (UTC) — the timestamp is accurate only if a GNSS fix had set the logger clock.

Transfer and convert

Log files are written as ASCII text: a verbatim, timestamped record of everything the QuSpin sensor transmitted — mag-data packets plus command responses, status messages and star codes, interleaved. With a GNSS module connected and enabled, time and position are logged too. The format favours logging efficiency and reliability over readability, so files are post-processed as they transfer from the card to the PC.

Entering a file’s sequence number transfers it to \Users\Public\Documents\QuSpin Data and:

  • strips null characters from the .txt;
  • sorts all records by the microsecond timestamp and corrects for rollover;
  • reformats into a flat .csv;
  • applies the geospatial conversion (with heading-error correction).

Use the sensor’s millisecond timestamp, not the logger’s The sort above uses the logger’s microsecond timestamp, which is the right choice for putting interleaved records back in order. It is not the measurement time base.

For any timing-sensitive analysis, use the QTFM’s standard millisecond timestamp (the > field, described in Serial Communication and Data Format). It comes from the sensor’s own clock and is jitter-free. The logger’s microsecond timestamp is for correlating to GPS time and for spotting dropped samples.

For an SD file such as TFM_0014.txt, the app produces:

FileWhat it is
Repository\TFM_0014.txt Verbatim copy of the SD log file.
TFM_0014_<UTC>.csv Processed log sorted by µs timestamp, one record per line.
archive\TFM_0014_<UTC>_raw.csv Original log stripped of null characters.
flatCSV\TFM_0014_<UTC>_flat.csv Flat single-table CSV (one column set).
geospatial\GPS.Interpolated_TFM_0014_<UTC>_flat.csv Geospatial file with heading-error correction, from the flat CSV.

<UTC> is the GPS date/time at the start of logging, embedded in each output name.

Not the same as QLog_Processor This is QLogMonitorConsole’s own conversion. It is not the same as QLog_Processor, whose output is the _flat / _dedup / _interpolated CSV set. Use whichever fits your workflow; don’t expect identical file names from the two tools.

Configure the logger

Logger settings can be changed two ways, both of which set the same values: edit !quspin!.ini on the SD card, or use QLogMonitorConsole’s configuration commands (no card removal needed). The commands map to the .ini keys as follows:

Command.ini keyControls
g USE_GPS Use the GPS module to log position and to set the real-time clock and file date/time.
t GPS_TYPE Must match the attached module: 1 Adafruit PA1616D / PA6H · 2 NEO-M8N · 3 NEO-M9N · 4 Adafruit PA1616S.
p PPS_TIMESTAMP Use the GNSS PPS edge to time incoming GNSS packets (more accurate than first-byte receipt). Set TRUE only if the module has a wired PPS pin.
m MAGDATA_PULSE_TIMESTAMP Use the sensor’s mag-data-pulse edge to timestamp sensor data (more accurate than first-byte receipt).
c LOG_AT_STARTUP Start logging automatically on boot. Keep FALSE unless continuous logging is required, to avoid filling the card.
b MAX_FILE_SIZE_BYTES Pre-allocated file size; logging stops when reached. Default approx. 0.5 GB — e.g. 67108864 allows about 3.5 h at the maximum mag rate.

The default !quspin!.ini also sets baud rates (GPS_RATE, RADIO_RATE), FILE_NAME_PREFIX, and SLAVE_PRESENT. Keep the filename exactly !quspin!.ini when editing on the card.

Update logger firmware

Every QLogMonitorConsole install is packaged with the latest logger firmware image.

CommandAction
vDisplay the firmware version currently running in the logger.
u Flash the packaged firmware image. Fully automated, including the app restart needed to re-establish the session.

Reset the logger

CommandAction
r Reboot the logger firmware. Automated, including the app relaunch needed to re-sync the session.

The logger responds to file display/transfer requests in every state except while actively logging — the firmware blocks those requests during a logging session.

Status: LED and error word

LED indicator

A dedicated LED on the ACB PCB indicates logger status and error conditions:

LED stateMeaning
Steady yellow In a prearm state, running prearm checks.
Flashing blue Ready to log — prearm checks have passed.
Steady blue Actively logging.
Blue–red–blue–red–blue Firmware boot.
Flashing red Error — the number of red flashes identifies it (below).
Red flashesIndication
2 Configuration error.
3 Sensor data not detected.
4 PPS signal configured but not detected.
5 Mag data pulse configured but not detected.
6 GPS issue or no fix.

Error status word

The Logger Error Status is a hexadecimal bitfield — each bit is one status item, and a set bit means that item is in error. It is checked at startup and during prearm; the status must be 0 for the logger to reach the READY state. Items that are not configured are masked (for example, the PPS bit is ignored unless PPS is enabled), so a misconfiguration can itself raise an error. The value is visible in QLogMonitorConsole and over the Bluetooth link.

BitItem
0 configFileOk
1 masterDataDetected
2 slaveDataDetected
3 sensorSyncDetected
4 ppsSignalDetected
5 magdataPulseDetected
6 sdCardWriteable
7 sdCardSpaceAvailable
8 gpsStatusStdOrBetter
9 gpsTimeValid
10 gpsDateValid
11 gpsFixValid

Bluetooth status stream: in the READY state the logger streams sensor data over Bluetooth; if prearm checks fail it streams informative status messages instead. Pair a host and view the stream in a terminal (e.g. TeraTerm) to verify or troubleshoot operation.

Large files and QLog_Processor

For standalone conversion outside the app — and for the analysis-ready output set — use QLog_Processor: drag a .txt log onto QLog_Processor.exe (or a desktop shortcut). It produces three comma-delimited CSVs: _flat.csv, _dedup.csv, and an analysis-ready _interpolated.csv resampled to a uniform timebase. The ACB 2.0 Quick Start covers it step by step.

Excel silently truncates large logs A worksheet holds at most 1,048,576 rows. A 54 MB log is roughly 4,169,230 records, so Excel discards about three million rows without a clear warning. For files this size, use QLog_Processor or another tool built for them — not a spreadsheet.