微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > 如何实现在开机时按下开机键的瞬间振动

如何实现在开机时按下开机键的瞬间振动

时间:10-02 整理:3721RD 点击:
如题 谢谢大家 麻烦解决一下

就是开机的瞬间振动提示一下就完了

简单点实现就是开机的时候 ,先让手机震动一下 。
说瞬间 就不好操作了 。

就是你那意思,怎么做i啊,谢谢~

小提示: 在preloader裡加

可以说具体点吗?在什么位置?怎么加?谢谢!

你发帖问别人的时候 ,直接在别人跟帖的地方,回复,这样那个人就可以收到提醒了。

哦 谢谢 提醒 新手上路中!

可以说具体点吗?在什么位置?怎么加?谢谢!

直接靠软件是不行的,要加外部硬件,还要考虑wakeup时要不要振动的问题


为什么要加外部硬件了?wakeup时不要震动,请指教,谢谢!

底层这么实现不是很清楚,但是上次实现的话应该没有问题,具体没有操作过,提供一个思路,希望有帮助:
1、在ActivityManagerService.java自己注册一广播,或者系统在回调systemready的时候,启动一个震荡服务,比如时长50ms。
2、你也可以在DefaultActivity.java加载launcher之前启动一个震荡服务,也会达到效果。
反正你的要求就是在启动完成的时候一个震动,------》我理解为,就是进入launcher界面的时候或者之前的瞬间一个震动。

ok  感激不尽!我和应用工程师在讨论下!

应用工程师说在那时候 振动太晚了,要求logo还没出现就振动!

看不下去了 ,你什么平台的,我要公布答案了 。

我是6577的平台,谢谢啊 很感激!

在 mt6575_bat.c 文件中 添加震动函数
void uboot_vibr_power_on(void)
{
        ulong vibr_timer = 0;
        printk("[VIBR-DBG]%s\n", __func__);
        pmic_config_interface(0xB5,0x1,0x01,0x00); //enable the VIBR
        vibr_timer = get_timer(0);
        while(get_timer(0) < 1800 /*ms*/); /// adjust this number for time
        pmic_config_interface(0xB5,0x0,0x01,0x00); //disable the VIBR
}

在board.c 中 start_armboot 函数调用 震动函数
/// mark_add_for_vibrator_in_uboot begin
    uboot_vibr_power_on();
/// mark_add_for_vibrator_in_uboot end

感激 对于我来说 你就是观世音菩萨啊

感激不尽  

主要是看你的PMIC,一般振子是由PMIC供电的,如果上电时PMIC的振子电压默认是打开的,按开机键就马上振动,如果振子电压默认是关的,那就看你底层怎么处理和处理的速度,快的话可以让人感觉是按键时就振动,如果慢的话就感觉不是按键时振动,所以只能加外部电路,因为有些机器设置可以设为唤醒时无振动,所以要考虑这个问题


哦 感谢你的说明  谢谢!

请教下6582平台kk版本的在那里加?

我们公司 还没有做6582的KK 版本呢 。
我也才接触一点KK 版本
还没有去看。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top