Skip to content

Commit

Permalink
**v2021.12.14 (202112140)**
Browse files Browse the repository at this point in the history
- Additional charging switches;
- Auto-add current and voltage ctrl files to charging switches list for extended idle mode support;
- Do not include potentially sensitive data in log archives;
- Enhanced charging status and idle mode detection (current is checked in addition to battery status);
- General fixes & optimizations;
- Reverted `acc mA` resume difference to 50;
- Updated build script;
- Updated links in the README.
  • Loading branch information
VR-25 committed Dec 14, 2021
1 parent 6da9bf0 commit 47d551f
Show file tree
Hide file tree
Showing 15 changed files with 239 additions and 219 deletions.
3 changes: 1 addition & 2 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,4 @@ community_bridge: # Replace with a single Community Bridge project-name e.g., cl
liberapay: VR25 # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: https://paypal.me/vr25xda/ # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

custom: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&[email protected]&lc=US&item_name=VR25+is+creating+free+and+open+source+software.+Donate+to+suppport+their+work.&no_note=0&cn=&currency_code=USD&bn=PP-DonationsBF:btn_donateCC_LG.gif:NonHosted # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
68 changes: 39 additions & 29 deletions README.html
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
</head>
<body class="vscode-body vscode-light">
<h1 id="advanced-charging-controller-acc">Advanced Charging Controller (ACC)</h1>
<hr>
<ul>
<li><a href="#description">DESCRIPTION</a></li>
<li><a href="#license">LICENSE</a></li>
Expand Down Expand Up @@ -85,6 +86,7 @@ <h1 id="advanced-charging-controller-acc">Advanced Charging Controller (ACC)</h1
</li>
<li><a href="#troubleshooting">TROUBLESHOOTING</a>
<ul>
<li><a href="#acc--t-is-stuck-waiting-for-charger-andor-acc--i-status-never-reads-charging"><code>acc -t</code> Is Stuck Waiting for Charger and/or <code>acc -i status</code> Never Reads &quot;Charging&quot;</a></li>
<li><a href="#battery-capacity--level-doesnt-seem-right">Battery Capacity (% Level) Doesn't Seem Right</a></li>
<li><a href="#bootloop">Bootloop</a></li>
<li><a href="#charging-switch">Charging Switch</a></li>
Expand Down Expand Up @@ -158,11 +160,11 @@ <h2 id="donations">DONATIONS</h2>
<hr>
<h2 id="prerequisites">PREREQUISITES</h2>
<ul>
<li><a href="https://batteryuniversity.com/article/bu-808-how-to-prolong-lithium-based-batteries/">Must read - how to prolong lithium ion batteries lifespan</a></li>
<li><a href="https://batteryuniversity.com/article/bu-808-how-to-prolong-lithium-based-batteries">Must read - how to prolong lithium ion batteries lifespan</a></li>
<li>Android or Android based OS</li>
<li>Any root solution (e.g., <a href="https://github.com/topjohnwu/Magisk/">Magisk</a>)</li>
<li><a href="https://github.com/search?o=desc&amp;q=busybox+android&amp;s=updated&amp;type=Repositories/">Busybox*</a> (only if not rooted with Magisk)</li>
<li><a href="https://github.com/search?o=desc&amp;q=curl+android&amp;s=updated&amp;type=Repositories/">curl</a> (for acc --upgrade, optional)</li>
<li>Any root solution (e.g., <a href="https://github.com/topjohnwu/Magisk">Magisk</a>)</li>
<li><a href="https://github.com/search?o=desc&amp;q=busybox+android&amp;s=updated&amp;type=Repositories">Busybox*</a> (only if not rooted with Magisk)</li>
<li><a href="https://github.com/search?o=desc&amp;q=curl+android&amp;s=updated&amp;type=Repositories">curl</a> (for acc --upgrade, optional)</li>
<li>Non-Magisk users can enable acc auto-start by running /data/adb/vr25/acc/service.sh, a copy of, or a link to it - with init.d or an app that emulates it.</li>
<li>Terminal emulator</li>
<li>Text editor (optional)</li>
Expand All @@ -178,7 +180,7 @@ <h2 id="quick-start-guide">QUICK START GUIDE</h2>
<p>All commands/actions require root.</p>
</li>
<li>
<p>Install/upgrade: flash* the zip or use a front-end app (e.g. AccA).
<p>Install/upgrade: flash* the zip or use a front-end app.
There are two additional ways of upgrading: <code>acc --upgrade</code> (online) and <code>acc --flash</code> (zip flasher).
Rebooting after installation/removal is generally unnecessary.</p>
</li>
Expand Down Expand Up @@ -590,8 +592,7 @@ <h2 id="setupusage">SETUP/USAGE</h2>
<p>As the <a href="#default-configuration">default configuration</a> (above) suggests, ACC is designed to run out of the box, with little to no customization/intervention.</p>
<p>The only command you have to remember is <code>acc</code>.
It's a wizard you'll either love or hate.</p>
<p>If you feel uncomfortable with the command line, skip this section and use a front-end app instead.
<a href="https://github.com/MatteCarra/AccA/releases/">ACC App</a> is a good choice.</p>
<p>If you feel uncomfortable with the command line, skip this section and use a front-end app instead.</p>
<p>Alternatively, you can use a <code>text editor</code> to modify <code>/data/adb/vr25/acc-data/config.txt</code>.
The config file itself has configuration instructions.
Those are the same found in the <a href="#default-configuration">default configuration</a> section, above.</p>
Expand Down Expand Up @@ -932,6 +933,10 @@ <h3 id="more">More</h3>
<p>This information is in the <a href="#default-configuration">default configuration</a> section as well.</p>
<hr>
<h2 id="troubleshooting">TROUBLESHOOTING</h2>
<h3 id="acc--t-is-stuck-waiting-for-charger-andor-acc--i-status-never-reads-charging"><code>acc -t</code> Is Stuck Waiting for Charger and/or <code>acc -i status</code> Never Reads &quot;Charging&quot;</h3>
<p>Create <code>/data/adb/vr25/acc-data/curr</code> (persistent) or <code>/dev/.vr25/acc/curr</code> (volatile) to disable enhanced battery status check.
In the enhanced mode, if battery status is &quot;charging&quot; and the absolute value of current is &lt;= 50 mA, the status is considered &quot;not charging&quot;.
If the device reports abnormal current values (e.g., due to a hardware issue) and acc fails to notice the issue, charging control will not work.</p>
<h3 id="battery-capacity--level-doesnt-seem-right">Battery Capacity (% Level) Doesn't Seem Right</h3>
<p>When Android's battery level differs from that of the kernel, ACC daemon automatically syncs it by stopping the battery service and feeding it the real value every few seconds.</p>
<p>Pixel devices are known for having battery level discrepancies for the longest time.</p>
Expand Down Expand Up @@ -1030,7 +1035,7 @@ <h3 id="slow-charging">Slow Charging</h3>
<h3 id="unable-to-charge">Unable to Charge</h3>
<p>Refer back to the <a href="#warnings">warnings</a> section above.</p>
<h3 id="warp-vooc-and-other-fast-charging-tech">WARP, VOOC and Other Fast Charging Tech</h3>
<p>Charging witches may not work reliably with the original power adapter.
<p>Charging switches may not work reliably with the original power adapter.
This has nothing to do with acc.
It's bad design by the OEMs themselves.
If you face issues, either try a different charging switch or a regular power brick (a.k.a., slow charger).
Expand All @@ -1044,7 +1049,7 @@ <h3 id="why-did-accd-stop">Why Did accd Stop?</h3>
Manually setting a working switch with <code>acc -ss</code> or <code>acc -s s=&quot;SWITCHES GO HERE --&quot;</code> prevents this issue.</p>
<hr>
<h2 id="power-supply-logs-help-needed">POWER SUPPLY LOGS (HELP NEEDED)</h2>
<p>Please run <code>acc -le</code> and upload <code>/data/adb/vr25/acc-data/logs/power_supply-*.log</code> to <a href="https://www.dropbox.com/request/WYVDyCc0GkKQ8U5mLNlH/">my dropbox</a> (no account/sign-up required).
<p>Please run <code>acc -le</code> and upload <code>/data/adb/vr25/acc-data/logs/power_supply-*.log</code> to <a href="https://www.dropbox.com/request/WYVDyCc0GkKQ8U5mLNlH">my dropbox</a> (no account/sign-up required).
This file contains invaluable power supply information, such as battery details and available charging control files.
A public database is being built for mutual benefit.
Your cooperation is greatly appreciated.</p>
Expand Down Expand Up @@ -1214,29 +1219,23 @@ <h2 id="frequently-asked-questions-faq">FREQUENTLY ASKED QUESTIONS (FAQ)</h2>
<hr>
<h2 id="links">LINKS</h2>
<ul>
<li><a href="https://batteryuniversity.com/article/bu-808-how-to-prolong-lithium-based-batteries/">Must read - how to prolong lithium ion batteries lifespan</a></li>
<li><a href="https://github.com/MatteCarra/AccA/releases/">ACC app</a></li>
<li><a href="https://app.airtm.com/send-or-request/send">Airtm, username: ivandro863auzqg</a></li>
<li><a href="https://github.com/VR-25/djs/">Daily Job Scheduler</a></li>
<li><a href="https://fb.me/vr25xda/">Facebook page</a></li>
<li><a href="https://github.com/VR-25/acc/">Git repository</a></li>
<li><a href="https://liberapay.com/VR25/">Liberapay</a></li>
<li><a href="https://patreon.com/vr25/">Patreon</a></li>
<li><a href="https://paypal.me/vr25xda/">PayPal</a></li>
<li><a href="https://t.me/vr25_xda/">Telegram channel</a></li>
<li><a href="https://t.me/acc_group/">Telegram group</a></li>
<li><a href="https://t.me/vr25xda/">Telegram profile</a></li>
<li><a href="https://forum.xda-developers.com/apps/magisk/module-magic-charging-switch-cs-v2017-9-t3668427/">XDA thread</a></li>
<li><a href="https://github.com/VR-25/djs">Daily Job Scheduler</a></li>
<li><a href="https://app.airtm.com/send-or-request/send">Donate - Airtm, username: ivandro863auzqg</a></li>
<li><a href="https://liberapay.com/vr25">Donate - Liberapay</a></li>
<li><a href="https://patreon.com/vr25">Donate - Patreon</a></li>
<li><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;[email protected]&amp;lc=US&amp;item_name=VR25+is+creating+free+and+open+source+software.+Donate+to+suppport+their+work.&amp;no_note=0&amp;cn=&amp;currency_code=USD&amp;bn=PP-DonationsBF:btn_donateCC_LG.gif:NonHosted">Donate - PayPal or Credit/Debit Card</a></li>
<li><a href="https://fb.me/vr25xda">Facebook Page</a></li>
<li><a href="https://github.com/MatteCarra/AccA/releases">Frontend - ACC App</a></li>
<li><a href="https://github.com/CrazyBoyFeng/AccSettings">Frontend - ACC Settings</a></li>
<li><a href="https://batteryuniversity.com/article/bu-808-how-to-prolong-lithium-based-batteries">Must Read - How to Prolong Lithium Ion Batteries Lifespan</a></li>
<li><a href="https://t.me/vr25_xda">Telegram Channel</a></li>
<li><a href="https://t.me/acc_group">Telegram Group</a></li>
<li><a href="https://t.me/vr25xda">Telegram Profile</a></li>
<li><a href="https://github.com/VR-25/acc">Upstream Repository</a></li>
<li><a href="https://forum.xda-developers.com/apps/magisk/module-magic-charging-switch-cs-v2017-9-t3668427">XDA Thread</a></li>
</ul>
<hr>
<h2 id="latest-changes">LATEST CHANGES</h2>
<p><strong>v2021.9.20 (202109200)</strong></p>
<ul>
<li>General enhancements</li>
<li>Manual capacitySync toggle (<code>[capacity_sync|cs] = [true|false]</code>) - it overrides the automatic. Both include the <code>freeze at 2%</code> feature. This is the actual <code>capacity_freeze2</code> replacement now. <code>capacity_mask</code> implies <code>capacity_sync</code>.</li>
<li>Unlike in previous versions, changes to <code>capacity_mask</code> and <code>capacity_sync</code> take effect (within a few seconds) without a daemon restart.</li>
<li>Updated documentation</li>
</ul>
<p><strong>v2021.10.30 (202110300)</strong></p>
<ul>
<li>Additional charging switches</li>
Expand All @@ -1253,6 +1252,17 @@ <h2 id="latest-changes">LATEST CHANGES</h2>
<li>Fixed installation issues</li>
<li>Improved support for the current Magisk canary.</li>
<li>Shutdown warning notifications (mV) are now posted at shutdown_capacity + 100mV (formerly 200).</li>
</ul>
<p><strong>v2021.12.14 (202112140)</strong></p>
<ul>
<li>Additional charging switches;</li>
<li>Auto-add current and voltage ctrl files to charging switches list for extended idle mode support;</li>
<li>Do not include potentially sensitive data in log archives;</li>
<li>Enhanced charging status and idle mode detection (current is checked in addition to battery status);</li>
<li>General fixes &amp; optimizations;</li>
<li>Reverted <code>acc mA</code> resume difference to 50;</li>
<li>Updated build script;</li>
<li>Updated links in the README.</li>
</ul>

