どうやら結構簡単にOnにできるらしいので試しにやってみる。
[XDA](Need Root)Enable Automatic Light Sensor on Xperia Ray
にあるRayの設定を参考に
まずは、(Fast_Response)InstallazioneALS_Xperia_Ray.zip
の中身と本体(/system/etc)から取り出したhw_config.shを比較してみる。
(Fast_Response)InstallazioneALS_Xperia_Ray\etc\hw_config.sh | hw_config.sh | ||
---|---|---|---|
# Audio jack configuration |
# Audio jack configuration |
||
dev=/sys/devices/platform/simple_remote.0 |
dev=/sys/devices/platform/msm_ssbi.0/pm8058-core/simple_remote_pf/simple_remote |
||
echo 0,201,1600 > $dev/accessory_min_vals # default = 0,200,1600 |
echo 0,201 > $dev/accessory_min_vals |
||
echo 200,1599 > $dev/accessory_max_vals # default = 200,1600 |
echo 200,1599 > $dev/accessory_max_vals |
||
echo 0,100,280,500,700 > $dev/button_min_vals # default = 0,100,300,600,700 |
echo 0,100,280,500 > $dev/button_min_vals |
||
echo 99,199,399,699,5000 > $dev/button_max_vals # default = 99,199,399,699,5000 |
echo 99,199,399,699 > $dev/button_max_vals |
||
echo 512 > $dev/btn_trig_period_freq # Button Period Freq(Hz) default = 512 |
echo 512 > $dev/btn_trig_period_freq # Button Period Freq(Hz) |
||
echo 16 > $dev/btn_trig_period_time # Button Period Time(cycle) default = 16 |
echo 16 > $dev/btn_trig_period_time # Button Period Time(Cycle) |
||
echo 512 > $dev/btn_trig_hyst_freq # Button Hysteresis Freq(Hz) default = 512 |
echo 512 > $dev/btn_trig_hyst_freq # Button Hysteresis Freq(Hz) |
||
echo 16 > $dev/btn_trig_hyst_time # Button Hysteresis Time(Cycle) default = 16 |
echo 16 > $dev/btn_trig_hyst_time # Button Hysteresis Time(Cycle) |
||
echo 500 > $dev/btn_trig_level # default = 500 |
echo 400 > $dev/btn_trig_level |
||
|
|
||
# Proximity sensor configuration |
# Proximity sensor configuration |
||
dev=/sys/bus/i2c/devices/0-0054/ |
dev=/sys/bus/i2c/devices/3-0054/ |
||
val_cycle=0 |
val_cycle=1 |
||
val_nburst=15 |
val_nburst=8 |
||
val_freq=0 |
val_freq=2 |
||
val_threshold=1 |
val_threshold=4 |
||
val_filter=1 |
val_filter=2 |
||
|
|
||
nv_param_loader 60240 prox_cal |
nv_param_loader 60240 prox_cal |
||
val_calibrated=$? |
val_calibrated=$? |
||
case $val_calibrated in |
case $val_calibrated in |
||
1) |
1) |
||
nv_param_loader 60240 threshold |
nv_param_loader 60240 threshold |
||
val_threshold=$? |
val_threshold=$? |
||
nv_param_loader 60240 rfilter |
nv_param_loader 60240 rfilter |
||
val_filter=$? |
val_filter=$? |
||
;; |
;; |
||
esac |
esac |
||
|
|
||
echo $val_cycle > $dev/cycle # Duration Cycle. Valid range is 0 - 3. |
echo $val_cycle > $dev/cycle # Duration Cycle. Valid range is 0 - 3. |
||
echo $val_nburst > $dev/nburst # Number of pulses in burst. Valid range is 0 - 15. |
echo $val_nburst > $dev/nburst # Number of pulses in burst. Valid range is 0 - 15. |
||
echo $val_freq > $dev/freq # Burst frequency. Valid range is 0 - 3. |
echo $val_freq > $dev/freq # Burst frequency. Valid range is 0 - 3. |
||
echo $val_threshold > $dev/threshold # sensor threshold. Valid range is 0 - 15 (0.12V - 0.87V) |
echo $val_threshold > $dev/threshold # sensor threshold. Valid range is 0 - 15 (0.12V - 0.87V) |
||
echo $val_filter > $dev/filter # RFilter. Valid range is 0 - 3. |
echo $val_filter > $dev/filter # RFilter. Valid range is 0 - 3. |
||
|
|
||
# LMU AS3676 Configuration |
# LMU AS3676 Configuration |
||
dev=/sys/devices/i2c-0/0-0040/leds/ |
dev=/sys/class/leds |
||
echo 0,7,7,0 > $dev/lcd-backlight/als/params #[gain],[filter_up],[filter_down],[offset] |
echo 1,80,255,5,16,9,16 > $dev/lcd-backlight/als/curve # ALS curve for group1 |
||
|
echo 1,0,0,0 > $dev/lcd-backlight/als/params #[gain],[filter_up],[filter_down],[offset] |
||
echo 1 > $dev/lcd-backlight/als/enable #Sensor on/off. 1 = on, reg 90h |
echo 1 > $dev/lcd-backlight/als/enable #Sensor on/off. 1 = on, reg 90h |
||
echo 12900 > $dev/torch/max_current |
echo 3000 > $dev/button-backlight/max_current |
||
|
|
||
# TI BQ275xx firmware loader |
# TI BQ275xx firmware loader |
||
bq275xx_fwloader |
bq275xx_fwloader |
||
|
|
なんか色々変わっているけど
とりあえず該当しそうな下の方にある
echo 1,0,0,0 > $dev/lcd-backlight/als/params #[gain],[filter_up],[filter_down],[offset]
をコメントして
echo 1,1,1,0 > $dev/lcd-backlight/als/params #[gain],[filter_up],[filter_down],[offset]に書き換えて (あまりレスポンスはいらないのでfilter_up/filter_downは1にしました。)
後は、いつものようにSDカードあたりに入れて
mount -t ext4 -o rw,remount /system /systemで、再起動すれば完了。
cp /mnt/sdcard/hw_config.sh.fix /system/etc/
chmod 644 /system/etc/hw_config.sh.fix
mv /system/etc/hw_config.sh /system/etc/hw_config.sh.org
mv /system/etc/hw_config.sh.fix /system/etc/hw_config.sh
mount -t ext4 -o ro,remount /system /system
sync
再起動後にWidgetsoidあたりでバックライト設定をAutoにすれば・・・
(一応)バックライト自動制御が動いた!
けどなんか・・・イマイチ・・・
als_curve.confをコピーして、少しイジってみても変わった感じはしないし
もっとダイナミックに変わって欲しかったんだけどどうしたものか・・・
気になって少し眺めていたら、
/system/etc/als_curve/0~3なんて、いかにもフォルダがあって中に
limitとparamsという、いかにもそれっぽいファイルが・・・
paramsの中身はさらにそれっぽいので
後で時間をかけていろいろ試してみなければ。
とりあえず動くには動いたようなので、今日の所は満足。
0 件のコメント:
コメントを投稿