From 9ba18d0158fc84d4f0bc35c2ccafee0da3c4b799 Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Sat, 4 Nov 2023 18:10:07 -0600 Subject: renamed anduril-manual.txt -> anduril-manual.md --- docs/anduril-manual.md | 1079 +++++++++++++++++++++++++++++++++++++++++++++++ docs/anduril-manual.txt | 1079 ----------------------------------------------- 2 files changed, 1079 insertions(+), 1079 deletions(-) create mode 100644 docs/anduril-manual.md delete mode 100644 docs/anduril-manual.txt (limited to 'docs') 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 + diff --git a/docs/anduril-manual.txt b/docs/anduril-manual.txt deleted file mode 100644 index 79b39c0..0000000 --- a/docs/anduril-manual.txt +++ /dev/null @@ -1,1079 +0,0 @@ -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 - -- cgit v1.2.3