-
Notifications
You must be signed in to change notification settings - Fork 0
Modes and Lighting Features
This page explains what the visible lighting modes do and when they appear.
The package supports four main modes.
This is the default directional riding behavior.
- The direction of travel determines which strip is treated as the front and rear visual output.
- In forward travel, the active front side is rendered white.
- The opposite side is rendered red.
- In reverse travel, the assignment flips.
Use this mode if your priority is visibility and directional clarity.
This is the most practical everyday mode.
This mode displays battery state of charge along the strip.
- It estimates battery percentage from pack voltage and the configured cell profile.
- It lights more LEDs as state of charge increases.
- The color transitions toward a battery-style color scale.
- At very low charge it emphasizes red.
Use this when you want an at-a-glance energy indicator instead of directional white/red visuals.
This is an animated scanning mode.
- A moving highlight sweeps back and forth across the strip.
- It runs on both front and rear outputs.
Use this for show lighting when visibility signaling is less important than style.
This is a continuous hue-scrolling pattern.
- Colors are generated across the strip from a moving hue value.
- The rainbow scrolls over time.
Use this for decorative output or event/demo setups.
Once the configured Idle Timeout has elapsed, the package switches to Idle Mode and Idle Brightness.
This gives you a second visual profile for when the board is stationary or inactive.
Typical uses:
- keep low-power accent lighting visible
- show battery meter while stopped
- tone down brightness when parked
For a limited period after boot, while the board is not yet in a running state, the package uses Startup Mode.
Use this to create a short boot signature such as:
- battery meter on startup
- a brief animated effect
- a soft idle-style introduction before normal run mode begins
The status strip is separate from the main front and rear ride-mode strips.
Its job is to communicate state and telemetry-oriented information.
The UI exposes at least these status mode variants:
- Green->Red Voltage, Blue Sensor, Yellow->Red Duty
- Swap ADC1/ADC2
The source also shows status behavior for special cases such as:
- connecting state
- float disabled state
- handtest/switch-state related indications
- battery-style indication in some stopped conditions
- high-duty or warning-like patterns
Brake light is an overlay, not just a separate mode.
When enabled, the code strobes the trailing strip red during braking conditions.
Brake behavior is active when all of these are true:
- brake light is enabled
- the board is in a running state
- the package is not in the special disabled state
- total current is at or below Brake Light Min Amps
- LED updates while running are not disabled
Start with the default threshold and test carefully. If the light is too sensitive or not sensitive enough, adjust Brake Light Min Amps.
Highbeam is driven by Refloat state and supported hardware wiring.
- accepts the highbeam state from Refloat
- can use dedicated highbeam pins on supported front or rear hardware
- can dim the main RGB output while highbeam is active using Dim RGB on Highbeam
If your highbeam looks too harsh, reduce:
- Highbeam Brightness
- or increase the dimming effect on the main RGB output
Mall Grab is treated as a special runtime state that changes the brightness behavior and can reuse the status brightness path.
Use it when you want a distinct carry/handling visual state separate from riding brightness.
The source contains support around charging-related battery display logic. In this build, the legacy charging display toggle is intentionally disabled in config migration, but battery-related behaviors still appear in main-mode logic.
Treat battery visualization as the primary supported behavior rather than building your workflow around older legacy charging toggles.