Skip to content

Connector for FinishLynx to capture time events which are published to CrewTimer

License

Notifications You must be signed in to change notification settings

crewtimer/crewtimer-fl-connect

Repository files navigation

CrewTimer FinishLynx Connect

CrewTimer FinishLynx Connect is built using Electron, and specificlly the Electron React Boilerplate Project.

See the VSCode plugins suggested here.

Build Environment

Macos

Install brew from brew.sh

brew install nvm
brew install nasm
brew install yasm
brew install pkg-config
brew install cmake

nvm install 18
nvm use 18

npm i -g node-gyp@latest
npm i -g yarn
npm i -g ts-node

Building from scratch

node --version # ensure you are using node 18
# Clone the repo
git clone [email protected]:crewtimer/crewtimer-fl-connect.git
# Build
cd crewtimer-fl-connect
yarn install
# Run
yarn start

To create a notarized macos build, create a .env file with the following contents. Do not commit this file to the repo

[email protected]
APPLE_APP_SPECIFIC_PASSWORD=xxxx-xxxx-xxxx-xxxx
TEAM_ID=P<snip>4

If the build fails with a node-gyp error, be sure node-gyp is installed globally.

If the run fails with 'cannot locate sqlite', remove the src/node_modules symbolic link and yarn install again.

Debugging

Starting from VSCode seems broke. Try this command line

yarn "start:main" "--inspect=5858" "--remote-debugging-port=9223"

Open dev window with releases code:

yarn cross-env DEBUG_PROD=true yarn package

See also the Electron React Boilerplate page.

File Locations

Windows

  • CrewTimer.db No longer correct: C:\Users\glenne\AppData\Local\Programs\crewtimer-fl-connector\CrewTimer.db
  • Images and assets C:\Users\glenne\AppData\Local\Programs\crewtimer-fl-connector\resources\assets
  • config.json C:\Users\glenne\AppData\Roaming\CrewTimer FinishLynx Connector\config.json

MacOS

  • CrewTimer.db '/Users/glenne/Library/Application Support/Electron/CrewTimer.db'

Debugging with Parallels and MacOS

FL connects via TCP/IP to the CrewTimer FL Connect app. When running with parallels the scoreboard must be provided with the IP address where CrewTimer FL Connect is running.

  1. Find the macOS IP Address for the Parallels container. Issue ifconfig and look for the IP address associated with the vnic1 interface. E.g. 10.37.129.2. This will be used within FinishLynx.
  2. Run FinishLynx within Parallels and configure a scoreboard with the IP address found in the prior step.
  3. Run CrewTimer FL Connect on macOS: yarn start

Using Manual Start on FL

  1. Go to File|Options|General and set the Hardware Type = None.
  2. Set Camera Settings -> Input -> Wired Sensor = Open if not using a start sensor.
  3. Go to LapTime options and click New.
  4. Restart FL

Releasing new versions

  1. Edit release/app/package.json and src/renderer/Nav.tsx and adjust version info
  2. Execute yarn macbuild && yarn winbuild
  3. Look in release/ for the exe file
  4. Copy the exe to the 'CrewTimer Installers' google drive folder.
  5. Make a copy of the installer and rename it without a version: CrewTimerConnect Setup.exe.

Tips

About

Connector for FinishLynx to capture time events which are published to CrewTimer

Resources

License

Stars

Watchers

Forks

Packages

No packages published