← Back to 2Timer

2Timer Help

Practical guides for humans, with structure that is easy for AI systems to parse.

Connectors

Purpose

Set up inbound timing hardware and outbound publishing integrations for a meet using the connectors system.

Prerequisites

  • Meet created with events and markers configured.
  • Timing hardware drivers or network paths accessible from this machine.
  • For RunSignUp, FTP, or S3 outbound: global integration credentials set in Settings → Integrations.

What Is a Connector?

A connector is a meet-level integration that defines how data flows between 2Timer and an external system. Each connector can be:

  • Inbound only — reads and results flow into 2Timer (e.g., timing hardware).
  • Outbound only — results flow out to a publishing target (e.g., FTP or local folder).
  • Bidirectional — both directions (e.g., FinishLynx reads come in and PPL/SCH files go out).

Connectors are activated and deactivated with an on/off toggle. Configuration is preserved when a connector is deactivated.


Adding a Connector

  1. Go to Connectors in the meet navigation.
  2. Click New Connector.
  3. Choose from the available presets or start from a blank type.
  4. Follow the prompt to grant folder access (for file-based connectors) or enter connection details.
  5. Assign marker IDs to each timing location.
  6. Toggle the connector Active.

Connector Types

FinishLynx

Use for: Lynx shared-folder workflows where FinishLynx handles track timing and FieldLynx shares field-event files in the same exchange folder.

How it works:

  • Inbound: 2Timer watches the Lynx exchange folder and polls for new .lif track-result files and .lff field-result files every 5 seconds.
  • Outbound: 2Timer writes lynx.ppl, lynx.sch, fldlynx.sch, lynx.evt, and lynx.afl to the same folder so FinishLynx gets track data and FieldLynx gets field schedule rows and tagged field-event blocks.

Setup:

  1. Choose the FinishLynx (import + export) preset.
  2. Grant folder access to the FinishLynx exchange directory (usually C:\Lynx\ or similar).
  3. Assign the Finish marker ID to the FinishLynx timing location.
  4. Activate the connector. LIF and LFF files appearing in the folder will be processed automatically.

Tips:

  • Make sure FinishLynx and FieldLynx are configured with the same event numbers as 2Timer.
  • Export the Lynx files before loading operators on race day so the shared folder already contains the latest PPL/SCH/EVT files.
  • lynx.sch is track-only. fldlynx.sch carries field schedule rows.
  • Field events remain in lynx.evt, tagged with field designators such as LJ1, HJ1, PV1, SP1, and similar codes so FieldLynx can distinguish them.
  • LIF files from FinishLynx include bib numbers and names directly; chip mapping is not required for FinishLynx results.

IPICO

Use for: IPICO passive RFID timing systems.

How it works:

  • Inbound: 2Timer watches one or more folders (per timing location) for IPICO tag data files.
  • Each timing location maps to a marker (start, split, finish).

Setup:

  1. Choose the IPICO 3-location course preset (or start blank for different configurations).
  2. Grant folder access to the IPICO output directory.
  3. Assign each location (Start, Split, Finish) to the correct marker ID.
  4. Set file patterns (default *.txt for IPICO tag data).
  5. Activate the connector.

Tips:

  • IPICO outputs one file per reader. Make sure each reader’s output folder is a subdirectory or matches the configured file pattern.
  • If you only have a start + finish (no split), delete the split location from the connector config.
  • In preview tables, the final two IPICO hex characters are shown as trailing_hex. 2Timer preserves them for inspection, but does not currently claim a confirmed semantic meaning for that field.

Trident

Use for: Trident TimeMachine filtered log files from DF, UHF, or Hybrid setups.

How it works:

  • Inbound: 2Timer watches a single Trident filtered log file and imports new tag records as they are appended.
  • Trident records expose a reader_id and receiver_id; 2Timer combines them into a timing-point key like A:3.
  • Status JSON lines in the same file are ignored for timing reads.

Setup:

  1. Choose the Trident preset.
  2. Grant access to the Trident filtered log file.
  3. Add one or more timing locations and assign each to a marker.
  4. In Reader IDs, use combined keys like A:3 when possible.
  5. Activate the connector.

Read types:

  • FS = First Seen
  • BS = Best Seen
  • LS = Last Seen
  • RR = Raw Record

