Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
8 changes: 4 additions & 4 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
Expand All @@ -45,7 +45,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2
uses: github/codeql-action/autobuild@v3

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3
11 changes: 6 additions & 5 deletions .github/workflows/node.js-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,17 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
node: [16.x, 18.x]
node: [22.x, 24.x]

steps:
- name: Check out Hyas project
uses: actions/checkout@v2
uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v2
uses: actions/setup-node@v4
with:
node-version: 16
node-version: ${{ matrix.node }}
cache: npm

- name: Install dependencies
run: npm ci
Expand All @@ -31,4 +32,4 @@ jobs:
run: npm test

- name: Build production website
run: npm run build
run: npm run build
2 changes: 1 addition & 1 deletion .github/workflows/stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v4
- uses: actions/stale@v9
with:
stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.'
stale-pr-message: 'This PR is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.'
Expand Down
1 change: 1 addition & 0 deletions .markdownlint-cli2.jsonc
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"config": {
"default": true,
"MD001": { "front_matter_title": "" },
"MD013": false,
"MD024": false,
"MD026": false,
Expand Down
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
22.23.2
37 changes: 17 additions & 20 deletions content/en/docs3/getting started/charging.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,35 @@
---
title: "QuickTC Battery"
description: "Recharging the internal battery"
title: "QuickTC Charging"
description: "Charging the QuickTC battery"
lead: ""
date: 2020-10-06T08:49:31+00:00
lastmod: 2020-10-06T08:49:31+00:00
date: 2026-09-19T00:00:00+00:00
lastmod: 2026-09-19T00:00:00+00:00
draft: false
images: []
menu:
docs3:
parent: "getting started"
weight: 360
weight: 320
toc: true
---

### Battery Specs
## Charging

<img src="/images/qtc/qtccharge.jpg" title="QuickTC Charging" alt="alt title"/>
Connect any USB-C power source. The Charge LED is lit while charging and goes out when the battery is full.
The **Battery** page shows `usb` while the cable is connected.

Figure: Charging the QuickTC with USB-C
<img src="/images/qtc/v2/06_battery_usb.png" title="Battery page while charging" alt="Battery page while charging"/>

The QuickTC has a rechargeable battery that allows all-day use and takes an hour to fully recharge. An LED next to the USB-C port will remain on while charging and turn off when the battery is fully charged. QuickTC can remain unused and off for up to a year before needing recharging.
## Battery readout

The battery is lithium ion and the QuickTC is allowed in carry-on and checked baggage, per FAA Title 49 CFR 175.10(a)(18). Battery meets UN38.3 and IEC62133 standards and is UL Recognized according to UL1642.
The percentage is shown in 5 % steps. Off the charger the reading only ever falls. On the charger it follows
the battery.

#### Charging Voltage
## Calibration

QuickTC requires USB at 5V @ 2.5W, which is the lowest power USB you typically find. Therefore any standard USB host such as a port on your laptop or phone charger should be compatible.
The battery meter calibrates itself when the battery is fully charged. Nothing needs to be done, and the
calibration survives firmware updates.

#### Compatible Cables
## Storage

Both USB-C to USB-C and USB-A to USB-C cables are compatible with QuickTC.

Note: There will be no USB data connection to a USB Host as the QuickTC is power sink only.

### Battery Replacement

If the battery needs replacing, it can be easily done by the user. Please contact Factory Optic for battery replacement instructions & replacement battery part number.
Switched off, the unit uses almost no power, so it is ready when you pick it up. Charge it every six months if it sits unused. At 5 % the unit switches off and wakes only for a USB cable.
48 changes: 30 additions & 18 deletions content/en/docs3/getting started/connections.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
title: "QuickTC Setup"
description: "How to wire up the QuickTC"
lead: "How to connect and operate the QuickTC"
date: 2020-10-06T08:49:31+00:00
lastmod: 2020-10-06T08:49:31+00:00
date: 2026-09-19T00:00:00+00:00
lastmod: 2026-09-19T00:00:00+00:00
draft: false
images: []
menu:
Expand All @@ -13,33 +13,45 @@ weight: 315
toc: true
---

<img src="/images/qtc/quicktcinfo.png" title="QuickTC Info" alt="alt title"/>
<img src="/images/qtc/quicktcinfo.png" title="QuickTC Info" alt="QuickTC"/>

## Connecting the QuickTC

Plug the coaxial timecode feed cable into the QuickTC BNC port. The cable should have a single-ended signal per SMPTE ST 12-1:2014. The signal should be typical 75 ohms and QuickTC has an input impedance of 10K.
Plug the coaxial timecode feed into the QuickTC BNC. The signal should be single-ended SMPTE ST 12-1
linear timecode. QuickTC presents a 10 kΩ input, so it can sit on a 75 Ω distribution without loading it.

## Powering On the QuickTC
## Powering On

QuickTC has an internal battery that powers the device. When it is off, there are 3 methods to power on.
QuickTC runs from its internal battery. When it is off, any of these switches it on:

- Pressing the pushbutton OLED will power on the QuickTC.
- Connecting a valid timecode should power on the QuickTC.
- Connecting or disconnecting the USB-C cable will power on QuickTC.
- Pressing the OLED display (it is the button).
- Connecting a valid timecode signal.
- Connecting **or disconnecting** a USB-C cable.

Note: Battery capacity must be at least 5% to power on.
Note: with the battery at 5 % or below the unit only wakes for a USB cable, so that it can charge.

### Heartbeat LED Flashing Patterns
The splash page shows the firmware version for two seconds, then the timecode readout or **No Signal**.

QuickTC has 2 modes of flashing pattern for the Heartbeat LED
## Heartbeat LED

1. **Valid timecode:** With valid timecode connected, the LED will flash once per second for the duration of the first frame. When using multiple QuickTCs the LED on each QuickTC should flash at the same time to indicate timecode sync.
2. **Invalid timecode:** Without valid timecode the LED will double flash about once per second.
- **Valid timecode:** one flash per second, on frame 00. Several QuickTCs on the same feed flash
together, which is a quick visual check that they are in sync.
- **No timecode:** a double flash about once a second.

### Charge LED
## Charge LED

LED is on during charge when USB-C is connected.
Lit while a USB-C cable is connected and the battery is charging.

### Powering Off
## Powering Off

If QuickTC turns on and does not see a valid timecode signal, it will power off after about 10 seconds. Alternatively, when QuickTC experiences a loss of timecode, QuickTC will automatically power off after 30 seconds.
QuickTC switches itself off:

- **15 seconds** after power-on if no valid timecode has been seen, or
- **20 seconds** after the timecode signal is lost, or
- immediately when the battery reaches 5 %.

The display shows **Powering down** for a moment first. A button press during that moment cancels the
shutdown and wakes the unit again.

While off, the unit still watches for a timecode signal, so plugging in a cable switches it on. Switched
off, it uses almost no power.
95 changes: 64 additions & 31 deletions content/en/docs3/getting started/display.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
title: "QuickTC Display"
description: "QuickTC Display"
lead: ""
date: 2020-10-06T08:49:31+00:00
lastmod: 2020-10-06T08:49:31+00:00
date: 2026-09-19T00:00:00+00:00
lastmod: 2026-09-19T00:00:00+00:00
draft: false
images: []
menu:
Expand All @@ -15,67 +15,100 @@ toc: true

## QuickTC Display Modes

The QuickTC has an onboard OLED display that displays useful information. You can cycle through the modes on the display by pushing on the OLED display on the right side, closest to the BNC port. Some uses of the display on the QuickTC include:
The QuickTC has an onboard OLED display. Cycle through the pages by pressing on the OLED display on the
right side, closest to the BNC port. The pages let you:

- Quickly confirm you are receiving timecode
- Freeze timecode to read it out and verbally confirm it over intercom or walkie talkie
- Read out the user bits
- Confirm framerate or closest match, including drop frame and non drop frame
- Check if you have a valid timecode signal
- Confirm you are receiving timecode
- Freeze timecode to read it out over intercom or radio
- Read the user bits
- Confirm the frame rate, including drop frame
- Check the timecode signal level
- Check the battery

### Auto return to Timecode Readout

After 30 seconds in any other mode, QuickTC will automatically return to the Timecode Readout mode
After 30 seconds without a button press, QuickTC returns to the Timecode Readout page (or to **No Signal**
when no timecode is connected).

### Timecode Readout

<img src="/images/qtc/qtcpg1.jpg" title="QuickTC Display page 1" alt="alt title"/>
<img src="/images/qtc/v2/01_timecode.png" title="Timecode readout" alt="Timecode readout"/>

- Shows the current timecode in standard format
- Drop frame timecode will display a `;` between the seconds and frames numbers
- When battery is less than 20%, the battery percentage indicator will show up
- Shows the incoming timecode as hours : minutes : seconds : frames
- Drop-frame timecode is marked with a `;` between seconds and frames:

<img src="/images/qtc/v2/01_timecode_df.png" title="Drop-frame timecode" alt="Drop-frame timecode"/>

- Below 20 % battery a gauge appears in the top-right corner:

<img src="/images/qtc/v2/01_timecode_lowbatt.png" title="Timecode with low-battery gauge" alt="Timecode with low-battery gauge"/>

### Timecode Freeze

<img src="/images/qtc/qtcpg2.jpg" title="QuickTC Display page 2" alt="alt title"/>
<img src="/images/qtc/v2/02_freeze.png" title="Frozen timecode" alt="Frozen timecode"/>

- Will freeze the timecode readout at the moment the pushbutton OLED is pressed
- The frozen timecode will have a rectangular box around the timecode to indicate it is frozen
- Freezes the readout at the moment the button is pressed. The frame around the numbers means "frozen".
- Press again to move on; the readout resumes live on the next lap.

### User Bits

<img src="/images/qtc/qtcpg3.jpg" title="QuickTC Display page 3" alt="alt title"/>
<img src="/images/qtc/v2/03_userbits.png" title="User bits" alt="User bits"/>

- Displays the user bits from the timecode
- The eight user-bit groups as hexadecimal digits, group 8 on the left through group 1 on the right (the
same order as earlier QuickTC firmware).

### Timecode Framerate

<img src="/images/qtc/qtcpg4.jpg" title="QuickTC Display page 4" alt="alt title"/>
<img src="/images/qtc/v2/04_framerate_25.png" title="Frame rate 25" alt="Frame rate 25"/>

- 23.98 and 24, and 29.97 and 30, are shown as pairs:

- Displays the video rate of the timecode in fps
- Will display DF for drop frame. Otherwise, rate is non drop frame.
<img src="/images/qtc/v2/04_framerate_2997_df.png" title="Frame rate 29.97/30 drop frame" alt="Frame rate 29.97/30 drop frame"/>

- `DF` is shown for drop-frame timecode; otherwise the rate is non-drop.
- `--` is shown for the first two seconds after timecode appears, while the rate is being identified:

<img src="/images/qtc/v2/04_framerate_unknown.png" title="Frame rate not yet known" alt="Frame rate not yet known"/>

### Timecode Signal

<img src="/images/qtc/qtcpg5.jpg" title="QuickTC Display page 5" alt="alt title"/>
<img src="/images/qtc/v2/05_ltc_valid.png" title="Timecode signal level" alt="Timecode signal level"/>

- The first line shows the timecode signal amplitude, peak to peak.
- The second line rates it against the SMPTE preferred range: `Valid`, `Low`, or `High`.

<img src="/images/qtc/v2/05_ltc_high.png" title="Signal too high" alt="Signal too high"/>

- The first line displays the timecode signal peak-to-peak value, up to 4V peak-to-peak
- The second line displays `SMPTE Valid` for the SMPTE preferred amplitude range and `SMPTE Low` or `SMPTE High` when out of SMPTE preferred amplitude range
- Note: most devices will operate with a higher amplitude than SMPTE preferred, which will display as `SMPTE High`. It is advisable to adjust the timecode generator or any devices that have variable gain to bring the signal amplitude down into the `SMPTE Valid` range.
- Most generators run hotter than SMPTE prefers and will read `High`. QuickTC still decodes; if a device has
an output-level control, bringing it into the `Valid` range is the better setting.

### Battery

<img src="/images/qtc/qtcpg6.jpg" title="QuickTC Display page 6" alt="alt title"/>
<img src="/images/qtc/v2/06_battery_45.png" title="Battery page" alt="Battery page"/>

- Displays the remaining battery charge
- When connected to USB will display `USB`
- Remaining charge in 5 % steps, with the gauge.
- `usb` appears while a USB cable supplies power:

<img src="/images/qtc/v2/06_battery_usb.png" title="Battery page while charging" alt="Battery page while charging"/>

### Firmware version

<img src="/images/qtc/qtcpg7.jpg" title="QuickTC Display page 7" alt="alt title"/>
<img src="/images/qtc/v2/07_splash.png" title="Splash and firmware version" alt="Splash and firmware version"/>

- Displays QuickTC firmware version
- Shown for two seconds at power-on and available as a page. Quote this version when reporting a problem.

### No Signal

- Displays no signal when there is no valid timecode signal
<img src="/images/qtc/v2/09_nosignal.png" title="No signal" alt="No signal"/>

- Shown when no valid timecode is present. The LED double-blinks about once a second.

### Powering down

<img src="/images/qtc/v2/10_sleep_nosignal.png" title="Powering down after loss of signal" alt="Powering down"/>

- Shown for a moment before the unit switches itself off (see *Powering Off* under QuickTC Setup).

<img src="/images/qtc/v2/10_sleep_lowbattery.png" title="Powering down on low battery" alt="Powering down, low battery"/>

- At 5 % battery the unit switches off to protect the cell and wakes only for a USB cable.
42 changes: 42 additions & 0 deletions content/en/docs3/getting started/troubleshooting.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
title: "QuickTC Troubleshooting"
description: "What the QuickTC is telling you"
lead: ""
date: 2026-09-19T00:00:00+00:00
lastmod: 2026-09-19T00:00:00+00:00
draft: false
images: []
menu:
docs3:
parent: "getting started"
weight: 340
toc: true
---

## The display shows "No Signal" with timecode connected

- Check the **Timecode Signal** page. `Low` with a very small reading means the feed is not reaching the
QuickTC: check the cable and the source.
- Hot signals read `High` and usually still decode; if the display stays on **No Signal**, bring the
generator's level down.
- Timecode that is not SMPTE 12M linear timecode (for example MIDI timecode or a word clock) is not decoded.

## The frame rate shows "--"

Identification takes two full seconds of timecode. If it stays at `--`, the timecode is not counting normally
(a stopped generator, or a source that jumps).

## The unit keeps switching itself off

It is meant to: 15 s after power-on with no timecode, or 20 s after the signal is lost. Feed it timecode and
it stays on.

## The battery went flat in storage

Something woke the unit repeatedly. The usual causes are a timecode lead left connected to a live source,
or packing that presses the screen. Store the unit with nothing connected and nothing resting on the screen.
Switched off, the unit uses almost no power; charge it every six months if it sits unused.

## Reporting a problem

Quote the firmware version from the splash page (`QuickTC v2.0.0`) and the reading on the Timecode Signal page.
Loading
Loading