Giter Site home page Giter Site logo

Comments (9)

Linjieqiang avatar Linjieqiang commented on September 26, 2024

低功耗按键的思路应该如何呢?是不是需要设置中断模式

from flexiblebutton.

murphyzhao avatar murphyzhao commented on September 26, 2024

这个按键库主要是实现按键扫描和按键事件产生的底层代码,定时扫描的工作放到了应用层去完成,因此应用层有完全的设计灵活度。因此,低功耗处理不在这个按键代码中做处理,而是交给应用层。

可行的处理方式,可以如您所说的,增加中断模式,但并不是将该模式放到这个按键库的实现里,而是放到应用层。

我的想法是应用层可以在进入低功耗前,挂起按键扫描;按键唤醒或者其他机制唤醒系统后,再启动按键扫描。目前我也是这么处理的,使用方式略 low。:sweat_smile:

from flexiblebutton.

Linjieqiang avatar Linjieqiang commented on September 26, 2024

明白了,谢谢。你的库我刚在用,感觉不错。

from flexiblebutton.

murphyzhao avatar murphyzhao commented on September 26, 2024

感谢支持(●'◡'●)

from flexiblebutton.

rockjg0917 avatar rockjg0917 commented on September 26, 2024

能否支持组合按键?

from flexiblebutton.

murphyzhao avatar murphyzhao commented on September 26, 2024

能否支持组合按键?

@rockjg0917 这个库仅做底层的按键扫描处理,如果需要支持组合按键,请再封一层,根据按键库返回的事件分装需要的组合按键,希望可以帮到您,谢谢。

from flexiblebutton.

rockjg0917 avatar rockjg0917 commented on September 26, 2024

@zhaojuntao 明白,谢谢!

from flexiblebutton.

leida3669 avatar leida3669 commented on September 26, 2024

有个问题,我有4个按键,使用1个按键,不会出错,要是大于1个,那么只会最大标号一个有效,不知道这是不是一个Bug,硬件应该没有问题,有问题的话,1个按键也不行吧。
for (i = 0; i < 4; i ++)
{
user_button[i].id = i;
user_button[i].usr_button_read = common_btn_read;
user_button[i].cb = common_btn0_evt_cb;
user_button[i].pressed_logic_level = 0;
user_button[i].short_press_start_tick = FLEX_MS_TO_SCAN_CNT(1500);
user_button[i].long_press_start_tick = FLEX_MS_TO_SCAN_CNT(3000);
user_button[i].long_hold_start_tick = FLEX_MS_TO_SCAN_CNT(4500);
flex_button_register(&user_button[i]);
}
串口打印信息:
id: [1 - USER_BUTTON_1] event: [0 - FLEX_BTN_PRESS_DOWN] repeat: 0
id: [1 - USER_BUTTON_1] event: [4 - FLEX_BTN_PRESS_SHORT_START] repeat: 0
id: [1 - USER_BUTTON_1] event: [6 - FLEX_BTN_PRESS_LONG_START] repeat: 0
id: [1 - USER_BUTTON_1] event: [8 - FLEX_BTN_PRESS_LONG_HOLD] repeat: 0
后续这个按键就没有反应了。

from flexiblebutton.

murphyzhao avatar murphyzhao commented on September 26, 2024

有个问题,我有4个按键,使用1个按键,不会出错,要是大于1个,那么只会最大标号一个有效,不知道这是不是一个Bug,硬件应该没有问题,有问题的话,1个按键也不行吧。
for (i = 0; i < 4; i ++)
{
user_button[i].id = i;
user_button[i].usr_button_read = common_btn_read;
user_button[i].cb = common_btn0_evt_cb;
user_button[i].pressed_logic_level = 0;
user_button[i].short_press_start_tick = FLEX_MS_TO_SCAN_CNT(1500);
user_button[i].long_press_start_tick = FLEX_MS_TO_SCAN_CNT(3000);
user_button[i].long_hold_start_tick = FLEX_MS_TO_SCAN_CNT(4500);
flex_button_register(&user_button[i]);
}
串口打印信息:
id: [1 - USER_BUTTON_1] event: [0 - FLEX_BTN_PRESS_DOWN] repeat: 0
id: [1 - USER_BUTTON_1] event: [4 - FLEX_BTN_PRESS_SHORT_START] repeat: 0
id: [1 - USER_BUTTON_1] event: [6 - FLEX_BTN_PRESS_LONG_START] repeat: 0
id: [1 - USER_BUTTON_1] event: [8 - FLEX_BTN_PRESS_LONG_HOLD] repeat: 0
后续这个按键就没有反应了。

建议找个 IoT Board 板子,跑跑提供的示例程序。代码总共没几行,参数也没有多少,相信你可以搞定。

from flexiblebutton.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.