</body>
Expand Down
66 changes: 39 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Advanced Charging Controller (ACC)



---
- [DESCRIPTION](#description)
- [LICENSE](#license)
- [DISCLAIMER](#disclaimer)
Expand Down Expand Up @@ -30,6 +30,7 @@
- [Profiles](#profiles)
- [More](#more)
- [TROUBLESHOOTING](#troubleshooting)
- [`acc -t` Is Stuck Waiting for Charger and/or `acc -i status` Never Reads "Charging"](#acc--t-is-stuck-waiting-for-charger-andor-acc--i-status-never-reads-charging)
- [Battery Capacity (% Level) Doesn't Seem Right](#battery-capacity--level-doesnt-seem-right)
- [Bootloop](#bootloop)
- [Charging Switch](#charging-switch)
Expand Down Expand Up @@ -122,11 +123,11 @@ As the project gets bigger and more popular, the need for coffee goes up as well
---
## PREREQUISITES

- [Must read - how to prolong lithium ion batteries lifespan](https://batteryuniversity.com/article/bu-808-how-to-prolong-lithium-based-batteries/)
- [Must read - how to prolong lithium ion batteries lifespan](https://batteryuniversity.com/article/bu-808-how-to-prolong-lithium-based-batteries)
- Android or Android based OS
- Any root solution (e.g., [Magisk](https://github.com/topjohnwu/Magisk/))
- [Busybox\*](https://github.com/search?o=desc&q=busybox+android&s=updated&type=Repositories/) (only if not rooted with Magisk)
- [curl](https://github.com/search?o=desc&q=curl+android&s=updated&type=Repositories/) (for acc --upgrade, optional)
- Any root solution (e.g., [Magisk](https://github.com/topjohnwu/Magisk))
- [Busybox\*](https://github.com/search?o=desc&q=busybox+android&s=updated&type=Repositories) (only if not rooted with Magisk)
- [curl](https://github.com/search?o=desc&q=curl+android&s=updated&type=Repositories) (for acc --upgrade, optional)
- Non-Magisk users can enable acc auto-start by running /data/adb/vr25/acc/service.sh, a copy of, or a link to it - with init.d or an app that emulates it.
- Terminal emulator
- Text editor (optional)
Expand All @@ -144,7 +145,7 @@ Other executables or static binaries can also be placed in /data/adb/vr25/bin/ (

0. All commands/actions require root.

1. Install/upgrade: flash\* the zip or use a front-end app (e.g. AccA).
1. Install/upgrade: flash\* the zip or use a front-end app.
There are two additional ways of upgrading: `acc --upgrade` (online) and `acc --flash` (zip flasher).
Rebooting after installation/removal is generally unnecessary.

Expand Down Expand Up @@ -554,7 +555,6 @@ The only command you have to remember is `acc`.
It's a wizard you'll either love or hate.

If you feel uncomfortable with the command line, skip this section and use a front-end app instead.
[ACC App](https://github.com/MatteCarra/AccA/releases/) is a good choice.

Alternatively, you can use a `text editor` to modify `/data/adb/vr25/acc-data/config.txt`.
The config file itself has configuration instructions.
Expand Down Expand Up @@ -961,6 +961,13 @@ This information is in the [default configuration](#default-configuration) secti
## TROUBLESHOOTING


### `acc -t` Is Stuck Waiting for Charger and/or `acc -i status` Never Reads "Charging"

Create `/data/adb/vr25/acc-data/curr` (persistent) or `/dev/.vr25/acc/curr` (volatile) to disable enhanced battery status check.
In the enhanced mode, if battery status is "charging" and the absolute value of current is <= 50 mA, the status is considered "not charging".
If the device reports abnormal current values (e.g., due to a hardware issue) and acc fails to notice the issue, charging control will not work.


### Battery Capacity (% Level) Doesn't Seem Right

When Android's battery level differs from that of the kernel, ACC daemon automatically syncs it by stopping the battery service and feeding it the real value every few seconds.
Expand Down Expand Up @@ -1121,7 +1128,7 @@ Manually setting a working switch with `acc -ss` or `acc -s s="SWITCHES GO HERE
---
## POWER SUPPLY LOGS (HELP NEEDED)

Please run `acc -le` and upload `/data/adb/vr25/acc-data/logs/power_supply-*.log` to [my dropbox](https://www.dropbox.com/request/WYVDyCc0GkKQ8U5mLNlH/) (no account/sign-up required).
Please run `acc -le` and upload `/data/adb/vr25/acc-data/logs/power_supply-*.log` to [my dropbox](https://www.dropbox.com/request/WYVDyCc0GkKQ8U5mLNlH) (no account/sign-up required).
This file contains invaluable power supply information, such as battery details and available charging control files.
A public database is being built for mutual benefit.
Your cooperation is greatly appreciated.
Expand Down Expand Up @@ -1350,30 +1357,25 @@ A common workaround is having `resume_capacity = pause_capacity - 1`. e.g., resu
---
## LINKS

- [Must read - how to prolong lithium ion batteries lifespan](https://batteryuniversity.com/article/bu-808-how-to-prolong-lithium-based-batteries/)
- [ACC app](https://github.com/MatteCarra/AccA/releases/)
- [Airtm, username: ivandro863auzqg](https://app.airtm.com/send-or-request/send)
- [Daily Job Scheduler](https://github.com/VR-25/djs/)
- [Facebook page](https://fb.me/vr25xda/)
- [Git repository](https://github.com/VR-25/acc/)
- [Liberapay](https://liberapay.com/VR25/)
- [Patreon](https://patreon.com/vr25/)
- [PayPal](https://paypal.me/vr25xda/)
- [Telegram channel](https://t.me/vr25_xda/)
- [Telegram group](https://t.me/acc_group/)
- [Telegram profile](https://t.me/vr25xda/)
- [XDA thread](https://forum.xda-developers.com/apps/magisk/module-magic-charging-switch-cs-v2017-9-t3668427/)
- [Daily Job Scheduler](https://github.com/VR-25/djs)
- [Donate - Airtm, username: ivandro863auzqg](https://app.airtm.com/send-or-request/send)
- [Donate - Liberapay](https://liberapay.com/vr25)
- [Donate - Patreon](https://patreon.com/vr25)
- [Donate - PayPal or Credit/Debit Card](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&[email protected]&lc=US&item_name=VR25+is+creating+free+and+open+source+software.+Donate+to+suppport+their+work.&no_note=0&cn=&currency_code=USD&bn=PP-DonationsBF:btn_donateCC_LG.gif:NonHosted)
- [Facebook Page](https://fb.me/vr25xda)
- [Frontend - ACC App](https://github.com/MatteCarra/AccA/releases)
- [Frontend - ACC Settings](https://github.com/CrazyBoyFeng/AccSettings)
- [Must Read - How to Prolong Lithium Ion Batteries Lifespan](https://batteryuniversity.com/article/bu-808-how-to-prolong-lithium-based-batteries)
- [Telegram Channel](https://t.me/vr25_xda)
- [Telegram Group](https://t.me/acc_group)
- [Telegram Profile](https://t.me/vr25xda)
- [Upstream Repository](https://github.com/VR-25/acc)
- [XDA Thread](https://forum.xda-developers.com/apps/magisk/module-magic-charging-switch-cs-v2017-9-t3668427)


---
## LATEST CHANGES

**v2021.9.20 (202109200)**
- General enhancements
- Manual capacitySync toggle (`[capacity_sync|cs] = [true|false]`) - it overrides the automatic. Both include the `freeze at 2%` feature. This is the actual `capacity_freeze2` replacement now. `capacity_mask` implies `capacity_sync`.
- Unlike in previous versions, changes to `capacity_mask` and `capacity_sync` take effect (within a few seconds) without a daemon restart.
- Updated documentation

**v2021.10.30 (202110300)**
- Additional charging switches
- All control files (switches, current and voltage) are now contained in a single file (ctrl-files.sh) and it can be overridden by a plugin with the same name.
Expand All @@ -1388,3 +1390,13 @@ A common workaround is having `resume_capacity = pause_capacity - 1`. e.g., resu
- Fixed installation issues
- Improved support for the current Magisk canary.
- Shutdown warning notifications (mV) are now posted at shutdown_capacity + 100mV (formerly 200).

**v2021.12.14 (202112140)**
- Additional charging switches;
- Auto-add current and voltage ctrl files to charging switches list for extended idle mode support;
- Do not include potentially sensitive data in log archives;
- Enhanced charging status and idle mode detection (current is checked in addition to battery status);
- General fixes & optimizations;
- Reverted `acc mA` resume difference to 50;
- Updated build script;
- Updated links in the README.
2 changes: 1 addition & 1 deletion acc/acc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,7 @@ case "${1-}" in

[0-9]*)
if [ $1 -gt 3000 ]; then
capacity[2]=${2:-$((${1}-100))}
capacity[2]=${2:-$((${1}-50))}
else
capacity[2]=${2:-$((${1}-5))}
fi
Expand Down
Loading

0 comments on commit 47d551f

Please sign in to comment.