Config
Config
allowIdleAbovePcap=true
ampFactor=
battStatusWorkaround=true
capacity=(3 42 75 85 false false)
cooldownCurrent=
cooldownRatio=( )
currentWorkaround=false
dischargePolarity=-
forceOff=false
idleThreshold=40
language=en
offMid=true
prioritizeBattIdleMode=true
rebootResume=false
resetBattStats=(false false false)
temperature=(35 42 38 50)
tempLevel=0
voltFactor=
applyOnBoot=(1)
applyOnPlug=()
battStatusOverride=''
chargingSwitch=(/sys/class/qcom-battery/input_suspend 0 1)
cooldownCustom=()
maxChargingCurrent=()
maxChargingVoltage=()
runCmdOnPause=''
# WARNINGS
# NOTE
# The daemon does not have to be restarted to apply changes. It picks them up
automatically within seconds.
# INTERNAL FUNCTIONS
# INTERNAL VARIABLES
# DATE
# $(date +FORMAT)
# FORMAT specifies display format string using strftime(3) syntax:
# %U Week of year (0-53 start sunday) %W Week of year (0-53 start monday)
# %V Week of year (1-53 start monday, week < 4 days not part of this year)
# VALUES
# allowIdleAbovePcap=allow_idle_above_pcap=BOOLEAN
# ampFactor=amp_factor=MULTIPLIER NULLABLE
# applyOnBoot=apply_on_boot=([CTRL_FILE1::RAW_VALUE[::DEFAULT]]
[CTRL_FILE2::RAW_VALUE[::DEFAULT]...] [--exit]) NULLABLE
# applyOnPlug=apply_on_plug=([CTRL_FILE1::RAW_VALUE[::DEFAULT]]
[CTRL_FILE2::RAW_VALUE[::DEFAULT]...]) NULLABLE
# battStatusWorkaround=batt_status_workaround=BOOLEAN
# cooldownCurrent=cooldown_current=MILLIAMPS NULLABLE
# currentWorkaround=current_workaround=BOOLEAN
# dischargePolarity=discharge_polarity=+|- NULLABLE
# forceOff=force_off=BOOLEAN
# idleThreshold=idle_threshold=MILLIAMPS
# language=lang=LANGUAGE_CODE NULLABLE
# maxChargingCurrent=max_charging_current=(MILLIAMPS
[CTRL_FILE1::RAW_VALUE::DEFAULT CTRL_FILE2::RAW_VALUE::DEFAULT...]) NULLABLE
# maxChargingVoltage=max_charging_voltage=(MILLIVOLTS
[CTRL_FILE1::RAW_VALUE::DEFAULT CTRL_FILE2::RAW_VALUE::DEFAULT...] [--exit])
NULLABLE
# offMid=off_mid=BOOLEAN
# prioritizeBattIdleMode=prioritize_batt_idle_mode=true|false|no
# rebootResume=reboot_resume=BOOLEAN
# resetBattStats=(reset_batt_stats_on_pause reset_batt_stats_on_unplug
reset_batt_stats_on_plug) BOOLEAN
# runCmdOnPause=run_cmd_on_pause='COMMAND...' NULLABLE
# tempLevel=temp_level=PERCENT (0-100)
# voltFactor=volt_factor=MULTIPLIER NULLABLE
# configVerCode #
# This is checked during updates to determine whether the config should be patched.
Do NOT modify.
# The value is not necessarily the same as acc version code.
# Usage scenario: the switch "main/cool_mode 0 1" supports idle mode. However,
sometimes it does not respond soon enough (e.g., due to fast charging). The user
can then enforce it with "acc -ss" and set "batt_status_override=Idle". This means,
when "main/cool_mode" is "on" (0), _status will be determined by the not_charging
function (as usual), but when it's off (1), _status will be Idle, bypassing the
not_charging function.
# If the user were to write their own logic, it would be something like the
following:
# batt_status_override='[ $(cat main/cool_mode) -eq 1 ] && printf Idle || :'
# The "|| :" part is mandatory to avoid issues with "set -e", which acc uses
extensively.
# If unset, acc cycles through its database and sets the first switch/group that
successfully disables charging.
# If later the set switch/group fails, acc unsets it and repeats the above.
# If all switches fail to disable charging, chargingSwitch is unset and acc/d exit
with error code 7.
# This automated process can be disabled by appending " --" to the switch/group.
# e.g., acc -s s="battery/charging_enabled 1 0 --"
# "acc -ss" always appends " --".
# Control files are automatically added by accd when the array has just one element
(the milliamps/millivolts value).
# If the second element of the array (array[1]) starts with "-", accd recognizes it
as an instruction to update the control files.
# This is useful for setting/changing current and voltage limits without a frontend
(--set or app).
# Simply put, if the user has the following in their config, accd automatically
adds/updates the control files:
# maxChargingCurrent=(1000) # Control files will be added.
# maxChargingVoltage=(4000 -battery/voltage_max bms/voltage_max) # Control files
will be updated. The "-" is mandatory after changing the value (first element).
Otherwise, the change has no effect.
# Notes:
# Devices don't support just about any current value. Multiples of 500 mA tend to
have higher compatibility.
# The maximum current that can be set via dedicated commands is 9999 mA. For
voltage, the max is 4300 mV. One can override those by manually editing the config.
# Those two work together and are NOT tied to the cooldown cycle.
# At max_temp, charging is paused.
# Charging resumes at resume_temp, as long as other conditions (e.g.,
resume_capacity) are also met.
# To always override resume_capacity append r, as in resume_temp=25r. With this, if
cooldown is enabled, charging will also resume at the cooldown_temp threshold. Add
cooldown_current and mcc into the mix to have temperature dependent restricted
current.
# Note: due to user data encryption, files used in one-line scripts must reside
somewhere in /data/adb/, just like acc's own data files. Ignore if your data isn't
encrypted.
# Battery idle mode, also called "standby mode" or "charging bypass", is the
ability of running off the charger, as if the battery were disconnected from the
device.
# Not all devices support this, but there's also emulated idle mode (refer to the
readme).
# Emulated idle mode works on all devices.
# If enabled, charging switches that support battery idle mode take precedence.
# This is only relevant when the switch is automatically determined -- i.e.,
charging_switch is not set or it has no trailing " --".
# In other words, this variable is only used when acc is automatically testing
charging switches.
# When set to "no", it has the opposite effect (prioritize non-idle mode).