These usually describe different phases of the same tag pass through the read field, not separate crossings.

Tips:

  • Use A:3 style keys for the most precise routing.
  • Leave Reader IDs blank on a timing location if that location should act as a catch-all.
  • BS is often the best finish candidate, while some start-line setups may prefer LS.

MyLaps

Use for: MyLaps Timingsense, BibTag, ChipTag, and ReadLite systems.

How it works:

  • Inbound: 2Timer polls a folder for MyLaps timing output files (.txt or .csv depending on decoder model).
  • Supports the current ReadLite/Timingsense CSV format, older legacy fixed-width format, tab-separated, and MyLaps CSV with full headers.

Setup:

  1. Choose the MyLaps preset.
  2. Grant folder access to the folder where your MyLaps decoder writes result files.
  3. Assign the Finish (and Start, if applicable) marker IDs.
  4. Activate the connector.

Tips:

  • Check whether your decoder model outputs CSV or .txt and configure the file pattern accordingly.
  • BibTag setups typically output a single file with all reads. ChipTag setups may use one file per mat.

RunSignUp

Use for: Pulling live participant data from RunSignUp-registered races.

Prerequisites: You must first connect your RunSignUp account in Settings → Integrations → RunSignUp.

How it works:

  • Registration data (athletes, entries) is pulled from RunSignUp’s API and synced into the meet.
  • This is a one-way pull: 2Timer does not write data back to RunSignUp.

Setup:

  1. In Settings → Integrations, connect RunSignUp via OAuth.
  2. In the meet, go to Connectors → New Connector and choose RunSignUp.
  3. Select the race and event to sync.
  4. Use the Sync button to pull participants on demand, or set an interval for automatic sync.

Tips:

  • Sync before race day to pre-load athletes and entries, then sync again on race morning to catch late registrations.
  • Athletes pulled from RunSignUp are matched by bib number. Duplicate bibs will raise a warning.
  • Custom questions (T-shirt size, emergency contact) are not imported — only timing-relevant fields.

Local Filesystem (Export to Folder)

Use for: Publishing results to a folder on your machine (for display boards, website upload, or other tools).

How it works:

  • Outbound: 2Timer writes result files in your chosen format to the specified folder whenever triggered.
  • Trigger modes: Manual (click to publish) or Event (auto-publish when results change).

Setup:

  1. Choose the Export to folder preset.
  2. Grant folder access to your target publish directory.
  3. Choose format: CSV, JSON, HTML, XML, or TXT.
  4. Set trigger mode (manual or event-based with debounce).
  5. Activate the connector.

FTP / SFTP

Use for: Publishing results to a remote web server or scoring display system via FTP.

Prerequisites: FTP credentials and path configured in Settings → Integrations → FTP.

Setup:

  1. In Settings → Integrations, add your FTP host, username, password, and base path.
  2. In the meet, create an outbound connector pointing to the FTP integration.
  3. Set format and publish trigger.
  4. Activate and test with a manual publish.

S3 / R2

Use for: Publishing results to an AWS S3 bucket or Cloudflare R2 object store.

Prerequisites: Bucket access keys and bucket name configured in Settings → Integrations → S3.

Setup follows the same pattern as FTP: configure the integration in Settings, then create a meet-level connector pointing to it.


Connector Status Indicators

Status Meaning
Idle Connector is active but waiting (normal between polls).
Watching Folder watcher is running, ready to detect new files.
Syncing Currently processing incoming data.
Publishing Writing outbound files or making API calls.
Error Check connector details for the failure message.

Troubleshooting

Problem Check
Reads not appearing Is the connector active? Is the folder path correct? Are file patterns matching the decoder output?
Wrong marker assigned Go to connector locations, reassign marker IDs.
Folder access denied Revoke and re-grant folder permission in the connector settings.
PPL not loading in FinishLynx Confirm the file was exported (use the manual export button or reactivate the connector to trigger a write).
RunSignUp sync fails Check that the integration OAuth token is still valid in Settings.
Duplicate reads Expected behavior — 2Timer deduplicates by hash. Duplicates in the Reads page indicate the same raw line was processed twice; this should not affect results.

Related Pages

Metadata

  • Last Updated: 2026-03-29
  • Version: 0.2
  • Status: Active