diff options
Diffstat (limited to 'docs/anduril-manual.md')
| -rw-r--r-- | docs/anduril-manual.md | 1079 |
1 files changed, 1079 insertions, 0 deletions
diff --git a/docs/anduril-manual.md b/docs/anduril-manual.md new file mode 100644 index 0000000..79b39c0 --- /dev/null +++ b/docs/anduril-manual.md @@ -0,0 +1,1079 @@ +Anduril User Manual +------------------- + +Anduril is an open-source firmware for flashlights, distributed under +the terms of the GPL v3. The sources can be obtained here: + + - https://toykeeper.net/anduril + +The URL above redirects to the actual project site. Even if the project +hosting needs to migrate again, it should continue to work. As of late 2023, +this is where it redirects to: + + - https://github.com/ToyKeeper/anduril + + +Quick Start +----------- + +After putting a battery in the light and tightening the parts together, +the light should quickly blink once to confirm it has power and is now +operational. After that, basic usage is simple: + + - **Click** to turn the light on or off. + - **Hold** the button to change brightness. + - **Release and hold again** quickly to change brightness the other way. + +That is all the user needs to know for basic use, but there are many +more modes and features available for people who want more. + +For a full list of button mappings, scroll down to the +[UI Reference Table](#ui-reference-table) at the end of this file. + + +Button presses +-------------- + +Button presses are abbreviated using a simple notation: + + - `1C`: One click. Press and then quickly release the button. + - `1H`: Hold. Press the button, but keep holding it. + - `2C`: Two clicks. Press and release quickly, twice. + - `2H`: Click, hold. Click two times, but hold the second press. + - `3C`: Three clicks. Press and release quickly, three times. + - `3H`: Click, click, hold. Click three times, but hold the final press. + +The same pattern is used with higher numbers too. For example, `10C` +means ten clicks... and `10H` means ten clicks but hold the final press. + +The *number* is how many times to press the button. The *letter* tells +whether to release the final press (C) or keep holding it (H). + + +Factory Reset +------------- + +If you get lost, or if you want to auto-calibrate the temperature sensor, do a +factory reset. This is a good idea to do as soon as you turn on a new light +for the first time, to ensure it has a sane configuration. + +The process for this is: + + - **Loosen** tailcap + - **Hold** button + - **Tighten** tailcap + - **Keep holding** button for about 4s + +Or: + + - `13H` in "Off" mode, and keep holding for about 4s + +The light should flicker while getting brighter, then briefly burst to +full power. Hold until it reaches full power to do a reset, or let go +of the button early to abort. + +On some lights, like products where the tailcap method is impossible, +use `13H` from Off to do a factory reset. If this is difficult, try +counting it like music to make it easier: +``` + 1 2 3 4 + 2 2 3 4 + 3 2 3 4 + HOLD +``` + +Simple UI is enabled after each factory reset. + + +Simple UI +--------- + +By default, the light uses a simple UI. This is useful if you lend the +light to someone else, or if you just don't want to bother with any +crazy disco modes. + +Simple UI has all the basic functions needed to work as a flashlight, +but the minimum and maximum brightness are limited by default to make it +safer, and any complex or advanced functions are blocked. + +### Usage + +Functions available in Simple UI include: + + - `1C`: On / off + - `1H`: Ramp up (or down, if button was released less than a second ago) + - `2H`: If light is on : ramp down + If light is off: momentary high mode + - `2C`: Double click to go to / from highest safe level + - `4C`: Lockout mode. + +Some other modes and functions are available too. When the light is +off, these are the options: + + - `3C`: Battery check mode. (displays voltage once, then turns off) + - `4C`: Lockout mode. + - `10H`: Switch to Advanced UI. + - `15C` or more: Version check. + +In Lockout mode with Simple UI, there are a few functions: + + - `1H`: Momentary moon + - `2H`: Momentary low + - `3C`: Unlock and turn off + - `4C`: Unlock and turn on + - `4H`: Unlock and turn on at low level + - `5C`: Unlock and turn on at high level + +To change between Simple UI and Advanced UI, turn the light off and then +do one of these: + + In Simple UI: + + - `10H`: Go to Advanced UI. + + In Advanced UI: + + - `10C`: Go to Simple UI. + +### Extended Simple UI + +Some lights have additional features enabled in Simple UI, at the +manufacturer's request. This typically includes: + + - `Ramp -> 3C`: Toggle smooth or stepped ramp shape. + - `Ramp -> 5H`: Sunset timer. + - `Off -> 3H`: Access the strobe/mood modes. + - `Off -> 7C/7H`: Change the aux LED pattern. + - `Lockout -> 7C/7H`: Change the aux LED pattern. + +If your light uses Extended Simple UI, *think twice about letting kids use it*, +because the strobe/mood modes were not intended to be used in simple mode, and +can reach full power with no thermal regulation. + +It is likely that strobe/mood modes will be removed from Extended Simple UI in +the future, for safety reasons, or maybe have already been removed. But that +doesn't help with older firmware, so be careful. + +### Configuring Simple UI + +Simple UI can be configured in several ways, but not while Simple UI is +active. So go to the Advanced UI, configure things, then go back to +Simple UI. + +In Advanced UI's "Off" mode: + + - `10H`: Configure Simple UI. + +Configurable options include: + + - floor level + - ceiling level + - number of steps (in stepped ramp) + - turbo style + +Other options are inherited from Advanced UI, so change these options normally +and they will carry over to Simple UI: + + - ramp style (smooth / stepped) + - smooth ramp speed + - ramp-after-moon style + - memory settings + - auto-lock settings + - aux LED settings + - voltage calibration + - thermal regulation settings + - hardware-specific "misc menu" settings + + +Advanced UI +----------- + +Most of the information below this is for the Advanced UI. Anything not +already noted above is blocked in the Simple UI. + + +Ramping / Stepped Ramping Modes +------------------------------- + +Anduril's ramping mode uses a smooth ramp or a stepped ramp, depending +on which style the user prefers. + +Each ramp has its own settings -- floor (lowest level), ceiling (highest +level), and the stepped ramp can also have a configurable number of +steps. + +Additionally, Simple UI has its own ramp settings for floor, ceiling, +and number of steps. The smooth/stepped style is inherited from the +Advanced UI's ramp. + +There are four ways to access ramping mode when the light is off: + + - `1C`: Turn on at the memorized brightness. + (see below for details about what "memorized" means) + + - `1H`: Turn on at the floor level. Let go after the light turns on to + stay at the floor level, or keep holding to ramp up. + + - `2C`: Turn on at the ceiling level. + + - `2H`: Turn on at full power, turn off when released. (momentary turbo) + (in Simple UI, this uses the ceiling level instead of turbo) + +While the light is on, a few actions are available: + + - `1C`: Turn off. + - `2C`: Go to or from the turbo level. + (or if it has regulated down, "bump" back up to turbo) + (turbo level / behavior is configurable) + - `1H`: Change brightness (up). If the button was released less than a + second ago, or if it's already at the ceiling, it goes down instead. + - `2H`: Change brightness (down). + + - `3C`: Switch to the other ramp style. (smooth / stepped) + (or activate the next channel mode, when more than one is enabled) + (then use 6C instead, for smooth / stepped toggle) + - `6C`: Switch to the other ramp style. (when `3C` is mapped to next channel) + + - `3H`: Momentary turbo (when current channel has no tint to ramp). + - `3H`: Tint ramping (only when current channel has adjustable tint). + - `4H`: Momentary turbo, when `3H` is mapped to tint. + + - `4C`: Go to lockout mode. + + - `5C`: Go to momentary mode. + - `5H`: Start a sunset timer. Details are below in the Sunset Timer section. + + - `7H`: Ramp config menu. + - Item 1: Floor level. + - Item 2: Ceiling level. + - Item 3: + Stepped ramp: Number of steps. Can be 1 to 150. + Smooth ramp: Ramp speed. + 1 = Full speed, ~2.5s from end to end. + 2 = Half speed, ~5s from end to end. + 3 = Third speed, ~7.5s. + 4 = Quarter speed, ~10s. + + - `10C`: Activate manual memory and save the current brightness. + - `10H`: Ramp extras config menu. + - Item 1: Disable manual memory and go back to automatic memory. + (doesn't matter what value the user enters at the prompt) + - Item 2: Configure the manual memory timer. + Sets the timer to N minutes, where N is the number of + clicks. A value of 0 (no clicks) turns the timer off. + - Item 3: Configure whether to ramp up after `Off -> 1H`. + 0: Ramp up after moon. + 1: Don't ramp up, just stay at the floor level. + - Item 4: Configure Advanced UI's turbo style: + 0: No turbo, only ceiling. + 1: Anduril 1 style. `Ramp -> 2C` goes to full power. + 2: Anduril 2 style. `Ramp -> 2C` goes to ceiling, + or goes to full power if user ramped up to ceiling first. + This value also affects momentary turbo in Ramp and Off modes. + - Item 5: Configure "smooth steps". + 0: Disable smooth steps. + 1: Enable smooth steps. + +Memory determines which brightness level the light goes to with 1 click +from off. There are three types of brightness memory to choose from: + + - Automatic: Always uses the last-ramped brightness. + (does not memorize levels accessed by a shortcut, + like turbo, `2C` for ceiling, or `1H-from-off` for floor) + + - Manual: Always uses the user's saved brightness. + + - Hybrid: Uses the automatic memory brightness if the light was only + off for a short time, or resets to the manual memory level if it was + off for a longer time. + The timer for this is configurable from 0 to ~140 minutes. + +Another way to think of it is: There are three styles of memory for the +last-ramped brightness level... + + - Always remember (automatic) + - Remember for N minutes (hybrid) + - Never remember (manual) + +To choose a memory style, set the configuration accordingly: + +| mem type | manual mem | manual mem timer +| -------- | ---------- | ---------------- +| automatic | off | any +| manual | on | zero +| hybrid | on | non-zero + +If "smooth steps" is enabled, the stepped ramp uses a smooth animation +between steps, and turning the light on/off has the edges smoothed off +too. With "smooth steps" turned off, these brightness changes are +immediate. + + +Sunset Timer +------------ + +In the ramp mode or candle mode, it's possible to make the light turn +itself off after a while. + +To activate the timer, go to the brightness you want and then use a `5H` +action. Keep holding the button, and the light should blink once per +second. Each blink adds 5 minutes to the timer. + +In ramp mode, it slowly dims until it's at the lowest level, then shuts +off. In candle mode, it stays at the same brightness until the final +minute, at which point it dims and dies out. + +The user can change the brightness while the timer is active. If this +happens during the final few minutes, it also "bumps" the timer up to a +minimum of 3 minutes. So if it's getting really dim and you need a +little more time, you could do a `5H` to add 5 minutes, or simply ramp up +to the desired brightness. + + +Other Modes +----------- + +Anduril has several other modes too. To access these, press the button +more than 2 times when the light is off: + + - `3C`: Blinky / utility modes, starting with battery check. + - `3H`: Strobe modes, starting with the most recently used strobe. + - `4C`: Lockout mode. + - `5C`: Momentary mode. + - `6C`: Tactical mode. + - `7C` / `7H`: Aux LED configuration. + - `9H`: Misc Config menu. (only on some lights) + - `10H`: Simple UI configuration menu. + - `13H`: Factory reset (on some lights). + - `15C` or more: Version check. + + +Lockout Mode +------------ + +Click 4 times from Off to enter Lockout mode. Or 4 times from Ramp. +This makes the light safe to carry in a pocket or a bag or anywhere else +the button might be pressed by accident. + +To exit lockout mode, click 4 times. The light should blink briefly and +then turn on at the memorized level. Or hold the final press to turn on +at the floor level instead: + + - `3C`: Unlock and go to "Off" mode + + - `4C`: Go to ramp mode (memorized level). + (uses manual mem level if there is one) + + - `4H`: Go to ramp mode (floor level). + + - `5C`: Go to ramp mode (ceiling level). + +Lockout mode also doubles as a momentary moon mode, so the user can do +quick tasks without having to unlock the light. The brightness in +lockout mode has two levels: + + - `1H`: Light up at the lowest floor level. + + - `2H`: Light up at the highest floor level. + (or the manual mem level, if there is one) + + - `3H`: Next channel mode (if more than one is enabled). + +It is also possible to make the light lock itself automatically after +being turned off. To enable this, go to lockout mode and use a `10H` +action to activate the auto-lock config menu. Release the button after +the first blink. Then at the prompt, click N times to set the auto-lock +timeout to N minutes. + + - `10H`: Auto-lock config menu. Click N times to set timeout to N minutes. + A value of zero disables the auto-lock feature. + So, to turn off auto-lock, don't click at all. + +And on lights which have aux LEDs, there may be additional functions: + + - `7C` / `7H`: Change Lockout Mode's aux LED pattern. More details on + this below, in a separate section. + + +Blinky / Utility Modes +---------------------- + +Click 3 times from Off to access Anduril's blinky / utility modes. This +always starts at battery check and the user can proceed to other blinky +modes if Advanced UI is enabled. The sequence is: + + - Battery check. + - Temperature check (if light has a temperature sensor). + - Beacon mode. + - SOS mode (if enabled). + +In all of these modes, some basic actions are available: + + - Click: Turn off. + - 2 clicks: Next blinky mode. + +Additionally, in battery check and temperature check modes: + + - `7H`: Go to the voltage config menu or thermal config menu. + +In more detail, this is what each blinky / utility mode does: + +### Battery check: + +Blinks out the battery voltage per cell. Full is 4.2V, empty is +about 3.0V. The light blinks the whole-number digit first, pauses, +then blinks out the "tenths" digit. Then a longer pause, and it +repeats. +So for 4.2V, it would be "blink-blink-blink-blink .. blink-blink". + +A "zero" digit is represented by a very quick blink. + +On lights with more than one set of LEDs, pressing `3C` during batt +check mode can select which set of LEDs (which channel mode) it uses +to blink out numbers. + +The voltage config menu has these settings: + + 1. Voltage correction factor. This adjusts the battery + measurement sensor, allowing the user to add or subtract up to + 0.30V in 0.05V steps. Click N times to enter a value: + + `1C`: -0.30V + `2C`: -0.25V + `3C`: -0.20V + `4C`: -0.15V + `5C`: -0.10V + `6C`: -0.05V + `7C`: default, 0V + `8C`: +0.05V + `9C`: +0.10V + `10C`: +0.15V + `11C`: +0.20V + `12C`: +0.25V + `13C`: +0.30V + + 2. Post-off voltage display timeout. (only on lights with RGB aux) + This setting determines how many seconds the RGB aux LEDs + display the voltage color after the torch goes to sleep. Click + once per desired second, or zero times to turn this function + off. + +### Temperature check: + +Blinks out the current temperature in degrees C. This number should +be pretty close to what a real thermometer says. If not, it would +be a good idea to enter the thermal config menu and calibrate the +sensor. Or let the light settle to room temperature, then use +factory reset to auto-calibrate the sensor. + +The thermal config menu has two settings: + + - Current temperature. Click once per degree C to calibrate the + sensor. For example, if the ambient temperature is 21 C, then + click 21 times. + + - Temperature limit. This sets the maximum temperature the light + can reach before it will start doing thermal regulation to keep + itself from overheating. Click once per degree C above 30. For + example, to set the limit to 50 C, click 20 times. The default is + 45 C, and the highest value it will allow is 70 C. + +### Beacon mode: + +Blinks at a slow speed. The light stays on for 100ms, and then +stays off until the next blink. The brightness and the number of +seconds between pulses are configurable: + + - Brightness is the user's memorized ramp level, so set this in + ramping mode before activating beacon mode. Follows the same + memory rules as ramping -- automatic, manual, or hybrid. + + - Speed is configured by holding the button. The light should + blink once per second while holding the button. Release it + after the desired amount of time has passed, to set a new beacon + speed. + For example, to do a 10-second alpine beacon, hold the button + for 10 seconds. + +### SOS mode: + +Blinks out a distress signal. Three short, three long, three short. +Repeats until light is turned off or until battery is low. + +The memorized ramp level determines the brightness of SOS Mode. + + +Strobe / Mood Modes +------------------- + +Anduril includes a few extra modes for a variety of purposes: + + - Candle mode + - Bike flasher + - Party strobe + - Tactical strobe + - Lightning storm mode + +Click 3 times from Off to access these, but hold the third click for a +moment. Click, click, hold. The last-used strobe mode is remembered, +so it will return to whichever one you used last. + +In all of these modes, a few actions are available: + + - `1C`: Turn off. + - `2C`: Next strobe / mood mode. + - `1H`: Increase brightness, or strobe faster. (except lightning) + - `2H`: Decrease brightness, or strobe slower. (except lightning) + - `4C`: Previous strobe / mood mode. + - `5C`: Go to momentary mode, for a momentary strobe. + (this is useful for light painting) + +Additionally, candle mode has one more action: + + - `5H`: Activate Sunset Timer, and/or add 5 minutes to the timer. + +In more detail, here is what each mode does: + + - Candle mode + + Brightness changes randomly in a pattern resembling a candle flame. + If a timer is set, it will run until the timer expires, then get + dimmer for one minute, then sputter and turn itself off. Without a + timer, candle mode runs until the user turns it off. Brightness is + configurable. + + - Bike flasher + + Runs at a medium level, but stutters to a brighter level once per + second. Designed to be more visible than a normal ramping mode, but + otherwise works mostly the same. Brightness is configurable. + + - Party strobe + + Motion-freezing strobe light. Can be used to freeze spinning fans + and falling water. Speed is configurable. + + - Tactical strobe + + Disorienting strobe light. Can be used to irritate people. Speed + is configurable, and the duty cycle is always 33%. + + Be careful about heat in this mode, if using it for a long time. + + - Police strobe (on some lights) + + 2-color police style strobe. Only works on lights with 2 or more + colors. + + - Lightning storm mode + + Flashes at random brightness and random speed to simulate lightning + strikes during a busy lightning storm. Do not look directly at the + flashlight when this mode is running, because it may suddenly go to + full power without warning. + + +Momentary Mode +-------------- + +Click 5 times from Off to enter Momentary mode. Or 5 times from Ramp, +or 5 times from a strobe mode. + +This locks the flashlight into a single-mode interface where the LEDs +are only on when the button is held down. It is intended for Morse +code, light painting, and other tasks where the light should be on only +for a short time and probably in a pattern. + +Momentary mode does either a steady brightness level or a strobe, +depending on which was active before going to momentary mode. To select +which one, go to the mode you want to use, adjust the brightness and +speed and other settings, then click 5 times to enter momentary mode. + +In steady mode, brightness is the memorized ramp level, so adjust that +in Ramp Mode before entering momentary mode. + +In momentary strobe mode, the settings are copied from the last-used +strobe mode, such as party strobe, tactical strobe, or lightning. + +To exit this mode, physically disconnect power by unscrewing the tailcap +or battery tube. + + +Tactical Mode +-------------- + +Click 6 times from Off to enter Tactical Mode, or 6 times in Tactical +Mode to exit and go back to "Off". + +Tactical Mode provides instant momentary access to high, low, and +strobe, but each of these is configurable. The inputs are: + + - `1H`: High + - `2H`: Low + - `3H`: Strobe + +Each of these only lasts as long as you hold the button. + +Other commands in Tactical Mode are: + + - `6C`: exit (go back to Off Mode) + - `7H`: Tactical Mode config menu + - 1st blink: configure tactical slot 1 + - 2nd blink: configure tactical slot 2 + - 3rd blink: configure tactical slot 3 + +To change what is in a tactical slot, press `7H`, then release the button +after the 1st, 2nd, or 3rd blink. Then enter a number. Each click adds +1, and each hold adds 10. The number can be: + + - 1 to 150: set the brightness level + - 0: last-used strobe mode + - 151+: go directly to a specific strobe mode + 151 = party strobe + 152 = tactical strobe + 153+ = other strobes, in the same order they're in in the `Off -> 3H` + strobe group + +This assumes the light has a ramp 150 levels long. Strobe modes start +at the ramp size plus 1, so it may be different if a light has a +different ramp size. + + +Configuration Menus +------------------- + +Every config menu has the same interface. It has one or more options +the user can configure, and it will go through them in order. For each +menu item, the light follows the same pattern: + + - Blink once, then go to a lower brightness. The user can keep + holding the button to skip this menu item, or release the button to + dive in and enter a new value. + + - If the user released the button: + + - Stutter or "buzz" quickly between two brightness levels for a few + seconds. This indicates that the user can click one or more times + to enter a number. It will keep buzzing until the user stops + clicking, so there is no need to hurry. + + The actions here are: + - click: add 1 + - hold: add 10 (only in versions 2021-09 or later) + - wait: exit + +After entering a number, or after skipping every menu item, it waits +until the button is released then exits the menu. It should return to +whatever mode the light was in before entering the config menu. + + +Ramp Config Menu +---------------- + +While the light is on in a ramping mode, click 7 times (but hold the +final click) to access the config menu for the current ramp. + +Or, to access the ramp config for Simple UI, make sure the Simple UI is +not active, then do a `10H` action from Off. + +For smooth ramping mode, there are three menu options: + + 1. Floor. (default = 1/150) + 2. Ceiling. (default = 120/150) + 3. Ramp speed. (default = 1, fastest speed) + +For the stepped ramping mode, there are three menu options: + + 1. Floor. (default = 20/150) + 2. Ceiling. (default = 120/150) + 3. Number of steps. (default = 7) + +For the Simple UI mode, there are four menu options. The first three +are the same as stepped ramping mode. + + 1. Floor. (default = 20/150) + 2. Ceiling. (default = 120/150) + 3. Number of steps. (default = 5) + 4. Turbo style. (default = 0, no turbo) + +**Default values are different for each model of flashlight. The numbers +above are only examples.** + +To configure the floor level, click the button equal to the number of +ramp levels (out of 150) at which the floor should be. To set the +lowest possible level, click once. + +To configure the ceiling level, each click goes one level lower. So 1 +click sets the highest possible level, 2 clicks is the 2nd-highest, 3 +clicks is the 3rd-highest level, etc. To set the default of 120/150, +click 31 times. + +When configuring the number of steps, the value can be anything from 1 +to 150. A value of 1 is a special case. It places the step halfway +between the floor and ceiling levels. + + +Version Check Mode +------------------ + +This allows people to see which version of the firmware is installed on +their light. The format for this is (usually) 12 digits -- a model +number and a date. `BBPP.YYYY-MM-DD` + + - `BB`: Brand ID + - `PP`: Product ID + - `YYYY`: Year + - `MM`: Month + - `DD`: Day + +Versions before 2023-05-30 used `YYYYMMDDBBPP` format. +Anduril 1 used only `YYYYMMDD` format, or none at all. + +The date is when the firmware was compiled. If the vendor did not set +this value, it defaults to 1969-07-20, the date of first human contact +with the moon. However, it might not be a date at all; some vendors may +specify a completely different type of value here. + +The brand/product values are also known as the model number. These are +hard-coded in the source code for each light's build target, and can be +looked up in the "MODELS" file or by using the "make models" command. + + +Protection Features +------------------- + +Anduril includes low voltage protection (LVP) and thermal regulation. + +LVP makes the light step down to a lower level when the battery is low, +and if the light is already at the lowest level, it shuts itself off. +This activates at 2.8V. LVP adjustments happen suddenly, in large +steps. + +Thermal regulation attempts to keep the light from overheating, and +otherwise adjusts output to stay as close as possible to the +user-configured temperature limit. Thermal adjustments happen +gradually, in steps so small they are difficult for humans to perceive. + + +Aux LEDs / Button LEDs +---------------------- + +Some lights have aux LEDs or button LEDs. These can be configured to do +different things while the main emitters are off. There is one aux LED +mode for the regular "off" mode, and another aux LED mode for "lockout" +mode. This allows the user to see at a glance whether the light is +locked. + +Aux LED modes typically include: + + - Off + - Low + - High + - Blinking + +To configure the aux LEDs, go to the mode you want to configure and then +click the button 7 times. This should change the aux LEDs to the next +mode supported on this light. + + - `7C`: Next aux LED mode. + +If the aux LEDs can change color, there are additional actions to change +the color. It is the same as above, but hold the button on the last +click and then let go when the desired color is reached. + + - `7H`: Next aux LED color. + +On most lights, the colors follow this sequence: + + - Red + - Yellow (Red+Green) + - Green + - Cyan (Green+Blue) + - Blue + - Purple (Blue+Red) + - White (Red+Green+Blue) + - Disco (fast random colors) + - Rainbow (cycles through all colors in order) + - Voltage (uses color to display battery charge) + +In voltage mode, the colors follow the same sequence, in the same order +as a rainbow... with red indicating a low battery and purple indicating +a full battery. + +For lights with a button LED, the button LED typically stays on while +the main emitters are on. Its brightness level is set in a way which +mirrors the main LED -- off, low, or high. + +For lights with a RGB button LED, the button LED indicates battery +charge during use in the same manner as the aux LED voltage mode. + +For lights with front-facing aux LEDs, the aux LEDs typically stay off +when the main emitters are on, and when the light is otherwise awake. +The aux LEDs on most lights only turn on when the light is asleep. + +When a light has a single-color aux LED and no RGB, it fast-blinks the +aux LED in "off" modes when voltage is low. + + +Misc Config Menu +---------------- + +Some models may have an extra config menu for settings which don't fit +anywhere else. This menu is located at "Off -> 9H" in the advanced UI. + +These settings are, in order: + + - Tint ramp style: (on some lights) + + 0 : smooth ramp (blend channels in any proportion) + 1 : middle tint only + 2 : extreme tints only (only one channel active at a time) + 3+: stepped ramp with 3+ steps + + - Jump Start level: (on some lights) + + Some lights are prone to starting up slowly at low levels, so they + have an option to "jump start" the engine by pulsing a higher power + level for a few milliseconds when changing from off to a low level. + This setting specifies how bright that pulse should be. + + The value can be from 1 to 150, but is usually between 20 and 50. + +These settings are hardware-specific and may not be present on all +lights. The number of settings in the Misc Config Menu depends on the +hardware model and the firmware version. + + +Channel Modes (a.k.a. Tint Ramping or Multi Channel controls) +------------------------------------------------------------- + +Some lights have more than one set of LEDs which can be adjusted to +change the beam color, shape, or other properties. These lights have +features like tint ramping and channel modes. + +On these models, there are some global button mappings which work at all +times unless they're overridden by the mode the light is in: + + - `3C`: Next channel mode + - `3H`: Adjust current channel mode (ramp tint, for example) + - `9H`: Channel mode config menu + +Details depend on the exact type of light used. For example, if a light +has LEDs in cool white, warm white, and red... that light might have a +few channel modes: + + - White blend (adjustable CCT / tint ramping) + - Red only + - Auto-tint + +On a light like this, the user could press 3C to rotate through these +different channel modes... white, then red, then auto, then back to +white. + +Additionally, in the "white blend" mode, the user could press 3H to +manually adjust the balance between warm white and cool white. + +Finally, if the user decides they don't want all of the modes, they can +turn some off. Press `9H` (while on) to start the channel mode config +menu. To disable the auto-tint mode, for example, it is the 3rd mode... +so wait for the 3rd blink, then release the button. Then at the prompt, +enter a value of 0 (wait for the prompt to time out without clicking +anything). Afterward, the auto tint mode should no longer be in the +channel mode rotation. To turn the mode back on later, do the same +thing, but enter a value of 1 (click 1 time at the prompt). + +A light can have many different channel modes, so don't be shy about +turning off any modes you don't use. It makes all the others easier to +reach. + +If you turn off channel modes until only 1 remains, the `Ramp -> 3C` +action reverts to its single-channel behavior -- switching between a +smooth or stepped brightness ramp. Additionally, when a channel mode +has nothing to adjust with `3H`, the `3H` action also reverts to its +single-channel behavior -- momentary turbo. + +The Misc Config Menu (`Off -> 9H`) may also have a setting to choose a +tint ramp style. There are a few styles available, by entering +different numbers into that config menu: + + 0: smooth ramp + 1: middle tint only + 2: extreme tints only + 3+: stepped ramp with 3+ steps + +This setting only applies to modes with channel ramping (i.e. tint +ramping), and only when that mode uses the default `3H` event handler. +Custom channel modes may work differently. + + + +UI Reference Table +------------------ + +This is a table of all button mappings in Anduril, in one place: + +### "Off" Mode + +| Mode | UI | Button | Action +| :--- | :-- | ------: | :----- +| Off | Any | `1C` | On (ramp mode, memorized level) +| Off | Any | `1H` | On (ramp mode, floor level) +| Off | Any | `2C` | On (ramp mode, ceiling level) +| Off | Simple | `2H` | On (momentary ceiling level) +| Off | Full | `2H` | On (momentary turbo) +| Off | Any | `3C` | Battcheck mode +| Off | Full | `3H` | Strobe mode (whichever was used last) +| Off | Any | `4C` | Lockout mode +| Off | Full | `5C` | Momentary mode +| Off | Full | `6C` | Tactical mode +| Off | Full | `7C` | Aux LEDs: Next pattern +| Off | Full | `7H` | Aux LEDs: Next color +| Off | Full | `9H` | Misc Config menu (varies per light): +| | | | ?1: tint ramp style +| | | | ?2: jump start level +| Off | Full | `10C` | Enable Simple UI +| Off | Simple | `10H` | Disable Simple UI +| Off | Full | `10H` | Simple UI ramp config menu: +| | | | 1: floor +| | | | 2: ceiling +| | | | 3: steps +| | | | 4: turbo style +| Off | Any | `13H` | Factory reset (on some lights) +| Off | Any | `15+C` | Version check + +### Ramp Mode + +| Mode | UI | Button | Action +| :--- | :-- | ------: | :----- +| Ramp | Any | `1C` | Off +| Ramp | Any | `1H` | Ramp (up, with reversing) +| Ramp | Any | `2H` | Ramp (down) +| Ramp | Any | `2C` | Go to/from ceiling or turbo (configurable) +| Ramp | Full | `3C` | Change ramp style (smooth / stepped) +| Ramp | Full | `6C` | (same as above, but on multi-channel lights) +| Ramp | Full | `3H` | Momentary turbo (when no tint ramping) +| Ramp | Full | `4H` | Momentary turbo (on multi channel lights) +| Ramp | Any | `4C` | Lockout mode +| Ramp | Full | `5C` | Momentary mode +| Ramp | Full | `5H` | Sunset timer on, and add 5 minutes +| Ramp | Full | `7H` | Ramp config menu: (for current ramp) +| | | | 1: floor +| | | | 2: ceiling +| | | | 3: speed / steps +| Ramp | Full | `10C` | Turn on manual memory and save current brightness +| Ramp | Full | `10H` | Ramp Extras config menu: +| | | | 1: switch to automatic mem, not manual mem +| | | | 2: set manual mem timeout +| | | | 3: ramp after moon or not +| | | | 4: advanced UI turbo style +| | | | 5: smooth steps + +### Multi-channel Lights + +| Mode | UI | Button | _**Multi-channel lights only!**_ +| :--- | :-- | ------: | :----- +| Any | Any | `3C` | Next channel mode (i.e. next color mode) +| Any | Any | `3H` | Tint ramp (if this mode can) +| Any | Full | `9H` | Channel mode enable/disable menu: +| | | | N: click (or not) to enable (disable) mode N + +### Lockout Mode + +| Mode | UI | Button | Action +| :--- | :-- | ------: | :----- +| Lockout | Any |`1C`/`1H`| Momentary moon (lowest floor) +| Lockout | Any |`2C`/`2H`| Momentary moon (highest floor, or manual mem level) +| Lockout | Any | `3C` | Unlock (go to "Off" mode) +| Lockout | Any | `3H` | Next channel mode (if more than one enabled) +| Lockout | Any | `4C` | On (ramp mode, memorized level) +| Lockout | Any | `4H` | On (ramp mode, floor level) +| Lockout | Any | `5C` | On (ramp mode, ceiling level) +| Lockout | Full | `7C` | Aux LEDs: Next pattern +| Lockout | Full | `7H` | Aux LEDs: Next color +| Lockout | Full | `10H` | Auto-lock config menu: +| | | | 1: set timeout in minutes (0 = no auto-lock) + +### Strobe Group Modes + +| Mode | UI | Button | Action +| :--- | :-- | ------: | :----- +| Strobe (any) | Full | `1C` | Off +| Strobe (any) | Full | `2C` | Next strobe mode +| Strobe (any) | Full | `3C` | Next channel mode (saved per strobe mode) +| Strobe (any) | Full | `4C` | Prev strobe mode +| Strobe (any) | Full | `5C` | Momentary mode (using current strobe) +| Party strobe | Full |`1H`/`2H`| Faster / slower +| Tactical strobe| Full |`1H`/`2H`| Faster / slower +| Police strobe | - | - | None (brightness is Ramp Mode's last-used level) +| Lightning | Full | `1H` | Interrupt current flash or start new one +| Candle | Full |`1H`/`2H`| Brighter / dimmer +| Candle | Full | `5H` | Sunset timer on, add 5 minutes +| Biking | Full |`1H`/`2H`| Brighter / dimmer + +### Blinky Modes + +| Mode | UI | Button | Action +| :--- | :-- | ------: | :----- +| Batt check | Any | `1C` | Off +| Batt check | Full | `2C` | Next blinky mode (Temp check, Beacon, SOS) +| Batt check | Full | `3C` | Next channel mode (for number blinks only) +| Batt check | Full | `7H` | Voltage config menu +| | | | 1: voltage correction factor +| | | | ... +| | | | 5: -0.10V +| | | | 6: -0.05V +| | | | 7: no correction +| | | | 8: +0.05V +| | | | 9: +0.10V +| | | | ... +| | | | 2: post-off voltage display seconds + +| Mode | UI | Button | Action +| :--- | :-- | ------: | :----- +| Temp check | Full | `1C` | Off +| Temp check | Full | `2C` | Next blinky mode (Beacon, SOS, Batt check) +| Temp check | Full | `7H` | Thermal config menu +| | | | 1: set current temperature +| | | | 2: set temperature limit + +| Mode | UI | Button | Action +| :--- | :-- | ------: | :----- +| Beacon | Full | `1C` | Off +| Beacon | Full | `1H` | Configure beacon timing +| Beacon | Full | `2C` | Next blinky mode (SOS, Batt check, Temp check) + +| Mode | UI | Button | Action +| :--- | :-- | ------: | :----- +| SOS | Full | `1C` | Off +| SOS | Full | `2C` | Next blinky mode (Batt check, Temp check, Beacon) + +### Momentary Mode + +| Mode | UI | Button | Action +| :--- | :-- | ------: | :----- +| Momentary | Full | Any | On (until button is released) +| Momentary | Full | **Disconnect power** | Exit Momentary mode + +### Tactical Mode + +| Mode | UI | Button | Action +| :--- | :-- | ------: | :----- +| Tactical | Full | `1H` | High (tactical slot 1) +| Tactical | Full | `2H` | Low (tactical slot 2) +| Tactical | Full | `3H` | Strobe (tactical slot 3) +| Tactical | Full | `6C` | Exit (go back to Off Mode) +| Tactical | Full | `7H` | Tactical Mode config menu: +| | | | 1: tactical slot 1 +| | | | 2: tactical slot 2 +| | | | 3: tactical slot 3 + +### Config Menus + +| Mode | UI | Button | Action +| :--- | :-- | ------: | :----- +| Config menus | Full | Hold | Skip current item with no changes +| Config menus | Full | Release | Configure current item +| | | | (goes to Number Entry menu) +| Number entry | Full | Click | Add 1 to value for current item +| Number entry | Full | Hold | Add 10 to value for current item + |
