> ## Documentation Index
> Fetch the complete documentation index at: https://dcc-5ccd5152.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuring and Using Locomotive Functions in BigFred

> Assign labels and icons to DCC functions F0–F28, trigger them from the throttle UI, and configure per-vehicle function sets from the My Vehicles page.

DCC functions let you control decoder outputs that are independent of speed and direction — things like headlights, horn, bell, smoke generators, and coupling sounds. BigFred lets you label each function, assign it an icon, and trigger it directly from the throttle with a single tap. You configure functions once per vehicle, and they appear automatically on the throttle every time you select that locomotive.

## What Are DCC Functions?

BigFred supports function outputs F0 through F28. By convention:

* **F0** is the headlight (front and/or rear lights)
* **F1–F28** are assigned by the decoder manufacturer to sounds, lighting effects, and physical outputs

The exact behaviour of each function number depends on your decoder. BigFred does not dictate what a function does — it simply sends the on/off toggle to the decoder. Your labels and icons are there to remind you what each number controls.

## The Function Grid on the Throttle Page

When you select a vehicle on the throttle page, BigFred displays all of that vehicle's configured functions as a **grid of buttons** in the left panel. Each button shows:

* The function number (F0, F1, F2 …) in the corner
* An icon representing the function type
* A short label beneath the icon

Tap a button to toggle the function on or off. A button that is currently **on** appears brighter and highlighted; one that is **off** is dimmed. BigFred reflects the live state from the command station — if another throttle (or a script) changes a function, your grid updates automatically.

## Functions for Train Consists

When you select a **train consist** instead of a single vehicle, the function panel switches from a flat grid to the **Train Function Accordions** view. Each member locomotive gets its own collapsible section showing its name, current speed, and its own function grid.

<Accordion title="How the accordion works">
  Each row in the accordion corresponds to one member of the consist. Tap the row header to expand or collapse that member's function buttons. You can have multiple members expanded at the same time.

  * **Leading** members are labelled with a "Leading" badge — these are the locomotives whose speed reading is used as the reference for the whole train.
  * **Dummy** members (vehicles with no DCC address) appear as plain rows with a "Dummy" badge and no function buttons, since they carry no decoder.
  * Tapping a function button in a member's section sends the command only to that specific locomotive's DCC address.
</Accordion>

## Assigning Functions to a Vehicle

You configure a vehicle's function set from the **My Vehicles** page. Changes take effect immediately in the throttle grid.

<Steps>
  <Step title="Go to My Vehicles">
    Select **My Vehicles** from the main navigation. Find the vehicle you want to configure and open its detail view.
  </Step>

  <Step title="Open the function editor">
    Click the **Functions** tab (or the tune icon) on the vehicle detail page. You will see a list of all currently configured functions for that vehicle.
  </Step>

  <Step title="Add or edit a function">
    Click **Add function** to create a new entry, or click an existing function to edit it. For each function you set:

    * **Function number** — the DCC function index (0–28) this entry controls
    * **Label** — a short display name shown on the throttle button (for example, "Horn" or "Headlight")
    * **Icon** — choose from BigFred's icon catalogue (see below)
    * **Type** — **Toggle** (the function stays on until you press again) or **Momentary** (the function is on only while the button is held)
  </Step>

  <Step title="Save your changes">
    Click **Save**. The throttle page picks up the new function set the next time you select this vehicle — or immediately if it is already the active vehicle.
  </Step>
</Steps>

<Note>
  You can also reach the function editor directly from the throttle page. While the vehicle is selected, tap the **tune icon** (sliders) in the throttle header bar. BigFred navigates you straight to that vehicle's function editor and returns you to the throttle when you are done.
</Note>

## Function Icons

BigFred includes a catalogue of icons covering the most common decoder outputs. When you open the icon picker in the function editor, you can browse or search the full set. Common icons include:

| Category   | Examples                                               |
| ---------- | ------------------------------------------------------ |
| Lights     | Headlight, cab light, ditch lights, mars light, strobe |
| Sounds     | Horn, bell, whistle, brake squeal, prime mover         |
| Effects    | Smoke, fan, pantograph                                 |
| Mechanical | Coupling, uncoupler, pantograph raise/lower            |
| Generic    | On/off, toggle, star                                   |

If you don't assign an icon, BigFred displays a generic placeholder on the function button. Assigning a recognisable icon makes it much easier to find the right button quickly while operating.

## Templates: Pre-Configured Function Sets

Entering function definitions manually for every locomotive would be tedious. BigFred includes **vehicle templates** that pre-configure a complete function set for common decoder families and model types. Applying a template fills in all the function numbers, labels, icons, and types in one step.

<Note>
  Templates are a starting point — you can apply one and then tweak individual functions to match your specific decoder's programming. Changes you make after applying a template do not affect the template itself.
</Note>

### Applying a Template

<Steps>
  <Step title="Create or edit a vehicle">
    On the **My Vehicles** page, click **Add vehicle** to create a new entry, or open an existing vehicle.
  </Step>

  <Step title="Choose a template">
    In the vehicle form, find the **Template** field and select the template that best matches your decoder family or locomotive type. BigFred fills in the function fields automatically.
  </Step>

  <Step title="Review and save">
    Check the pre-filled functions against your decoder's documentation and adjust any that differ. Then save the vehicle. All the configured functions appear immediately in the throttle grid when you select this locomotive.
  </Step>
</Steps>
