[Sony Xperia L] varun.chitre15:
Ok let's go,

Now about ThunderSonic Engine -

It is a sound control driver. There are two interfaces which you can control

1. Headphone boost - I made this feature because louder volume than max volume in earphones rushes more adrenaline in me making music more enjoyable.

Turning this On will give you instant significant volume boost in earphones which is greater than what you get when the volume is max. Just make the volume maximum and turn this ON and you will notice it :)

How to turn on:

In terminal emulator/ adb shell, get su permissions and then type

echo 1 > /sys/kernel/thundersonic_engine/headphone_boost

and use 0 to turn off

2. Speaker boost - In crowded areas I felt speakers of XL fall short in terms of volume magnitude. So I made this to increase speaker volume speakers beyond its limit and now my phone sounds even louder than those dirt cheap china phones :D

This is 8-leveled boost interface. That means there are 8 boost levels. The default is 3 on TZ

How to turn on

echo X > /sys/kernel/thundersonic_engine/speaker_boost

where X can be any value from 4 to 8 depending upon the volume boost you require :) To reset back to default use value 3

Use above features with caution. Using headphone boost for a long time may damage your ears. And do not use speaker boost for a long time. If for some songs you hear crackling of speakers then reset its boost level to 3 or a relatively lower level of 4 or 5

Now about charger control -

1. AC current control: In times of hurry I felt the charging times to be too long and so I made this. With this you can control the charging current rate through wall charger.

Before doing anything you first need to enable the master switch of the control or else the values you write will be negelected

How to enable master switch

echo 1 > /sys/kernel/charger_control/enabled

After this you can use custom current values like this

echo X > /sys/kernel/charger_control/custom_ac_current

where X can be any value in mA (Milliamperes) I use 1600 i.e 1600mA which completes my phone's charging from 3% to 100% in around 1 hour 30 mins.

The stock current ranges from 1000-1100mA and takes around 2 hour 30 mins to 3 hours. Avoid using values higher than 2200.

2. USB current control: Everyone knows the charging rate from PC via USB is damn slow. Many new PC's have newer USB ports which can offer current rates higher than 1500mA but still our kernel only pulls 500mA. I made this to control it yourself :)

As usual you need master switch enabled to write the new values.

How to use

echo X > /sys/kernel/charger_control/custom_usb_current

where X can be any value in Milliamperes. I use 1500 i.e 1500mA

Note: Every time you write new values to the interface

while you are charging

let it be anything, you need to unplug the charger and replug it so that values are updated or else it will not work. What I recommend is only change current values or anything when you are not charging your phone by any means.

How do I reset everything?

Yes thats why the master switch is made. It acts like main electricity switches we make at home. Just do

echo 0 > /sys/kernel/charger_control/enabled

What this will do is take down the custom charging mechanism and will plug back the stock mechanism. Isn't that great? :D

Remember if you reboot all your settings will be lost for both the above features